diff --git a/rainloop/app/data/EMPTY b/rainloop/app/data/EMPTY index f88cf52e6efcffefb7e86ab407b9a3088c550dc3..cd99d386a8ddd0011ad38f1be24706c40fac3ba8 100644 --- a/rainloop/app/data/EMPTY +++ b/rainloop/app/data/EMPTY @@ -1 +1 @@ -1.13.0 \ No newline at end of file +1.14.0 \ No newline at end of file diff --git a/rainloop/app/data/VERSION b/rainloop/app/data/VERSION index 6f165bc1b06167bf9ab68b9e7456cb597e092f09..cd99d386a8ddd0011ad38f1be24706c40fac3ba8 100644 --- a/rainloop/app/data/VERSION +++ b/rainloop/app/data/VERSION @@ -1 +1 @@ -1.12.1 \ No newline at end of file +1.14.0 \ No newline at end of file diff --git a/rainloop/app/index.php b/rainloop/app/index.php index 45ea01b37dce7e93b8e182c80c10627dac896f83..91faf80f758f2a86ec8c5c949faea4209f66c3f6 100644 --- a/rainloop/app/index.php +++ b/rainloop/app/index.php @@ -2,7 +2,7 @@ if (!defined('APP_VERSION')) { - define('APP_VERSION', '1.13.0'); + define('APP_VERSION', '1.14.0'); define('APP_VERSION_TYPE', 'community'); define('APP_INDEX_ROOT_FILE', __FILE__); define('APP_INDEX_ROOT_PATH', str_replace('\\', '/', rtrim(dirname(__FILE__), '\\/').'/')); diff --git a/rainloop/app/rainloop/v/1.13.0/static/js/admin.js b/rainloop/app/rainloop/v/1.13.0/static/js/admin.js deleted file mode 100644 index a0cc24de2e8c731f96deb72dc7d162e43ed8b3ea..0000000000000000000000000000000000000000 --- a/rainloop/app/rainloop/v/1.13.0/static/js/admin.js +++ /dev/null @@ -1,22346 +0,0 @@ -/* RainLoop Webmail (c) RainLoop Team | Licensed under AGPL v3 */ -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = "rainloop/v/0.0.0/static/js/"; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 531); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/*!*****************************!*\ - !*** ./dev/Common/Enums.js ***! - \*****************************/ -/*! exports provided: FileType, StorageResultType, Focused, State, StateType, Capa, KeyState, FolderType, ServerFolderType, LoginSignMeTypeAsString, LoginSignMeType, ComposeType, UploadErrorCode, SetSystemFoldersNotification, ClientSideKeyName, EventKeyCode, MessageSetAction, MessageSelectAction, DesktopNotification, MessagePriority, EditorDefaultType, ServerSecure, SearchDateType, SaveSettingsStep, Layout, FilterConditionField, FilterConditionType, FiltersAction, FilterRulesType, SignedVerifyStatus, ContactPropertyType, Magics, Ports, Notification */ -/*! all exports used */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FileType", function() { return FileType; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "StorageResultType", function() { return StorageResultType; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Focused", function() { return Focused; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "State", function() { return State; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "StateType", function() { return StateType; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Capa", function() { return Capa; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "KeyState", function() { return KeyState; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FolderType", function() { return FolderType; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ServerFolderType", function() { return ServerFolderType; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LoginSignMeTypeAsString", function() { return LoginSignMeTypeAsString; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LoginSignMeType", function() { return LoginSignMeType; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ComposeType", function() { return ComposeType; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "UploadErrorCode", function() { return UploadErrorCode; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SetSystemFoldersNotification", function() { return SetSystemFoldersNotification; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ClientSideKeyName", function() { return ClientSideKeyName; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "EventKeyCode", function() { return EventKeyCode; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MessageSetAction", function() { return MessageSetAction; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MessageSelectAction", function() { return MessageSelectAction; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DesktopNotification", function() { return DesktopNotification; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MessagePriority", function() { return MessagePriority; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "EditorDefaultType", function() { return EditorDefaultType; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ServerSecure", function() { return ServerSecure; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SearchDateType", function() { return SearchDateType; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SaveSettingsStep", function() { return SaveSettingsStep; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Layout", function() { return Layout; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FilterConditionField", function() { return FilterConditionField; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FilterConditionType", function() { return FilterConditionType; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FiltersAction", function() { return FiltersAction; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FilterRulesType", function() { return FilterRulesType; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SignedVerifyStatus", function() { return SignedVerifyStatus; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ContactPropertyType", function() { return ContactPropertyType; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Magics", function() { return Magics; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Ports", function() { return Ports; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Notification", function() { return Notification; }); -/* eslint quote-props: 0 */ - -/** - * @enum {string} - */ -var FileType = { - 'Unknown': 'unknown', - 'Text': 'text', - 'Html': 'html', - 'Code': 'code', - 'Eml': 'eml', - 'WordText': 'word-text', - 'Pdf': 'pdf', - 'Image': 'image', - 'Audio': 'audio', - 'Video': 'video', - 'Sheet': 'sheet', - 'Presentation': 'presentation', - 'Certificate': 'certificate', - 'CertificateBin': 'certificate-bin', - 'Archive': 'archive' -}; -/** - * @enum {string} - */ - -var StorageResultType = { - 'Success': 'success', - 'Abort': 'abort', - 'Error': 'error', - 'Unload': 'unload' -}; -/** - * @enum {string} - */ - -var Focused = { - 'None': 'none', - 'MessageList': 'message-list', - 'MessageView': 'message-view', - 'FolderList': 'folder-list' -}; -/** - * @enum {number} - */ - -var State = { - 'Empty': 10, - 'Login': 20, - 'Auth': 30 -}; -/** - * @enum {number} - */ - -var StateType = { - 'Webmail': 0, - 'Admin': 1 -}; -/** - * @enum {string} - */ - -var Capa = { - 'TwoFactor': 'TWO_FACTOR', - 'TwoFactorForce': 'TWO_FACTOR_FORCE', - 'OpenPGP': 'OPEN_PGP', - 'Prefetch': 'PREFETCH', - 'Gravatar': 'GRAVATAR', - 'Folders': 'FOLDERS', - 'Composer': 'COMPOSER', - 'Contacts': 'CONTACTS', - 'Reload': 'RELOAD', - 'Search': 'SEARCH', - 'SearchAdv': 'SEARCH_ADV', - 'MessageActions': 'MESSAGE_ACTIONS', - 'MessageListActions': 'MESSAGELIST_ACTIONS', - 'AttachmentsActions': 'ATTACHMENTS_ACTIONS', - 'DangerousActions': 'DANGEROUS_ACTIONS', - 'Settings': 'SETTINGS', - 'Help': 'HELP', - 'Themes': 'THEMES', - 'UserBackground': 'USER_BACKGROUND', - 'Sieve': 'SIEVE', - 'Filters': 'FILTERS', - 'AttachmentThumbnails': 'ATTACHMENT_THUMBNAILS', - 'Templates': 'TEMPLATES', - 'AutoLogout': 'AUTOLOGOUT', - 'AdditionalAccounts': 'ADDITIONAL_ACCOUNTS', - 'Identities': 'IDENTITIES' -}; -/** - * @enum {string} - */ - -var KeyState = { - 'All': 'all', - 'None': 'none', - 'ContactList': 'contact-list', - 'MessageList': 'message-list', - 'FolderList': 'folder-list', - 'MessageView': 'message-view', - 'Compose': 'compose', - 'Settings': 'settings', - 'Menu': 'menu', - 'PopupComposeOpenPGP': 'compose-open-pgp', - 'PopupMessageOpenPGP': 'message-open-pgp', - 'PopupViewOpenPGP': 'view-open-pgp', - 'PopupKeyboardShortcutsHelp': 'popup-keyboard-shortcuts-help', - 'PopupAsk': 'popup-ask' -}; -/** - * @enum {number} - */ - -var FolderType = { - 'Inbox': 10, - 'SentItems': 11, - 'Draft': 12, - 'Trash': 13, - 'Spam': 14, - 'Archive': 15, - 'NotSpam': 80, - 'User': 99 -}; -/** - * @enum {number} - */ - -var ServerFolderType = { - 'USER': 0, - 'INBOX': 1, - 'SENT': 2, - 'DRAFTS': 3, - 'JUNK': 4, - 'TRASH': 5, - 'IMPORTANT': 10, - 'FLAGGED': 11, - 'ALL': 12 -}; -/** - * @enum {string} - */ - -var LoginSignMeTypeAsString = { - 'DefaultOff': 'defaultoff', - 'DefaultOn': 'defaulton', - 'Unused': 'unused' -}; -/** - * @enum {number} - */ - -var LoginSignMeType = { - 'DefaultOff': 0, - 'DefaultOn': 1, - 'Unused': 2 -}; -/** - * @enum {string} - */ - -var ComposeType = { - 'Empty': 'empty', - 'Reply': 'reply', - 'ReplyAll': 'replyall', - 'Forward': 'forward', - 'ForwardAsAttachment': 'forward-as-attachment', - 'Draft': 'draft', - 'EditAsNew': 'editasnew' -}; -/** - * @enum {number} - */ - -var UploadErrorCode = { - 'Normal': 0, - 'FileIsTooBig': 1, - 'FilePartiallyUploaded': 2, - 'FileNoUploaded': 3, - 'MissingTempFolder': 4, - 'FileOnSaveingError': 5, - 'FileType': 98, - 'Unknown': 99 -}; -/** - * @enum {number} - */ - -var SetSystemFoldersNotification = { - 'None': 0, - 'Sent': 1, - 'Draft': 2, - 'Spam': 3, - 'Trash': 4, - 'Archive': 5 -}; -/** - * @enum {number} - */ - -var ClientSideKeyName = { - 'FoldersLashHash': 0, - 'MessagesInboxLastHash': 1, - 'MailBoxListSize': 2, - 'ExpandedFolders': 3, - 'FolderListSize': 4, - 'MessageListSize': 5, - 'LastReplyAction': 6, - 'LastSignMe': 7, - 'ComposeLastIdentityID': 8, - 'MessageHeaderFullInfo': 9, - 'MessageAttachmnetControls': 10 -}; -/** - * @enum {number} - */ - -var EventKeyCode = { - 'Backspace': 8, - 'Tab': 9, - 'Enter': 13, - 'Esc': 27, - 'PageUp': 33, - 'PageDown': 34, - 'Left': 37, - 'Right': 39, - 'Up': 38, - 'Down': 40, - 'End': 35, - 'Home': 36, - 'Space': 32, - 'Insert': 45, - 'Delete': 46, - 'A': 65, - 'S': 83 -}; -/** - * @enum {number} - */ - -var MessageSetAction = { - 'SetSeen': 0, - 'UnsetSeen': 1, - 'SetFlag': 2, - 'UnsetFlag': 3 -}; -/** - * @enum {number} - */ - -var MessageSelectAction = { - 'All': 0, - 'None': 1, - 'Invert': 2, - 'Unseen': 3, - 'Seen': 4, - 'Flagged': 5, - 'Unflagged': 6 -}; -/** - * @enum {number} - */ - -var DesktopNotification = { - 'Allowed': 0, - 'NotAllowed': 1, - 'Denied': 2, - 'NotSupported': 9 -}; -/** - * @enum {number} - */ - -var MessagePriority = { - 'Low': 5, - 'Normal': 3, - 'High': 1 -}; -/** - * @enum {string} - */ - -var EditorDefaultType = { - 'Html': 'Html', - 'Plain': 'Plain', - 'HtmlForced': 'HtmlForced', - 'PlainForced': 'PlainForced' -}; -/** - * @enum {number} - */ - -var ServerSecure = { - 'None': 0, - 'SSL': 1, - 'TLS': 2 -}; -/** - * @enum {number} - */ - -var SearchDateType = { - 'All': -1, - 'Days3': 3, - 'Days7': 7, - 'Month': 30 -}; -/** - * @enum {number} - */ - -var SaveSettingsStep = { - 'Animate': -2, - 'Idle': -1, - 'TrueResult': 1, - 'FalseResult': 0 -}; -/** - * @enum {number} - */ - -var Layout = { - 'NoPreview': 0, - 'SidePreview': 1, - 'BottomPreview': 2 -}; -/** - * @enum {string} - */ - -var FilterConditionField = { - 'From': 'From', - 'Recipient': 'Recipient', - 'Subject': 'Subject', - 'Header': 'Header', - 'Size': 'Size' -}; -/** - * @enum {string} - */ - -var FilterConditionType = { - 'Contains': 'Contains', - 'NotContains': 'NotContains', - 'EqualTo': 'EqualTo', - 'NotEqualTo': 'NotEqualTo', - 'Regex': 'Regex', - 'Over': 'Over', - 'Under': 'Under' -}; -/** - * @enum {string} - */ - -var FiltersAction = { - 'None': 'None', - 'MoveTo': 'MoveTo', - 'Discard': 'Discard', - 'Vacation': 'Vacation', - 'Reject': 'Reject', - 'Forward': 'Forward' -}; -/** - * @enum {string} - */ - -var FilterRulesType = { - 'All': 'All', - 'Any': 'Any' -}; -/** - * @enum {number} - */ - -var SignedVerifyStatus = { - 'UnknownPublicKeys': -4, - 'UnknownPrivateKey': -3, - 'Unverified': -2, - 'Error': -1, - 'None': 0, - 'Success': 1 -}; -/** - * @enum {number} - */ - -var ContactPropertyType = { - 'Unknown': 0, - 'FullName': 10, - 'FirstName': 15, - 'LastName': 16, - 'MiddleName': 16, - 'Nick': 18, - 'NamePrefix': 20, - 'NameSuffix': 21, - 'Email': 30, - 'Phone': 31, - 'Web': 32, - 'Birthday': 40, - 'Facebook': 90, - 'Skype': 91, - 'GitHub': 92, - 'Note': 110, - 'Custom': 250 -}; -/** - * @enum {number} - */ - -var Magics = { - 'EventWhichMouseMiddle': 3, - 'ifvisibleIdle10s': 10, - 'BitLength2048': 2048, - 'BitLength1024': 1024, - 'Size350px': 350, - 'Size50px': 50, - 'Size20px': 20, - 'Size1px': 1, - 'Time30mInMin': 30, - 'Time60m': 60000 * 60, - 'Time30m': 60000 * 30, - 'Time20m': 60000 * 20, - 'Time15m': 60000 * 15, - 'Time10m': 60000 * 10, - 'Time5m': 60000 * 5, - 'Time3m': 60000 * 3, - 'Time2m': 60000 * 2, - 'Time1m': 60000, - 'Time30s': 30000, - 'Time10s': 10000, - 'Time7s': 7000, - 'Time5s': 5000, - 'Time3s': 3000, - 'Time1s': 1000, - 'Time500ms': 500, - 'Time350ms': 350, - 'Time250ms': 250, - 'Time200ms': 200, - 'Time100ms': 100, - 'Time50ms': 50, - 'Time20ms': 20, - 'Time10ms': 10, - 'Time1ms': 1 -}; -/** - * @enum {number} - */ - -var Ports = { - 'Imap': 143, - 'ImapSsl': 993, - 'Smtp': 25, - 'SmtpSsl': 465, - 'SmtpStartTls': 587 -}; -/** - * @enum {number} - */ - -var Notification = { - 'InvalidToken': 101, - 'AuthError': 102, - 'AccessError': 103, - 'ConnectionError': 104, - 'CaptchaError': 105, - 'SocialFacebookLoginAccessDisable': 106, - 'SocialTwitterLoginAccessDisable': 107, - 'SocialGoogleLoginAccessDisable': 108, - 'DomainNotAllowed': 109, - 'AccountNotAllowed': 110, - 'AccountTwoFactorAuthRequired': 120, - 'AccountTwoFactorAuthError': 121, - 'CouldNotSaveNewPassword': 130, - 'CurrentPasswordIncorrect': 131, - 'NewPasswordShort': 132, - 'NewPasswordWeak': 133, - 'NewPasswordForbidden': 134, - 'ContactsSyncError': 140, - 'CantGetMessageList': 201, - 'CantGetMessage': 202, - 'CantDeleteMessage': 203, - 'CantMoveMessage': 204, - 'CantCopyMessage': 205, - 'CantSaveMessage': 301, - 'CantSendMessage': 302, - 'InvalidRecipients': 303, - 'CantSaveFilters': 351, - 'CantGetFilters': 352, - 'FiltersAreNotCorrect': 355, - 'CantCreateFolder': 400, - 'CantRenameFolder': 401, - 'CantDeleteFolder': 402, - 'CantSubscribeFolder': 403, - 'CantUnsubscribeFolder': 404, - 'CantDeleteNonEmptyFolder': 405, - 'CantSaveSettings': 501, - 'CantSavePluginSettings': 502, - 'DomainAlreadyExists': 601, - 'CantInstallPackage': 701, - 'CantDeletePackage': 702, - 'InvalidPluginPackage': 703, - 'UnsupportedPluginPackage': 704, - 'LicensingServerIsUnavailable': 710, - 'LicensingExpired': 711, - 'LicensingBanned': 712, - 'DemoSendMessageError': 750, - 'DemoAccountError': 751, - 'AccountAlreadyExists': 801, - 'AccountDoesNotExist': 802, - 'MailServerError': 901, - 'ClientViewError': 902, - 'InvalidInputArgument': 903, - 'AjaxFalse': 950, - 'AjaxAbort': 951, - 'AjaxParse': 952, - 'AjaxTimeout': 953, - 'UnknownNotification': 999, - 'UnknownError': 999 -}; - -/***/ }), -/* 1 */ -/*!****************************!*\ - !*** ./dev/External/ko.js ***! - \****************************/ -/*! exports provided: default */ -/*! exports used: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var core_js_modules_es_date_to_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.date.to-string */ 75); -/* harmony import */ var core_js_modules_es_date_to_string__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_date_to_string__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.object.to-string */ 55); -/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var core_js_modules_es_parse_int__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.parse-int */ 144); -/* harmony import */ var core_js_modules_es_parse_int__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_parse_int__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var core_js_modules_es_regexp_to_string__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.regexp.to-string */ 94); -/* harmony import */ var core_js_modules_es_regexp_to_string__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_to_string__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var core_js_modules_es_string_link__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.string.link */ 169); -/* harmony import */ var core_js_modules_es_string_link__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_link__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var core_js_modules_web_timers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/web.timers */ 67); -/* harmony import */ var core_js_modules_web_timers__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_timers__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_map__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/map */ 18); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_map__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_map__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_index_of__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/index-of */ 30); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_index_of__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_index_of__WEBPACK_IMPORTED_MODULE_7__); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_trim__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/trim */ 137); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_trim__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_trim__WEBPACK_IMPORTED_MODULE_8__); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/find */ 12); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_9__); -/* harmony import */ var window__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! window */ 4); -/* harmony import */ var window__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(window__WEBPACK_IMPORTED_MODULE_10__); -/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! _ */ 3); -/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(___WEBPACK_IMPORTED_MODULE_11__); -/* harmony import */ var $__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! $ */ 8); -/* harmony import */ var $__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n($__WEBPACK_IMPORTED_MODULE_12__); -/* harmony import */ var Opentip__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! Opentip */ 207); -/* harmony import */ var pikaday__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! pikaday */ 208); -/* harmony import */ var pikaday__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(pikaday__WEBPACK_IMPORTED_MODULE_14__); -/* harmony import */ var Common_Enums__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! Common/Enums */ 0); - - - - - - - - - - - - - - - - - -var ko = window__WEBPACK_IMPORTED_MODULE_10___default.a.ko, - $win = $__WEBPACK_IMPORTED_MODULE_12___default()(window__WEBPACK_IMPORTED_MODULE_10___default.a), - fDisposalTooltipHelper = function fDisposalTooltipHelper(element) { - ko.utils.domNodeDisposal.addDisposeCallback(element, function () { - if (element && element.__opentip) { - element.__opentip.deactivate(); - } - }); -}; - -ko.bindingHandlers.updateWidth = { - init: function init(element, fValueAccessor) { - var $el = $__WEBPACK_IMPORTED_MODULE_12___default()(element), - fValue = fValueAccessor(), - fInit = function fInit() { - fValue($el.width()); - window__WEBPACK_IMPORTED_MODULE_10___default.a.setTimeout(function () { - fValue($el.width()); - }, Common_Enums__WEBPACK_IMPORTED_MODULE_15__["Magics"].Time500ms); - }; - - $win.on('resize', fInit); - fInit(); - ko.utils.domNodeDisposal.addDisposeCallback(element, function () { - $win.off('resize', fInit); - }); - } -}; -ko.bindingHandlers.editor = { - init: function init(element, fValueAccessor) { - var editor = null; - - var fValue = fValueAccessor(), - HtmlEditor = __webpack_require__(/*! Common/HtmlEditor */ 204).default, - fUpdateEditorValue = function fUpdateEditorValue() { - if (fValue && fValue.__editor) { - fValue.__editor.setHtmlOrPlain(fValue()); - } - }, - fUpdateKoValue = function fUpdateKoValue() { - if (fValue && fValue.__editor) { - fValue(fValue.__editor.getDataWithHtmlMark()); - } - }, - fOnReady = function fOnReady() { - fValue.__editor = editor; - fUpdateEditorValue(); - }; - - if (ko.isObservable(fValue) && HtmlEditor) { - editor = new HtmlEditor(element, fUpdateKoValue, fOnReady, fUpdateKoValue); - fValue.__fetchEditorValue = fUpdateKoValue; - fValue.subscribe(fUpdateEditorValue); // ko.utils.domNodeDisposal.addDisposeCallback(element, () => { - // }); - } - } -}; -ko.bindingHandlers.json = { - init: function init(element, fValueAccessor) { - $__WEBPACK_IMPORTED_MODULE_12___default()(element).text(window__WEBPACK_IMPORTED_MODULE_10___default.a.JSON.stringify(ko.unwrap(fValueAccessor()))); - }, - update: function update(element, fValueAccessor) { - $__WEBPACK_IMPORTED_MODULE_12___default()(element).text(window__WEBPACK_IMPORTED_MODULE_10___default.a.JSON.stringify(ko.unwrap(fValueAccessor()))); - } -}; -ko.bindingHandlers.scrollerShadows = { - init: function init(element) { - var limit = 8, - $el = $__WEBPACK_IMPORTED_MODULE_12___default()(element), - cont = _babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_9___default()($el).call($el, '[data-scroller-shadows-content]')[0] || null, - fFunc = ___WEBPACK_IMPORTED_MODULE_11___default.a.throttle(function () { - $el.toggleClass('scroller-shadow-top', limit < cont.scrollTop).toggleClass('scroller-shadow-bottom', cont.scrollTop + limit < cont.scrollHeight - cont.clientHeight); - }, 100); - - if (cont) { - $__WEBPACK_IMPORTED_MODULE_12___default()(cont).on('scroll resize', fFunc); - $win.on('resize', fFunc); - ko.utils.domNodeDisposal.addDisposeCallback(cont, function () { - $__WEBPACK_IMPORTED_MODULE_12___default()(cont).off(); - $win.off('resize', fFunc); - }); - } - } -}; -ko.bindingHandlers.pikaday = { - init: function init(element, fValueAccessor, fAllBindingsAccessor, viewModel, bindingContext) { - ko.bindingHandlers.textInput.init(element, fValueAccessor, fAllBindingsAccessor, viewModel, bindingContext); - - if (pikaday__WEBPACK_IMPORTED_MODULE_14___default.a) { - element.__pikaday = new pikaday__WEBPACK_IMPORTED_MODULE_14___default.a({ - field: element - }); - } - } -}; -ko.bindingHandlers.visibleAnimated = { - init: function init(element, fValueAccessor) { - var $el = $__WEBPACK_IMPORTED_MODULE_12___default()(element); - $el.addClass('rl-animated-inited'); - - if (ko.unwrap(fValueAccessor())) { - $el.show(); - } else { - $el.hide(); - } - }, - update: function update(element, fValueAccessor) { - var $el = $__WEBPACK_IMPORTED_MODULE_12___default()(element); - - if (ko.unwrap(fValueAccessor())) { - $el.addClass('rl-animated-hidden').show(); - - ___WEBPACK_IMPORTED_MODULE_11___default.a.delay(function () { - $el.removeClass('rl-animated-hidden'); - }, 10); - } else { - $el.hide().removeClass('rl-animated-hidden'); - } - } -}; -ko.bindingHandlers.tooltip = { - init: function init(element, fValueAccessor) { - var $el = $__WEBPACK_IMPORTED_MODULE_12___default()(element), - fValue = fValueAccessor(), - isMobile = 'on' === ($el.data('tooltip-mobile') || 'off'), - isI18N = 'on' === ($el.data('tooltip-i18n') || 'on'), - Globals = __webpack_require__(/*! Common/Globals */ 6); - - if (!Globals.bMobileDevice || isMobile) { - var sValue = !ko.isObservable(fValue) && ___WEBPACK_IMPORTED_MODULE_11___default.a.isFunction(fValue) ? fValue() : ko.unwrap(fValue); - element.__opentip = new Opentip__WEBPACK_IMPORTED_MODULE_13__[/* default */ "a"](element, { - 'style': 'rainloopTip', - 'element': element, - 'tipJoint': $el.data('tooltip-join') || 'bottom' - }); - Globals.dropdownVisibility.subscribe(function (v) { - if (v) { - element.__opentip.hide(); - } - }); - - if ('' === sValue) { - element.__opentip.hide(); - - element.__opentip.deactivate(); - - element.__opentip.setContent(''); - } else { - element.__opentip.activate(); - } - - if (isI18N) { - var Translator = __webpack_require__(/*! Common/Translator */ 9); - - element.__opentip.setContent(Translator.i18n(sValue)); - - Translator.trigger.subscribe(function () { - element.__opentip.setContent(Translator.i18n(sValue)); - }); - Globals.dropdownVisibility.subscribe(function () { - if (element && element.__opentip) { - element.__opentip.setContent(Translator.i18n(sValue)); - } - }); - } else { - element.__opentip.setContent(sValue); - } - - $win.on('rl.tooltips.diactivate', function () { - element.__opentip.hide(); - - element.__opentip.deactivate(); - }); - $win.on('rl.tooltips.activate', function () { - element.__opentip.activate(); - }); - } - }, - update: function update(element, fValueAccessor) { - var $el = $__WEBPACK_IMPORTED_MODULE_12___default()(element), - fValue = fValueAccessor(), - isMobile = 'on' === ($el.data('tooltip-mobile') || 'off'), - isI18N = 'on' === ($el.data('tooltip-i18n') || 'on'), - Globals = __webpack_require__(/*! Common/Globals */ 6); - - if ((!Globals.bMobileDevice || isMobile) && element.__opentip) { - var sValue = !ko.isObservable(fValue) && ___WEBPACK_IMPORTED_MODULE_11___default.a.isFunction(fValue) ? fValue() : ko.unwrap(fValue); - - if (sValue) { - element.__opentip.setContent(isI18N ? __webpack_require__(/*! Common/Translator */ 9).i18n(sValue) : sValue); - - element.__opentip.activate(); - } else { - element.__opentip.hide(); - - element.__opentip.deactivate(); - - element.__opentip.setContent(''); - } - } - } -}; -ko.bindingHandlers.tooltipErrorTip = { - init: function init(element) { - var $el = $__WEBPACK_IMPORTED_MODULE_12___default()(element); - element.__opentip = new Opentip__WEBPACK_IMPORTED_MODULE_13__[/* default */ "a"](element, { - style: 'rainloopErrorTip', - hideOn: 'mouseout click', - element: element, - tipJoint: $el.data('tooltip-join') || 'top' - }); - - element.__opentip.deactivate(); - - $__WEBPACK_IMPORTED_MODULE_12___default()(window__WEBPACK_IMPORTED_MODULE_10___default.a.document).on('click', function () { - if (element && element.__opentip) { - element.__opentip.hide(); - } - }); - fDisposalTooltipHelper(element); - }, - update: function update(element, fValueAccessor) { - var $el = $__WEBPACK_IMPORTED_MODULE_12___default()(element), - fValue = fValueAccessor(), - value = !ko.isObservable(fValue) && ___WEBPACK_IMPORTED_MODULE_11___default.a.isFunction(fValue) ? fValue() : ko.unwrap(fValue), - openTips = element.__opentip; - - if (openTips) { - if ('' === value) { - openTips.hide(); - openTips.deactivate(); - openTips.setContent(''); - } else { - ___WEBPACK_IMPORTED_MODULE_11___default.a.delay(function () { - if ($el.is(':visible')) { - openTips.setContent(value); - openTips.activate(); - openTips.show(); - } else { - openTips.hide(); - openTips.deactivate(); - openTips.setContent(''); - } - }, Common_Enums__WEBPACK_IMPORTED_MODULE_15__["Magics"].Time100ms); - } - } - } -}; -ko.bindingHandlers.registrateBootstrapDropdown = { - init: function init(element) { - var Globals = __webpack_require__(/*! Common/Globals */ 6); - - if (Globals && Globals.data.aBootstrapDropdowns) { - Globals.data.aBootstrapDropdowns.push($__WEBPACK_IMPORTED_MODULE_12___default()(element)); - $__WEBPACK_IMPORTED_MODULE_12___default()(element).click(function () { - __webpack_require__(/*! Common/Utils */ 2).detectDropdownVisibility(); - }); // ko.utils.domNodeDisposal.addDisposeCallback(element, () => { - // }); - } - } -}; -ko.bindingHandlers.openDropdownTrigger = { - update: function update(element, fValueAccessor) { - if (ko.unwrap(fValueAccessor())) { - var $el = $__WEBPACK_IMPORTED_MODULE_12___default()(element); - - if (!$el.hasClass('open')) { - _babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_9___default()($el).call($el, '.dropdown-toggle').dropdown('toggle'); - } - - _babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_9___default()($el).call($el, '.dropdown-toggle').focus(); - - __webpack_require__(/*! Common/Utils */ 2).detectDropdownVisibility(); - - fValueAccessor()(false); - } - } -}; -ko.bindingHandlers.dropdownCloser = { - init: function init(element) { - $__WEBPACK_IMPORTED_MODULE_12___default()(element).closest('.dropdown').on('click', '.e-item', function () { - $__WEBPACK_IMPORTED_MODULE_12___default()(element).dropdown('toggle'); - }); - } -}; -ko.bindingHandlers.popover = { - init: function init(element, fValueAccessor) { - $__WEBPACK_IMPORTED_MODULE_12___default()(element).popover(ko.unwrap(fValueAccessor())); - ko.utils.domNodeDisposal.addDisposeCallback(element, function () { - $__WEBPACK_IMPORTED_MODULE_12___default()(element).popover('destroy'); - }); - } -}; -ko.bindingHandlers.csstext = {}; - -ko.bindingHandlers.csstext.init = ko.bindingHandlers.csstext.update = function (element, fValueAccessor) { - if (element && element.styleSheet && 'undefined' !== typeof element.styleSheet.cssText) { - element.styleSheet.cssText = ko.unwrap(fValueAccessor()); - } else { - $__WEBPACK_IMPORTED_MODULE_12___default()(element).text(ko.unwrap(fValueAccessor())); - } -}; - -ko.bindingHandlers.resizecrop = { - init: function init(element) { - $__WEBPACK_IMPORTED_MODULE_12___default()(element).addClass('resizecrop').resizecrop({ - 'width': '100', - 'height': '100', - 'wrapperCSS': { - 'border-radius': '10px' - } - }); - }, - update: function update(element, fValueAccessor) { - fValueAccessor()(); - $__WEBPACK_IMPORTED_MODULE_12___default()(element).resizecrop({ - 'width': '100', - 'height': '100' - }); - } -}; -ko.bindingHandlers.onKeyDown = { - init: function init(element, fValueAccessor, fAllBindingsAccessor, viewModel) { - $__WEBPACK_IMPORTED_MODULE_12___default()(element).on('keydown.koOnKeyDown', function (event) { - if (event) { - return fValueAccessor().call(viewModel, event); - } - - return true; - }); - ko.utils.domNodeDisposal.addDisposeCallback(element, function () { - $__WEBPACK_IMPORTED_MODULE_12___default()(element).off('keydown.koOnKeyDown'); - }); - } -}; -ko.bindingHandlers.onEnter = { - init: function init(element, fValueAccessor, fAllBindingsAccessor, viewModel) { - $__WEBPACK_IMPORTED_MODULE_12___default()(element).on('keypress.koOnEnter', function (event) { - if (event && 13 === window__WEBPACK_IMPORTED_MODULE_10___default.a.parseInt(event.keyCode, 10)) { - $__WEBPACK_IMPORTED_MODULE_12___default()(element).trigger('change'); - fValueAccessor().call(viewModel); - } - }); - ko.utils.domNodeDisposal.addDisposeCallback(element, function () { - $__WEBPACK_IMPORTED_MODULE_12___default()(element).off('keypress.koOnEnter'); - }); - } -}; -ko.bindingHandlers.onSpace = { - init: function init(element, fValueAccessor, fAllBindingsAccessor, viewModel) { - $__WEBPACK_IMPORTED_MODULE_12___default()(element).on('keyup.koOnSpace', function (event) { - if (event && 32 === window__WEBPACK_IMPORTED_MODULE_10___default.a.parseInt(event.keyCode, 10)) { - fValueAccessor().call(viewModel, event); - } - }); - ko.utils.domNodeDisposal.addDisposeCallback(element, function () { - $__WEBPACK_IMPORTED_MODULE_12___default()(element).off('keyup.koOnSpace'); - }); - } -}; -ko.bindingHandlers.onTab = { - init: function init(element, fValueAccessor, fAllBindingsAccessor, viewModel) { - $__WEBPACK_IMPORTED_MODULE_12___default()(element).on('keydown.koOnTab', function (event) { - if (event && 9 === window__WEBPACK_IMPORTED_MODULE_10___default.a.parseInt(event.keyCode, 10)) { - return fValueAccessor().call(viewModel, !!event.shiftKey); - } - - return true; - }); - ko.utils.domNodeDisposal.addDisposeCallback(element, function () { - $__WEBPACK_IMPORTED_MODULE_12___default()(element).off('keydown.koOnTab'); - }); - } -}; -ko.bindingHandlers.onEsc = { - init: function init(element, fValueAccessor, fAllBindingsAccessor, viewModel) { - $__WEBPACK_IMPORTED_MODULE_12___default()(element).on('keyup.koOnEsc', function (event) { - if (event && 27 === window__WEBPACK_IMPORTED_MODULE_10___default.a.parseInt(event.keyCode, 10)) { - $__WEBPACK_IMPORTED_MODULE_12___default()(element).trigger('change'); - fValueAccessor().call(viewModel); - } - }); - ko.utils.domNodeDisposal.addDisposeCallback(element, function () { - $__WEBPACK_IMPORTED_MODULE_12___default()(element).off('keyup.koOnEsc'); - }); - } -}; -ko.bindingHandlers.clickOnTrue = { - update: function update(element, fValueAccessor) { - if (ko.unwrap(fValueAccessor())) { - $__WEBPACK_IMPORTED_MODULE_12___default()(element).click(); - } - } -}; -ko.bindingHandlers.modal = { - init: function init(element, fValueAccessor) { - var _context; - - var Globals = __webpack_require__(/*! Common/Globals */ 6), - Utils = __webpack_require__(/*! Common/Utils */ 2); - - _babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_9___default()(_context = $__WEBPACK_IMPORTED_MODULE_12___default()(element).toggleClass('fade', !Globals.bMobileDevice).modal({ - 'keyboard': false, - 'show': ko.unwrap(fValueAccessor()) - }).on('shown.koModal', Utils.windowResizeCallback)).call(_context, '.close').on('click.koModal', function () { - fValueAccessor()(false); - }); - - ko.utils.domNodeDisposal.addDisposeCallback(element, function () { - var _context2; - - _babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_9___default()(_context2 = $__WEBPACK_IMPORTED_MODULE_12___default()(element).off('shown.koModal')).call(_context2, '.close').off('click.koModal'); - }); - }, - update: function update(element, fValueAccessor) { - var Globals = __webpack_require__(/*! Common/Globals */ 6); - - $__WEBPACK_IMPORTED_MODULE_12___default()(element).modal(ko.unwrap(fValueAccessor()) ? 'show' : 'hide'); - - if (Globals.$html.hasClass('rl-anim')) { - Globals.$html.addClass('rl-modal-animation'); - - ___WEBPACK_IMPORTED_MODULE_11___default.a.delay(function () { - Globals.$html.removeClass('rl-modal-animation'); - }, Common_Enums__WEBPACK_IMPORTED_MODULE_15__["Magics"].Time500ms); - } - } -}; -ko.bindingHandlers.moment = { - init: function init(element, fValueAccessor) { - __webpack_require__(/*! Common/Momentor */ 60).momentToNode($__WEBPACK_IMPORTED_MODULE_12___default()(element).addClass('moment').data('moment-time', ko.unwrap(fValueAccessor()))); - }, - update: function update(element, fValueAccessor) { - __webpack_require__(/*! Common/Momentor */ 60).momentToNode($__WEBPACK_IMPORTED_MODULE_12___default()(element).data('moment-time', ko.unwrap(fValueAccessor()))); - } -}; -ko.bindingHandlers.i18nInit = { - init: function init(element) { - __webpack_require__(/*! Common/Translator */ 9).i18nToNodes(element); - } -}; -ko.bindingHandlers.translatorInit = { - init: function init(element) { - __webpack_require__(/*! Common/Translator */ 9).i18nToNodes(element); - } -}; -ko.bindingHandlers.i18nUpdate = { - update: function update(element, fValueAccessor) { - ko.unwrap(fValueAccessor()); - - __webpack_require__(/*! Common/Translator */ 9).i18nToNodes(element); - } -}; -ko.bindingHandlers.link = { - update: function update(element, fValueAccessor) { - $__WEBPACK_IMPORTED_MODULE_12___default()(element).attr('href', ko.unwrap(fValueAccessor())); - } -}; -ko.bindingHandlers.title = { - update: function update(element, fValueAccessor) { - $__WEBPACK_IMPORTED_MODULE_12___default()(element).attr('title', ko.unwrap(fValueAccessor())); - } -}; -ko.bindingHandlers.textF = { - init: function init(element, fValueAccessor) { - $__WEBPACK_IMPORTED_MODULE_12___default()(element).text(ko.unwrap(fValueAccessor())); - } -}; -ko.bindingHandlers.initDom = { - init: function init(element, fValueAccessor) { - fValueAccessor()(element); - } -}; -ko.bindingHandlers.initFixedTrigger = { - init: function init(element, fValueAccessor) { - var values = ko.unwrap(fValueAccessor()), - $el = $__WEBPACK_IMPORTED_MODULE_12___default()(element), - top = values[1] || 0; - var $container = $__WEBPACK_IMPORTED_MODULE_12___default()(values[0] || null); - $container = $container[0] ? $container : null; - - if ($container) { - $win.resize(function () { - var offset = $container ? $container.offset() : null; - - if (offset && offset.top) { - $el.css('top', offset.top + top); - } - }); - } - } -}; -ko.bindingHandlers.initResizeTrigger = { - init: function init(element, fValueAccessor) { - var values = ko.unwrap(fValueAccessor()); - $__WEBPACK_IMPORTED_MODULE_12___default()(element).css({ - 'height': values[1], - 'min-height': values[1] - }); - }, - update: function update(oElement, fValueAccessor) { - var Utils = __webpack_require__(/*! Common/Utils */ 2), - Globals = __webpack_require__(/*! Common/Globals */ 6), - values = ko.unwrap(fValueAccessor()); - - var value = Utils.pInt(values[1]), - size = 0, - offset = $__WEBPACK_IMPORTED_MODULE_12___default()(oElement).offset().top; - - if (0 < offset) { - offset += Utils.pInt(values[2]); - size = Globals.$win.height() - offset; - - if (value < size) { - value = size; - } - - $__WEBPACK_IMPORTED_MODULE_12___default()(oElement).css({ - 'height': value, - 'min-height': value - }); - } - } -}; -ko.bindingHandlers.appendDom = { - update: function update(element, fValueAccessor) { - $__WEBPACK_IMPORTED_MODULE_12___default()(element).hide().empty().append(ko.unwrap(fValueAccessor())).show(); - } -}; -ko.bindingHandlers.draggable = { - init: function init(element, fValueAccessor, fAllBindingsAccessor) { - var Globals = __webpack_require__(/*! Common/Globals */ 6), - Utils = __webpack_require__(/*! Common/Utils */ 2); - - if (!Globals.bMobileDevice) { - var triggerZone = 100, - scrollSpeed = 3, - fAllValueFunc = fAllBindingsAccessor(), - droppableSelector = fAllValueFunc && fAllValueFunc.droppableSelector ? fAllValueFunc.droppableSelector : '', - conf = { - distance: 20, - handle: '.dragHandle', - cursorAt: { - top: 22, - left: 3 - }, - refreshPositions: true, - scroll: true, - drag: null, - stop: null, - helper: null - }; - - if (droppableSelector) { - conf.drag = function (event) { - $__WEBPACK_IMPORTED_MODULE_12___default()(droppableSelector).each(function () { - var $this = $__WEBPACK_IMPORTED_MODULE_12___default()(this), - // eslint-disable-line no-invalid-this - offset = $this.offset(), - bottomPos = offset.top + $this.height(); - window__WEBPACK_IMPORTED_MODULE_10___default.a.clearInterval($this.data('timerScroll')); - $this.data('timerScroll', false); - - if (event.pageX >= offset.left && event.pageX <= offset.left + $this.width()) { - if (event.pageY >= bottomPos - triggerZone && event.pageY <= bottomPos) { - var moveUp = function moveUp() { - $this.scrollTop($this.scrollTop() + scrollSpeed); - Utils.windowResize(); - }; - - $this.data('timerScroll', window__WEBPACK_IMPORTED_MODULE_10___default.a.setInterval(moveUp, 10)); - moveUp(); - } - - if (event.pageY >= offset.top && event.pageY <= offset.top + triggerZone) { - var moveDown = function moveDown() { - $this.scrollTop($this.scrollTop() - scrollSpeed); - Utils.windowResize(); - }; - - $this.data('timerScroll', window__WEBPACK_IMPORTED_MODULE_10___default.a.setInterval(moveDown, 10)); - moveDown(); - } - } - }); - }; - - conf.stop = function () { - $__WEBPACK_IMPORTED_MODULE_12___default()(droppableSelector).each(function () { - var $this = $__WEBPACK_IMPORTED_MODULE_12___default()(this); // eslint-disable-line no-invalid-this - - window__WEBPACK_IMPORTED_MODULE_10___default.a.clearInterval($this.data('timerScroll')); - $this.data('timerScroll', false); - }); - }; - } - - conf.helper = function (event) { - return fValueAccessor()(event && event.target ? ko.dataFor(event.target) : null); - }; - - $__WEBPACK_IMPORTED_MODULE_12___default()(element).draggable(conf).on('mousedown.koDraggable', function () { - Utils.removeInFocus(); - }); - ko.utils.domNodeDisposal.addDisposeCallback(element, function () { - $__WEBPACK_IMPORTED_MODULE_12___default()(element).off('mousedown.koDraggable').draggable('destroy'); - }); - } - } -}; -ko.bindingHandlers.droppable = { - init: function init(element, fValueAccessor, fAllBindingsAccessor) { - var Globals = __webpack_require__(/*! Common/Globals */ 6); - - if (!Globals.bMobileDevice) { - var fValueFunc = fValueAccessor(), - fAllValueFunc = fAllBindingsAccessor(), - fOverCallback = fAllValueFunc && fAllValueFunc.droppableOver ? fAllValueFunc.droppableOver : null, - fOutCallback = fAllValueFunc && fAllValueFunc.droppableOut ? fAllValueFunc.droppableOut : null, - conf = { - tolerance: 'pointer', - hoverClass: 'droppableHover', - drop: null, - over: null, - out: null - }; - - if (fValueFunc) { - conf.drop = function (event, ui) { - fValueFunc(event, ui); - }; - - if (fOverCallback) { - conf.over = function (event, ui) { - fOverCallback(event, ui); - }; - } - - if (fOutCallback) { - conf.out = function (event, ui) { - fOutCallback(event, ui); - }; - } - - $__WEBPACK_IMPORTED_MODULE_12___default()(element).droppable(conf); - ko.utils.domNodeDisposal.addDisposeCallback(element, function () { - $__WEBPACK_IMPORTED_MODULE_12___default()(element).droppable('destroy'); - }); - } - } - } -}; -ko.bindingHandlers.nano = { - init: function init(element) { - var Globals = __webpack_require__(/*! Common/Globals */ 6), - Settings = __webpack_require__(/*! Storage/Settings */ 5); - - if (!Globals.bDisableNanoScroll && !Settings.appSettingsGet('useNativeScrollbars')) { - $__WEBPACK_IMPORTED_MODULE_12___default()(element).addClass('nano').nanoScroller({ - iOSNativeScrolling: false, - preventPageScrolling: true - }); - } - } -}; -ko.bindingHandlers.saveTrigger = { - init: function init(element) { - var $el = $__WEBPACK_IMPORTED_MODULE_12___default()(element); - $el.data('save-trigger-type', $el.is('input[type=text],input[type=email],input[type=password],select,textarea') ? 'input' : 'custom'); - - if ('custom' === $el.data('save-trigger-type')) { - $el.append('  ' + '' + '' + '').addClass('settings-saved-trigger'); - } else { - $el.addClass('settings-saved-trigger-input'); - } - }, - update: function update(element, fValueAccessor) { - var _context3, _context4, _context5, _context6; - - var value = ko.unwrap(fValueAccessor()), - $el = $__WEBPACK_IMPORTED_MODULE_12___default()(element); - - if ('custom' === $el.data('save-trigger-type')) { - switch (value.toString()) { - case '1': - _babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_9___default()(_context3 = _babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_9___default()($el).call($el, '.animated,.error').hide().removeClass('visible').end()).call(_context3, '.success').show().addClass('visible'); - - break; - - case '0': - _babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_9___default()(_context4 = _babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_9___default()($el).call($el, '.animated,.success').hide().removeClass('visible').end()).call(_context4, '.error').show().addClass('visible'); - - break; - - case '-2': - _babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_9___default()(_context5 = _babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_9___default()($el).call($el, '.error,.success').hide().removeClass('visible').end()).call(_context5, '.animated').show().addClass('visible'); - - break; - - default: - _babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_9___default()(_context6 = _babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_9___default()($el).call($el, '.animated').hide().end()).call(_context6, '.error,.success').removeClass('visible'); - - break; - } - } else { - switch (value.toString()) { - case '1': - $el.addClass('success').removeClass('error'); - break; - - case '0': - $el.addClass('error').removeClass('success'); - break; - - case '-2': - break; - - default: - $el.removeClass('error success'); - break; - } - } - } -}; -ko.bindingHandlers.emailsTags = { - init: function init(element, fValueAccessor, fAllBindingsAccessor) { - var Utils = __webpack_require__(/*! Common/Utils */ 2), - EmailModel = __webpack_require__(/*! Model/Email */ 81).default, - $el = $__WEBPACK_IMPORTED_MODULE_12___default()(element), - fValue = fValueAccessor(), - fAllBindings = fAllBindingsAccessor(), - fAutoCompleteSource = fAllBindings.autoCompleteSource || null, - inputDelimiters = [',', ';', '\n'], - fFocusCallback = function fFocusCallback(value) { - if (fValue && fValue.focused) { - fValue.focused(!!value); - } - }; - - $el.inputosaurus({ - parseOnBlur: true, - allowDragAndDrop: true, - focusCallback: fFocusCallback, - inputDelimiters: inputDelimiters, - autoCompleteSource: fAutoCompleteSource, - splitHook: function splitHook(value) { - var v = _babel_runtime_corejs3_core_js_stable_instance_trim__WEBPACK_IMPORTED_MODULE_8___default()(Utils).call(Utils, value); - - if (v && -1 < _babel_runtime_corejs3_core_js_stable_instance_index_of__WEBPACK_IMPORTED_MODULE_7___default()(inputDelimiters).call(inputDelimiters, v.substr(-1))) { - return EmailModel.splitEmailLine(value); - } - - return null; - }, - parseHook: function parseHook(input) { - return _babel_runtime_corejs3_core_js_stable_instance_map__WEBPACK_IMPORTED_MODULE_6___default()(___WEBPACK_IMPORTED_MODULE_11___default.a).call(___WEBPACK_IMPORTED_MODULE_11___default.a, ___WEBPACK_IMPORTED_MODULE_11___default.a.flatten(_babel_runtime_corejs3_core_js_stable_instance_map__WEBPACK_IMPORTED_MODULE_6___default()(___WEBPACK_IMPORTED_MODULE_11___default.a).call(___WEBPACK_IMPORTED_MODULE_11___default.a, input, function (inputValue) { - var values = EmailModel.parseEmailLine(inputValue); - return values.length ? values : inputValue; - })), function (item) { - return ___WEBPACK_IMPORTED_MODULE_11___default.a.isObject(item) ? [item.toLine(false), item] : [item, null]; - }); - }, - change: function change(event) { - $el.data('EmailsTagsValue', event.target.value); - fValue(event.target.value); - } - }); - - if (fValue && fValue.focused && fValue.focused.subscribe) { - fValue.focused.subscribe(function (value) { - $el.inputosaurus(value ? 'focus' : 'blur'); - }); - } - }, - update: function update(element, fValueAccessor) { - var $oEl = $__WEBPACK_IMPORTED_MODULE_12___default()(element), - fValue = fValueAccessor(), - value = ko.unwrap(fValue); - - if ($oEl.data('EmailsTagsValue') !== value) { - $oEl.val(value); - $oEl.data('EmailsTagsValue', value); - $oEl.inputosaurus('refresh'); - } - } -}; -ko.bindingHandlers.command = { - init: function init(element, fValueAccessor, fAllBindingsAccessor, viewModel, bindingContext) { - var jqElement = $__WEBPACK_IMPORTED_MODULE_12___default()(element), - command = fValueAccessor(); - - if (!command || !command.isCommand) { - throw new Error('Value should be a command'); - } - - if (!command.enabled) { - command.enabled = ko.observable(true); - } - - if (!command.canExecute) { - var __realCanExecute = command.__realCanExecute; - - if (___WEBPACK_IMPORTED_MODULE_11___default.a.isFunction(__realCanExecute)) { - command.canExecute = ko.computed(function () { - return command.enabled() && __realCanExecute.call(viewModel, viewModel); - }); - } else { - command.canExecute = ko.computed(function () { - return command.enabled() && !!__realCanExecute; - }); - } - } - - jqElement.addClass('command'); - ko.bindingHandlers[jqElement.is('form') ? 'submit' : 'click'].init(element, fValueAccessor, fAllBindingsAccessor, viewModel, bindingContext); - }, - update: function update(element, fValueAccessor) { - var jqElement = $__WEBPACK_IMPORTED_MODULE_12___default()(element), - command = fValueAccessor(); - var result = command.enabled(); - jqElement.toggleClass('command-not-enabled', !result); - - if (result) { - result = command.canExecute(); - jqElement.toggleClass('command-can-not-be-execute', !result); - } - - jqElement.toggleClass('command-disabled disable disabled', !result).toggleClass('no-disabled', !!result); - - if (jqElement.is('input') || jqElement.is('button')) { - jqElement.prop('disabled', !result); - } - } -}; // extenders - -ko.extenders.trimmer = function (target) { - var Utils = __webpack_require__(/*! Common/Utils */ 2), - result = ko.computed({ - read: target, - write: function write(newValue) { - target(_babel_runtime_corejs3_core_js_stable_instance_trim__WEBPACK_IMPORTED_MODULE_8___default()(Utils).call(Utils, newValue.toString())); - } - }); - - result(target()); - return result; -}; - -ko.extenders.posInterer = function (target, defaultVal) { - var Utils = __webpack_require__(/*! Common/Utils */ 2), - result = ko.computed({ - read: target, - write: function write(newValue) { - var val = Utils.pInt(newValue.toString(), defaultVal); - - if (0 >= val) { - val = defaultVal; - } - - if (val === target() && '' + val !== '' + newValue) { - target(val + 1); - } - - target(val); - } - }); - - result(target()); - return result; -}; - -ko.extenders.limitedList = function (target, limitedList) { - var Utils = __webpack_require__(/*! Common/Utils */ 2), - result = ko.computed({ - read: target, - write: function write(newValue) { - var currentValue = ko.unwrap(target), - list = ko.unwrap(limitedList); - - if (Utils.isNonEmptyArray(list)) { - if (-1 < Utils.inArray(newValue, list)) { - target(newValue); - } else if (-1 < Utils.inArray(currentValue, list)) { - target(currentValue + ' '); - target(currentValue); - } else { - target(list[0] + ' '); - target(list[0]); - } - } else { - target(''); - } - } - }).extend({ - notify: 'always' - }); - - result(target()); - - if (!result.valueHasMutated) { - result.valueHasMutated = function () { - target.valueHasMutated(); - }; - } - - return result; -}; - -ko.extenders.reversible = function (target) { - var value = target(); - - target.commit = function () { - value = target(); - }; - - target.reverse = function () { - target(value); - }; - - target.commitedValue = function () { - return value; - }; - - return target; -}; - -ko.extenders.toggleSubscribe = function (target, options) { - target.subscribe(options[1], options[0], 'beforeChange'); - target.subscribe(options[2], options[0]); - return target; -}; - -ko.extenders.toggleSubscribeProperty = function (target, options) { - var prop = options[1]; - - if (prop) { - target.subscribe(function (prev) { - if (prev && prev[prop]) { - prev[prop](false); - } - }, options[0], 'beforeChange'); - target.subscribe(function (next) { - if (next && next[prop]) { - next[prop](true); - } - }, options[0]); - } - - return target; -}; - -ko.extenders.falseTimeout = function (target, option) { - target.iFalseTimeoutTimeout = 0; - target.subscribe(function (value) { - if (value) { - window__WEBPACK_IMPORTED_MODULE_10___default.a.clearTimeout(target.iFalseTimeoutTimeout); - target.iFalseTimeoutTimeout = window__WEBPACK_IMPORTED_MODULE_10___default.a.setTimeout(function () { - target(false); - target.iFalseTimeoutTimeout = 0; - }, __webpack_require__(/*! Common/Utils */ 2).pInt(option)); - } - }); - return target; -}; - -ko.extenders.specialThrottle = function (target, option) { - target.iSpecialThrottleTimeoutValue = __webpack_require__(/*! Common/Utils */ 2).pInt(option); - - if (0 < target.iSpecialThrottleTimeoutValue) { - target.iSpecialThrottleTimeout = 0; - target.valueForRead = ko.observable(!!target()).extend({ - throttle: 10 - }); - return ko.computed({ - read: target.valueForRead, - write: function write(bValue) { - if (bValue) { - target.valueForRead(bValue); - } else { - if (target.valueForRead()) { - window__WEBPACK_IMPORTED_MODULE_10___default.a.clearTimeout(target.iSpecialThrottleTimeout); - target.iSpecialThrottleTimeout = window__WEBPACK_IMPORTED_MODULE_10___default.a.setTimeout(function () { - target.valueForRead(false); - target.iSpecialThrottleTimeout = 0; - }, target.iSpecialThrottleTimeoutValue); - } else { - target.valueForRead(bValue); - } - } - } - }); - } - - return target; -}; - -ko.extenders.idleTrigger = function (target) { - target.trigger = ko.observable(Common_Enums__WEBPACK_IMPORTED_MODULE_15__["SaveSettingsStep"].Idle); - return target; -}; // functions - - -ko.observable.fn.idleTrigger = function () { - return this.extend({ - 'idleTrigger': true - }); -}; - -ko.observable.fn.validateNone = function () { - this.hasError = ko.observable(false); - return this; -}; - -ko.observable.fn.validateEmail = function () { - var _this = this; - - this.hasError = ko.observable(false); - this.subscribe(function (value) { - _this.hasError('' !== value && !/^[^@\s]+@[^@\s]+$/.test(value)); - }); - this.valueHasMutated(); - return this; -}; - -ko.observable.fn.validateSimpleEmail = function () { - var _this2 = this; - - this.hasError = ko.observable(false); - this.subscribe(function (value) { - _this2.hasError('' !== value && !/^.+@.+$/.test(value)); - }); - this.valueHasMutated(); - return this; -}; - -ko.observable.fn.deleteAccessHelper = function () { - this.extend({ - falseTimeout: 3000 - }).extend({ - toggleSubscribeProperty: [this, 'deleteAccess'] - }); - return this; -}; - -ko.observable.fn.validateFunc = function (fFunc) { - var _this3 = this; - - this.hasFuncError = ko.observable(false); - - if (___WEBPACK_IMPORTED_MODULE_11___default.a.isFunction(fFunc)) { - this.subscribe(function (value) { - _this3.hasFuncError(!fFunc(value)); - }); - this.valueHasMutated(); - } - - return this; -}; - -/* harmony default export */ __webpack_exports__["a"] = (ko); - -/***/ }), -/* 2 */ -/*!*****************************!*\ - !*** ./dev/Common/Utils.js ***! - \*****************************/ -/*! exports provided: trim, inArray, isArray, isObject, isFunc, isUnd, isNull, has, bind, noop, noopTrue, noopFalse, jassl, silentTryCatch, isNormal, isPosNumeric, pInt, pString, pBool, boolToAjax, isNonEmptyArray, encodeURIComponent, decodeURIComponent, decodeURI, encodeURI, simpleQueryParser, fakeMd5, encodeHtml, splitPlainText, timeOutAction, timeOutActionSecond, deModule, inFocus, removeInFocus, removeSelection, replySubjectAdd, roundNumber, friendlySize, log, delegateRun, killCtrlACtrlS, createCommandLegacy, convertThemeName, quoteName, microtime, timestamp, convertLangName, draggablePlace, defautOptionsAfterRender, clearBqSwitcher, previewMessage, settingsSaveHelperFunction, settingsSaveHelperSimpleFunction, settingsSaveHelperSubscribeFunction, findEmailAndLinks, htmlToPlain, plainToHtml, folderListOptionsBuilder, selectElement, detectDropdownVisibility, triggerAutocompleteInputChange, getConfigurationFromScriptTag, disposeOne, disposeObject, delegateRunOnDestroy, appendStyles, changeTheme, computedPagenatorHelper, getFileExtension, mimeContentType, isTransparent, getRealHeight, resizeAndCrop, mailToHelper, domReady, windowResize, windowResizeCallback */ -/*! all exports used */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "trim", function() { return trim; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "inArray", function() { return inArray; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isArray", function() { return isArray; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isObject", function() { return isObject; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isFunc", function() { return isFunc; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isUnd", function() { return isUnd; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isNull", function() { return isNull; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "has", function() { return has; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "bind", function() { return bind; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "noop", function() { return noop; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "noopTrue", function() { return noopTrue; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "noopFalse", function() { return noopFalse; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "silentTryCatch", function() { return silentTryCatch; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isNormal", function() { return isNormal; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isPosNumeric", function() { return isPosNumeric; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "pInt", function() { return pInt; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "pString", function() { return pString; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "pBool", function() { return pBool; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "boolToAjax", function() { return boolToAjax; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isNonEmptyArray", function() { return isNonEmptyArray; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "encodeURIComponent", function() { return encodeURIComponent; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "decodeURIComponent", function() { return decodeURIComponent; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "decodeURI", function() { return decodeURI; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "encodeURI", function() { return encodeURI; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "simpleQueryParser", function() { return simpleQueryParser; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fakeMd5", function() { return fakeMd5; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "encodeHtml", function() { return encodeHtml; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "splitPlainText", function() { return splitPlainText; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "timeOutAction", function() { return timeOutAction; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "timeOutActionSecond", function() { return timeOutActionSecond; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "deModule", function() { return deModule; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "inFocus", function() { return inFocus; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "removeInFocus", function() { return removeInFocus; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "removeSelection", function() { return removeSelection; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "replySubjectAdd", function() { return replySubjectAdd; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "roundNumber", function() { return roundNumber; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "friendlySize", function() { return friendlySize; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "log", function() { return log; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "delegateRun", function() { return delegateRun; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "killCtrlACtrlS", function() { return killCtrlACtrlS; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createCommandLegacy", function() { return createCommandLegacy; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "convertThemeName", function() { return convertThemeName; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "quoteName", function() { return quoteName; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "microtime", function() { return microtime; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "timestamp", function() { return timestamp; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "convertLangName", function() { return convertLangName; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "draggablePlace", function() { return draggablePlace; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "defautOptionsAfterRender", function() { return defautOptionsAfterRender; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "clearBqSwitcher", function() { return clearBqSwitcher; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "previewMessage", function() { return previewMessage; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "settingsSaveHelperFunction", function() { return settingsSaveHelperFunction; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "settingsSaveHelperSimpleFunction", function() { return settingsSaveHelperSimpleFunction; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "settingsSaveHelperSubscribeFunction", function() { return settingsSaveHelperSubscribeFunction; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "findEmailAndLinks", function() { return findEmailAndLinks; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "htmlToPlain", function() { return htmlToPlain; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "plainToHtml", function() { return plainToHtml; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "folderListOptionsBuilder", function() { return folderListOptionsBuilder; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "selectElement", function() { return selectElement; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "detectDropdownVisibility", function() { return detectDropdownVisibility; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "triggerAutocompleteInputChange", function() { return triggerAutocompleteInputChange; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getConfigurationFromScriptTag", function() { return getConfigurationFromScriptTag; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "disposeOne", function() { return disposeOne; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "disposeObject", function() { return disposeObject; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "delegateRunOnDestroy", function() { return delegateRunOnDestroy; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "appendStyles", function() { return appendStyles; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "changeTheme", function() { return changeTheme; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "computedPagenatorHelper", function() { return computedPagenatorHelper; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getFileExtension", function() { return getFileExtension; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mimeContentType", function() { return mimeContentType; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isTransparent", function() { return isTransparent; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getRealHeight", function() { return getRealHeight; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "resizeAndCrop", function() { return resizeAndCrop; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mailToHelper", function() { return mailToHelper; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "domReady", function() { return domReady; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "windowResize", function() { return windowResize; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "windowResizeCallback", function() { return windowResizeCallback; }); -/* harmony import */ var core_js_modules_es_array_join__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.join */ 76); -/* harmony import */ var core_js_modules_es_array_join__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_join__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var core_js_modules_es_date_to_string__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.date.to-string */ 75); -/* harmony import */ var core_js_modules_es_date_to_string__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_date_to_string__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.function.name */ 52); -/* harmony import */ var core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.object.to-string */ 55); -/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var core_js_modules_es_parse_int__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.parse-int */ 144); -/* harmony import */ var core_js_modules_es_parse_int__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_parse_int__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.regexp.exec */ 48); -/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var core_js_modules_es_regexp_to_string__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/es.regexp.to-string */ 94); -/* harmony import */ var core_js_modules_es_regexp_to_string__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_to_string__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var core_js_modules_es_string_match__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! core-js/modules/es.string.match */ 193); -/* harmony import */ var core_js_modules_es_string_match__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_match__WEBPACK_IMPORTED_MODULE_7__); -/* harmony import */ var core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! core-js/modules/es.string.replace */ 56); -/* harmony import */ var core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_8__); -/* harmony import */ var core_js_modules_es_string_split__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! core-js/modules/es.string.split */ 168); -/* harmony import */ var core_js_modules_es_string_split__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split__WEBPACK_IMPORTED_MODULE_9__); -/* harmony import */ var core_js_modules_es_string_link__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! core-js/modules/es.string.link */ 169); -/* harmony import */ var core_js_modules_es_string_link__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_link__WEBPACK_IMPORTED_MODULE_10__); -/* harmony import */ var core_js_modules_web_timers__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! core-js/modules/web.timers */ 67); -/* harmony import */ var core_js_modules_web_timers__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_timers__WEBPACK_IMPORTED_MODULE_11__); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_reduce__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/reduce */ 205); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_reduce__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_reduce__WEBPACK_IMPORTED_MODULE_12__); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_values__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/values */ 114); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_values__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_values__WEBPACK_IMPORTED_MODULE_13__); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/concat */ 157); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_14__); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_index_of__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/index-of */ 30); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_index_of__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_index_of__WEBPACK_IMPORTED_MODULE_15__); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/find */ 12); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_16__); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_last_index_of__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/last-index-of */ 206); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_last_index_of__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_last_index_of__WEBPACK_IMPORTED_MODULE_17__); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_bind__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/bind */ 26); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_bind__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_bind__WEBPACK_IMPORTED_MODULE_18__); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_trim__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/trim */ 137); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_trim__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_trim__WEBPACK_IMPORTED_MODULE_19__); -/* harmony import */ var window__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! window */ 4); -/* harmony import */ var window__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(window__WEBPACK_IMPORTED_MODULE_20__); -/* harmony import */ var $__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! $ */ 8); -/* harmony import */ var $__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n($__WEBPACK_IMPORTED_MODULE_21__); -/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! _ */ 3); -/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(___WEBPACK_IMPORTED_MODULE_22__); -/* harmony import */ var ko__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ko */ 1); -/* harmony import */ var Autolinker__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! Autolinker */ 209); -/* harmony import */ var Autolinker__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(Autolinker__WEBPACK_IMPORTED_MODULE_24__); -/* harmony import */ var Common_Globals__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! Common/Globals */ 6); -/* harmony import */ var Common_Enums__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! Common/Enums */ 0); -/* harmony import */ var Common_Mime__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! Common/Mime */ 210); -/* harmony import */ var Common_Jassl__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! Common/Jassl */ 107); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "jassl", function() { return Common_Jassl__WEBPACK_IMPORTED_MODULE_28__["a"]; }); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -var trim = _babel_runtime_corejs3_core_js_stable_instance_trim__WEBPACK_IMPORTED_MODULE_19___default()($__WEBPACK_IMPORTED_MODULE_21___default.a); - -var inArray = $__WEBPACK_IMPORTED_MODULE_21___default.a.inArray; -var isArray = ___WEBPACK_IMPORTED_MODULE_22___default.a.isArray; -var isObject = ___WEBPACK_IMPORTED_MODULE_22___default.a.isObject; -var isFunc = ___WEBPACK_IMPORTED_MODULE_22___default.a.isFunction; -var isUnd = ___WEBPACK_IMPORTED_MODULE_22___default.a.isUndefined; -var isNull = ___WEBPACK_IMPORTED_MODULE_22___default.a.isNull; -var has = ___WEBPACK_IMPORTED_MODULE_22___default.a.has; - -var bind = _babel_runtime_corejs3_core_js_stable_instance_bind__WEBPACK_IMPORTED_MODULE_18___default()(___WEBPACK_IMPORTED_MODULE_22___default.a); - -var noop = function noop() {}; // eslint-disable-line no-empty-function - - -var noopTrue = function noopTrue() { - return true; -}; - -var noopFalse = function noopFalse() { - return false; -}; - - -/** - * @param {Function} func - */ - -function silentTryCatch(func) { - try { - func(); - } catch (e) {} // eslint-disable-line no-empty - -} -/** - * @param {*} value - * @returns {boolean} - */ - -function isNormal(value) { - return !isUnd(value) && !isNull(value); -} -/** - * @param {(string|number)} value - * @param {boolean=} includeZero = true - * @returns {boolean} - */ - -function isPosNumeric(value, includeZero) { - if (includeZero === void 0) { - includeZero = true; - } - - return !isNormal(value) ? false : includeZero ? /^[0-9]*$/.test(value.toString()) : /^[1-9]+[0-9]*$/.test(value.toString()); -} -/** - * @param {*} value - * @param {number=} defaultValur = 0 - * @returns {number} - */ - -function pInt(value, defaultValur) { - if (defaultValur === void 0) { - defaultValur = 0; - } - - var result = isNormal(value) && '' !== value ? window__WEBPACK_IMPORTED_MODULE_20___default.a.parseInt(value, 10) : defaultValur; - return window__WEBPACK_IMPORTED_MODULE_20___default.a.isNaN(result) ? defaultValur : result; -} -/** - * @param {*} value - * @returns {string} - */ - -function pString(value) { - return isNormal(value) ? '' + value : ''; -} -/** - * @param {*} value - * @returns {boolean} - */ - -function pBool(value) { - return !!value; -} -/** - * @param {*} value - * @returns {string} - */ - -function boolToAjax(value) { - return value ? '1' : '0'; -} -/** - * @param {*} values - * @returns {boolean} - */ - -function isNonEmptyArray(values) { - return isArray(values) && 0 < values.length; -} -/** - * @param {string} component - * @returns {string} - */ - -function encodeURIComponent(component) { - return window__WEBPACK_IMPORTED_MODULE_20___default.a.encodeURIComponent(component); -} -/** - * @param {string} component - * @returns {string} - */ - -function decodeURIComponent(component) { - return window__WEBPACK_IMPORTED_MODULE_20___default.a.decodeURIComponent(component); -} -/** - * @param {string} url - * @returns {string} - */ - -function decodeURI(url) { - return window__WEBPACK_IMPORTED_MODULE_20___default.a.decodeURI(url); -} -/** - * @param {string} url - * @returns {string} - */ - -function encodeURI(url) { - return window__WEBPACK_IMPORTED_MODULE_20___default.a.encodeURI(url); -} -/** - * @param {string} queryString - * @returns {Object} - */ - -function simpleQueryParser(queryString) { - var index = 0, - len = 0, - temp = null; - var queries = queryString.split('&'), - params = {}; - - for (len = queries.length; index < len; index++) { - temp = queries[index].split('='); - params[decodeURIComponent(temp[0])] = decodeURIComponent(temp[1]); - } - - return params; -} -/** - * @param {number=} len = 32 - * @returns {string} - */ - -function fakeMd5(len) { - if (len === void 0) { - len = 32; - } - - var line = '0123456789abcdefghijklmnopqrstuvwxyz', - lineLen = line.length; - len = pInt(len); - var result = ''; - - while (result.length < len) { - result += line.substr(window__WEBPACK_IMPORTED_MODULE_20___default.a.Math.round(window__WEBPACK_IMPORTED_MODULE_20___default.a.Math.random() * lineLen), 1); - } - - return result; -} -/** - * @param {string} text - * @returns {string} - */ - -function encodeHtml(text) { - return isNormal(text) ? ___WEBPACK_IMPORTED_MODULE_22___default.a.escape(text.toString()) : ''; -} -/** - * @param {string} text - * @param {number=} len = 100 - * @returns {string} - */ - -function splitPlainText(text, len) { - if (len === void 0) { - len = 100; - } - - var prefix = '', - subText = '', - result = text, - spacePos = 0, - newLinePos = 0; - - while (result.length > len) { - subText = result.substring(0, len); - spacePos = _babel_runtime_corejs3_core_js_stable_instance_last_index_of__WEBPACK_IMPORTED_MODULE_17___default()(subText).call(subText, ' '); - newLinePos = _babel_runtime_corejs3_core_js_stable_instance_last_index_of__WEBPACK_IMPORTED_MODULE_17___default()(subText).call(subText, '\n'); - - if (-1 !== newLinePos) { - spacePos = newLinePos; - } - - if (-1 === spacePos) { - spacePos = len; - } - - prefix += subText.substring(0, spacePos) + '\n'; - result = result.substring(spacePos + 1); - } - - return prefix + result; -} - -var timeOutAction = function () { - var timeOuts = {}; - return function (action, fFunction, timeOut) { - timeOuts[action] = isUnd(timeOuts[action]) ? 0 : timeOuts[action]; - window__WEBPACK_IMPORTED_MODULE_20___default.a.clearTimeout(timeOuts[action]); - timeOuts[action] = window__WEBPACK_IMPORTED_MODULE_20___default.a.setTimeout(fFunction, timeOut); - }; -}(); - -var timeOutActionSecond = function () { - var timeOuts = {}; - return function (action, fFunction, timeOut) { - if (!timeOuts[action]) { - timeOuts[action] = window__WEBPACK_IMPORTED_MODULE_20___default.a.setTimeout(function () { - fFunction(); - timeOuts[action] = 0; - }, timeOut); - } - }; -}(); - - -/** - * @param {any} m - * @returns {any} - */ - -function deModule(m) { - return (m && m.default ? m.default : m) || ''; -} -/** - * @returns {boolean} - */ - -function inFocus() { - try { - if (window__WEBPACK_IMPORTED_MODULE_20___default.a.document.activeElement) { - if (isUnd(window__WEBPACK_IMPORTED_MODULE_20___default.a.document.activeElement.__inFocusCache)) { - window__WEBPACK_IMPORTED_MODULE_20___default.a.document.activeElement.__inFocusCache = $__WEBPACK_IMPORTED_MODULE_21___default()(window__WEBPACK_IMPORTED_MODULE_20___default.a.document.activeElement).is('input,textarea,iframe,.cke_editable'); - } - - return !!window__WEBPACK_IMPORTED_MODULE_20___default.a.document.activeElement.__inFocusCache; - } - } catch (e) {} // eslint-disable-line no-empty - - - return false; -} -/** - * @param {boolean} force - * @returns {void} - */ - -function removeInFocus(force) { - if (window__WEBPACK_IMPORTED_MODULE_20___default.a.document && window__WEBPACK_IMPORTED_MODULE_20___default.a.document.activeElement && window__WEBPACK_IMPORTED_MODULE_20___default.a.document.activeElement.blur) { - try { - var activeEl = $__WEBPACK_IMPORTED_MODULE_21___default()(window__WEBPACK_IMPORTED_MODULE_20___default.a.document.activeElement); - - if (activeEl && activeEl.is('input,textarea')) { - window__WEBPACK_IMPORTED_MODULE_20___default.a.document.activeElement.blur(); - } else if (force) { - window__WEBPACK_IMPORTED_MODULE_20___default.a.document.activeElement.blur(); - } - } catch (e) {} // eslint-disable-line no-empty - - } -} -/** - * @returns {void} - */ - -function removeSelection() { - try { - if (window__WEBPACK_IMPORTED_MODULE_20___default.a && window__WEBPACK_IMPORTED_MODULE_20___default.a.getSelection) { - var sel = window__WEBPACK_IMPORTED_MODULE_20___default.a.getSelection(); - - if (sel && sel.removeAllRanges) { - sel.removeAllRanges(); - } - } else if (window__WEBPACK_IMPORTED_MODULE_20___default.a.document && window__WEBPACK_IMPORTED_MODULE_20___default.a.document.selection && window__WEBPACK_IMPORTED_MODULE_20___default.a.document.selection.empty) { - window__WEBPACK_IMPORTED_MODULE_20___default.a.document.selection.empty(); - } - } catch (e) {} // eslint-disable-line no-empty - -} -/** - * @param {string} prefix - * @param {string} subject - * @returns {string} - */ - -function replySubjectAdd(prefix, subject) { - prefix = trim(prefix.toUpperCase()); - subject = trim(subject.replace(/[\s]+/g, ' ')); - var drop = false, - re = 'RE' === prefix, - fwd = 'FWD' === prefix; - var parts = [], - prefixIsRe = !fwd; - - if ('' !== subject) { - ___WEBPACK_IMPORTED_MODULE_22___default.a.each(subject.split(':'), function (part) { - var trimmedPart = trim(part); - - if (!drop && (/^(RE|FWD)$/i.test(trimmedPart) || /^(RE|FWD)[[(][\d]+[\])]$/i.test(trimmedPart))) { - if (!re) { - re = !!/^RE/i.test(trimmedPart); - } - - if (!fwd) { - fwd = !!/^FWD/i.test(trimmedPart); - } - } else { - parts.push(part); - drop = true; - } - }); - } - - if (prefixIsRe) { - re = false; - } else { - fwd = false; - } - - return trim((prefixIsRe ? 'Re: ' : 'Fwd: ') + (re ? 'Re: ' : '') + (fwd ? 'Fwd: ' : '') + trim(parts.join(':'))); -} -/** - * @param {number} num - * @param {number} dec - * @returns {number} - */ - -function roundNumber(num, dec) { - return window__WEBPACK_IMPORTED_MODULE_20___default.a.Math.round(num * window__WEBPACK_IMPORTED_MODULE_20___default.a.Math.pow(10, dec)) / window__WEBPACK_IMPORTED_MODULE_20___default.a.Math.pow(10, dec); -} -/** - * @param {(number|string)} sizeInBytes - * @returns {string} - */ - -function friendlySize(sizeInBytes) { - sizeInBytes = pInt(sizeInBytes); - - switch (true) { - case 1073741824 <= sizeInBytes: - return roundNumber(sizeInBytes / 1073741824, 1) + 'GB'; - - case 1048576 <= sizeInBytes: - return roundNumber(sizeInBytes / 1048576, 1) + 'MB'; - - case 1024 <= sizeInBytes: - return roundNumber(sizeInBytes / 1024, 0) + 'KB'; - // no default - } - - return sizeInBytes + 'B'; -} -/** - * @param {string} desc - */ - -function log(desc) { - if (window__WEBPACK_IMPORTED_MODULE_20___default.a.console && window__WEBPACK_IMPORTED_MODULE_20___default.a.console.log) { - window__WEBPACK_IMPORTED_MODULE_20___default.a.console.log(desc); - } -} -/** - * @param {?} object - * @param {string} methodName - * @param {Array=} params - * @param {number=} delay = 0 - */ - -function delegateRun(object, methodName, params, delay) { - if (delay === void 0) { - delay = 0; - } - - if (object && object[methodName]) { - delay = pInt(delay); - params = isArray(params) ? params : []; - - if (0 >= delay) { - object[methodName].apply(object, params); - } else { - ___WEBPACK_IMPORTED_MODULE_22___default.a.delay(function () { - object[methodName].apply(object, params); - }, delay); - } - } -} -/** - * @param {?} event - */ - -function killCtrlACtrlS(event) { - event = event || window__WEBPACK_IMPORTED_MODULE_20___default.a.event; - - if (event && event.ctrlKey && !event.shiftKey && !event.altKey) { - var key = event.keyCode || event.which; - - if (key === Common_Enums__WEBPACK_IMPORTED_MODULE_26__["EventKeyCode"].S) { - event.preventDefault(); - return; - } else if (key === Common_Enums__WEBPACK_IMPORTED_MODULE_26__["EventKeyCode"].A) { - var sender = event.target || event.srcElement; - - if (sender && ('true' === '' + sender.contentEditable || sender.tagName && sender.tagName.match(/INPUT|TEXTAREA/i))) { - return; - } - - if (window__WEBPACK_IMPORTED_MODULE_20___default.a.getSelection) { - window__WEBPACK_IMPORTED_MODULE_20___default.a.getSelection().removeAllRanges(); - } else if (window__WEBPACK_IMPORTED_MODULE_20___default.a.document.selection && window__WEBPACK_IMPORTED_MODULE_20___default.a.document.selection.clear) { - window__WEBPACK_IMPORTED_MODULE_20___default.a.document.selection.clear(); - } - - event.preventDefault(); - } - } -} -/** - * @param {(Object|null|undefined)} context - * @param {Function} fExecute - * @param {(Function|boolean|null)=} fCanExecute = true - * @returns {Function} - */ - -function createCommandLegacy(context, fExecute, fCanExecute) { - if (fCanExecute === void 0) { - fCanExecute = true; - } - - var fResult = null; - - var fNonEmpty = function fNonEmpty() { - if (fResult && fResult.canExecute && fResult.canExecute()) { - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - fExecute.apply(context, args); - } - - return false; - }; - - fResult = fExecute ? fNonEmpty : noop; - fResult.enabled = ko__WEBPACK_IMPORTED_MODULE_23__[/* default */ "a"].observable(true); - fResult.isCommand = true; - - if (isFunc(fCanExecute)) { - fResult.canExecute = ko__WEBPACK_IMPORTED_MODULE_23__[/* default */ "a"].computed(function () { - return fResult && fResult.enabled() && fCanExecute.call(context); - }); - } else { - fResult.canExecute = ko__WEBPACK_IMPORTED_MODULE_23__[/* default */ "a"].computed(function () { - return fResult && fResult.enabled() && !!fCanExecute; - }); - } - - return fResult; -} -/** - * @param {string} theme - * @returns {string} - */ - -var convertThemeName = ___WEBPACK_IMPORTED_MODULE_22___default.a.memoize(function (theme) { - if ('@custom' === theme.substr(-7)) { - theme = trim(theme.substring(0, theme.length - 7)); - } - - return trim(theme.replace(/[^a-zA-Z0-9]+/g, ' ').replace(/([A-Z])/g, ' $1').replace(/[\s]+/g, ' ')); -}); -/** - * @param {string} name - * @returns {string} - */ - -function quoteName(name) { - return name.replace(/["]/g, '\\"'); -} -/** - * @returns {number} - */ - -function microtime() { - return new window__WEBPACK_IMPORTED_MODULE_20___default.a.Date().getTime(); -} -/** - * @returns {number} - */ - -function timestamp() { - return window__WEBPACK_IMPORTED_MODULE_20___default.a.Math.round(microtime() / 1000); -} -/** - * - * @param {string} language - * @param {boolean=} isEng = false - * @returns {string} - */ - -function convertLangName(language, isEng) { - if (isEng === void 0) { - isEng = false; - } - - return __webpack_require__(/*! Common/Translator */ 9).i18n('LANGS_NAMES' + (true === isEng ? '_EN' : '') + '/LANG_' + language.toUpperCase().replace(/[^a-zA-Z0-9]+/g, '_'), null, language); -} -/** - * @returns {object} - */ - -function draggablePlace() { - return $__WEBPACK_IMPORTED_MODULE_21___default()('
' + ' ' + '' + '' + '
').appendTo('#rl-hidden'); -} -/** - * @param {object} domOption - * @param {object} item - * @returns {void} - */ - -function defautOptionsAfterRender(domItem, item) { - if (item && !isUnd(item.disabled) && domItem) { - $__WEBPACK_IMPORTED_MODULE_21___default()(domItem).toggleClass('disabled', item.disabled).prop('disabled', item.disabled); - } -} -/** - * @param {string} title - * @param {Object} body - * @param {boolean} isHtml - * @param {boolean} print - */ - -function clearBqSwitcher(body) { - _babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_16___default()(body).call(body, 'blockquote.rl-bq-switcher').removeClass('rl-bq-switcher hidden-bq'); - - _babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_16___default()(body).call(body, '.rlBlockquoteSwitcher').off('.rlBlockquoteSwitcher').remove(); - - _babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_16___default()(body).call(body, '[data-html-editor-font-wrapper]').removeAttr('data-html-editor-font-wrapper'); -} -/** - * @param {object} messageData - * @param {Object} body - * @param {boolean} isHtml - * @param {boolean} print - * @returns {void} - */ - -function previewMessage(_ref, body, isHtml, print) { - var title = _ref.title, - subject = _ref.subject, - date = _ref.date, - fromCreds = _ref.fromCreds, - toCreds = _ref.toCreds, - toLabel = _ref.toLabel, - ccClass = _ref.ccClass, - ccCreds = _ref.ccCreds, - ccLabel = _ref.ccLabel; - var win = window__WEBPACK_IMPORTED_MODULE_20___default.a.open(''), - doc = win.document, - bodyClone = body.clone(), - bodyClass = isHtml ? 'html' : 'plain'; - clearBqSwitcher(bodyClone); - var html = bodyClone ? bodyClone.html() : ''; - doc.write(deModule(__webpack_require__(/*! Html/PreviewMessage.html */ 346)).replace('{{title}}', encodeHtml(title)).replace('{{subject}}', encodeHtml(subject)).replace('{{date}}', encodeHtml(date)).replace('{{fromCreds}}', encodeHtml(fromCreds)).replace('{{toCreds}}', encodeHtml(toCreds)).replace('{{toLabel}}', encodeHtml(toLabel)).replace('{{ccClass}}', encodeHtml(ccClass)).replace('{{ccCreds}}', encodeHtml(ccCreds)).replace('{{ccLabel}}', encodeHtml(ccLabel)).replace('{{bodyClass}}', bodyClass).replace('{{html}}', html)); - doc.close(); - - if (print) { - window__WEBPACK_IMPORTED_MODULE_20___default.a.setTimeout(function () { - return win.print(); - }, 100); - } -} -/** - * @param {Function} fCallback - * @param {?} koTrigger - * @param {?} context = null - * @param {number=} timer = 1000 - * @returns {Function} - */ - -function settingsSaveHelperFunction(fCallback, koTrigger, context, timer) { - if (context === void 0) { - context = null; - } - - if (timer === void 0) { - timer = 1000; - } - - timer = pInt(timer); - return function (type, data, cached, requestAction, requestParameters) { - koTrigger.call(context, data && data.Result ? Common_Enums__WEBPACK_IMPORTED_MODULE_26__["SaveSettingsStep"].TrueResult : Common_Enums__WEBPACK_IMPORTED_MODULE_26__["SaveSettingsStep"].FalseResult); - - if (fCallback) { - fCallback.call(context, type, data, cached, requestAction, requestParameters); - } - - ___WEBPACK_IMPORTED_MODULE_22___default.a.delay(function () { - koTrigger.call(context, Common_Enums__WEBPACK_IMPORTED_MODULE_26__["SaveSettingsStep"].Idle); - }, timer); - }; -} -/** - * @param {object} koTrigger - * @param {mixed} context - * @returns {mixed} - */ - -function settingsSaveHelperSimpleFunction(koTrigger, context) { - return settingsSaveHelperFunction(null, koTrigger, context, 1000); -} -/** - * @param {object} remote - * @param {string} settingName - * @param {string} type - * @param {function} fTriggerFunction - * @returns {function} - */ - -function settingsSaveHelperSubscribeFunction(remote, settingName, type, fTriggerFunction) { - return function (value) { - if (remote) { - switch (type) { - case 'bool': - case 'boolean': - value = value ? '1' : '0'; - break; - - case 'int': - case 'integer': - case 'number': - value = pInt(value); - break; - - case 'trim': - value = trim(value); - break; - - default: - value = pString(value); - break; - } - - var data = {}; - data[settingName] = value; - - if (remote.saveAdminConfig) { - remote.saveAdminConfig(fTriggerFunction || null, data); - } else if (remote.saveSettings) { - remote.saveSettings(fTriggerFunction || null, data); - } - } - }; -} -/** - * @param {string} html - * @returns {string} - */ - -function findEmailAndLinks(html) { - return Autolinker__WEBPACK_IMPORTED_MODULE_24___default.a ? Autolinker__WEBPACK_IMPORTED_MODULE_24___default.a.link(html, { - newWindow: true, - stripPrefix: false, - urls: true, - email: true, - mention: false, - phone: false, - hashtag: false, - replaceFn: function replaceFn(match) { - var _context; - - return !(match && 'url' === match.getType() && match.matchedText && 0 !== _babel_runtime_corejs3_core_js_stable_instance_index_of__WEBPACK_IMPORTED_MODULE_15___default()(_context = match.matchedText).call(_context, 'http')); - } - }) : html; -} -/** - * @param {string} html - * @returns {string} - */ - -function htmlToPlain(html) { - var pos = 0, - limit = 0, - iP1 = 0, - iP2 = 0, - iP3 = 0, - text = ''; - - var convertBlockquote = function convertBlockquote(blockquoteText) { - blockquoteText = '> ' + trim(blockquoteText).replace(/\n/gm, '\n> '); - return blockquoteText.replace(/(^|\n)([> ]+)/gm, function () { - for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { - args[_key2] = arguments[_key2]; - } - - return args && 2 < args.length ? args[1] + trim(args[2].replace(/[\s]/g, '')) + ' ' : ''; - }); - }; - - var convertDivs = function convertDivs() { - for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { - args[_key3] = arguments[_key3]; - } - - if (args && 1 < args.length) { - var divText = trim(args[1]); - - if (0 < divText.length) { - divText = divText.replace(/]*>([\s\S\r\n]*)<\/div>/gim, convertDivs); - divText = '\n' + trim(divText) + '\n'; - } - - return divText; - } - - return ''; - }; - - var convertPre = function convertPre() { - for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { - args[_key4] = arguments[_key4]; - } - - return args && 1 < args.length ? args[1].toString().replace(/[\n]/gm, '
').replace(/[\r]/gm, '') : ''; - }, - fixAttibuteValue = function fixAttibuteValue() { - for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) { - args[_key5] = arguments[_key5]; - } - - return args && 1 < args.length ? '' + args[1] + ___WEBPACK_IMPORTED_MODULE_22___default.a.escape(args[2]) : ''; - }, - convertLinks = function convertLinks() { - for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) { - args[_key6] = arguments[_key6]; - } - - return args && 1 < args.length ? trim(args[1]) : ''; - }; - - text = html.replace(/]*><\/p>/gi, '').replace(/]*>([\s\S\r\n\t]*)<\/pre>/gim, convertPre).replace(/[\s]+/gm, ' ').replace(/((?:href|data)\s?=\s?)("[^"]+?"|'[^']+?')/gim, fixAttibuteValue).replace(/]*>/gim, '\n').replace(/<\/h[\d]>/gi, '\n').replace(/<\/p>/gi, '\n\n').replace(/]*>/gim, '\n').replace(/<\/ul>/gi, '\n').replace(/]*>/gim, ' * ').replace(/<\/li>/gi, '\n').replace(/<\/td>/gi, '\n').replace(/<\/tr>/gi, '\n').replace(/]*>/gim, '\n_______________________________\n\n').replace(/]*>([\s\S\r\n]*)<\/div>/gim, convertDivs).replace(/]*>/gim, '\n__bq__start__\n').replace(/<\/blockquote>/gim, '\n__bq__end__\n').replace(/]*>([\s\S\r\n]*?)<\/a>/gim, convertLinks).replace(/<\/div>/gi, '\n').replace(/ /gi, ' ').replace(/"/gi, '"').replace(/<[^>]*>/gm, ''); - text = Common_Globals__WEBPACK_IMPORTED_MODULE_25__["$div"].html(text).text(); - text = text.replace(/\n[ \t]+/gm, '\n').replace(/[\n]{3,}/gm, '\n\n').replace(/>/gi, '>').replace(/</gi, '<').replace(/&/gi, '&'); - text = splitPlainText(text); - pos = 0; - limit = 800; - - while (0 < limit) { - limit -= 1; - iP1 = _babel_runtime_corejs3_core_js_stable_instance_index_of__WEBPACK_IMPORTED_MODULE_15___default()(text).call(text, '__bq__start__', pos); - - if (-1 < iP1) { - iP2 = _babel_runtime_corejs3_core_js_stable_instance_index_of__WEBPACK_IMPORTED_MODULE_15___default()(text).call(text, '__bq__start__', iP1 + 5); - iP3 = _babel_runtime_corejs3_core_js_stable_instance_index_of__WEBPACK_IMPORTED_MODULE_15___default()(text).call(text, '__bq__end__', iP1 + 5); - - if ((-1 === iP2 || iP3 < iP2) && iP1 < iP3) { - text = text.substring(0, iP1) + convertBlockquote(text.substring(iP1 + 13, iP3)) + text.substring(iP3 + 11); - pos = 0; - } else if (-1 < iP2 && iP2 < iP3) { - pos = iP2 - 1; - } else { - pos = 0; - } - } else { - break; - } - } - - text = text.replace(/__bq__start__/gm, '').replace(/__bq__end__/gm, ''); - return text; -} -/** - * @param {string} plain - * @param {boolean} findEmailAndLinksInText = false - * @returns {string} - */ - -function plainToHtml(plain, findEmailAndLinksInText) { - if (findEmailAndLinksInText === void 0) { - findEmailAndLinksInText = false; - } - - plain = plain.toString().replace(/\r/g, ''); - plain = plain.replace(/^>[> ]>+/gm, function (_ref2) { - var match = _ref2[0]; - return match ? match.replace(/[ ]+/g, '') : match; - }); - var bIn = false, - bDo = true, - bStart = true, - aNextText = [], - sLine = '', - iIndex = 0, - aText = plain.split('\n'); - - do { - bDo = false; - aNextText = []; - - for (iIndex = 0; iIndex < aText.length; iIndex++) { - sLine = aText[iIndex]; - bStart = '>' === sLine.substr(0, 1); - - if (bStart && !bIn) { - bDo = true; - bIn = true; - aNextText.push('~~~blockquote~~~'); - aNextText.push(sLine.substr(1)); - } else if (!bStart && bIn) { - if ('' !== sLine) { - bIn = false; - aNextText.push('~~~/blockquote~~~'); - aNextText.push(sLine); - } else { - aNextText.push(sLine); - } - } else if (bStart && bIn) { - aNextText.push(sLine.substr(1)); - } else { - aNextText.push(sLine); - } - } - - if (bIn) { - bIn = false; - aNextText.push('~~~/blockquote~~~'); - } - - aText = aNextText; - } while (bDo); - - plain = aText.join('\n'); - plain = plain // .replace(/~~~\/blockquote~~~\n~~~blockquote~~~/g, '\n') - .replace(/&/g, '&').replace(/>/g, '>').replace(/').replace(/[\s]*~~~\/blockquote~~~/g, '').replace(/\n/g, '
'); - return findEmailAndLinksInText ? findEmailAndLinks(plain) : plain; -} -window__WEBPACK_IMPORTED_MODULE_20___default.a['rainloop_Utils_htmlToPlain'] = htmlToPlain; // eslint-disable-line dot-notation - -window__WEBPACK_IMPORTED_MODULE_20___default.a['rainloop_Utils_plainToHtml'] = plainToHtml; // eslint-disable-line dot-notation - -/** - * @param {Array} aSystem - * @param {Array} aList - * @param {Array=} aDisabled - * @param {Array=} aHeaderLines - * @param {?number=} iUnDeep - * @param {Function=} fDisableCallback - * @param {Function=} fVisibleCallback - * @param {Function=} fRenameCallback - * @param {boolean=} bSystem - * @param {boolean=} bBuildUnvisible - * @returns {Array} - */ - -function folderListOptionsBuilder(aSystem, aList, aDisabled, aHeaderLines, iUnDeep, fDisableCallback, fVisibleCallback, fRenameCallback, bSystem, bBuildUnvisible) { - var - /** - * @type {?FolderModel} - */ - oItem = null, - bSep = false, - iIndex = 0, - iLen = 0, - aResult = []; - var sDeepPrefix = "\xA0\xA0\xA0"; - bBuildUnvisible = isUnd(bBuildUnvisible) ? false : !!bBuildUnvisible; - bSystem = !isNormal(bSystem) ? 0 < aSystem.length : bSystem; - iUnDeep = !isNormal(iUnDeep) ? 0 : iUnDeep; - fDisableCallback = isNormal(fDisableCallback) ? fDisableCallback : null; - fVisibleCallback = isNormal(fVisibleCallback) ? fVisibleCallback : null; - fRenameCallback = isNormal(fRenameCallback) ? fRenameCallback : null; - - if (!isArray(aDisabled)) { - aDisabled = []; - } - - if (!isArray(aHeaderLines)) { - aHeaderLines = []; - } - - for (iIndex = 0, iLen = aHeaderLines.length; iIndex < iLen; iIndex++) { - aResult.push({ - id: aHeaderLines[iIndex][0], - name: aHeaderLines[iIndex][1], - system: false, - seporator: false, - disabled: false - }); - } - - bSep = true; - - for (iIndex = 0, iLen = aSystem.length; iIndex < iLen; iIndex++) { - oItem = aSystem[iIndex]; - - if (fVisibleCallback ? fVisibleCallback(oItem) : true) { - if (bSep && 0 < aResult.length) { - aResult.push({ - id: '---', - name: '---', - system: false, - seporator: true, - disabled: true - }); - } - - bSep = false; - aResult.push({ - id: oItem.fullNameRaw, - name: fRenameCallback ? fRenameCallback(oItem) : oItem.name(), - system: true, - seporator: false, - disabled: !oItem.selectable || -1 < inArray(oItem.fullNameRaw, aDisabled) || (fDisableCallback ? fDisableCallback(oItem) : false) - }); - } - } - - bSep = true; - - for (iIndex = 0, iLen = aList.length; iIndex < iLen; iIndex++) { - oItem = aList[iIndex]; // if (oItem.subScribed() || !oItem.existen || bBuildUnvisible) - - if ((oItem.subScribed() || !oItem.existen || bBuildUnvisible) && (oItem.selectable || oItem.hasSubScribedSubfolders())) { - if (fVisibleCallback ? fVisibleCallback(oItem) : true) { - if (Common_Enums__WEBPACK_IMPORTED_MODULE_26__["FolderType"].User === oItem.type() || !bSystem || oItem.hasSubScribedSubfolders()) { - if (bSep && 0 < aResult.length) { - aResult.push({ - id: '---', - name: '---', - system: false, - seporator: true, - disabled: true - }); - } - - bSep = false; - aResult.push({ - id: oItem.fullNameRaw, - name: new window__WEBPACK_IMPORTED_MODULE_20___default.a.Array(oItem.deep + 1 - iUnDeep).join(sDeepPrefix) + (fRenameCallback ? fRenameCallback(oItem) : oItem.name()), - system: false, - seporator: false, - disabled: !oItem.selectable || -1 < inArray(oItem.fullNameRaw, aDisabled) || (fDisableCallback ? fDisableCallback(oItem) : false) - }); - } - } - } - - if (oItem.subScribed() && 0 < oItem.subFolders().length) { - aResult = _babel_runtime_corejs3_core_js_stable_instance_concat__WEBPACK_IMPORTED_MODULE_14___default()(aResult).call(aResult, folderListOptionsBuilder([], oItem.subFolders(), aDisabled, [], iUnDeep, fDisableCallback, fVisibleCallback, fRenameCallback, bSystem, bBuildUnvisible)); - } - } - - return aResult; -} -/** - * @param {object} element - * @returns {void} - */ - -function selectElement(element) { - var sel = null, - range = null; - - if (window__WEBPACK_IMPORTED_MODULE_20___default.a.getSelection) { - sel = window__WEBPACK_IMPORTED_MODULE_20___default.a.getSelection(); - sel.removeAllRanges(); - range = window__WEBPACK_IMPORTED_MODULE_20___default.a.document.createRange(); - range.selectNodeContents(element); - sel.addRange(range); - } else if (window__WEBPACK_IMPORTED_MODULE_20___default.a.document.selection) { - range = window__WEBPACK_IMPORTED_MODULE_20___default.a.document.body.createTextRange(); - range.moveToElementText(element); - range.select(); - } -} -var detectDropdownVisibility = ___WEBPACK_IMPORTED_MODULE_22___default.a.debounce(function () { - Object(Common_Globals__WEBPACK_IMPORTED_MODULE_25__["dropdownVisibility"])(!!_babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_16___default()(___WEBPACK_IMPORTED_MODULE_22___default.a).call(___WEBPACK_IMPORTED_MODULE_22___default.a, Common_Globals__WEBPACK_IMPORTED_MODULE_25__["data"].aBootstrapDropdowns, function (item) { - return item.hasClass('open'); - })); -}, 50); -/** - * @param {boolean=} delay = false - */ - -function triggerAutocompleteInputChange(delay) { - if (delay === void 0) { - delay = false; - } - - var fFunc = function fFunc() { - $__WEBPACK_IMPORTED_MODULE_21___default()('.checkAutocomplete').trigger('change'); - }; - - if (delay) { - ___WEBPACK_IMPORTED_MODULE_22___default.a.delay(fFunc, 100); - } else { - fFunc(); - } -} -var configurationScriptTagCache = {}; -/** - * @param {string} configuration - * @returns {object} - */ - -function getConfigurationFromScriptTag(configuration) { - if (!configurationScriptTagCache[configuration]) { - configurationScriptTagCache[configuration] = $__WEBPACK_IMPORTED_MODULE_21___default()('script[type="application/json"][data-configuration="' + configuration + '"]'); - } - - try { - return JSON.parse(configurationScriptTagCache[configuration].text()); - } catch (e) {} // eslint-disable-line no-empty - - - return {}; -} -/** - * @param {mixed} mPropOrValue - * @param {mixed} value - */ - -function disposeOne(propOrValue, value) { - var disposable = value || propOrValue; - - if (disposable && 'function' === typeof disposable.dispose) { - disposable.dispose(); - } -} -/** - * @param {Object} object - */ - -function disposeObject(object) { - if (object) { - if (isArray(object.disposables)) { - ___WEBPACK_IMPORTED_MODULE_22___default.a.each(object.disposables, disposeOne); - } - - ko__WEBPACK_IMPORTED_MODULE_23__[/* default */ "a"].utils.objectForEach(object, disposeOne); - } -} -/** - * @param {Object|Array} objectOrObjects - * @returns {void} - */ - -function delegateRunOnDestroy(objectOrObjects) { - if (objectOrObjects) { - if (isArray(objectOrObjects)) { - ___WEBPACK_IMPORTED_MODULE_22___default.a.each(objectOrObjects, function (item) { - delegateRunOnDestroy(item); - }); - } else if (objectOrObjects && objectOrObjects.onDestroy) { - objectOrObjects.onDestroy(); - } - } -} -/** - * @param {object} $styleTag - * @param {string} css - * @returns {boolean} - */ - -function appendStyles($styleTag, css) { - if ($styleTag && $styleTag[0]) { - if ($styleTag[0].styleSheet && !isUnd($styleTag[0].styleSheet.cssText)) { - $styleTag[0].styleSheet.cssText = css; - } else { - $styleTag.text(css); - } - - return true; - } - - return false; -} -var __themeTimer = 0, - __themeAjax = null; -/** - * @param {string} value - * @param {function=} themeTrigger = noop - * @returns {void} - */ - -function changeTheme(value, themeTrigger) { - if (themeTrigger === void 0) { - themeTrigger = noop; - } - - var themeLink = $__WEBPACK_IMPORTED_MODULE_21___default()('#app-theme-link'), - clearTimer = function clearTimer() { - __themeTimer = window__WEBPACK_IMPORTED_MODULE_20___default.a.setTimeout(function () { - return themeTrigger(Common_Enums__WEBPACK_IMPORTED_MODULE_26__["SaveSettingsStep"].Idle); - }, 1000); - __themeAjax = null; - }; - - var themeStyle = $__WEBPACK_IMPORTED_MODULE_21___default()('#app-theme-style'), - url = themeLink.attr('href'); - - if (!url) { - url = themeStyle.attr('data-href'); - } - - if (url) { - url = url.toString().replace(/\/-\/[^/]+\/-\//, '/-/' + value + '/-/'); - url = url.replace(/\/Css\/[^/]+\/User\//, '/Css/0/User/'); - url = url.replace(/\/Hash\/[^/]+\//, '/Hash/-/'); - - if ('Json/' !== url.substring(url.length - 5, url.length)) { - url += 'Json/'; - } - - window__WEBPACK_IMPORTED_MODULE_20___default.a.clearTimeout(__themeTimer); - themeTrigger(Common_Enums__WEBPACK_IMPORTED_MODULE_26__["SaveSettingsStep"].Animate); - - if (__themeAjax && __themeAjax.abort) { - __themeAjax.abort(); - } - - __themeAjax = $__WEBPACK_IMPORTED_MODULE_21___default.a.ajax({ - url: url, - dataType: 'json' - }).then(function (data) { - if (data && isArray(data) && 2 === data.length) { - if (themeLink && themeLink[0] && (!themeStyle || !themeStyle[0])) { - themeStyle = $__WEBPACK_IMPORTED_MODULE_21___default()(''); - themeLink.after(themeStyle); - themeLink.remove(); - } - - if (themeStyle && themeStyle[0]) { - if (appendStyles(themeStyle, data[1])) { - themeStyle.attr('data-href', url).attr('data-theme', data[0]); - } - } - - themeTrigger(Common_Enums__WEBPACK_IMPORTED_MODULE_26__["SaveSettingsStep"].TrueResult); - } - }).then(clearTimer, clearTimer); - } -} -/** - * @returns {function} - */ - -function computedPagenatorHelper(koCurrentPage, koPageCount) { - return function () { - var currentPage = koCurrentPage(), - pageCount = koPageCount(), - result = [], - fAdd = function fAdd(index, push, customName) { - if (push === void 0) { - push = true; - } - - if (customName === void 0) { - customName = ''; - } - - var data = { - current: index === currentPage, - name: '' === customName ? index.toString() : customName.toString(), - custom: '' !== customName, - title: '' === customName ? '' : index.toString(), - value: index.toString() - }; - - if (push) { - result.push(data); - } else { - result.unshift(data); - } - }; - - var prev = 0, - next = 0, - limit = 2; - - if (1 < pageCount || 0 < pageCount && pageCount < currentPage) { - if (pageCount < currentPage) { - fAdd(pageCount); - prev = pageCount; - next = pageCount; - } else { - if (3 >= currentPage || pageCount - 2 <= currentPage) { - limit += 2; - } - - fAdd(currentPage); - prev = currentPage; - next = currentPage; - } - - while (0 < limit) { - prev -= 1; - next += 1; - - if (0 < prev) { - fAdd(prev, false); - limit -= 1; - } - - if (pageCount >= next) { - fAdd(next, true); - limit -= 1; - } else if (0 >= prev) { - break; - } - } - - if (3 === prev) { - fAdd(2, false); - } else if (3 < prev) { - fAdd(Math.round((prev - 1) / 2), false, '...'); - } - - if (pageCount - 2 === next) { - fAdd(pageCount - 1, true); - } else if (pageCount - 2 > next) { - fAdd(Math.round((pageCount + next) / 2), true, '...'); - } // first and last - - - if (1 < prev) { - fAdd(1, false); - } - - if (pageCount > next) { - fAdd(pageCount, true); - } - } - - return result; - }; -} -/** - * @param {string} fileName - * @returns {string} - */ - -function getFileExtension(fileName) { - fileName = trim(fileName).toLowerCase(); - var result = fileName.split('.').pop(); - return result === fileName ? '' : result; -} -/** - * @param {string} fileName - * @returns {string} - */ - -function mimeContentType(fileName) { - var ext = '', - result = 'application/octet-stream'; - fileName = trim(fileName).toLowerCase(); - - if ('winmail.dat' === fileName) { - return 'application/ms-tnef'; - } - - ext = getFileExtension(fileName); - - if (ext && 0 < ext.length && !isUnd(Common_Mime__WEBPACK_IMPORTED_MODULE_27__[/* Mime */ "a"][ext])) { - result = Common_Mime__WEBPACK_IMPORTED_MODULE_27__[/* Mime */ "a"][ext]; - } - - return result; -} -/** - * @param {string} color - * @returns {boolean} - */ - -function isTransparent(color) { - return 'rgba(0, 0, 0, 0)' === color || 'transparent' === color; -} -/** - * @param {Object} $el - * @returns {number} - */ - -function getRealHeight($el) { - $el.clone().show().appendTo(Common_Globals__WEBPACK_IMPORTED_MODULE_25__["$hcont"]); - var result = Common_Globals__WEBPACK_IMPORTED_MODULE_25__["$hcont"].height(); - Common_Globals__WEBPACK_IMPORTED_MODULE_25__["$hcont"].empty(); - return result; -} -/** - * @param {string} url - * @param {number} value - * @param {Function} fCallback - */ - -function resizeAndCrop(url, value, fCallback) { - var img = new window__WEBPACK_IMPORTED_MODULE_20___default.a.Image(); - - img.onload = function () { - var diff = [0, 0]; - var canvas = window__WEBPACK_IMPORTED_MODULE_20___default.a.document.createElement('canvas'), - ctx = canvas.getContext('2d'); - canvas.width = value; - canvas.height = value; - - if (this.width > this.height) { - diff = [this.width - this.height, 0]; - } else { - diff = [0, this.height - this.width]; - } - - ctx.fillStyle = '#fff'; - ctx.fillRect(0, 0, value, value); - ctx.drawImage(this, diff[0] / 2, diff[1] / 2, this.width - diff[0], this.height - diff[1], 0, 0, value, value); - fCallback(canvas.toDataURL('image/jpeg')); - }; - - img.src = url; -} -/** - * @param {string} mailToUrl - * @param {Function} PopupComposeViewModel - * @returns {boolean} - */ - -function mailToHelper(mailToUrl, PopupComposeViewModel) { - if (mailToUrl && 'mailto:' === mailToUrl.toString().substr(0, 7).toLowerCase()) { - if (!PopupComposeViewModel) { - return true; - } - - mailToUrl = mailToUrl.toString().substr(7); - var to = [], - cc = null, - bcc = null, - params = {}; - - var email = mailToUrl.replace(/\?.+$/, ''), - query = mailToUrl.replace(/^[^?]*\?/, ''), - EmailModel = __webpack_require__(/*! Model/Email */ 81).default; - - params = simpleQueryParser(query); - - if (!isUnd(params.to)) { - to = EmailModel.parseEmailLine(decodeURIComponent(email + ',' + params.to)); - to = _babel_runtime_corejs3_core_js_stable_instance_values__WEBPACK_IMPORTED_MODULE_13___default()(___WEBPACK_IMPORTED_MODULE_22___default.a).call(___WEBPACK_IMPORTED_MODULE_22___default.a, _babel_runtime_corejs3_core_js_stable_instance_reduce__WEBPACK_IMPORTED_MODULE_12___default()(to).call(to, function (result, value) { - if (value) { - if (result[value.email]) { - if (!result[value.email].name) { - result[value.email] = value; - } - } else { - result[value.email] = value; - } - } - - return result; - }, {})); - } else { - to = EmailModel.parseEmailLine(email); - } - - if (!isUnd(params.cc)) { - cc = EmailModel.parseEmailLine(decodeURIComponent(params.cc)); - } - - if (!isUnd(params.bcc)) { - bcc = EmailModel.parseEmailLine(decodeURIComponent(params.bcc)); - } - - __webpack_require__(/*! Knoin/Knoin */ 7).showScreenPopup(PopupComposeViewModel, [Common_Enums__WEBPACK_IMPORTED_MODULE_26__["ComposeType"].Empty, null, to, cc, bcc, isUnd(params.subject) ? null : pString(decodeURIComponent(params.subject)), isUnd(params.body) ? null : plainToHtml(pString(decodeURIComponent(params.body)))]); - - return true; - } - - return false; -} -/** - * @param {Function} fn - * @returns {void} - */ - -function domReady(fn) { - $__WEBPACK_IMPORTED_MODULE_21___default()(function () { - return fn(); - }); // - // if ('loading' !== window.document.readyState) - // { - // fn(); - // } - // else - // { - // window.document.addEventListener('DOMContentLoaded', fn); - // } -} -var windowResize = ___WEBPACK_IMPORTED_MODULE_22___default.a.debounce(function (timeout) { - if (isUnd(timeout) || isNull(timeout)) { - Common_Globals__WEBPACK_IMPORTED_MODULE_25__["$win"].resize(); - } else { - window__WEBPACK_IMPORTED_MODULE_20___default.a.setTimeout(function () { - Common_Globals__WEBPACK_IMPORTED_MODULE_25__["$win"].resize(); - }, timeout); - } -}, 50); -/** - * @returns {void} - */ - -function windowResizeCallback() { - windowResize(); -} -var substr = window__WEBPACK_IMPORTED_MODULE_20___default.a.String.substr; - -if ('b' !== 'ab'.substr(-1)) { - substr = function substr(str, start, length) { - start = 0 > start ? str.length + start : start; - return str.substr(start, length); - }; - - window__WEBPACK_IMPORTED_MODULE_20___default.a.String.substr = substr; -} - -/***/ }), -/* 3 */ -/*!***************************!*\ - !*** external "window._" ***! - \***************************/ -/*! no static exports found */ -/*! exports used: default */ -/***/ (function(module, exports) { - -module.exports = window._; - -/***/ }), -/* 4 */ -/*!*************************!*\ - !*** external "window" ***! - \*************************/ -/*! no static exports found */ -/*! exports used: default */ -/***/ (function(module, exports) { - -module.exports = window; - -/***/ }), -/* 5 */ -/*!*********************************!*\ - !*** ./dev/Storage/Settings.js ***! - \*********************************/ -/*! exports provided: settingsGet, settingsSet, appSettingsGet, capa */ -/*! all exports used */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "settingsGet", function() { return settingsGet; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "settingsSet", function() { return settingsSet; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "appSettingsGet", function() { return appSettingsGet; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "capa", function() { return capa; }); -/* harmony import */ var window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! window */ 4); -/* harmony import */ var window__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(window__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var Common_Utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! Common/Utils */ 2); - - -var SETTINGS = window__WEBPACK_IMPORTED_MODULE_0___default.a.__rlah_data() || null; -SETTINGS = Object(Common_Utils__WEBPACK_IMPORTED_MODULE_1__["isNormal"])(SETTINGS) ? SETTINGS : {}; -var APP_SETTINGS = SETTINGS.System || null; -APP_SETTINGS = Object(Common_Utils__WEBPACK_IMPORTED_MODULE_1__["isNormal"])(APP_SETTINGS) ? APP_SETTINGS : {}; -/** - * @param {string} name - * @returns {*} - */ - -function settingsGet(name) { - return Object(Common_Utils__WEBPACK_IMPORTED_MODULE_1__["isUnd"])(SETTINGS[name]) ? null : SETTINGS[name]; -} -/** - * @param {string} name - * @param {*} value - */ - -function settingsSet(name, value) { - SETTINGS[name] = value; -} -/** - * @param {string} name - * @returns {*} - */ - -function appSettingsGet(name) { - return Object(Common_Utils__WEBPACK_IMPORTED_MODULE_1__["isUnd"])(APP_SETTINGS[name]) ? null : APP_SETTINGS[name]; -} -/** - * @param {string} name - * @returns {boolean} - */ - -function capa(name) { - var values = settingsGet('Capa'); - return Object(Common_Utils__WEBPACK_IMPORTED_MODULE_1__["isArray"])(values) && Object(Common_Utils__WEBPACK_IMPORTED_MODULE_1__["isNormal"])(name) && -1 < Object(Common_Utils__WEBPACK_IMPORTED_MODULE_1__["inArray"])(name, values); -} - -/***/ }), -/* 6 */ -/*!*******************************!*\ - !*** ./dev/Common/Globals.js ***! - \*******************************/ -/*! exports provided: $win, $doc, $html, $body, $div, $hcont, startMicrotime, community, dropdownVisibility, useKeyboardShortcuts, sUserAgent, bIE, bChrome, bSafari, bMobileDevice, bDisableNanoScroll, bAnimationSupported, bXMLHttpRequestSupported, bIsHttps, htmlEditorDefaultConfig, htmlEditorLangsMap, bAllowPdfPreview, VIEW_MODELS, moveAction, leftPanelDisabled, leftPanelType, leftPanelWidth, popupVisibilityNames, popupVisibility, keyScopeReal, keyScopeFake, keyScope, data */ -/*! all exports used */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "$win", function() { return $win; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "$doc", function() { return $doc; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "$html", function() { return $html; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "$body", function() { return $body; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "$div", function() { return $div; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "$hcont", function() { return $hcont; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "startMicrotime", function() { return startMicrotime; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "community", function() { return community; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "dropdownVisibility", function() { return dropdownVisibility; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useKeyboardShortcuts", function() { return useKeyboardShortcuts; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "sUserAgent", function() { return sUserAgent; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "bIE", function() { return bIE; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "bChrome", function() { return bChrome; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "bSafari", function() { return bSafari; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "bMobileDevice", function() { return bMobileDevice; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "bDisableNanoScroll", function() { return bDisableNanoScroll; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "bAnimationSupported", function() { return bAnimationSupported; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "bXMLHttpRequestSupported", function() { return bXMLHttpRequestSupported; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "bIsHttps", function() { return bIsHttps; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "htmlEditorDefaultConfig", function() { return htmlEditorDefaultConfig; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "htmlEditorLangsMap", function() { return htmlEditorLangsMap; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "bAllowPdfPreview", function() { return bAllowPdfPreview; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VIEW_MODELS", function() { return VIEW_MODELS; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "moveAction", function() { return moveAction; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "leftPanelDisabled", function() { return leftPanelDisabled; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "leftPanelType", function() { return leftPanelType; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "leftPanelWidth", function() { return leftPanelWidth; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "popupVisibilityNames", function() { return popupVisibilityNames; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "popupVisibility", function() { return popupVisibility; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "keyScopeReal", function() { return keyScopeReal; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "keyScopeFake", function() { return keyScopeFake; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "keyScope", function() { return keyScope; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "data", function() { return data; }); -/* harmony import */ var core_js_modules_es_array_filter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.filter */ 265); -/* harmony import */ var core_js_modules_es_array_filter__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var core_js_modules_es_date_to_string__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.date.to-string */ 75); -/* harmony import */ var core_js_modules_es_date_to_string__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_date_to_string__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/find */ 12); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_index_of__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/index-of */ 30); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_index_of__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_index_of__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var window__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! window */ 4); -/* harmony import */ var window__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(window__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! _ */ 3); -/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(___WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var $__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! $ */ 8); -/* harmony import */ var $__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n($__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var key__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! key */ 21); -/* harmony import */ var key__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(key__WEBPACK_IMPORTED_MODULE_7__); -/* harmony import */ var ko__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ko */ 1); -/* harmony import */ var Common_Enums__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! Common/Enums */ 0); - - - - - - - - - - -var $win = $__WEBPACK_IMPORTED_MODULE_6___default()(window__WEBPACK_IMPORTED_MODULE_4___default.a); -$win.__sizes = [0, 0]; - -var $doc = $__WEBPACK_IMPORTED_MODULE_6___default()(window__WEBPACK_IMPORTED_MODULE_4___default.a.document); -var $html = $__WEBPACK_IMPORTED_MODULE_6___default()('html'); -var $body = $__WEBPACK_IMPORTED_MODULE_6___default()('body'); -var $div = $__WEBPACK_IMPORTED_MODULE_6___default()('
'); -var $hcont = $__WEBPACK_IMPORTED_MODULE_6___default()('
'); -$hcont.attr('area', 'hidden').css({ - position: 'absolute', - left: -5000 -}).appendTo($body); -var startMicrotime = new window__WEBPACK_IMPORTED_MODULE_4___default.a.Date().getTime(); -/** - * @type {boolean} - */ - -var community = true; -/** - * @type {?} - */ - -var dropdownVisibility = ko__WEBPACK_IMPORTED_MODULE_8__[/* default */ "a"].observable(false).extend({ - rateLimit: 0 -}); -/** - * @type {boolean} - */ - -var useKeyboardShortcuts = ko__WEBPACK_IMPORTED_MODULE_8__[/* default */ "a"].observable(true); -/** - * @type {string} - */ - -var sUserAgent = 'navigator' in window__WEBPACK_IMPORTED_MODULE_4___default.a && 'userAgent' in window__WEBPACK_IMPORTED_MODULE_4___default.a.navigator && window__WEBPACK_IMPORTED_MODULE_4___default.a.navigator.userAgent.toLowerCase() || ''; -/** - * @type {boolean} - */ - -var bIE = -1 < _babel_runtime_corejs3_core_js_stable_instance_index_of__WEBPACK_IMPORTED_MODULE_3___default()(sUserAgent).call(sUserAgent, 'msie'); -/** - * @type {boolean} - */ - -var bChrome = -1 < _babel_runtime_corejs3_core_js_stable_instance_index_of__WEBPACK_IMPORTED_MODULE_3___default()(sUserAgent).call(sUserAgent, 'chrome'); -/** - * @type {boolean} - */ - -var bSafari = !bChrome && -1 < _babel_runtime_corejs3_core_js_stable_instance_index_of__WEBPACK_IMPORTED_MODULE_3___default()(sUserAgent).call(sUserAgent, 'safari'); -/** - * @type {boolean} - */ - -var bMobileDevice = /android/i.test(sUserAgent) || /iphone/i.test(sUserAgent) || /ipod/i.test(sUserAgent) || /ipad/i.test(sUserAgent) || /blackberry/i.test(sUserAgent); -/** - * @type {boolean} - */ - -var bDisableNanoScroll = bMobileDevice; -/** - * @type {boolean} - */ - -var bAnimationSupported = !bMobileDevice && $html.hasClass('csstransitions') && $html.hasClass('cssanimations'); -/** - * @type {boolean} - */ - -var bXMLHttpRequestSupported = !!window__WEBPACK_IMPORTED_MODULE_4___default.a.XMLHttpRequest; -/** - * @type {boolean} - */ - -var bIsHttps = window__WEBPACK_IMPORTED_MODULE_4___default.a.document && window__WEBPACK_IMPORTED_MODULE_4___default.a.document.location ? 'https:' === window__WEBPACK_IMPORTED_MODULE_4___default.a.document.location.protocol : false; -/** - * @type {Object} - */ - -var htmlEditorDefaultConfig = { - 'title': false, - 'stylesSet': false, - 'customConfig': '', - 'contentsCss': '', - 'toolbarGroups': [{ - name: 'spec' - }, { - name: 'styles' - }, { - name: 'basicstyles', - groups: ['basicstyles', 'cleanup', 'bidi'] - }, { - name: 'colors' - }, bMobileDevice ? {} : { - name: 'paragraph', - groups: ['list', 'indent', 'blocks', 'align'] - }, { - name: 'links' - }, { - name: 'insert' - }, { - name: 'document', - groups: ['mode', 'document', 'doctools'] - }, { - name: 'others' - }], - 'removePlugins': 'liststyle', - 'removeButtons': 'Format,Undo,Redo,Cut,Copy,Paste,Anchor,Strike,Subscript,Superscript,Image,SelectAll,Source', - 'removeDialogTabs': 'link:advanced;link:target;image:advanced;images:advanced', - 'extraPlugins': 'plain,signature', - 'allowedContent': true, - 'extraAllowedContent': true, - 'fillEmptyBlocks': false, - 'ignoreEmptyParagraph': true, - 'disableNativeSpellChecker': false, - 'colorButton_enableAutomatic': false, - 'colorButton_enableMore': true, - 'font_defaultLabel': 'Arial', - 'fontSize_defaultLabel': '13', - 'fontSize_sizes': '10/10px;12/12px;13/13px;14/14px;16/16px;18/18px;20/20px;24/24px;28/28px;36/36px;48/48px' -}; -/** - * @type {Object} - */ - -var htmlEditorLangsMap = { - 'ar_sa': 'ar-sa', - 'bg_bg': 'bg', - 'cs_CZ': 'cs', - 'de_de': 'de', - 'el_gr': 'el', - 'es_es': 'es', - 'et_ee': 'et', - 'fr_fr': 'fr', - 'hu_hu': 'hu', - 'is_is': 'is', - 'it_it': 'it', - 'ja_jp': 'ja', - 'ko_kr': 'ko', - 'lt_lt': 'lt', - 'lv_lv': 'lv', - 'fa_ir': 'fa', - 'nb_no': 'nb', - 'nl_nl': 'nl', - 'pl_pl': 'pl', - 'pt_br': 'pt-br', - 'pt_pt': 'pt', - 'ro_ro': 'ro', - 'ru_ru': 'ru', - 'sk_sk': 'sk', - 'sl_si': 'sl', - 'sv_se': 'sv', - 'tr_tr': 'tr', - 'uk_ua': 'uk', - 'zh_cn': 'zh-cn', - 'zh_tw': 'zh' -}; -/** - * @type {boolean} - */ - -var bAllowPdfPreview = !bMobileDevice; - -if (bAllowPdfPreview && window__WEBPACK_IMPORTED_MODULE_4___default.a.navigator && window__WEBPACK_IMPORTED_MODULE_4___default.a.navigator.mimeTypes) { - bAllowPdfPreview = !!_babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_2___default()(___WEBPACK_IMPORTED_MODULE_5___default.a).call(___WEBPACK_IMPORTED_MODULE_5___default.a, window__WEBPACK_IMPORTED_MODULE_4___default.a.navigator.mimeTypes, function (type) { - return type && 'application/pdf' === type.type; - }); - - if (!bAllowPdfPreview) { - bAllowPdfPreview = 'undefined' !== typeof window__WEBPACK_IMPORTED_MODULE_4___default.a.navigator.mimeTypes['application/pdf']; - } -} - - -var VIEW_MODELS = { - settings: [], - 'settings-removed': [], - 'settings-disabled': [] -}; -var moveAction = ko__WEBPACK_IMPORTED_MODULE_8__[/* default */ "a"].observable(false); -var leftPanelDisabled = ko__WEBPACK_IMPORTED_MODULE_8__[/* default */ "a"].observable(false); -var leftPanelType = ko__WEBPACK_IMPORTED_MODULE_8__[/* default */ "a"].observable(''); -var leftPanelWidth = ko__WEBPACK_IMPORTED_MODULE_8__[/* default */ "a"].observable(0); -leftPanelDisabled.subscribe(function (value) { - if (value && moveAction()) { - moveAction(false); - } -}); -moveAction.subscribe(function (value) { - if (value && leftPanelDisabled()) { - leftPanelDisabled(false); - } -}); // popups - -var popupVisibilityNames = ko__WEBPACK_IMPORTED_MODULE_8__[/* default */ "a"].observableArray([]); -var popupVisibility = ko__WEBPACK_IMPORTED_MODULE_8__[/* default */ "a"].computed(function () { - return 0 < popupVisibilityNames().length; -}); -popupVisibility.subscribe(function (bValue) { - $html.toggleClass('rl-modal', bValue); -}); // keys - -var keyScopeReal = ko__WEBPACK_IMPORTED_MODULE_8__[/* default */ "a"].observable(Common_Enums__WEBPACK_IMPORTED_MODULE_9__["KeyState"].All); -var keyScopeFake = ko__WEBPACK_IMPORTED_MODULE_8__[/* default */ "a"].observable(Common_Enums__WEBPACK_IMPORTED_MODULE_9__["KeyState"].All); -var keyScope = ko__WEBPACK_IMPORTED_MODULE_8__[/* default */ "a"].computed({ - read: function read() { - return keyScopeFake(); - }, - write: function write(value) { - if (Common_Enums__WEBPACK_IMPORTED_MODULE_9__["KeyState"].Menu !== value) { - if (Common_Enums__WEBPACK_IMPORTED_MODULE_9__["KeyState"].Compose === value) { - // disableKeyFilter - key__WEBPACK_IMPORTED_MODULE_7___default.a.filter = function () { - return useKeyboardShortcuts(); - }; - } else { - // restoreKeyFilter - key__WEBPACK_IMPORTED_MODULE_7___default.a.filter = function (event) { - if (useKeyboardShortcuts()) { - var el = event.target || event.srcElement, - tagName = el ? el.tagName.toUpperCase() : ''; - return !('INPUT' === tagName || 'SELECT' === tagName || 'TEXTAREA' === tagName || el && 'DIV' === tagName && ('editorHtmlArea' === el.className || 'true' === '' + el.contentEditable)); - } - - return false; - }; - } - - keyScopeFake(value); - - if (dropdownVisibility()) { - value = Common_Enums__WEBPACK_IMPORTED_MODULE_9__["KeyState"].Menu; - } - } - - keyScopeReal(value); - } -}); -keyScopeReal.subscribe(function (value) { - // window.console.log('keyScope=' + sValue); // DEBUG - key__WEBPACK_IMPORTED_MODULE_7___default.a.setScope(value); -}); -dropdownVisibility.subscribe(function (value) { - if (value) { - keyScope(Common_Enums__WEBPACK_IMPORTED_MODULE_9__["KeyState"].Menu); - } else if (Common_Enums__WEBPACK_IMPORTED_MODULE_9__["KeyState"].Menu === key__WEBPACK_IMPORTED_MODULE_7___default.a.getScope()) { - keyScope(keyScopeFake()); - } -}); -/** - * @type {*} - */ - -var data = { - __APP__: null, - iAjaxErrorCount: 0, - iTokenErrorCount: 0, - aBootstrapDropdowns: [], - iMessageBodyCacheCount: 0, - bUnload: false -}; - -/***/ }), -/* 7 */ -/*!****************************!*\ - !*** ./dev/Knoin/Knoin.js ***! - \****************************/ -/*! exports provided: ViewType, hideLoading, createCommand, addSettingsViewModel, removeSettingsViewModel, disableSettingsViewModel, routeOff, routeOn, screen, getScreenPopup, hideScreenPopup, vmRunHook, buildViewModel, showScreenPopup, warmUpScreenPopup, isPopupVisible, screenOnRoute, startScreens, setHash, commandDecorator, command, viewDecorator, view, viewModel, popupDecorator, popup, settingsMenuKeysHandler */ -/*! all exports used */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ViewType", function() { return ViewType; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hideLoading", function() { return hideLoading; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createCommand", function() { return createCommand; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addSettingsViewModel", function() { return addSettingsViewModel; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "removeSettingsViewModel", function() { return removeSettingsViewModel; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "disableSettingsViewModel", function() { return disableSettingsViewModel; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "routeOff", function() { return routeOff; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "routeOn", function() { return routeOn; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "screen", function() { return screen; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getScreenPopup", function() { return getScreenPopup; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hideScreenPopup", function() { return hideScreenPopup; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "vmRunHook", function() { return vmRunHook; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "buildViewModel", function() { return buildViewModel; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "showScreenPopup", function() { return showScreenPopup; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "warmUpScreenPopup", function() { return warmUpScreenPopup; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isPopupVisible", function() { return isPopupVisible; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "screenOnRoute", function() { return screenOnRoute; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "startScreens", function() { return startScreens; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setHash", function() { return setHash; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "commandDecorator", function() { return commandDecorator; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "command", function() { return commandDecorator; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "viewDecorator", function() { return viewDecorator; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "view", function() { return viewDecorator; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "viewModel", function() { return viewDecorator; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "popupDecorator", function() { return popupDecorator; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "popup", function() { return popupDecorator; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "settingsMenuKeysHandler", function() { return settingsMenuKeysHandler; }); -/* harmony import */ var core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.function.name */ 52); -/* harmony import */ var core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.regexp.exec */ 48); -/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var core_js_modules_es_string_match__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.string.match */ 193); -/* harmony import */ var core_js_modules_es_string_match__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_match__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_filter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/filter */ 34); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_filter__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_filter__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! _ */ 3); -/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(___WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var $__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! $ */ 8); -/* harmony import */ var $__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n($__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var ko__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ko */ 1); -/* harmony import */ var hasher__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! hasher */ 61); -/* harmony import */ var hasher__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(hasher__WEBPACK_IMPORTED_MODULE_7__); -/* harmony import */ var crossroads__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! crossroads */ 158); -/* harmony import */ var crossroads__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(crossroads__WEBPACK_IMPORTED_MODULE_8__); -/* harmony import */ var Common_Enums__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! Common/Enums */ 0); -/* harmony import */ var Common_Plugins__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! Common/Plugins */ 38); -/* harmony import */ var Common_Globals__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! Common/Globals */ 6); -/* harmony import */ var Common_Utils__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! Common/Utils */ 2); - - - - - - - - - - - - - -var currentScreen = null, - defaultScreenName = ''; -var SCREENS = {}; -var ViewType = { - Popup: 'Popups', - Left: 'Left', - Right: 'Right', - Center: 'Center' -}; -/** - * @returns {void} - */ - -function hideLoading() { - $__WEBPACK_IMPORTED_MODULE_5___default()('#rl-content').addClass('rl-content-show'); - $__WEBPACK_IMPORTED_MODULE_5___default()('#rl-loading').hide().remove(); -} -/** - * @param {Function} fExecute - * @param {(Function|boolean|null)=} fCanExecute = true - * @returns {Function} - */ - -function createCommand(fExecute, fCanExecute) { - if (fCanExecute === void 0) { - fCanExecute = true; - } - - return Object(Common_Utils__WEBPACK_IMPORTED_MODULE_12__["createCommandLegacy"])(null, fExecute, fCanExecute); -} -/** - * @param {Function} SettingsViewModelClass - * @param {string} template - * @param {string} labelName - * @param {string} route - * @param {boolean=} isDefault = false - * @returns {void} - */ - -function addSettingsViewModel(SettingsViewModelClass, template, labelName, route, isDefault) { - if (isDefault === void 0) { - isDefault = false; - } - - SettingsViewModelClass.__rlSettingsData = { - Label: labelName, - Template: template, - Route: route, - IsDefault: !!isDefault - }; - Common_Globals__WEBPACK_IMPORTED_MODULE_11__["VIEW_MODELS"].settings.push(SettingsViewModelClass); -} -/** - * @param {Function} SettingsViewModelClass - * @returns {void} - */ - -function removeSettingsViewModel(SettingsViewModelClass) { - Common_Globals__WEBPACK_IMPORTED_MODULE_11__["VIEW_MODELS"]['settings-removed'].push(SettingsViewModelClass); -} -/** - * @param {Function} SettingsViewModelClass - * @returns {void} - */ - -function disableSettingsViewModel(SettingsViewModelClass) { - Common_Globals__WEBPACK_IMPORTED_MODULE_11__["VIEW_MODELS"]['settings-disabled'].push(SettingsViewModelClass); -} -/** - * @returns {void} - */ - -function routeOff() { - hasher__WEBPACK_IMPORTED_MODULE_7___default.a.changed.active = false; -} -/** - * @returns {void} - */ - -function routeOn() { - hasher__WEBPACK_IMPORTED_MODULE_7___default.a.changed.active = true; -} -/** - * @param {string} screenName - * @returns {?Object} - */ - -function screen(screenName) { - return '' !== screenName && !Object(Common_Utils__WEBPACK_IMPORTED_MODULE_12__["isUnd"])(SCREENS[screenName]) ? SCREENS[screenName] : null; -} -/** - * @param {Function} ViewModelClassToShow - * @returns {Function|null} - */ - -function getScreenPopup(PopuViewModelClass) { - var result = null; - - if (PopuViewModelClass) { - result = PopuViewModelClass; - - if (PopuViewModelClass.default) { - result = PopuViewModelClass.default; - } - } - - return result; -} -/** - * @param {Function} ViewModelClassToHide - * @returns {void} - */ - -function hideScreenPopup(ViewModelClassToHide) { - var ModalView = getScreenPopup(ViewModelClassToHide); - - if (ModalView && ModalView.__vm && ModalView.__dom) { - ModalView.__vm.modalVisibility(false); - } -} -/** - * @param {string} hookName - * @param {Function} ViewModelClass - * @param {mixed=} params = null - */ - -function vmRunHook(hookName, ViewModelClass, params) { - if (params === void 0) { - params = null; - } - - ___WEBPACK_IMPORTED_MODULE_4___default.a.each(ViewModelClass.__names, function (name) { - Object(Common_Plugins__WEBPACK_IMPORTED_MODULE_10__[/* runHook */ "f"])(hookName, [name, ViewModelClass.__vm, params]); - }); -} -/** - * @param {Function} ViewModelClass - * @param {Object=} vmScreen - * @returns {*} - */ - -function buildViewModel(ViewModelClass, vmScreen) { - if (ViewModelClass && !ViewModelClass.__builded) { - var vmDom = null; - var vm = new ViewModelClass(vmScreen), - position = ViewModelClass.__type || '', - vmPlace = position ? $__WEBPACK_IMPORTED_MODULE_5___default()('#rl-content #rl-' + position.toLowerCase()) : null; - ViewModelClass.__builded = true; - ViewModelClass.__vm = vm; - vm.onShowTrigger = ko__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"].observable(false); - vm.onHideTrigger = ko__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"].observable(false); - vm.viewModelName = ViewModelClass.__name; - vm.viewModelNames = ViewModelClass.__names; - vm.viewModelTemplateID = ViewModelClass.__templateID; - vm.viewModelPosition = ViewModelClass.__type; - - if (vmPlace && 1 === vmPlace.length) { - vmDom = $__WEBPACK_IMPORTED_MODULE_5___default()('
').addClass('rl-view-model').addClass('RL-' + vm.viewModelTemplateID).hide(); - vmDom.appendTo(vmPlace); - vm.viewModelDom = vmDom; - ViewModelClass.__dom = vmDom; - - if (ViewType.Popup === position) { - vm.cancelCommand = vm.closeCommand = createCommand(function () { - hideScreenPopup(ViewModelClass); - }); - vm.modalVisibility.subscribe(function (value) { - if (value) { - vm.viewModelDom.show(); - vm.storeAndSetKeyScope(); - Common_Globals__WEBPACK_IMPORTED_MODULE_11__["popupVisibilityNames"].push(vm.viewModelName); - vm.viewModelDom.css('z-index', 3000 + Object(Common_Globals__WEBPACK_IMPORTED_MODULE_11__["popupVisibilityNames"])().length + 10); - - if (vm.onShowTrigger) { - vm.onShowTrigger(!vm.onShowTrigger()); - } - - Object(Common_Utils__WEBPACK_IMPORTED_MODULE_12__["delegateRun"])(vm, 'onShowWithDelay', [], 500); - } else { - Object(Common_Utils__WEBPACK_IMPORTED_MODULE_12__["delegateRun"])(vm, 'onHide'); - Object(Common_Utils__WEBPACK_IMPORTED_MODULE_12__["delegateRun"])(vm, 'onHideWithDelay', [], 500); - - if (vm.onHideTrigger) { - vm.onHideTrigger(!vm.onHideTrigger()); - } - - vm.restoreKeyScope(); - vmRunHook('view-model-on-hide', ViewModelClass); - Common_Globals__WEBPACK_IMPORTED_MODULE_11__["popupVisibilityNames"].remove(vm.viewModelName); - vm.viewModelDom.css('z-index', 2000); - - ___WEBPACK_IMPORTED_MODULE_4___default.a.delay(function () { - return vm.viewModelDom.hide(); - }, 300); - } - }); - } - - vmRunHook('view-model-pre-build', ViewModelClass, vmDom); - ko__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"].applyBindingAccessorsToNode(vmDom[0], { - translatorInit: true, - template: function template() { - return { - name: vm.viewModelTemplateID - }; - } - }, vm); - Object(Common_Utils__WEBPACK_IMPORTED_MODULE_12__["delegateRun"])(vm, 'onBuild', [vmDom]); - - if (vm && ViewType.Popup === position) { - vm.registerPopupKeyDown(); - } - - vmRunHook('view-model-post-build', ViewModelClass, vmDom); - } else { - Object(Common_Utils__WEBPACK_IMPORTED_MODULE_12__["log"])('Cannot find view model position: ' + position); - } - } - - return ViewModelClass ? ViewModelClass.__vm : null; -} -/** - * @param {Function} ViewModelClassToShow - * @param {Array=} params - * @returns {void} - */ - -function showScreenPopup(ViewModelClassToShow, params) { - if (params === void 0) { - params = []; - } - - var ModalView = getScreenPopup(ViewModelClassToShow); - - if (ModalView) { - buildViewModel(ModalView); - - if (ModalView.__vm && ModalView.__dom) { - Object(Common_Utils__WEBPACK_IMPORTED_MODULE_12__["delegateRun"])(ModalView.__vm, 'onBeforeShow', params || []); - - ModalView.__vm.modalVisibility(true); - - Object(Common_Utils__WEBPACK_IMPORTED_MODULE_12__["delegateRun"])(ModalView.__vm, 'onShow', params || []); - vmRunHook('view-model-on-show', ModalView, params || []); - } - } -} -/** - * @param {Function} ViewModelClassToShow - * @returns {void} - */ - -function warmUpScreenPopup(ViewModelClassToShow) { - var ModalView = getScreenPopup(ViewModelClassToShow); - - if (ModalView) { - buildViewModel(ModalView); - - if (ModalView.__vm && ModalView.__dom) { - Object(Common_Utils__WEBPACK_IMPORTED_MODULE_12__["delegateRun"])(ModalView.__vm, 'onWarmUp'); - } - } -} -/** - * @param {Function} ViewModelClassToShow - * @returns {boolean} - */ - -function isPopupVisible(ViewModelClassToShow) { - var ModalView = getScreenPopup(ViewModelClassToShow); - return ModalView && ModalView.__vm ? ModalView.__vm.modalVisibility() : false; -} -/** - * @param {string} screenName - * @param {string} subPart - * @returns {void} - */ - -function screenOnRoute(screenName, subPart) { - var vmScreen = null, - isSameScreen = false, - cross = null; - - if ('' === Object(Common_Utils__WEBPACK_IMPORTED_MODULE_12__["pString"])(screenName)) { - screenName = defaultScreenName; - } - - if ('' !== screenName) { - vmScreen = screen(screenName); - - if (!vmScreen) { - vmScreen = screen(defaultScreenName); - - if (vmScreen) { - subPart = screenName + '/' + subPart; - screenName = defaultScreenName; - } - } - - if (vmScreen && vmScreen.__started) { - isSameScreen = currentScreen && vmScreen === currentScreen; - - if (!vmScreen.__builded) { - vmScreen.__builded = true; - - if (Object(Common_Utils__WEBPACK_IMPORTED_MODULE_12__["isNonEmptyArray"])(vmScreen.viewModels())) { - ___WEBPACK_IMPORTED_MODULE_4___default.a.each(vmScreen.viewModels(), function (ViewModelClass) { - buildViewModel(ViewModelClass, vmScreen); - }); - } - - Object(Common_Utils__WEBPACK_IMPORTED_MODULE_12__["delegateRun"])(vmScreen, 'onBuild'); - } - - ___WEBPACK_IMPORTED_MODULE_4___default.a.defer(function () { - // hide screen - if (currentScreen && !isSameScreen) { - Object(Common_Utils__WEBPACK_IMPORTED_MODULE_12__["delegateRun"])(currentScreen, 'onHide'); - Object(Common_Utils__WEBPACK_IMPORTED_MODULE_12__["delegateRun"])(currentScreen, 'onHideWithDelay', [], 500); - - if (currentScreen.onHideTrigger) { - currentScreen.onHideTrigger(!currentScreen.onHideTrigger()); - } - - if (Object(Common_Utils__WEBPACK_IMPORTED_MODULE_12__["isNonEmptyArray"])(currentScreen.viewModels())) { - ___WEBPACK_IMPORTED_MODULE_4___default.a.each(currentScreen.viewModels(), function (ViewModelClass) { - if (ViewModelClass.__vm && ViewModelClass.__dom && ViewType.Popup !== ViewModelClass.__vm.viewModelPosition) { - ViewModelClass.__dom.hide(); - - ViewModelClass.__vm.viewModelVisibility(false); - - Object(Common_Utils__WEBPACK_IMPORTED_MODULE_12__["delegateRun"])(ViewModelClass.__vm, 'onHide'); - Object(Common_Utils__WEBPACK_IMPORTED_MODULE_12__["delegateRun"])(ViewModelClass.__vm, 'onHideWithDelay', [], 500); - - if (ViewModelClass.__vm.onHideTrigger) { - ViewModelClass.__vm.onHideTrigger(!ViewModelClass.__vm.onHideTrigger()); - } - } - }); - } - } // -- - - - currentScreen = vmScreen; // show screen - - if (currentScreen && !isSameScreen) { - Object(Common_Utils__WEBPACK_IMPORTED_MODULE_12__["delegateRun"])(currentScreen, 'onShow'); - - if (currentScreen.onShowTrigger) { - currentScreen.onShowTrigger(!currentScreen.onShowTrigger()); - } - - Object(Common_Plugins__WEBPACK_IMPORTED_MODULE_10__[/* runHook */ "f"])('screen-on-show', [currentScreen.screenName(), currentScreen]); - - if (Object(Common_Utils__WEBPACK_IMPORTED_MODULE_12__["isNonEmptyArray"])(currentScreen.viewModels())) { - ___WEBPACK_IMPORTED_MODULE_4___default.a.each(currentScreen.viewModels(), function (ViewModelClass) { - if (ViewModelClass.__vm && ViewModelClass.__dom && ViewType.Popup !== ViewModelClass.__vm.viewModelPosition) { - Object(Common_Utils__WEBPACK_IMPORTED_MODULE_12__["delegateRun"])(ViewModelClass.__vm, 'onBeforeShow'); - - ViewModelClass.__dom.show(); - - ViewModelClass.__vm.viewModelVisibility(true); - - Object(Common_Utils__WEBPACK_IMPORTED_MODULE_12__["delegateRun"])(ViewModelClass.__vm, 'onShow'); - - if (ViewModelClass.__vm.onShowTrigger) { - ViewModelClass.__vm.onShowTrigger(!ViewModelClass.__vm.onShowTrigger()); - } - - Object(Common_Utils__WEBPACK_IMPORTED_MODULE_12__["delegateRun"])(ViewModelClass.__vm, 'onShowWithDelay', [], 200); - vmRunHook('view-model-on-show', ViewModelClass); - } - }); - } - } // -- - - - cross = vmScreen && vmScreen.__cross ? vmScreen.__cross() : null; - - if (cross) { - cross.parse(subPart); - } - }); - } - } -} -/** - * @param {Array} screensClasses - * @returns {void} - */ - -function startScreens(screensClasses) { - ___WEBPACK_IMPORTED_MODULE_4___default.a.each(screensClasses, function (CScreen) { - if (CScreen) { - var vmScreen = new CScreen(), - screenName = vmScreen ? vmScreen.screenName() : ''; - - if (vmScreen && '' !== screenName) { - if ('' === defaultScreenName) { - defaultScreenName = screenName; - } - - SCREENS[screenName] = vmScreen; - } - } - }); - - ___WEBPACK_IMPORTED_MODULE_4___default.a.each(SCREENS, function (vmScreen) { - if (vmScreen && !vmScreen.__started && vmScreen.__start) { - vmScreen.__started = true; - - vmScreen.__start(); - - Object(Common_Plugins__WEBPACK_IMPORTED_MODULE_10__[/* runHook */ "f"])('screen-pre-start', [vmScreen.screenName(), vmScreen]); - Object(Common_Utils__WEBPACK_IMPORTED_MODULE_12__["delegateRun"])(vmScreen, 'onStart'); - Object(Common_Plugins__WEBPACK_IMPORTED_MODULE_10__[/* runHook */ "f"])('screen-post-start', [vmScreen.screenName(), vmScreen]); - } - }); - - var cross = crossroads__WEBPACK_IMPORTED_MODULE_8___default.a.create(); - cross.addRoute(/^([a-zA-Z0-9-]*)\/?(.*)$/, screenOnRoute); - hasher__WEBPACK_IMPORTED_MODULE_7___default.a.initialized.add(cross.parse, cross); - hasher__WEBPACK_IMPORTED_MODULE_7___default.a.changed.add(cross.parse, cross); - hasher__WEBPACK_IMPORTED_MODULE_7___default.a.init(); - - ___WEBPACK_IMPORTED_MODULE_4___default.a.delay(function () { - return Common_Globals__WEBPACK_IMPORTED_MODULE_11__["$html"].removeClass('rl-started-trigger').addClass('rl-started'); - }, 100); - - ___WEBPACK_IMPORTED_MODULE_4___default.a.delay(function () { - return Common_Globals__WEBPACK_IMPORTED_MODULE_11__["$html"].addClass('rl-started-delay'); - }, 200); -} -/** - * @param {string} sHash - * @param {boolean=} silence = false - * @param {boolean=} replace = false - * @returns {void} - */ - -function setHash(hash, silence, replace) { - if (silence === void 0) { - silence = false; - } - - if (replace === void 0) { - replace = false; - } - - hash = '#' === hash.substr(0, 1) ? hash.substr(1) : hash; - hash = '/' === hash.substr(0, 1) ? hash.substr(1) : hash; - var cmd = replace ? 'replaceHash' : 'setHash'; - - if (silence) { - hasher__WEBPACK_IMPORTED_MODULE_7___default.a.changed.active = false; - hasher__WEBPACK_IMPORTED_MODULE_7___default.a[cmd](hash); - hasher__WEBPACK_IMPORTED_MODULE_7___default.a.changed.active = true; - } else { - hasher__WEBPACK_IMPORTED_MODULE_7___default.a.changed.active = true; - hasher__WEBPACK_IMPORTED_MODULE_7___default.a[cmd](hash); - hasher__WEBPACK_IMPORTED_MODULE_7___default.a.setHash(hash); - } -} -/** - * @param {Object} params - * @returns {Function} - */ - -function viewDecorator(_ref) { - var name = _ref.name, - type = _ref.type, - templateID = _ref.templateID; - return function (target) { - if (target) { - if (name) { - if (Object(Common_Utils__WEBPACK_IMPORTED_MODULE_12__["isArray"])(name)) { - target.__names = name; - } else { - target.__names = [name]; - } - - target.__name = target.__names[0]; - } - - if (type) { - target.__type = type; - } - - if (templateID) { - target.__templateID = templateID; - } - } - }; -} -/** - * @param {Object} params - * @returns {Function} - */ - - -function popupDecorator(_ref2) { - var name = _ref2.name, - templateID = _ref2.templateID; - return viewDecorator({ - name: name, - type: ViewType.Popup, - templateID: templateID - }); -} -/** - * @param {Function} canExecute - * @returns {Function} - */ - - -function commandDecorator(canExecute) { - if (canExecute === void 0) { - canExecute = true; - } - - return function (target, key, descriptor) { - if (!key || !key.match(/Command$/)) { - throw new Error("name \"" + key + "\" should end with Command suffix"); - } - - var value = descriptor.value || descriptor.initializer(), - normCanExecute = Object(Common_Utils__WEBPACK_IMPORTED_MODULE_12__["isFunc"])(canExecute) ? canExecute : function () { - return !!canExecute; - }; - - descriptor.value = function () { - if (normCanExecute.call(this, this)) { - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - value.apply(this, args); - } - - return false; - }; - - descriptor.value.__realCanExecute = normCanExecute; - descriptor.value.isCommand = true; - return descriptor; - }; -} -/** - * @param {miced} $items - * @returns {Function} - */ - - -function settingsMenuKeysHandler($items) { - return ___WEBPACK_IMPORTED_MODULE_4___default.a.throttle(function (event, handler) { - var up = handler && 'up' === handler.shortcut; - - if (event && $items.length) { - var index = $items.index(_babel_runtime_corejs3_core_js_stable_instance_filter__WEBPACK_IMPORTED_MODULE_3___default()($items).call($items, '.selected')); - - if (up && 0 < index) { - index -= 1; - } else if (!up && index < $items.length - 1) { - index += 1; - } - - var resultHash = $items.eq(index).attr('href'); - - if (resultHash) { - setHash(resultHash, false, true); - } - } - }, Common_Enums__WEBPACK_IMPORTED_MODULE_9__["Magics"].Time200ms); -} - - - -/***/ }), -/* 8 */ -/*!********************************!*\ - !*** external "window.jQuery" ***! - \********************************/ -/*! no static exports found */ -/*! exports used: default */ -/***/ (function(module, exports) { - -module.exports = window.jQuery; - -/***/ }), -/* 9 */ -/*!**********************************!*\ - !*** ./dev/Common/Translator.js ***! - \**********************************/ -/*! exports provided: trigger, i18n, i18nToNodes, initNotificationLanguage, initOnStartOrLangChange, getNotification, getNotificationFromResponse, getUploadErrorDescByCode, reload */ -/*! all exports used */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "trigger", function() { return trigger; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "i18n", function() { return i18n; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "i18nToNodes", function() { return i18nToNodes; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "initNotificationLanguage", function() { return initNotificationLanguage; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "initOnStartOrLangChange", function() { return initOnStartOrLangChange; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getNotification", function() { return getNotification; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getNotificationFromResponse", function() { return getNotificationFromResponse; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getUploadErrorDescByCode", function() { return getUploadErrorDescByCode; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "reload", function() { return reload; }); -/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.object.to-string */ 55); -/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var core_js_modules_es_parse_int__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.parse-int */ 144); -/* harmony import */ var core_js_modules_es_parse_int__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_parse_int__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var core_js_modules_es_promise__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.promise */ 121); -/* harmony import */ var core_js_modules_es_promise__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_promise__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.regexp.exec */ 48); -/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.string.replace */ 56); -/* harmony import */ var core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/for-each */ 69); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var window__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! window */ 4); -/* harmony import */ var window__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(window__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! _ */ 3); -/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(___WEBPACK_IMPORTED_MODULE_7__); -/* harmony import */ var $__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! $ */ 8); -/* harmony import */ var $__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n($__WEBPACK_IMPORTED_MODULE_8__); -/* harmony import */ var ko__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ko */ 1); -/* harmony import */ var Common_Enums__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! Common/Enums */ 0); -/* harmony import */ var Common_Utils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! Common/Utils */ 2); -/* harmony import */ var Common_Globals__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! Common/Globals */ 6); -/* harmony import */ var Common_Momentor__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! Common/Momentor */ 60); -/* harmony import */ var Common_Links__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! Common/Links */ 15); - - - - - - - - - - - - - - - -var I18N_DATA = window__WEBPACK_IMPORTED_MODULE_6___default.a.rainloopI18N || {}; -var I18N_NOTIFICATION_DATA = {}; -var I18N_NOTIFICATION_MAP = [[Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].InvalidToken, 'NOTIFICATIONS/INVALID_TOKEN'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].InvalidToken, 'NOTIFICATIONS/INVALID_TOKEN'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].AuthError, 'NOTIFICATIONS/AUTH_ERROR'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].AccessError, 'NOTIFICATIONS/ACCESS_ERROR'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].ConnectionError, 'NOTIFICATIONS/CONNECTION_ERROR'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].CaptchaError, 'NOTIFICATIONS/CAPTCHA_ERROR'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].SocialFacebookLoginAccessDisable, 'NOTIFICATIONS/SOCIAL_FACEBOOK_LOGIN_ACCESS_DISABLE'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].SocialTwitterLoginAccessDisable, 'NOTIFICATIONS/SOCIAL_TWITTER_LOGIN_ACCESS_DISABLE'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].SocialGoogleLoginAccessDisable, 'NOTIFICATIONS/SOCIAL_GOOGLE_LOGIN_ACCESS_DISABLE'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].DomainNotAllowed, 'NOTIFICATIONS/DOMAIN_NOT_ALLOWED'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].AccountNotAllowed, 'NOTIFICATIONS/ACCOUNT_NOT_ALLOWED'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].AccountTwoFactorAuthRequired, 'NOTIFICATIONS/ACCOUNT_TWO_FACTOR_AUTH_REQUIRED'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].AccountTwoFactorAuthError, 'NOTIFICATIONS/ACCOUNT_TWO_FACTOR_AUTH_ERROR'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].CouldNotSaveNewPassword, 'NOTIFICATIONS/COULD_NOT_SAVE_NEW_PASSWORD'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].CurrentPasswordIncorrect, 'NOTIFICATIONS/CURRENT_PASSWORD_INCORRECT'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].NewPasswordShort, 'NOTIFICATIONS/NEW_PASSWORD_SHORT'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].NewPasswordWeak, 'NOTIFICATIONS/NEW_PASSWORD_WEAK'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].NewPasswordForbidden, 'NOTIFICATIONS/NEW_PASSWORD_FORBIDDENT'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].ContactsSyncError, 'NOTIFICATIONS/CONTACTS_SYNC_ERROR'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].CantGetMessageList, 'NOTIFICATIONS/CANT_GET_MESSAGE_LIST'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].CantGetMessage, 'NOTIFICATIONS/CANT_GET_MESSAGE'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].CantDeleteMessage, 'NOTIFICATIONS/CANT_DELETE_MESSAGE'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].CantMoveMessage, 'NOTIFICATIONS/CANT_MOVE_MESSAGE'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].CantCopyMessage, 'NOTIFICATIONS/CANT_MOVE_MESSAGE'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].CantSaveMessage, 'NOTIFICATIONS/CANT_SAVE_MESSAGE'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].CantSendMessage, 'NOTIFICATIONS/CANT_SEND_MESSAGE'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].InvalidRecipients, 'NOTIFICATIONS/INVALID_RECIPIENTS'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].CantSaveFilters, 'NOTIFICATIONS/CANT_SAVE_FILTERS'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].CantGetFilters, 'NOTIFICATIONS/CANT_GET_FILTERS'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].FiltersAreNotCorrect, 'NOTIFICATIONS/FILTERS_ARE_NOT_CORRECT'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].CantCreateFolder, 'NOTIFICATIONS/CANT_CREATE_FOLDER'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].CantRenameFolder, 'NOTIFICATIONS/CANT_RENAME_FOLDER'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].CantDeleteFolder, 'NOTIFICATIONS/CANT_DELETE_FOLDER'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].CantDeleteNonEmptyFolder, 'NOTIFICATIONS/CANT_DELETE_NON_EMPTY_FOLDER'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].CantSubscribeFolder, 'NOTIFICATIONS/CANT_SUBSCRIBE_FOLDER'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].CantUnsubscribeFolder, 'NOTIFICATIONS/CANT_UNSUBSCRIBE_FOLDER'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].CantSaveSettings, 'NOTIFICATIONS/CANT_SAVE_SETTINGS'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].CantSavePluginSettings, 'NOTIFICATIONS/CANT_SAVE_PLUGIN_SETTINGS'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].DomainAlreadyExists, 'NOTIFICATIONS/DOMAIN_ALREADY_EXISTS'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].CantInstallPackage, 'NOTIFICATIONS/CANT_INSTALL_PACKAGE'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].CantDeletePackage, 'NOTIFICATIONS/CANT_DELETE_PACKAGE'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].InvalidPluginPackage, 'NOTIFICATIONS/INVALID_PLUGIN_PACKAGE'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].UnsupportedPluginPackage, 'NOTIFICATIONS/UNSUPPORTED_PLUGIN_PACKAGE'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].LicensingServerIsUnavailable, 'NOTIFICATIONS/LICENSING_SERVER_IS_UNAVAILABLE'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].LicensingExpired, 'NOTIFICATIONS/LICENSING_EXPIRED'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].LicensingBanned, 'NOTIFICATIONS/LICENSING_BANNED'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].DemoSendMessageError, 'NOTIFICATIONS/DEMO_SEND_MESSAGE_ERROR'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].DemoAccountError, 'NOTIFICATIONS/DEMO_ACCOUNT_ERROR'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].AccountAlreadyExists, 'NOTIFICATIONS/ACCOUNT_ALREADY_EXISTS'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].AccountDoesNotExist, 'NOTIFICATIONS/ACCOUNT_DOES_NOT_EXIST'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].MailServerError, 'NOTIFICATIONS/MAIL_SERVER_ERROR'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].InvalidInputArgument, 'NOTIFICATIONS/INVALID_INPUT_ARGUMENT'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].UnknownNotification, 'NOTIFICATIONS/UNKNOWN_ERROR'], [Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].UnknownError, 'NOTIFICATIONS/UNKNOWN_ERROR']]; -var trigger = ko__WEBPACK_IMPORTED_MODULE_9__[/* default */ "a"].observable(false); -/** - * @param {string} key - * @param {Object=} valueList - * @param {string=} defaulValue - * @returns {string} - */ - -function i18n(key, valueList, defaulValue) { - var valueName = '', - result = I18N_DATA[key]; - - if (Object(Common_Utils__WEBPACK_IMPORTED_MODULE_11__["isUnd"])(result)) { - result = Object(Common_Utils__WEBPACK_IMPORTED_MODULE_11__["isUnd"])(defaulValue) ? key : defaulValue; - } - - if (!Object(Common_Utils__WEBPACK_IMPORTED_MODULE_11__["isUnd"])(valueList) && !Object(Common_Utils__WEBPACK_IMPORTED_MODULE_11__["isNull"])(valueList)) { - for (valueName in valueList) { - if (Object(Common_Utils__WEBPACK_IMPORTED_MODULE_11__["has"])(valueList, valueName)) { - result = result.replace('%' + valueName + '%', valueList[valueName]); - } - } - } - - return result; -} - -var i18nToNode = function i18nToNode(element) { - var $el = $__WEBPACK_IMPORTED_MODULE_8___default()(element), - key = $el.data('i18n'); - - if (key) { - if ('[' === key.substr(0, 1)) { - switch (key.substr(0, 6)) { - case '[html]': - $el.html(i18n(key.substr(6))); - break; - - case '[place': - $el.attr('placeholder', i18n(key.substr(13))); - break; - - case '[title': - $el.attr('title', i18n(key.substr(7))); - break; - // no default - } - } else { - $el.text(i18n(key)); - } - } -}; -/** - * @param {Object} elements - * @param {boolean=} animate = false - */ - - -function i18nToNodes(elements, animate) { - if (animate === void 0) { - animate = false; - } - - ___WEBPACK_IMPORTED_MODULE_7___default.a.defer(function () { - $__WEBPACK_IMPORTED_MODULE_8___default()('[data-i18n]', elements).each(function (index, item) { - i18nToNode(item); - }); - - if (animate && Common_Globals__WEBPACK_IMPORTED_MODULE_12__["bAnimationSupported"]) { - $__WEBPACK_IMPORTED_MODULE_8___default()('.i18n-animation[data-i18n]', elements).letterfx({ - 'fx': 'fall fade', - 'backwards': false, - 'timing': 50, - 'fx_duration': '50ms', - 'letter_end': 'restore', - 'element_end': 'restore' - }); - } - }); -} - -var reloadData = function reloadData() { - if (window__WEBPACK_IMPORTED_MODULE_6___default.a.rainloopI18N) { - I18N_DATA = window__WEBPACK_IMPORTED_MODULE_6___default.a.rainloopI18N || {}; - i18nToNodes(window__WEBPACK_IMPORTED_MODULE_6___default.a.document, true); - Object(Common_Momentor__WEBPACK_IMPORTED_MODULE_13__["reload"])(); - trigger(!trigger()); - } - - window__WEBPACK_IMPORTED_MODULE_6___default.a.rainloopI18N = null; -}; -/** - * @returns {void} - */ - - -function initNotificationLanguage() { - _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_5___default()(I18N_NOTIFICATION_MAP).call(I18N_NOTIFICATION_MAP, function (item) { - I18N_NOTIFICATION_DATA[item[0]] = i18n(item[1]); - }); -} -/** - * @param {Function} startCallback - * @param {Function=} langCallback = null - */ - -function initOnStartOrLangChange(startCallback, langCallback) { - if (langCallback === void 0) { - langCallback = null; - } - - if (startCallback) { - startCallback(); - } - - if (langCallback) { - trigger.subscribe(function () { - if (startCallback) { - startCallback(); - } - - if (langCallback) { - langCallback(); - } - }); - } else if (startCallback) { - trigger.subscribe(startCallback); - } -} -/** - * @param {number} code - * @param {*=} message = '' - * @param {*=} defCode = null - * @returns {string} - */ - -function getNotification(code, message, defCode) { - if (message === void 0) { - message = ''; - } - - if (defCode === void 0) { - defCode = null; - } - - code = window__WEBPACK_IMPORTED_MODULE_6___default.a.parseInt(code, 10) || 0; - - if (Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].ClientViewError === code && message) { - return message; - } - - defCode = defCode ? window__WEBPACK_IMPORTED_MODULE_6___default.a.parseInt(defCode, 10) || 0 : 0; - return Object(Common_Utils__WEBPACK_IMPORTED_MODULE_11__["isUnd"])(I18N_NOTIFICATION_DATA[code]) ? defCode && Object(Common_Utils__WEBPACK_IMPORTED_MODULE_11__["isUnd"])(I18N_NOTIFICATION_DATA[defCode]) ? I18N_NOTIFICATION_DATA[defCode] : '' : I18N_NOTIFICATION_DATA[code]; -} -/** - * @param {object} response - * @param {number} defCode = Notification.UnknownNotification - * @returns {string} - */ - -function getNotificationFromResponse(response, defCode) { - if (defCode === void 0) { - defCode = Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Notification"].UnknownNotification; - } - - return response && response.ErrorCode ? getNotification(Object(Common_Utils__WEBPACK_IMPORTED_MODULE_11__["pInt"])(response.ErrorCode), response.ErrorMessage || '') : getNotification(defCode); -} -/** - * @param {*} code - * @returns {string} - */ - -function getUploadErrorDescByCode(code) { - var result = ''; - - switch (window__WEBPACK_IMPORTED_MODULE_6___default.a.parseInt(code, 10) || 0) { - case Common_Enums__WEBPACK_IMPORTED_MODULE_10__["UploadErrorCode"].FileIsTooBig: - result = i18n('UPLOAD/ERROR_FILE_IS_TOO_BIG'); - break; - - case Common_Enums__WEBPACK_IMPORTED_MODULE_10__["UploadErrorCode"].FilePartiallyUploaded: - result = i18n('UPLOAD/ERROR_FILE_PARTIALLY_UPLOADED'); - break; - - case Common_Enums__WEBPACK_IMPORTED_MODULE_10__["UploadErrorCode"].FileNoUploaded: - result = i18n('UPLOAD/ERROR_NO_FILE_UPLOADED'); - break; - - case Common_Enums__WEBPACK_IMPORTED_MODULE_10__["UploadErrorCode"].MissingTempFolder: - result = i18n('UPLOAD/ERROR_MISSING_TEMP_FOLDER'); - break; - - case Common_Enums__WEBPACK_IMPORTED_MODULE_10__["UploadErrorCode"].FileOnSaveingError: - result = i18n('UPLOAD/ERROR_ON_SAVING_FILE'); - break; - - case Common_Enums__WEBPACK_IMPORTED_MODULE_10__["UploadErrorCode"].FileType: - result = i18n('UPLOAD/ERROR_FILE_TYPE'); - break; - - default: - result = i18n('UPLOAD/ERROR_UNKNOWN'); - break; - } - - return result; -} -/** - * @param {boolean} admin - * @param {string} language - */ - -function reload(admin, language) { - var start = Object(Common_Utils__WEBPACK_IMPORTED_MODULE_11__["microtime"])(); - Common_Globals__WEBPACK_IMPORTED_MODULE_12__["$html"].addClass('rl-changing-language'); - return new window__WEBPACK_IMPORTED_MODULE_6___default.a.Promise(function (resolve, reject) { - $__WEBPACK_IMPORTED_MODULE_8___default.a.ajax({ - url: Object(Common_Links__WEBPACK_IMPORTED_MODULE_14__[/* langLink */ "n"])(language, admin), - dataType: 'script', - cache: true - }).then(function () { - ___WEBPACK_IMPORTED_MODULE_7___default.a.delay(function () { - reloadData(); - var isRtl = -1 < Object(Common_Utils__WEBPACK_IMPORTED_MODULE_11__["inArray"])((language || '').toLowerCase(), ['ar', 'ar_sa', 'he', 'he_he', 'ur', 'ur_ir']); - Common_Globals__WEBPACK_IMPORTED_MODULE_12__["$html"].removeClass('rl-changing-language').removeClass('rl-rtl rl-ltr') // .attr('dir', isRtl ? 'rtl' : 'ltr') - .addClass(isRtl ? 'rl-rtl' : 'rl-ltr'); - resolve(); - }, 500 < Object(Common_Utils__WEBPACK_IMPORTED_MODULE_11__["microtime"])() - start ? 1 : 500); - }, function () { - Common_Globals__WEBPACK_IMPORTED_MODULE_12__["$html"].removeClass('rl-changing-language'); - window__WEBPACK_IMPORTED_MODULE_6___default.a.rainloopI18N = null; - reject(); - }); - }); -} // init section - -Common_Globals__WEBPACK_IMPORTED_MODULE_12__["$html"].addClass('rl-' + (Common_Globals__WEBPACK_IMPORTED_MODULE_12__["$html"].attr('dir') || 'ltr')); - -/***/ }), -/* 10 */ -/*!**********************************************************************!*\ - !*** ./node_modules/@babel/runtime-corejs3/helpers/inheritsLoose.js ***! - \**********************************************************************/ -/*! no static exports found */ -/*! exports used: default */ -/***/ (function(module, exports, __webpack_require__) { - -var _Object$create = __webpack_require__(/*! ../core-js/object/create */ 351); - -function _inheritsLoose(subClass, superClass) { - subClass.prototype = _Object$create(superClass.prototype); - subClass.prototype.constructor = subClass; - subClass.__proto__ = superClass; -} - -module.exports = _inheritsLoose; - -/***/ }), -/* 11 */, -/* 12 */ -/*!*****************************************************************************!*\ - !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/instance/find.js ***! - \*****************************************************************************/ -/*! no static exports found */ -/*! exports used: default */ -/***/ (function(module, exports, __webpack_require__) { - -module.exports = __webpack_require__(/*! core-js-pure/stable/instance/find */ 310); - -/***/ }), -/* 13 */, -/* 14 */, -/* 15 */ -/*!*****************************!*\ - !*** ./dev/Common/Links.js ***! - \*****************************/ -/*! exports provided: populateAuthSuffix, subQueryPrefix, root, rootAdmin, rootUser, attachmentRaw, attachmentDownload, attachmentPreview, attachmentThumbnailPreview, attachmentPreviewAsPlain, attachmentFramed, serverRequest, upload, uploadContacts, uploadBackground, append, change, ajax, messageViewLink, messageDownloadLink, avatarLink, publicLink, userBackground, phpInfo, langLink, exportContactsVcf, exportContactsCsv, socialGoogle, socialTwitter, socialFacebook, staticPrefix, emptyContactPic, sound, notificationMailIcon, openPgpJs, openPgpWorkerJs, openPgpWorkerPath, themePreviewLink, inbox, settings, about, admin, mailBox */ -/*! exports used: ajax, append, attachmentDownload, attachmentFramed, attachmentPreview, attachmentPreviewAsPlain, attachmentThumbnailPreview, avatarLink, change, emptyContactPic, exportContactsCsv, exportContactsVcf, inbox, langLink, mailBox, messageDownloadLink, messageViewLink, notificationMailIcon, openPgpJs, openPgpWorkerJs, phpInfo, populateAuthSuffix, root, rootAdmin, rootUser, settings, socialFacebook, socialGoogle, socialTwitter, sound, subQueryPrefix, themePreviewLink, upload, uploadBackground, uploadContacts, userBackground */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "v", function() { return populateAuthSuffix; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "E", function() { return subQueryPrefix; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "w", function() { return root; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "x", function() { return rootAdmin; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "y", function() { return rootUser; }); -/* unused harmony export attachmentRaw */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return attachmentDownload; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return attachmentPreview; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return attachmentThumbnailPreview; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return attachmentPreviewAsPlain; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return attachmentFramed; }); -/* unused harmony export serverRequest */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "G", function() { return upload; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "I", function() { return uploadContacts; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "H", function() { return uploadBackground; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return append; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "i", function() { return change; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ajax; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "q", function() { return messageViewLink; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "p", function() { return messageDownloadLink; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return avatarLink; }); -/* unused harmony export publicLink */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "J", function() { return userBackground; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "u", function() { return phpInfo; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "n", function() { return langLink; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "l", function() { return exportContactsVcf; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "k", function() { return exportContactsCsv; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "B", function() { return socialGoogle; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "C", function() { return socialTwitter; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "A", function() { return socialFacebook; }); -/* unused harmony export staticPrefix */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "j", function() { return emptyContactPic; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "D", function() { return sound; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "r", function() { return notificationMailIcon; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "s", function() { return openPgpJs; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "t", function() { return openPgpWorkerJs; }); -/* unused harmony export openPgpWorkerPath */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "F", function() { return themePreviewLink; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "m", function() { return inbox; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "z", function() { return settings; }); -/* unused harmony export about */ -/* unused harmony export admin */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "o", function() { return mailBox; }); -/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.regexp.exec */ 48); -/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.string.replace */ 56); -/* harmony import */ var core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var window__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! window */ 4); -/* harmony import */ var window__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(window__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var Common_Utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! Common/Utils */ 2); -/* harmony import */ var Storage_Settings__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! Storage/Settings */ 5); - - - - - -var ROOT = './', - HASH_PREFIX = '#/', - SERVER_PREFIX = './?', - SUB_QUERY_PREFIX = '&q[]=', - VERSION = Storage_Settings__WEBPACK_IMPORTED_MODULE_4__["appSettingsGet"]('version'), - WEB_PREFIX = Storage_Settings__WEBPACK_IMPORTED_MODULE_4__["appSettingsGet"]('webPath') || '', - VERSION_PREFIX = Storage_Settings__WEBPACK_IMPORTED_MODULE_4__["appSettingsGet"]('webVersionPath') || 'rainloop/v/' + VERSION + '/', - STATIC_PREFIX = VERSION_PREFIX + 'static/', - ADMIN_HOST_USE = !!Storage_Settings__WEBPACK_IMPORTED_MODULE_4__["appSettingsGet"]('adminHostUse'), - ADMIN_PATH = Storage_Settings__WEBPACK_IMPORTED_MODULE_4__["appSettingsGet"]('adminPath') || 'admin'; -var AUTH_PREFIX = Storage_Settings__WEBPACK_IMPORTED_MODULE_4__["settingsGet"]('AuthAccountHash') || '0'; -/** - * @returns {void} - */ - -function populateAuthSuffix() { - AUTH_PREFIX = Storage_Settings__WEBPACK_IMPORTED_MODULE_4__["settingsGet"]('AuthAccountHash') || '0'; -} -/** - * @returns {string} - */ - -function subQueryPrefix() { - return SUB_QUERY_PREFIX; -} -/** - * @param {string=} startupUrl - * @returns {string} - */ - -function root(startupUrl) { - if (startupUrl === void 0) { - startupUrl = ''; - } - - return HASH_PREFIX + Object(Common_Utils__WEBPACK_IMPORTED_MODULE_3__["pString"])(startupUrl); -} -/** - * @returns {string} - */ - -function rootAdmin() { - return ADMIN_HOST_USE ? ROOT : SERVER_PREFIX + ADMIN_PATH; -} -/** - * @returns {string} - */ - -function rootUser() { - return ROOT; -} -/** - * @param {string} type - * @param {string} download - * @param {string=} customSpecSuffix - * @returns {string} - */ - -function attachmentRaw(type, download, customSpecSuffix) { - customSpecSuffix = Object(Common_Utils__WEBPACK_IMPORTED_MODULE_3__["isUnd"])(customSpecSuffix) ? AUTH_PREFIX : customSpecSuffix; - return SERVER_PREFIX + '/Raw/' + SUB_QUERY_PREFIX + '/' + customSpecSuffix + '/' + type + '/' + SUB_QUERY_PREFIX + '/' + download; -} -/** - * @param {string} download - * @param {string=} customSpecSuffix - * @returns {string} - */ - -function attachmentDownload(download, customSpecSuffix) { - return attachmentRaw('Download', download, customSpecSuffix); -} -/** - * @param {string} download - * @param {string=} customSpecSuffix - * @returns {string} - */ - -function attachmentPreview(download, customSpecSuffix) { - return attachmentRaw('View', download, customSpecSuffix); -} -/** - * @param {string} download - * @param {string=} customSpecSuffix - * @returns {string} - */ - -function attachmentThumbnailPreview(download, customSpecSuffix) { - return attachmentRaw('ViewThumbnail', download, customSpecSuffix); -} -/** - * @param {string} download - * @param {string=} customSpecSuffix - * @returns {string} - */ - -function attachmentPreviewAsPlain(download, customSpecSuffix) { - return attachmentRaw('ViewAsPlain', download, customSpecSuffix); -} -/** - * @param {string} download - * @param {string=} customSpecSuffix - * @returns {string} - */ - -function attachmentFramed(download, customSpecSuffix) { - return attachmentRaw('FramedView', download, customSpecSuffix); -} -/** - * @param {string} type - * @returns {string} - */ - -function serverRequest(type) { - return SERVER_PREFIX + '/' + type + '/' + SUB_QUERY_PREFIX + '/' + AUTH_PREFIX + '/'; -} -/** - * @returns {string} - */ - -function upload() { - return serverRequest('Upload'); -} -/** - * @returns {string} - */ - -function uploadContacts() { - return serverRequest('UploadContacts'); -} -/** - * @returns {string} - */ - -function uploadBackground() { - return serverRequest('UploadBackground'); -} -/** - * @returns {string} - */ - -function append() { - return serverRequest('Append'); -} -/** - * @param {string} email - * @returns {string} - */ - -function change(email) { - return serverRequest('Change') + Object(Common_Utils__WEBPACK_IMPORTED_MODULE_3__["encodeURIComponent"])(email) + '/'; -} -/** - * @param {string} add - * @returns {string} - */ - -function ajax(add) { - return serverRequest('Ajax') + add; -} -/** - * @param {string} requestHash - * @returns {string} - */ - -function messageViewLink(requestHash) { - return SERVER_PREFIX + '/Raw/' + SUB_QUERY_PREFIX + '/' + AUTH_PREFIX + '/ViewAsPlain/' + SUB_QUERY_PREFIX + '/' + requestHash; -} -/** - * @param {string} requestHash - * @returns {string} - */ - -function messageDownloadLink(requestHash) { - return SERVER_PREFIX + '/Raw/' + SUB_QUERY_PREFIX + '/' + AUTH_PREFIX + '/Download/' + SUB_QUERY_PREFIX + '/' + requestHash; -} -/** - * @param {string} email - * @returns {string} - */ - -function avatarLink(email) { - return SERVER_PREFIX + '/Raw/0/Avatar/' + Object(Common_Utils__WEBPACK_IMPORTED_MODULE_3__["encodeURIComponent"])(email) + '/'; -} -/** - * @param {string} hash - * @returns {string} - */ - -function publicLink(hash) { - return SERVER_PREFIX + '/Raw/0/Public/' + hash + '/'; -} -/** - * @param {string} hash - * @returns {string} - */ - -function userBackground(hash) { - return SERVER_PREFIX + '/Raw/' + SUB_QUERY_PREFIX + '/' + AUTH_PREFIX + '/UserBackground/' + SUB_QUERY_PREFIX + '/' + hash; -} -/** - * @returns {string} - */ - -function phpInfo() { - return SERVER_PREFIX + '/Info'; -} -/** - * @param {string} lang - * @param {boolean} isAdmin - * @returns {string} - */ - -function langLink(lang, isAdmin) { - return SERVER_PREFIX + '/Lang/0/' + (isAdmin ? 'Admin' : 'App') + '/' + window__WEBPACK_IMPORTED_MODULE_2___default.a.encodeURI(lang) + '/' + VERSION + '/'; -} -/** - * @returns {string} - */ - -function exportContactsVcf() { - return SERVER_PREFIX + '/Raw/' + SUB_QUERY_PREFIX + '/' + AUTH_PREFIX + '/ContactsVcf/'; -} -/** - * @returns {string} - */ - -function exportContactsCsv() { - return SERVER_PREFIX + '/Raw/' + SUB_QUERY_PREFIX + '/' + AUTH_PREFIX + '/ContactsCsv/'; -} -/** - * @param {boolean} xauth = false - * @returns {string} - */ - -function socialGoogle(xauth) { - if (xauth === void 0) { - xauth = false; - } - - return SERVER_PREFIX + 'SocialGoogle' + ('' !== AUTH_PREFIX ? '/' + SUB_QUERY_PREFIX + '/' + AUTH_PREFIX + '/' : '') + (xauth ? '&xauth=1' : ''); -} -/** - * @returns {string} - */ - -function socialTwitter() { - return SERVER_PREFIX + 'SocialTwitter' + ('' !== AUTH_PREFIX ? '/' + SUB_QUERY_PREFIX + '/' + AUTH_PREFIX + '/' : ''); -} -/** - * @returns {string} - */ - -function socialFacebook() { - return SERVER_PREFIX + 'SocialFacebook' + ('' !== AUTH_PREFIX ? '/' + SUB_QUERY_PREFIX + '/' + AUTH_PREFIX + '/' : ''); -} -/** - * @param {string} path - * @returns {string} - */ - -function staticPrefix(path) { - return STATIC_PREFIX + path; -} -/** - * @returns {string} - */ - -function emptyContactPic() { - return staticPrefix('css/images/empty-contact.png'); -} -/** - * @param {string} fileName - * @returns {string} - */ - -function sound(fileName) { - return staticPrefix('sounds/' + fileName); -} -/** - * @returns {string} - */ - -function notificationMailIcon() { - return staticPrefix('css/images/icom-message-notification.png'); -} -/** - * @returns {string} - */ - -function openPgpJs() { - return staticPrefix('js/min/openpgp.min.js'); -} -/** - * @returns {string} - */ - -function openPgpWorkerJs() { - return staticPrefix('js/min/openpgp.worker.min.js'); -} -/** - * @returns {string} - */ - -function openPgpWorkerPath() { - return staticPrefix('js/min/'); -} -/** - * @param {string} theme - * @returns {string} - */ - -function themePreviewLink(theme) { - var prefix = VERSION_PREFIX; - - if ('@custom' === theme.substr(-7)) { - theme = Object(Common_Utils__WEBPACK_IMPORTED_MODULE_3__["trim"])(theme.substring(0, theme.length - 7)); - prefix = WEB_PREFIX; - } - - return prefix + 'themes/' + window__WEBPACK_IMPORTED_MODULE_2___default.a.encodeURI(theme) + '/images/preview.png'; -} -/** - * @param {string} inboxFolderName = 'INBOX' - * @returns {string} - */ - -function inbox(inboxFolderName) { - if (inboxFolderName === void 0) { - inboxFolderName = 'INBOX'; - } - - return HASH_PREFIX + 'mailbox/' + inboxFolderName; -} -/** - * @param {string=} screenName = '' - * @returns {string} - */ - -function settings(screenName) { - if (screenName === void 0) { - screenName = ''; - } - - return HASH_PREFIX + 'settings' + (screenName ? '/' + screenName : ''); -} -/** - * @returns {string} - */ - -function about() { - return HASH_PREFIX + 'about'; -} -/** - * @param {string} screenName - * @returns {string} - */ - -function admin(screenName) { - var result = HASH_PREFIX; - - switch (screenName) { - case 'AdminDomains': - result += 'domains'; - break; - - case 'AdminSecurity': - result += 'security'; - break; - - case 'AdminLicensing': - result += 'licensing'; - break; - // no default - } - - return result; -} -/** - * @param {string} folder - * @param {number=} page = 1 - * @param {string=} search = '' - * @param {string=} threadUid = '' - * @returns {string} - */ - -function mailBox(folder, page, search, threadUid) { - if (page === void 0) { - page = 1; - } - - if (search === void 0) { - search = ''; - } - - if (threadUid === void 0) { - threadUid = ''; - } - - page = Object(Common_Utils__WEBPACK_IMPORTED_MODULE_3__["isNormal"])(page) ? Object(Common_Utils__WEBPACK_IMPORTED_MODULE_3__["pInt"])(page) : 1; - search = Object(Common_Utils__WEBPACK_IMPORTED_MODULE_3__["pString"])(search); - var result = HASH_PREFIX + 'mailbox/'; - - if ('' !== folder) { - var resultThreadUid = Object(Common_Utils__WEBPACK_IMPORTED_MODULE_3__["pInt"])(threadUid); - result += window__WEBPACK_IMPORTED_MODULE_2___default.a.encodeURI(folder) + (0 < resultThreadUid ? '~' + resultThreadUid : ''); - } - - if (1 < page) { - result = result.replace(/[/]+$/, ''); - result += '/p' + page; - } - - if ('' !== search) { - result = result.replace(/[/]+$/, ''); - result += '/' + window__WEBPACK_IMPORTED_MODULE_2___default.a.encodeURI(search); - } - - return result; -} - -/***/ }), -/* 16 */, -/* 17 */ -/*!***********************************************************************!*\ - !*** ./node_modules/@babel/runtime-corejs3/helpers/defineProperty.js ***! - \***********************************************************************/ -/*! no static exports found */ -/*! exports used: default */ -/***/ (function(module, exports, __webpack_require__) { - -var _Object$defineProperty = __webpack_require__(/*! ../core-js/object/define-property */ 251); - -function _defineProperty(obj, key, value) { - if (key in obj) { - _Object$defineProperty(obj, key, { - value: value, - enumerable: true, - configurable: true, - writable: true - }); - } else { - obj[key] = value; - } - - return obj; -} - -module.exports = _defineProperty; - -/***/ }), -/* 18 */ -/*!****************************************************************************!*\ - !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/instance/map.js ***! - \****************************************************************************/ -/*! no static exports found */ -/*! exports used: default */ -/***/ (function(module, exports, __webpack_require__) { - -module.exports = __webpack_require__(/*! core-js-pure/stable/instance/map */ 330); - -/***/ }), -/* 19 */ -/*!**************************************************************************************************!*\ - !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor.js ***! - \**************************************************************************************************/ -/*! no static exports found */ -/*! exports used: default */ -/***/ (function(module, exports, __webpack_require__) { - -module.exports = __webpack_require__(/*! core-js-pure/stable/object/get-own-property-descriptor */ 355); - -/***/ }), -/* 20 */ -/*!*********************************************************************************!*\ - !*** ./node_modules/@babel/runtime-corejs3/helpers/applyDecoratedDescriptor.js ***! - \*********************************************************************************/ -/*! no static exports found */ -/*! exports used: default */ -/***/ (function(module, exports, __webpack_require__) { - -var _Object$defineProperty = __webpack_require__(/*! ../core-js/object/define-property */ 251); - -var _sliceInstanceProperty = __webpack_require__(/*! ../core-js/instance/slice */ 358); - -var _reverseInstanceProperty = __webpack_require__(/*! ../core-js/instance/reverse */ 363); - -var _reduceInstanceProperty = __webpack_require__(/*! ../core-js/instance/reduce */ 368); - -var _Object$keys = __webpack_require__(/*! ../core-js/object/keys */ 370); - -var _forEachInstanceProperty = __webpack_require__(/*! ../core-js/instance/for-each */ 374); - -function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { - var _context, _context2, _context3; - - var desc = {}; - - _forEachInstanceProperty(_context = _Object$keys(descriptor)).call(_context, function (key) { - desc[key] = descriptor[key]; - }); - - desc.enumerable = !!desc.enumerable; - desc.configurable = !!desc.configurable; - - if ('value' in desc || desc.initializer) { - desc.writable = true; - } - - desc = _reduceInstanceProperty(_context2 = _reverseInstanceProperty(_context3 = _sliceInstanceProperty(decorators).call(decorators)).call(_context3)).call(_context2, function (desc, decorator) { - return decorator(target, property, desc) || desc; - }, desc); - - if (context && desc.initializer !== void 0) { - desc.value = desc.initializer ? desc.initializer.call(context) : void 0; - desc.initializer = undefined; - } - - if (desc.initializer === void 0) { - _Object$defineProperty(target, property, desc); - - desc = null; - } - - return desc; -} - -module.exports = _applyDecoratedDescriptor; - -/***/ }), -/* 21 */ -/*!*****************************!*\ - !*** external "window.key" ***! - \*****************************/ -/*! no static exports found */ -/*! exports used: default */ -/***/ (function(module, exports) { - -module.exports = window.key; - -/***/ }), -/* 22 */, -/* 23 */ -/*!**********************************!*\ - !*** ./dev/Remote/Admin/Ajax.js ***! - \**********************************/ -/*! exports provided: default */ -/*! exports used: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var _babel_runtime_corejs3_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/inheritsLoose */ 10); -/* harmony import */ var _babel_runtime_corejs3_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var Remote_AbstractAjax__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! Remote/AbstractAjax */ 256); - - - -var RemoteAdminAjax = -/*#__PURE__*/ -function (_AbstractAjaxRemote) { - _babel_runtime_corejs3_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0___default()(RemoteAdminAjax, _AbstractAjaxRemote); - - function RemoteAdminAjax() { - var _this; - - _this = _AbstractAjaxRemote.call(this) || this; - _this.oRequests = {}; - return _this; - } - /** - * @param {?Function} fCallback - * @param {string} sLogin - * @param {string} sPassword - */ - - - var _proto = RemoteAdminAjax.prototype; - - _proto.adminLogin = function adminLogin(fCallback, sLogin, sPassword) { - this.defaultRequest(fCallback, 'AdminLogin', { - 'Login': sLogin, - 'Password': sPassword - }); - } - /** - * @param {?Function} fCallback - */ - ; - - _proto.adminLogout = function adminLogout(fCallback) { - this.defaultRequest(fCallback, 'AdminLogout'); - } - /** - * @param {?Function} fCallback - * @param {?} oData - */ - ; - - _proto.saveAdminConfig = function saveAdminConfig(fCallback, oData) { - this.defaultRequest(fCallback, 'AdminSettingsUpdate', oData); - } - /** - * @param {string} key - * @param {?Function} valueFn - * @param {?Function} fn - */ - ; - - _proto.saveAdminConfigHelper = function saveAdminConfigHelper(key, valueFn, fn) { - var _this2 = this; - - return function (value) { - var data = {}; - data[key] = valueFn ? valueFn(value) : value; - - _this2.saveAdminConfig(fn || null, data); - }; - } - /** - * @param {?Function} fCallback - * @param {boolean=} bIncludeAliases = true - */ - ; - - _proto.domainList = function domainList(fCallback, bIncludeAliases) { - if (bIncludeAliases === void 0) { - bIncludeAliases = true; - } - - this.defaultRequest(fCallback, 'AdminDomainList', { - 'IncludeAliases': bIncludeAliases ? '1' : '0' - }); - } - /** - * @param {?Function} fCallback - */ - ; - - _proto.pluginList = function pluginList(fCallback) { - this.defaultRequest(fCallback, 'AdminPluginList'); - } - /** - * @param {?Function} fCallback - */ - ; - - _proto.packagesList = function packagesList(fCallback) { - this.defaultRequest(fCallback, 'AdminPackagesList'); - } - /** - * @param {?Function} fCallback - */ - ; - - _proto.coreData = function coreData(fCallback) { - this.defaultRequest(fCallback, 'AdminCoreData'); - } - /** - * @param {?Function} fCallback - */ - ; - - _proto.updateCoreData = function updateCoreData(fCallback) { - this.defaultRequest(fCallback, 'AdminUpdateCoreData', {}, 90000); - } - /** - * @param {?Function} fCallback - * @param {Object} oPackage - */ - ; - - _proto.packageInstall = function packageInstall(fCallback, oPackage) { - this.defaultRequest(fCallback, 'AdminPackageInstall', { - 'Id': oPackage.id, - 'Type': oPackage.type, - 'File': oPackage.file - }, 60000); - } - /** - * @param {?Function} fCallback - * @param {Object} oPackage - */ - ; - - _proto.packageDelete = function packageDelete(fCallback, oPackage) { - this.defaultRequest(fCallback, 'AdminPackageDelete', { - 'Id': oPackage.id - }); - } - /** - * @param {?Function} fCallback - * @param {string} sName - */ - ; - - _proto.domain = function domain(fCallback, sName) { - this.defaultRequest(fCallback, 'AdminDomainLoad', { - 'Name': sName - }); - } - /** - * @param {?Function} fCallback - * @param {string} sName - */ - ; - - _proto.plugin = function plugin(fCallback, sName) { - this.defaultRequest(fCallback, 'AdminPluginLoad', { - 'Name': sName - }); - } - /** - * @param {?Function} fCallback - * @param {string} sName - */ - ; - - _proto.domainDelete = function domainDelete(fCallback, sName) { - this.defaultRequest(fCallback, 'AdminDomainDelete', { - 'Name': sName - }); - } - /** - * @param {?Function} fCallback - * @param {string} sName - * @param {boolean} bDisabled - */ - ; - - _proto.domainDisable = function domainDisable(fCallback, sName, bDisabled) { - return this.defaultRequest(fCallback, 'AdminDomainDisable', { - Name: sName, - Disabled: bDisabled ? '1' : '0' - }); - } - /** - * @param {?Function} fCallback - * @param {Object} oConfig - */ - ; - - _proto.pluginSettingsUpdate = function pluginSettingsUpdate(fCallback, oConfig) { - return this.defaultRequest(fCallback, 'AdminPluginSettingsUpdate', oConfig); - } - /** - * @param {?Function} fCallback - * @param {boolean} bForce - */ - ; - - _proto.licensing = function licensing(fCallback, bForce) { - return this.defaultRequest(fCallback, 'AdminLicensing', { - Force: bForce ? '1' : '0' - }); - } - /** - * @param {?Function} fCallback - * @param {string} sDomain - * @param {string} sKey - */ - ; - - _proto.licensingActivate = function licensingActivate(fCallback, sDomain, sKey) { - return this.defaultRequest(fCallback, 'AdminLicensingActivate', { - Domain: sDomain, - Key: sKey - }); - } - /** - * @param {?Function} fCallback - * @param {string} sName - * @param {boolean} bDisabled - */ - ; - - _proto.pluginDisable = function pluginDisable(fCallback, sName, bDisabled) { - return this.defaultRequest(fCallback, 'AdminPluginDisable', { - Name: sName, - Disabled: bDisabled ? '1' : '0' - }); - }; - - _proto.createDomainAlias = function createDomainAlias(fCallback, sName, sAlias) { - this.defaultRequest(fCallback, 'AdminDomainAliasSave', { - Name: sName, - Alias: sAlias - }); - }; - - _proto.createOrUpdateDomain = function createOrUpdateDomain(fCallback, bCreate, sName, sIncHost, iIncPort, sIncSecure, bIncShortLogin, bUseSieve, sSieveAllowRaw, sSieveHost, iSievePort, sSieveSecure, sOutHost, iOutPort, sOutSecure, bOutShortLogin, bOutAuth, bOutPhpMail, sWhiteList) { - this.defaultRequest(fCallback, 'AdminDomainSave', { - 'Create': bCreate ? '1' : '0', - 'Name': sName, - 'IncHost': sIncHost, - 'IncPort': iIncPort, - 'IncSecure': sIncSecure, - 'IncShortLogin': bIncShortLogin ? '1' : '0', - 'UseSieve': bUseSieve ? '1' : '0', - 'SieveAllowRaw': sSieveAllowRaw ? '1' : '0', - 'SieveHost': sSieveHost, - 'SievePort': iSievePort, - 'SieveSecure': sSieveSecure, - 'OutHost': sOutHost, - 'OutPort': iOutPort, - 'OutSecure': sOutSecure, - 'OutShortLogin': bOutShortLogin ? '1' : '0', - 'OutAuth': bOutAuth ? '1' : '0', - 'OutUsePhpMail': bOutPhpMail ? '1' : '0', - 'WhiteList': sWhiteList - }); - }; - - _proto.testConnectionForDomain = function testConnectionForDomain(fCallback, sName, sIncHost, iIncPort, sIncSecure, bUseSieve, sSieveHost, iSievePort, sSieveSecure, sOutHost, iOutPort, sOutSecure, bOutAuth, bOutPhpMail) { - this.defaultRequest(fCallback, 'AdminDomainTest', { - 'Name': sName, - 'IncHost': sIncHost, - 'IncPort': iIncPort, - 'IncSecure': sIncSecure, - 'UseSieve': bUseSieve ? '1' : '0', - 'SieveHost': sSieveHost, - 'SievePort': iSievePort, - 'SieveSecure': sSieveSecure, - 'OutHost': sOutHost, - 'OutPort': iOutPort, - 'OutSecure': sOutSecure, - 'OutAuth': bOutAuth ? '1' : '0', - 'OutUsePhpMail': bOutPhpMail ? '1' : '0' - }); - } - /** - * @param {?Function} fCallback - * @param {?} oData - */ - ; - - _proto.testContacts = function testContacts(fCallback, oData) { - this.defaultRequest(fCallback, 'AdminContactsTest', oData); - } - /** - * @param {?Function} fCallback - * @param {?} oData - */ - ; - - _proto.saveNewAdminPassword = function saveNewAdminPassword(fCallback, oData) { - this.defaultRequest(fCallback, 'AdminPasswordUpdate', oData); - } - /** - * @param {?Function} fCallback - */ - ; - - _proto.adminPing = function adminPing(fCallback) { - this.defaultRequest(fCallback, 'AdminPing'); - }; - - return RemoteAdminAjax; -}(Remote_AbstractAjax__WEBPACK_IMPORTED_MODULE_1__[/* AbstractAjaxRemote */ "a"]); - -/* harmony default export */ __webpack_exports__["a"] = (new RemoteAdminAjax()); - -/***/ }), -/* 24 */ -/*!******************************!*\ - !*** ./dev/Common/Events.js ***! - \******************************/ -/*! exports provided: sub, pub */ -/*! exports used: pub, sub */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return sub; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return pub; }); -/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! _ */ 3); -/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(___WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var Common_Utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! Common/Utils */ 2); -/* harmony import */ var Common_Plugins__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! Common/Plugins */ 38); - - - -var SUBS = {}; -/** - * @param {string|Object} name - * @param {Function} func - * @param {Object=} context - */ - -function sub(name, func, context) { - if (Object(Common_Utils__WEBPACK_IMPORTED_MODULE_1__["isObject"])(name)) { - context = func || null; - func = null; - - ___WEBPACK_IMPORTED_MODULE_0___default.a.each(name, function (subFunc, subName) { - sub(subName, subFunc, context); - }); - } else { - if (Object(Common_Utils__WEBPACK_IMPORTED_MODULE_1__["isUnd"])(SUBS[name])) { - SUBS[name] = []; - } - - SUBS[name].push([func, context]); - } -} -/** - * @param {string} name - * @param {Array=} args - */ - -function pub(name, args) { - Common_Plugins__WEBPACK_IMPORTED_MODULE_2__[/* runHook */ "f"]('rl-pub', [name, args]); - - if (!Object(Common_Utils__WEBPACK_IMPORTED_MODULE_1__["isUnd"])(SUBS[name])) { - ___WEBPACK_IMPORTED_MODULE_0___default.a.each(SUBS[name], function (items) { - if (items[0]) { - items[0].apply(items[1] || null, args || []); - } - }); - } -} - -/***/ }), -/* 25 */ -/*!******************************!*\ - !*** ./dev/Common/Consts.js ***! - \******************************/ -/*! exports provided: MESSAGES_PER_PAGE, MESSAGES_PER_PAGE_VALUES, CONTACTS_PER_PAGE, DEFAULT_AJAX_TIMEOUT, SEARCH_AJAX_TIMEOUT, SEND_MESSAGE_AJAX_TIMEOUT, SAVE_MESSAGE_AJAX_TIMEOUT, CONTACTS_SYNC_AJAX_TIMEOUT, UNUSED_OPTION_VALUE, CLIENT_SIDE_STORAGE_INDEX_NAME, IMAP_DEFAULT_PORT, IMAP_DEFAULT_SECURE_PORT, SMTP_DEFAULT_PORT, SMTP_DEFAULT_SECURE_PORT, SIEVE_DEFAULT_PORT, MESSAGE_BODY_CACHE_LIMIT, AJAX_ERROR_LIMIT, TOKEN_ERROR_LIMIT, RAINLOOP_TRIAL_KEY, DATA_IMAGE_USER_DOT_PIC, DATA_IMAGE_TRANSP_PIC, DATA_IMAGE_LAZY_PLACEHOLDER_PIC */ -/*! exports used: AJAX_ERROR_LIMIT, CLIENT_SIDE_STORAGE_INDEX_NAME, CONTACTS_PER_PAGE, CONTACTS_SYNC_AJAX_TIMEOUT, DATA_IMAGE_LAZY_PLACEHOLDER_PIC, DATA_IMAGE_USER_DOT_PIC, DEFAULT_AJAX_TIMEOUT, IMAP_DEFAULT_PORT, MESSAGES_PER_PAGE, MESSAGES_PER_PAGE_VALUES, MESSAGE_BODY_CACHE_LIMIT, SAVE_MESSAGE_AJAX_TIMEOUT, SEARCH_AJAX_TIMEOUT, SEND_MESSAGE_AJAX_TIMEOUT, SIEVE_DEFAULT_PORT, SMTP_DEFAULT_PORT, TOKEN_ERROR_LIMIT, UNUSED_OPTION_VALUE */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "i", function() { return MESSAGES_PER_PAGE; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "j", function() { return MESSAGES_PER_PAGE_VALUES; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return CONTACTS_PER_PAGE; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return DEFAULT_AJAX_TIMEOUT; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "m", function() { return SEARCH_AJAX_TIMEOUT; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "n", function() { return SEND_MESSAGE_AJAX_TIMEOUT; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "l", function() { return SAVE_MESSAGE_AJAX_TIMEOUT; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return CONTACTS_SYNC_AJAX_TIMEOUT; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "r", function() { return UNUSED_OPTION_VALUE; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return CLIENT_SIDE_STORAGE_INDEX_NAME; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return IMAP_DEFAULT_PORT; }); -/* unused harmony export IMAP_DEFAULT_SECURE_PORT */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "p", function() { return SMTP_DEFAULT_PORT; }); -/* unused harmony export SMTP_DEFAULT_SECURE_PORT */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "o", function() { return SIEVE_DEFAULT_PORT; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "k", function() { return MESSAGE_BODY_CACHE_LIMIT; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AJAX_ERROR_LIMIT; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "q", function() { return TOKEN_ERROR_LIMIT; }); -/* unused harmony export RAINLOOP_TRIAL_KEY */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return DATA_IMAGE_USER_DOT_PIC; }); -/* unused harmony export DATA_IMAGE_TRANSP_PIC */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return DATA_IMAGE_LAZY_PLACEHOLDER_PIC; }); -var MESSAGES_PER_PAGE = 20; -var MESSAGES_PER_PAGE_VALUES = [10, 20, 30, 50, 100]; -var CONTACTS_PER_PAGE = 50; -var DEFAULT_AJAX_TIMEOUT = 30000; -var SEARCH_AJAX_TIMEOUT = 300000; -var SEND_MESSAGE_AJAX_TIMEOUT = 300000; -var SAVE_MESSAGE_AJAX_TIMEOUT = 200000; -var CONTACTS_SYNC_AJAX_TIMEOUT = 200000; -var UNUSED_OPTION_VALUE = '__UNUSE__'; -var CLIENT_SIDE_STORAGE_INDEX_NAME = 'rlcsc'; -var IMAP_DEFAULT_PORT = 143; -var IMAP_DEFAULT_SECURE_PORT = 993; -var SMTP_DEFAULT_PORT = 25; -var SMTP_DEFAULT_SECURE_PORT = 465; -var SIEVE_DEFAULT_PORT = 4190; -var MESSAGE_BODY_CACHE_LIMIT = 15; -var AJAX_ERROR_LIMIT = 7; -var TOKEN_ERROR_LIMIT = 10; -var RAINLOOP_TRIAL_KEY = 'RAINLOOP-TRIAL-KEY'; -/* eslint max-len: 0 */ - -var DATA_IMAGE_USER_DOT_PIC = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAAuCAYAAABXuSs3AAAHHklEQVRoQ7VZW08bVxCeXRuwIbTGXIwNtBBaqjwgVUiR8lDlbza9qe1DpVZ9aNQ/0KpPeaJK07SpcuEeCEmUAObm21bfrL9lONjexSYrWfbunj37zXdmvpkz9oIgCKTD0Wg0xPd94TDP83Q0zvWa50vzklSrdanVanqf4/D84GBGr+F+Op3S8fqoJxLOdnZgTvsO/nYhenHA+UC7CWF1uXwkb9++ldPTUwVerVbVqFQqpR8YPjQ0JCMjI5LNDijoRgP3PQVu5+5Eor2XGLg7IV4GkIdHJ/LmzRs5ODiIwNbrdR0O0GCcq4Xz4eFhmZyclP7+tDQaIik/BG5XKQn4SwG3zJTLZXn9+rUclI8UHD5YVoDDN8bSzXhONwL48fFxGR4eilzFZT1uFRIB5yT8BqCdnR3Z3d0VP9Un6XRawYJpggVrZBv38ME4XKtUKnLt2jUplUoy1PR/l3U7T6sVSAQcgMAkj8PDQ9ne3pajoyMRL7zeKsYZWHgWYDGmv78/mmdwcFA+mJlSgziHDWrERrsjEXDXegTi1tZW+DLxI2bxIrqFNYTXyDyCFweMAHCwb8e4RnTNuOsqe3t7sra21pTD0Kct666E8XlcZyzw9/RUUXK5nK5oUinUQI6TQ3cynO/v78vq6qrKXCNwlTiJJpyNGc3nZHp6uqV2dwrQWOCtZBDAV1ZWwsQk7f0wiQn5kffbAu/0/KWBYzIC1+XukfGx0RGZmppKlC2tIV0Bh4aDcZW7HhkfH8urLLZL7T2pihvlkMNnz56FiadHxicL41IsFpN41bkxsYxbRdFo9jwB8KdPn14J8KnSpBQKhQs63nPmbCVRcBUAR2Lq1VVmpksyMTFxAXjcEsQybiegESionjx5osCZOeNe1O4+EhCAX7bQSgQcxRHTMgAgcz5+/Dis/hL4uHU3/B4YGNASGHIKxuEql0k+l05AeIAF1vPnz5VxFFmdDlaJrMtZITJeSsXCOTlMunKxjLtMYOKNjQ158eJFuAuKkUOb5sEwgff19SkJUBVkThZUbnXZrtCKBQ6gbnWIkjZpyne3ejAWoGnA7Icz6irvBLgbOMicCM6TkxPx/LAkbXfgWcsazuE2kFRsKD5Z+CiqDumKncpZvieWcS6dDVD8xiYCNflpJdwcdwJOf9airLmVQ7DPzMxIYWLsXGXoVqLt5k0M3K3JUVPDZdbWNzsCp48TPFdvdnZWUz32nDha7bJ63kgAJPzSdRks9/Kf9xMJAQ1gq2NpaUmy2Yz4zar4nQC3xb99AQwCcGzLAAwuhG8YiWvcOKts+r4GOe5nMhm5efOm9lUA3E3vSZJRrKvE0fnPv//Jy5cvo5cTHIPQbSjhOoqq69evS19f6lxDKK4+sVhigZPtKJqbrQeqxd5+WR4+fKgqgT0k2XX3nhiPgETWXFhYkFzuPZ2yVq1GTSOXpE47/VjgNnD4m4GG7/LhsTx69EiwD4Vr2MwIIxgbAH18fKx1yfz8vEogNvGtWnCuhLZa9UTAreVWFsHy/b/+Vrbdl7E5REMQD2jDoUbByty+/ZnU64GkU2HzyJLhktU1cLv8nARgkYS2d3ajAgwG8qU2oLmDZ92CMaOjo7K4uCiZgbDWaRWgnZhPxLhrMUCvr69riwKZk1LHF7XqrWAO9hJxH6ozNzcnCx/PqztZg9mf6SQMscCtm2C5ke4BGMlHWTUp36036AJajDVrFMzBrhhWslQsSrFYiOqVpMriNYIgqFRq2j3FAb/zffT6zuxFXxsNzs3NTXn16lW4gYiW96w1FyedF+83xG/2FNGCRpU4NjamMsn+OZ9xE5RXqdaDdPpib6RWCzuwKF9RxqI2AVNQBwQYJoK0wdBejnqtEikP3pfP51XjUTESl12FqJEKxsEorARYDD44ONTeID7YpsEnrRvQfWAI2e8WfDaTUSIwJ0iBCmFOtOUAHvVMPp/TPwvYFVYFIuP8l+DBgwdaa2Miqwa0GgYwfeMltovbDfh6c1vIgMYcliSsKv4IWFr6VDHxvldvBAH+1sA+cnl5WYOPmmr9ir+1l9I0Cgz0yjhXjfJJ0JROnmezWbl165ayr/5fqwcBNr7IfhjMqKcvESSM4eRcCasQ3bDNObmKPLdGUGpZsN24cUNLBm9zazu4d++e6qpNBFaTuUS26U5dpuR1CxyA7J9ddrMRqlz4pwLLYawymPd++/2PADt2ugcGwq9gCCdhQ96C6xWwa6j1ceuq+I0EhW0i8MAIVJfeL3d/DVD8EKi12P6/2S2jV/EccVB54O/ejz/9HGCpoBBMta5rXMXLu53D1XAwjhXwvvv+h4BAXVe4bOu3O3ChxF08LiZFG3fel199G9CH3fLyqv24NcB44MRhpdK788U3CpyKwsCw590xmfSpzsBt0Fqc3ud3vtZigxWcVZCklVpSiN0w3q5E/h9TGMIUuA3+EQAAAABJRU5ErkJggg=='; -var DATA_IMAGE_TRANSP_PIC = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQIW2NkAAIAAAoAAggA9GkAAAAASUVORK5CYII='; -var DATA_IMAGE_LAZY_PLACEHOLDER_PIC = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC'; - -/***/ }), -/* 26 */ -/*!*****************************************************************************!*\ - !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/instance/bind.js ***! - \*****************************************************************************/ -/*! no static exports found */ -/*! exports used: default */ -/***/ (function(module, exports, __webpack_require__) { - -module.exports = __webpack_require__(/*! core-js-pure/stable/instance/bind */ 319); - -/***/ }), -/* 27 */ -/*!***************************************!*\ - !*** ./dev/Knoin/AbstractViewNext.js ***! - \***************************************/ -/*! exports provided: AbstractViewNext */ -/*! exports used: AbstractViewNext */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AbstractViewNext; }); -/* harmony import */ var _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/defineProperty */ 17); -/* harmony import */ var _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var ko__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ko */ 1); -/* harmony import */ var Common_Utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! Common/Utils */ 2); -/* harmony import */ var Common_Enums__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! Common/Enums */ 0); -/* harmony import */ var Common_Globals__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! Common/Globals */ 6); - - - - - -var AbstractViewNext = -/*#__PURE__*/ -function () { - function AbstractViewNext() { - _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "bDisabeCloseOnEsc", false); - - _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "sDefaultKeyScope", Common_Enums__WEBPACK_IMPORTED_MODULE_3__["KeyState"].None); - - _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "sCurrentKeyScope", Common_Enums__WEBPACK_IMPORTED_MODULE_3__["KeyState"].None); - - _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "viewModelVisibility", ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].observable(false)); - - _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "modalVisibility", ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].observable(false).extend({ - rateLimit: 0 - })); - - _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "viewModelName", ''); - - _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "viewModelNames", []); - - _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(this, "viewModelDom", null); - } - - var _proto = AbstractViewNext.prototype; - - /** - * @returns {void} - */ - _proto.storeAndSetKeyScope = function storeAndSetKeyScope() { - this.sCurrentKeyScope = Object(Common_Globals__WEBPACK_IMPORTED_MODULE_4__["keyScope"])(); - Object(Common_Globals__WEBPACK_IMPORTED_MODULE_4__["keyScope"])(this.sDefaultKeyScope); - } - /** - * @returns {void} - */ - ; - - _proto.restoreKeyScope = function restoreKeyScope() { - Object(Common_Globals__WEBPACK_IMPORTED_MODULE_4__["keyScope"])(this.sCurrentKeyScope); - } - /** - * @returns {void} - */ - ; - - _proto.registerPopupKeyDown = function registerPopupKeyDown() { - var _this = this; - - Common_Globals__WEBPACK_IMPORTED_MODULE_4__["$win"].on('keydown', function (event) { - if (event && _this.modalVisibility && _this.modalVisibility()) { - if (!_this.bDisabeCloseOnEsc && Common_Enums__WEBPACK_IMPORTED_MODULE_3__["EventKeyCode"].Esc === event.keyCode) { - Object(Common_Utils__WEBPACK_IMPORTED_MODULE_2__["delegateRun"])(_this, 'cancelCommand'); - return false; - } else if (Common_Enums__WEBPACK_IMPORTED_MODULE_3__["EventKeyCode"].Backspace === event.keyCode && !Object(Common_Utils__WEBPACK_IMPORTED_MODULE_2__["inFocus"])()) { - return false; - } - } - - return true; - }); - }; - - _proto.cancelCommand = function cancelCommand() {} // eslint-disable-line no-empty-function - ; - - _proto.closeCommand = function closeCommand() {} // eslint-disable-line no-empty-function - ; - - return AbstractViewNext; -}(); - -/***/ }), -/* 28 */ -/*!**************************************************!*\ - !*** ./node_modules/core-js/internals/global.js ***! - \**************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -/* WEBPACK VAR INJECTION */(function(global) {var O = 'object'; -var check = function (it) { - return it && it.Math == Math && it; -}; - -// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 -module.exports = - // eslint-disable-next-line no-undef - check(typeof globalThis == O && globalThis) || - check(typeof window == O && window) || - check(typeof self == O && self) || - check(typeof global == O && global) || - // eslint-disable-next-line no-new-func - Function('return this')(); - -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ 124))) - -/***/ }), -/* 29 */ -/*!******************************!*\ - !*** ./dev/Stores/Social.js ***! - \******************************/ -/*! exports provided: default */ -/*! exports used: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! window */ 4); -/* harmony import */ var window__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(window__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var ko__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ko */ 1); -/* harmony import */ var $__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! $ */ 8); -/* harmony import */ var $__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n($__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var Storage_Settings__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! Storage/Settings */ 5); - - - - - -var SocialStore = -/*#__PURE__*/ -function () { - function SocialStore() { - var _this = this; - - this.google = {}; - this.twitter = {}; - this.facebook = {}; - this.dropbox = {}; // Google - - this.google.enabled = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].observable(false); - this.google.clientID = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].observable(''); - this.google.clientSecret = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].observable(''); - this.google.apiKey = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].observable(''); - this.google.loading = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].observable(false); - this.google.userName = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].observable(''); - this.google.loggined = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].computed(function () { - return '' !== _this.google.userName(); - }); - this.google.capa = {}; - this.google.capa.auth = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].observable(false); - this.google.capa.authFast = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].observable(false); - this.google.capa.drive = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].observable(false); - this.google.capa.preview = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].observable(false); - this.google.require = {}; - this.google.require.clientSettings = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].computed(function () { - return _this.google.enabled() && (_this.google.capa.auth() || _this.google.capa.drive()); - }); - this.google.require.apiKeySettings = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].computed(function () { - return _this.google.enabled() && _this.google.capa.drive(); - }); // Facebook - - this.facebook.enabled = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].observable(false); - this.facebook.appID = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].observable(''); - this.facebook.appSecret = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].observable(''); - this.facebook.loading = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].observable(false); - this.facebook.userName = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].observable(''); - this.facebook.supported = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].observable(false); - this.facebook.loggined = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].computed(function () { - return '' !== _this.facebook.userName(); - }); // Twitter - - this.twitter.enabled = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].observable(false); - this.twitter.consumerKey = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].observable(''); - this.twitter.consumerSecret = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].observable(''); - this.twitter.loading = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].observable(false); - this.twitter.userName = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].observable(''); - this.twitter.loggined = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].computed(function () { - return '' !== _this.twitter.userName(); - }); // Dropbox - - this.dropbox.enabled = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].observable(false); - this.dropbox.apiKey = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].observable(''); - } - - var _proto = SocialStore.prototype; - - _proto.populate = function populate() { - this.google.enabled(!!Storage_Settings__WEBPACK_IMPORTED_MODULE_3__["settingsGet"]('AllowGoogleSocial')); - this.google.clientID(Storage_Settings__WEBPACK_IMPORTED_MODULE_3__["settingsGet"]('GoogleClientID')); - this.google.clientSecret(Storage_Settings__WEBPACK_IMPORTED_MODULE_3__["settingsGet"]('GoogleClientSecret')); - this.google.apiKey(Storage_Settings__WEBPACK_IMPORTED_MODULE_3__["settingsGet"]('GoogleApiKey')); - this.google.capa.auth(!!Storage_Settings__WEBPACK_IMPORTED_MODULE_3__["settingsGet"]('AllowGoogleSocialAuth')); - this.google.capa.authFast(!!Storage_Settings__WEBPACK_IMPORTED_MODULE_3__["settingsGet"]('AllowGoogleSocialAuthFast')); - this.google.capa.drive(!!Storage_Settings__WEBPACK_IMPORTED_MODULE_3__["settingsGet"]('AllowGoogleSocialDrive')); - this.google.capa.preview(!!Storage_Settings__WEBPACK_IMPORTED_MODULE_3__["settingsGet"]('AllowGoogleSocialPreview')); - this.facebook.enabled(!!Storage_Settings__WEBPACK_IMPORTED_MODULE_3__["settingsGet"]('AllowFacebookSocial')); - this.facebook.appID(Storage_Settings__WEBPACK_IMPORTED_MODULE_3__["settingsGet"]('FacebookAppID')); - this.facebook.appSecret(Storage_Settings__WEBPACK_IMPORTED_MODULE_3__["settingsGet"]('FacebookAppSecret')); - this.facebook.supported(!!Storage_Settings__WEBPACK_IMPORTED_MODULE_3__["settingsGet"]('SupportedFacebookSocial')); - this.twitter.enabled = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].observable(!!Storage_Settings__WEBPACK_IMPORTED_MODULE_3__["settingsGet"]('AllowTwitterSocial')); - this.twitter.consumerKey = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].observable(Storage_Settings__WEBPACK_IMPORTED_MODULE_3__["settingsGet"]('TwitterConsumerKey')); - this.twitter.consumerSecret = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].observable(Storage_Settings__WEBPACK_IMPORTED_MODULE_3__["settingsGet"]('TwitterConsumerSecret')); - this.dropbox.enabled(!!Storage_Settings__WEBPACK_IMPORTED_MODULE_3__["settingsGet"]('AllowDropboxSocial')); - this.dropbox.apiKey(Storage_Settings__WEBPACK_IMPORTED_MODULE_3__["settingsGet"]('DropboxApiKey')); - }; - - _proto.appendDropbox = function appendDropbox() { - if (!window__WEBPACK_IMPORTED_MODULE_0___default.a.Dropbox && this.dropbox.enabled() && this.dropbox.apiKey()) { - if (!window__WEBPACK_IMPORTED_MODULE_0___default.a.document.getElementById('dropboxjs')) { - var script = window__WEBPACK_IMPORTED_MODULE_0___default.a.document.createElement('script'); - script.type = 'text/javascript'; - script.src = 'https://www.dropbox.com/static/api/2/dropins.js'; - $__WEBPACK_IMPORTED_MODULE_2___default()(script).attr('id', 'dropboxjs').attr('data-app-key', this.dropbox.apiKey()); - window__WEBPACK_IMPORTED_MODULE_0___default.a.document.body.appendChild(script); - } - } - }; - - return SocialStore; -}(); - -/* harmony default export */ __webpack_exports__["a"] = (new SocialStore()); - -/***/ }), -/* 30 */ -/*!*********************************************************************************!*\ - !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/instance/index-of.js ***! - \*********************************************************************************/ -/*! no static exports found */ -/*! exports used: default */ -/***/ (function(module, exports, __webpack_require__) { - -module.exports = __webpack_require__(/*! core-js-pure/stable/instance/index-of */ 306); - -/***/ }), -/* 31 */, -/* 32 */ -/*!*************************************************************!*\ - !*** ./node_modules/core-js/internals/well-known-symbol.js ***! - \*************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ 28); -var shared = __webpack_require__(/*! ../internals/shared */ 74); -var uid = __webpack_require__(/*! ../internals/uid */ 128); -var NATIVE_SYMBOL = __webpack_require__(/*! ../internals/native-symbol */ 180); - -var Symbol = global.Symbol; -var store = shared('wks'); - -module.exports = function (name) { - return store[name] || (store[name] = NATIVE_SYMBOL && Symbol[name] - || (NATIVE_SYMBOL ? Symbol : uid)('Symbol.' + name)); -}; - - -/***/ }), -/* 33 */ -/*!******************************************************************************!*\ - !*** ./node_modules/@babel/runtime-corejs3/helpers/assertThisInitialized.js ***! - \******************************************************************************/ -/*! no static exports found */ -/*! exports used: default */ -/***/ (function(module, exports) { - -function _assertThisInitialized(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - - return self; -} - -module.exports = _assertThisInitialized; - -/***/ }), -/* 34 */ -/*!*******************************************************************************!*\ - !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/instance/filter.js ***! - \*******************************************************************************/ -/*! no static exports found */ -/*! exports used: default */ -/***/ (function(module, exports, __webpack_require__) { - -module.exports = __webpack_require__(/*! core-js-pure/stable/instance/filter */ 347); - -/***/ }), -/* 35 */ -/*!***********************************!*\ - !*** ./dev/Component/Abstract.js ***! - \***********************************/ -/*! exports provided: AbstractComponent, componentExportHelper */ -/*! exports used: AbstractComponent, componentExportHelper */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AbstractComponent; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return componentExportHelper; }); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/for-each */ 69); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/defineProperty */ 17); -/* harmony import */ var _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var $__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! $ */ 8); -/* harmony import */ var $__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n($__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var ko__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ko */ 1); -/* harmony import */ var Common_Utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! Common/Utils */ 2); -/* harmony import */ var Common_Translator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! Common/Translator */ 9); - - - - - - - -var AbstractComponent = -/*#__PURE__*/ -function () { - function AbstractComponent() { - _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_1___default()(this, "disposable", []); - } - - var _proto = AbstractComponent.prototype; - - _proto.dispose = function dispose() { - var _context; - - _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_0___default()(_context = this.disposable).call(_context, function (funcToDispose) { - if (funcToDispose && funcToDispose.dispose) { - funcToDispose.dispose(); - } - }); - }; - - return AbstractComponent; -}(); -/** - * @param {*} ClassObject - * @param {string} templateID = '' - * @returns {Object} - */ - - -var componentExportHelper = function componentExportHelper(ClassObject, templateID) { - if (templateID === void 0) { - templateID = ''; - } - - return { - template: templateID ? { - element: templateID - } : '', - viewModel: { - createViewModel: function createViewModel(params, componentInfo) { - params = params || {}; - params.element = null; - - if (componentInfo && componentInfo.element) { - params.component = componentInfo; - params.element = $__WEBPACK_IMPORTED_MODULE_2___default()(componentInfo.element); - Object(Common_Translator__WEBPACK_IMPORTED_MODULE_5__["i18nToNodes"])(params.element); - - if (!Object(Common_Utils__WEBPACK_IMPORTED_MODULE_4__["isUnd"])(params.inline) && ko__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"].unwrap(params.inline)) { - params.element.css('display', 'inline-block'); - } - } - - return new ClassObject(params); - } - } - }; -}; - - - -/***/ }), -/* 36 */ -/*!*****************************************************!*\ - !*** ./node_modules/core-js/internals/an-object.js ***! - \*****************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var isObject = __webpack_require__(/*! ../internals/is-object */ 44); - -module.exports = function (it) { - if (!isObject(it)) { - throw TypeError(String(it) + ' is not an object'); - } return it; -}; - - -/***/ }), -/* 37 */, -/* 38 */ -/*!*******************************!*\ - !*** ./dev/Common/Plugins.js ***! - \*******************************/ -/*! exports provided: addHook, runHook, mainSettingsGet, remoteRequest, addSettingsViewModel, addSettingsViewModelForAdmin, runSettingsViewModelHooks, settingsGet */ -/*! exports used: addHook, addSettingsViewModel, addSettingsViewModelForAdmin, mainSettingsGet, remoteRequest, runHook, runSettingsViewModelHooks, settingsGet */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return addHook; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return runHook; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return mainSettingsGet; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return remoteRequest; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return addSettingsViewModel; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return addSettingsViewModelForAdmin; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return runSettingsViewModelHooks; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return settingsGet; }); -/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! _ */ 3); -/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(___WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var Common_Utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! Common/Utils */ 2); -/* harmony import */ var Common_Globals__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! Common/Globals */ 6); -/* harmony import */ var Storage_Settings__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! Storage/Settings */ 5); - - - - -var SIMPLE_HOOKS = {}, - USER_VIEW_MODELS_HOOKS = [], - ADMIN_VIEW_MODELS_HOOKS = []; -/** - * @param {string} name - * @param {Function} callback - */ - -function addHook(name, callback) { - if (Object(Common_Utils__WEBPACK_IMPORTED_MODULE_1__["isFunc"])(callback)) { - if (!Object(Common_Utils__WEBPACK_IMPORTED_MODULE_1__["isArray"])(SIMPLE_HOOKS[name])) { - SIMPLE_HOOKS[name] = []; - } - - SIMPLE_HOOKS[name].push(callback); - } -} -/** - * @param {string} name - * @param {Array=} args = [] - */ - -function runHook(name, args) { - if (args === void 0) { - args = []; - } - - if (Object(Common_Utils__WEBPACK_IMPORTED_MODULE_1__["isArray"])(SIMPLE_HOOKS[name])) { - ___WEBPACK_IMPORTED_MODULE_0___default.a.each(SIMPLE_HOOKS[name], function (callback) { - callback.apply(void 0, args); - }); - } -} -/** - * @param {string} name - * @returns {?} - */ - -function mainSettingsGet(name) { - return Storage_Settings__WEBPACK_IMPORTED_MODULE_3__["settingsGet"](name); -} -/** - * @param {Function} callback - * @param {string} action - * @param {Object=} parameters - * @param {?number=} timeout - */ - -function remoteRequest(callback, action, parameters, timeout) { - if (Common_Globals__WEBPACK_IMPORTED_MODULE_2__["data"].__APP__) { - Common_Globals__WEBPACK_IMPORTED_MODULE_2__["data"].__APP__.remote().defaultRequest(callback, 'Plugin' + action, parameters, timeout); - } -} -/** - * @param {Function} SettingsViewModelClass - * @param {string} labelName - * @param {string} template - * @param {string} route - */ - -function addSettingsViewModel(SettingsViewModelClass, template, labelName, route) { - USER_VIEW_MODELS_HOOKS.push([SettingsViewModelClass, template, labelName, route]); -} -/** - * @param {Function} SettingsViewModelClass - * @param {string} labelName - * @param {string} template - * @param {string} route - */ - -function addSettingsViewModelForAdmin(SettingsViewModelClass, template, labelName, route) { - ADMIN_VIEW_MODELS_HOOKS.push([SettingsViewModelClass, template, labelName, route]); -} -/** - * @param {boolean} admin - */ - -function runSettingsViewModelHooks(admin) { - var Knoin = __webpack_require__(/*! Knoin/Knoin */ 7); - - ___WEBPACK_IMPORTED_MODULE_0___default.a.each(admin ? ADMIN_VIEW_MODELS_HOOKS : USER_VIEW_MODELS_HOOKS, function (view) { - Knoin.addSettingsViewModel(view[0], view[1], view[2], view[3]); - }); -} -/** - * @param {string} pluginSection - * @param {string} name - * @returns {?} - */ - -function settingsGet(pluginSection, name) { - var plugins = Storage_Settings__WEBPACK_IMPORTED_MODULE_3__["settingsGet"]('Plugins'); - plugins = plugins && !Object(Common_Utils__WEBPACK_IMPORTED_MODULE_1__["isUnd"])(plugins[pluginSection]) ? plugins[pluginSection] : null; - return plugins ? Object(Common_Utils__WEBPACK_IMPORTED_MODULE_1__["isUnd"])(plugins[name]) ? null : plugins[name] : null; -} - -/***/ }), -/* 39 */ -/*!*************************************************!*\ - !*** ./node_modules/core-js/internals/fails.js ***! - \*************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -module.exports = function (exec) { - try { - return !!exec(); - } catch (error) { - return true; - } -}; - - -/***/ }), -/* 40 */ -/*!**********************************!*\ - !*** ./dev/Stores/Admin/Core.js ***! - \**********************************/ -/*! exports provided: default */ -/*! exports used: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var ko__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ko */ 1); - - -var CoreAdminStore = function CoreAdminStore() { - this.coreReal = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(true); - this.coreChannel = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable('stable'); - this.coreType = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable('stable'); - this.coreUpdatable = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(true); - this.coreAccess = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(true); - this.coreWarning = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(false); - this.coreChecking = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(false).extend({ - throttle: 100 - }); - this.coreUpdating = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(false).extend({ - throttle: 100 - }); - this.coreVersion = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(''); - this.coreRemoteVersion = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(''); - this.coreRemoteRelease = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(''); - this.coreVersionCompare = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(-2); -}; - -/* harmony default export */ __webpack_exports__["a"] = (new CoreAdminStore()); - -/***/ }), -/* 41 */, -/* 42 */ -/*!*******************************************************!*\ - !*** ./node_modules/core-js-pure/internals/export.js ***! - \*******************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var global = __webpack_require__(/*! ../internals/global */ 77); -var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ 234).f; -var isForced = __webpack_require__(/*! ../internals/is-forced */ 280); -var path = __webpack_require__(/*! ../internals/path */ 97); -var bind = __webpack_require__(/*! ../internals/bind-context */ 237); -var hide = __webpack_require__(/*! ../internals/hide */ 85); -var has = __webpack_require__(/*! ../internals/has */ 96); - -var wrapConstructor = function (NativeConstructor) { - var Wrapper = function (a, b, c) { - if (this instanceof NativeConstructor) { - switch (arguments.length) { - case 0: return new NativeConstructor(); - case 1: return new NativeConstructor(a); - case 2: return new NativeConstructor(a, b); - } return new NativeConstructor(a, b, c); - } return NativeConstructor.apply(this, arguments); - }; - Wrapper.prototype = NativeConstructor.prototype; - return Wrapper; -}; - -/* - options.target - name of the target object - options.global - target is the global object - options.stat - export as static methods of target - options.proto - export as prototype methods of target - options.real - real prototype method for the `pure` version - options.forced - export even if the native feature is available - options.bind - bind methods to the target, required for the `pure` version - options.wrap - wrap constructors to preventing global pollution, required for the `pure` version - options.unsafe - use the simple assignment of property instead of delete + defineProperty - options.sham - add a flag to not completely full polyfills - options.enumerable - export as enumerable property - options.noTargetGet - prevent calling a getter on target -*/ -module.exports = function (options, source) { - var TARGET = options.target; - var GLOBAL = options.global; - var STATIC = options.stat; - var PROTO = options.proto; - - var nativeSource = GLOBAL ? global : STATIC ? global[TARGET] : (global[TARGET] || {}).prototype; - - var target = GLOBAL ? path : path[TARGET] || (path[TARGET] = {}); - var targetPrototype = target.prototype; - - var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE; - var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor; - - for (key in source) { - FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); - // contains in native - USE_NATIVE = !FORCED && nativeSource && has(nativeSource, key); - - targetProperty = target[key]; - - if (USE_NATIVE) if (options.noTargetGet) { - descriptor = getOwnPropertyDescriptor(nativeSource, key); - nativeProperty = descriptor && descriptor.value; - } else nativeProperty = nativeSource[key]; - - // export native or implementation - sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key]; - - if (USE_NATIVE && typeof targetProperty === typeof sourceProperty) continue; - - // bind timers to global for call from export context - if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, global); - // wrap global constructors for prevent changs in this version - else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty); - // make static versions for prototype methods - else if (PROTO && typeof sourceProperty == 'function') resultProperty = bind(Function.call, sourceProperty); - // default case - else resultProperty = sourceProperty; - - // add a flag to not completely full polyfills - if (options.sham || (sourceProperty && sourceProperty.sham) || (targetProperty && targetProperty.sham)) { - hide(resultProperty, 'sham', true); - } - - target[key] = resultProperty; - - if (PROTO) { - VIRTUAL_PROTOTYPE = TARGET + 'Prototype'; - if (!has(path, VIRTUAL_PROTOTYPE)) hide(path, VIRTUAL_PROTOTYPE, {}); - // export virtual prototype methods - path[VIRTUAL_PROTOTYPE][key] = sourceProperty; - // export real prototype methods - if (options.real && targetPrototype && !targetPrototype[key]) hide(targetPrototype, key, sourceProperty); - } - } -}; - - -/***/ }), -/* 43 */ -/*!**************************************************!*\ - !*** ./node_modules/core-js/internals/export.js ***! - \**************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ 28); -var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ 90).f; -var hide = __webpack_require__(/*! ../internals/hide */ 45); -var redefine = __webpack_require__(/*! ../internals/redefine */ 54); -var setGlobal = __webpack_require__(/*! ../internals/set-global */ 92); -var copyConstructorProperties = __webpack_require__(/*! ../internals/copy-constructor-properties */ 176); -var isForced = __webpack_require__(/*! ../internals/is-forced */ 129); - -/* - options.target - name of the target object - options.global - target is the global object - options.stat - export as static methods of target - options.proto - export as prototype methods of target - options.real - real prototype method for the `pure` version - options.forced - export even if the native feature is available - options.bind - bind methods to the target, required for the `pure` version - options.wrap - wrap constructors to preventing global pollution, required for the `pure` version - options.unsafe - use the simple assignment of property instead of delete + defineProperty - options.sham - add a flag to not completely full polyfills - options.enumerable - export as enumerable property - options.noTargetGet - prevent calling a getter on target -*/ -module.exports = function (options, source) { - var TARGET = options.target; - var GLOBAL = options.global; - var STATIC = options.stat; - var FORCED, target, key, targetProperty, sourceProperty, descriptor; - if (GLOBAL) { - target = global; - } else if (STATIC) { - target = global[TARGET] || setGlobal(TARGET, {}); - } else { - target = (global[TARGET] || {}).prototype; - } - if (target) for (key in source) { - sourceProperty = source[key]; - if (options.noTargetGet) { - descriptor = getOwnPropertyDescriptor(target, key); - targetProperty = descriptor && descriptor.value; - } else targetProperty = target[key]; - FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); - // contained in target - if (!FORCED && targetProperty !== undefined) { - if (typeof sourceProperty === typeof targetProperty) continue; - copyConstructorProperties(sourceProperty, targetProperty); - } - // add a flag to not completely full polyfills - if (options.sham || (targetProperty && targetProperty.sham)) { - hide(sourceProperty, 'sham', true); - } - // extend global - redefine(target, key, sourceProperty, options); - } -}; - - -/***/ }), -/* 44 */ -/*!*****************************************************!*\ - !*** ./node_modules/core-js/internals/is-object.js ***! - \*****************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -module.exports = function (it) { - return typeof it === 'object' ? it !== null : typeof it === 'function'; -}; - - -/***/ }), -/* 45 */ -/*!************************************************!*\ - !*** ./node_modules/core-js/internals/hide.js ***! - \************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ 50); -var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ 59); -var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ 91); - -module.exports = DESCRIPTORS ? function (object, key, value) { - return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); -} : function (object, key, value) { - object[key] = value; - return object; -}; - - -/***/ }), -/* 46 */, -/* 47 */ -/*!***********************************************!*\ - !*** ./node_modules/core-js/internals/has.js ***! - \***********************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -var hasOwnProperty = {}.hasOwnProperty; - -module.exports = function (it, key) { - return hasOwnProperty.call(it, key); -}; - - -/***/ }), -/* 48 */ -/*!********************************************************!*\ - !*** ./node_modules/core-js/modules/es.regexp.exec.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var $ = __webpack_require__(/*! ../internals/export */ 43); -var exec = __webpack_require__(/*! ../internals/regexp-exec */ 112); - -$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, { - exec: exec -}); - - -/***/ }), -/* 49 */ -/*!*******************************************************!*\ - !*** ./node_modules/core-js/internals/classof-raw.js ***! - \*******************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -var toString = {}.toString; - -module.exports = function (it) { - return toString.call(it).slice(8, -1); -}; - - -/***/ }), -/* 50 */ -/*!*******************************************************!*\ - !*** ./node_modules/core-js/internals/descriptors.js ***! - \*******************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var fails = __webpack_require__(/*! ../internals/fails */ 39); - -// Thank's IE8 for his funny defineProperty -module.exports = !fails(function () { - return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; -}); - - -/***/ }), -/* 51 */ -/*!********************************************************************!*\ - !*** ./node_modules/core-js/internals/require-object-coercible.js ***! - \********************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -// `RequireObjectCoercible` abstract operation -// https://tc39.github.io/ecma262/#sec-requireobjectcoercible -module.exports = function (it) { - if (it == undefined) throw TypeError("Can't call method on " + it); - return it; -}; - - -/***/ }), -/* 52 */ -/*!**********************************************************!*\ - !*** ./node_modules/core-js/modules/es.function.name.js ***! - \**********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ 50); -var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ 59).f; - -var FunctionPrototype = Function.prototype; -var FunctionPrototypeToString = FunctionPrototype.toString; -var nameRE = /^\s*function ([^ (]*)/; -var NAME = 'name'; - -// Function instances `.name` property -// https://tc39.github.io/ecma262/#sec-function-instances-name -if (DESCRIPTORS && !(NAME in FunctionPrototype)) { - defineProperty(FunctionPrototype, NAME, { - configurable: true, - get: function () { - try { - return FunctionPrototypeToString.call(this).match(nameRE)[1]; - } catch (error) { - return ''; - } - } - }); -} - - -/***/ }), -/* 53 */ -/*!**************************************************************!*\ - !*** ./node_modules/core-js-pure/internals/entry-virtual.js ***! - \**************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var path = __webpack_require__(/*! ../internals/path */ 97); - -module.exports = function (CONSTRUCTOR) { - return path[CONSTRUCTOR + 'Prototype']; -}; - - -/***/ }), -/* 54 */ -/*!****************************************************!*\ - !*** ./node_modules/core-js/internals/redefine.js ***! - \****************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ 28); -var shared = __webpack_require__(/*! ../internals/shared */ 74); -var hide = __webpack_require__(/*! ../internals/hide */ 45); -var has = __webpack_require__(/*! ../internals/has */ 47); -var setGlobal = __webpack_require__(/*! ../internals/set-global */ 92); -var nativeFunctionToString = __webpack_require__(/*! ../internals/function-to-string */ 127); -var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ 93); - -var getInternalState = InternalStateModule.get; -var enforceInternalState = InternalStateModule.enforce; -var TEMPLATE = String(nativeFunctionToString).split('toString'); - -shared('inspectSource', function (it) { - return nativeFunctionToString.call(it); -}); - -(module.exports = function (O, key, value, options) { - var unsafe = options ? !!options.unsafe : false; - var simple = options ? !!options.enumerable : false; - var noTargetGet = options ? !!options.noTargetGet : false; - if (typeof value == 'function') { - if (typeof key == 'string' && !has(value, 'name')) hide(value, 'name', key); - enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : ''); - } - if (O === global) { - if (simple) O[key] = value; - else setGlobal(key, value); - return; - } else if (!unsafe) { - delete O[key]; - } else if (!noTargetGet && O[key]) { - simple = true; - } - if (simple) O[key] = value; - else hide(O, key, value); -// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative -})(Function.prototype, 'toString', function toString() { - return typeof this == 'function' && getInternalState(this).source || nativeFunctionToString.call(this); -}); - - -/***/ }), -/* 55 */ -/*!*************************************************************!*\ - !*** ./node_modules/core-js/modules/es.object.to-string.js ***! - \*************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var redefine = __webpack_require__(/*! ../internals/redefine */ 54); -var toString = __webpack_require__(/*! ../internals/object-to-string */ 181); - -var ObjectPrototype = Object.prototype; - -// `Object.prototype.toString` method -// https://tc39.github.io/ecma262/#sec-object.prototype.tostring -if (toString !== ObjectPrototype.toString) { - redefine(ObjectPrototype, 'toString', toString, { unsafe: true }); -} - - -/***/ }), -/* 56 */ -/*!***********************************************************!*\ - !*** ./node_modules/core-js/modules/es.string.replace.js ***! - \***********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var fixRegExpWellKnownSymbolLogic = __webpack_require__(/*! ../internals/fix-regexp-well-known-symbol-logic */ 132); -var anObject = __webpack_require__(/*! ../internals/an-object */ 36); -var toObject = __webpack_require__(/*! ../internals/to-object */ 120); -var toLength = __webpack_require__(/*! ../internals/to-length */ 72); -var toInteger = __webpack_require__(/*! ../internals/to-integer */ 80); -var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ 51); -var advanceStringIndex = __webpack_require__(/*! ../internals/advance-string-index */ 150); -var regExpExec = __webpack_require__(/*! ../internals/regexp-exec-abstract */ 133); - -var max = Math.max; -var min = Math.min; -var floor = Math.floor; -var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d\d?|<[^>]*>)/g; -var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d\d?)/g; - -var maybeToString = function (it) { - return it === undefined ? it : String(it); -}; - -// @@replace logic -fixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative) { - return [ - // `String.prototype.replace` method - // https://tc39.github.io/ecma262/#sec-string.prototype.replace - function replace(searchValue, replaceValue) { - var O = requireObjectCoercible(this); - var replacer = searchValue == undefined ? undefined : searchValue[REPLACE]; - return replacer !== undefined - ? replacer.call(searchValue, O, replaceValue) - : nativeReplace.call(String(O), searchValue, replaceValue); - }, - // `RegExp.prototype[@@replace]` method - // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace - function (regexp, replaceValue) { - var res = maybeCallNative(nativeReplace, regexp, this, replaceValue); - if (res.done) return res.value; - - var rx = anObject(regexp); - var S = String(this); - - var functionalReplace = typeof replaceValue === 'function'; - if (!functionalReplace) replaceValue = String(replaceValue); - - var global = rx.global; - if (global) { - var fullUnicode = rx.unicode; - rx.lastIndex = 0; - } - var results = []; - while (true) { - var result = regExpExec(rx, S); - if (result === null) break; - - results.push(result); - if (!global) break; - - var matchStr = String(result[0]); - if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); - } - - var accumulatedResult = ''; - var nextSourcePosition = 0; - for (var i = 0; i < results.length; i++) { - result = results[i]; - - var matched = String(result[0]); - var position = max(min(toInteger(result.index), S.length), 0); - var captures = []; - // NOTE: This is equivalent to - // captures = result.slice(1).map(maybeToString) - // but for some reason `nativeSlice.call(result, 1, result.length)` (called in - // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and - // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it. - for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j])); - var namedCaptures = result.groups; - if (functionalReplace) { - var replacerArgs = [matched].concat(captures, position, S); - if (namedCaptures !== undefined) replacerArgs.push(namedCaptures); - var replacement = String(replaceValue.apply(undefined, replacerArgs)); - } else { - replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue); - } - if (position >= nextSourcePosition) { - accumulatedResult += S.slice(nextSourcePosition, position) + replacement; - nextSourcePosition = position + matched.length; - } - } - return accumulatedResult + S.slice(nextSourcePosition); - } - ]; - - // https://tc39.github.io/ecma262/#sec-getsubstitution - function getSubstitution(matched, str, position, captures, namedCaptures, replacement) { - var tailPos = position + matched.length; - var m = captures.length; - var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED; - if (namedCaptures !== undefined) { - namedCaptures = toObject(namedCaptures); - symbols = SUBSTITUTION_SYMBOLS; - } - return nativeReplace.call(replacement, symbols, function (match, ch) { - var capture; - switch (ch.charAt(0)) { - case '$': return '$'; - case '&': return matched; - case '`': return str.slice(0, position); - case "'": return str.slice(tailPos); - case '<': - capture = namedCaptures[ch.slice(1, -1)]; - break; - default: // \d\d? - var n = +ch; - if (n === 0) return match; - if (n > m) { - var f = floor(n / 10); - if (f === 0) return match; - if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1); - return match; - } - capture = captures[n - 1]; - } - return capture === undefined ? '' : capture; - }); - } -}); - - -/***/ }), -/* 57 */ -/*!******************************************************!*\ - !*** ./node_modules/core-js-pure/internals/fails.js ***! - \******************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -module.exports = function (exec) { - try { - return !!exec(); - } catch (error) { - return true; - } -}; - - -/***/ }), -/* 58 */, -/* 59 */ -/*!******************************************************************!*\ - !*** ./node_modules/core-js/internals/object-define-property.js ***! - \******************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ 50); -var IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ 126); -var anObject = __webpack_require__(/*! ../internals/an-object */ 36); -var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ 125); - -var nativeDefineProperty = Object.defineProperty; - -// `Object.defineProperty` method -// https://tc39.github.io/ecma262/#sec-object.defineproperty -exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) { - anObject(O); - P = toPrimitive(P, true); - anObject(Attributes); - if (IE8_DOM_DEFINE) try { - return nativeDefineProperty(O, P, Attributes); - } catch (error) { /* empty */ } - if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported'); - if ('value' in Attributes) O[P] = Attributes.value; - return O; -}; - - -/***/ }), -/* 60 */ -/*!********************************!*\ - !*** ./dev/Common/Momentor.js ***! - \********************************/ -/*! exports provided: momentNow, momentNowUnix, searchSubtractFormatDateHelper, format, momentToNode, reload */ -/*! all exports used */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "momentNow", function() { return momentNow; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "momentNowUnix", function() { return momentNowUnix; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "searchSubtractFormatDateHelper", function() { return searchSubtractFormatDateHelper; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "format", function() { return format; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "momentToNode", function() { return momentToNode; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "reload", function() { return reload; }); -/* harmony import */ var window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! window */ 4); -/* harmony import */ var window__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(window__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! _ */ 3); -/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(___WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var $__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! $ */ 8); -/* harmony import */ var $__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n($__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! moment */ 98); -/* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var Common_Translator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! Common/Translator */ 9); - - - - - -var _moment = null; -var _momentNow = 0; - -var updateMomentNow = ___WEBPACK_IMPORTED_MODULE_1___default.a.debounce(function () { - _moment = moment__WEBPACK_IMPORTED_MODULE_3___default()(); -}, 500, true); - -var updateMomentNowUnix = ___WEBPACK_IMPORTED_MODULE_1___default.a.debounce(function () { - _momentNow = moment__WEBPACK_IMPORTED_MODULE_3___default()().unix(); -}, 500, true); -/** - * @returns {moment} - */ - - -function momentNow() { - updateMomentNow(); - return _moment || moment__WEBPACK_IMPORTED_MODULE_3___default()(); -} -/** - * @returns {number} - */ - -function momentNowUnix() { - updateMomentNowUnix(); - return _momentNow || 0; -} -/** - * @param {number} date - * @returns {string} - */ - -function searchSubtractFormatDateHelper(date) { - return momentNow().clone().subtract(date, 'days').format('YYYY.MM.DD'); -} -/** - * @param {Object} m - * @returns {string} - */ - -function formatCustomShortDate(m) { - var now = momentNow(); - - if (m && now) { - switch (true) { - case 4 >= now.diff(m, 'hours'): - return m.fromNow(); - - case now.format('L') === m.format('L'): - return Object(Common_Translator__WEBPACK_IMPORTED_MODULE_4__["i18n"])('MESSAGE_LIST/TODAY_AT', { - TIME: m.format('LT') - }); - - case now.clone().subtract(1, 'days').format('L') === m.format('L'): - return Object(Common_Translator__WEBPACK_IMPORTED_MODULE_4__["i18n"])('MESSAGE_LIST/YESTERDAY_AT', { - TIME: m.format('LT') - }); - - case now.year() === m.year(): - return m.format('D MMM.'); - // no default - } - } - - return m ? m.format('LL') : ''; -} -/** - * @param {number} timeStampInUTC - * @param {string} formatStr - * @returns {string} - */ - - -function format(timeStampInUTC, formatStr) { - var m = null, - result = ''; - var now = momentNowUnix(); - timeStampInUTC = 0 < timeStampInUTC ? timeStampInUTC : 0 === timeStampInUTC ? now : 0; - timeStampInUTC = now < timeStampInUTC ? now : timeStampInUTC; - m = 0 < timeStampInUTC ? moment__WEBPACK_IMPORTED_MODULE_3___default.a.unix(timeStampInUTC) : null; - - if (m && 1970 === m.year()) { - m = null; - } - - if (m) { - switch (formatStr) { - case 'FROMNOW': - result = m.fromNow(); - break; - - case 'SHORT': - result = formatCustomShortDate(m); - break; - - case 'FULL': - result = m.format('LLL'); - break; - - default: - result = m.format(formatStr); - break; - } - } - - return result; -} -/** - * @param {Object} element - * @returns {void} - */ - -function momentToNode(element) { - var key = '', - time = 0; - var $el = $__WEBPACK_IMPORTED_MODULE_2___default()(element); - time = $el.data('moment-time'); - - if (time) { - key = $el.data('moment-format'); - - if (key) { - $el.text(format(time, key)); - } - - key = $el.data('moment-format-title'); - - if (key) { - $el.attr('title', format(time, key)); - } - } -} -/** - * @returns {void} - */ - -function reload() { - ___WEBPACK_IMPORTED_MODULE_1___default.a.defer(function () { - $__WEBPACK_IMPORTED_MODULE_2___default()('.moment', window__WEBPACK_IMPORTED_MODULE_0___default.a.document).each(function (index, item) { - momentToNode(item); - }); - }); -} - -/***/ }), -/* 61 */ -/*!********************************!*\ - !*** external "window.hasher" ***! - \********************************/ -/*! no static exports found */ -/*! exports used: default */ -/***/ (function(module, exports) { - -module.exports = window.hasher; - -/***/ }), -/* 62 */, -/* 63 */, -/* 64 */ -/*!**********************************!*\ - !*** ./dev/Helper/Apps/Admin.js ***! - \**********************************/ -/*! exports provided: getApp */ -/*! exports used: getApp */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getApp; }); -/** - * @returns {AppAdmin} - */ -function getApp() { - return __webpack_require__(/*! App/Admin */ 387).default; -} - -/***/ }), -/* 65 */ -/*!********************************************************!*\ - !*** ./node_modules/core-js/internals/get-built-in.js ***! - \********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var path = __webpack_require__(/*! ../internals/path */ 109); -var global = __webpack_require__(/*! ../internals/global */ 28); - -var aFunction = function (variable) { - return typeof variable == 'function' ? variable : undefined; -}; - -module.exports = function (namespace, method) { - return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace]) - : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method]; -}; - - -/***/ }), -/* 66 */ -/*!******************************************************!*\ - !*** ./node_modules/core-js/internals/a-function.js ***! - \******************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -module.exports = function (it) { - if (typeof it != 'function') { - throw TypeError(String(it) + ' is not a function'); - } return it; -}; - - -/***/ }), -/* 67 */ -/*!****************************************************!*\ - !*** ./node_modules/core-js/modules/web.timers.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ 43); -var global = __webpack_require__(/*! ../internals/global */ 28); -var userAgent = __webpack_require__(/*! ../internals/user-agent */ 105); - -var slice = [].slice; -var MSIE = /MSIE .\./.test(userAgent); // <- dirty ie9- check - -var wrap = function (scheduler) { - return function (handler, timeout /* , ...arguments */) { - var boundArgs = arguments.length > 2; - var args = boundArgs ? slice.call(arguments, 2) : undefined; - return scheduler(boundArgs ? function () { - // eslint-disable-next-line no-new-func - (typeof handler == 'function' ? handler : Function(handler)).apply(this, args); - } : handler, timeout); - }; -}; - -// ie9- setTimeout & setInterval additional parameters fix -// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers -$({ global: true, bind: true, forced: MSIE }, { - // `setTimeout` method - // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout - setTimeout: wrap(global.setTimeout), - // `setInterval` method - // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval - setInterval: wrap(global.setInterval) -}); - - -/***/ }), -/* 68 */ -/*!******************************************************************!*\ - !*** ./node_modules/core-js-pure/internals/well-known-symbol.js ***! - \******************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ 77); -var shared = __webpack_require__(/*! ../internals/shared */ 199); -var uid = __webpack_require__(/*! ../internals/uid */ 239); -var NATIVE_SYMBOL = __webpack_require__(/*! ../internals/native-symbol */ 290); - -var Symbol = global.Symbol; -var store = shared('wks'); - -module.exports = function (name) { - return store[name] || (store[name] = NATIVE_SYMBOL && Symbol[name] - || (NATIVE_SYMBOL ? Symbol : uid)('Symbol.' + name)); -}; - - -/***/ }), -/* 69 */ -/*!*********************************************************************************!*\ - !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/instance/for-each.js ***! - \*********************************************************************************/ -/*! no static exports found */ -/*! exports used: default */ -/***/ (function(module, exports, __webpack_require__) { - -module.exports = __webpack_require__(/*! core-js-pure/stable/instance/for-each */ 252); - -/***/ }), -/* 70 */ -/*!********************************!*\ - !*** ./dev/Stores/Language.js ***! - \********************************/ -/*! exports provided: default */ -/*! exports used: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var ko__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ko */ 1); -/* harmony import */ var Common_Utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! Common/Utils */ 2); -/* harmony import */ var Storage_Settings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! Storage/Settings */ 5); - - - - -var LanguageStore = -/*#__PURE__*/ -function () { - function LanguageStore() { - this.languages = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observableArray([]); - this.languagesAdmin = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observableArray([]); - this.language = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable('').extend({ - limitedList: this.languages - }).extend({ - reversible: true - }); - this.languageAdmin = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable('').extend({ - limitedList: this.languagesAdmin - }).extend({ - reversible: true - }); - this.userLanguage = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(''); - this.userLanguageAdmin = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(''); - } - - var _proto = LanguageStore.prototype; - - _proto.populate = function populate() { - var aLanguages = Storage_Settings__WEBPACK_IMPORTED_MODULE_2__["appSettingsGet"]('languages'), - aLanguagesAdmin = Storage_Settings__WEBPACK_IMPORTED_MODULE_2__["appSettingsGet"]('languagesAdmin'); - this.languages(Object(Common_Utils__WEBPACK_IMPORTED_MODULE_1__["isArray"])(aLanguages) ? aLanguages : []); - this.languagesAdmin(Object(Common_Utils__WEBPACK_IMPORTED_MODULE_1__["isArray"])(aLanguagesAdmin) ? aLanguagesAdmin : []); - this.language(Storage_Settings__WEBPACK_IMPORTED_MODULE_2__["settingsGet"]('Language')); - this.languageAdmin(Storage_Settings__WEBPACK_IMPORTED_MODULE_2__["settingsGet"]('LanguageAdmin')); - this.userLanguage(Storage_Settings__WEBPACK_IMPORTED_MODULE_2__["settingsGet"]('UserLanguage')); - this.userLanguageAdmin(Storage_Settings__WEBPACK_IMPORTED_MODULE_2__["settingsGet"]('UserLanguageAdmin')); - }; - - return LanguageStore; -}(); - -/* harmony default export */ __webpack_exports__["a"] = (new LanguageStore()); - -/***/ }), -/* 71 */ -/*!*************************************************************!*\ - !*** ./node_modules/core-js/internals/to-indexed-object.js ***! - \*************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -// toObject with fallback for non-array-like ES3 strings -var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ 119); -var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ 51); - -module.exports = function (it) { - return IndexedObject(requireObjectCoercible(it)); -}; - - -/***/ }), -/* 72 */ -/*!*****************************************************!*\ - !*** ./node_modules/core-js/internals/to-length.js ***! - \*****************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var toInteger = __webpack_require__(/*! ../internals/to-integer */ 80); - -var min = Math.min; - -// `ToLength` abstract operation -// https://tc39.github.io/ecma262/#sec-tolength -module.exports = function (argument) { - return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 -}; - - -/***/ }), -/* 73 */ -/*!*****************************************************!*\ - !*** ./node_modules/core-js/internals/iterators.js ***! - \*****************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -module.exports = {}; - - -/***/ }), -/* 74 */ -/*!**************************************************!*\ - !*** ./node_modules/core-js/internals/shared.js ***! - \**************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ 28); -var setGlobal = __webpack_require__(/*! ../internals/set-global */ 92); -var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ 83); - -var SHARED = '__core-js_shared__'; -var store = global[SHARED] || setGlobal(SHARED, {}); - -(module.exports = function (key, value) { - return store[key] || (store[key] = value !== undefined ? value : {}); -})('versions', []).push({ - version: '3.1.3', - mode: IS_PURE ? 'pure' : 'global', - copyright: '© 2019 Denis Pushkarev (zloirock.ru)' -}); - - -/***/ }), -/* 75 */ -/*!***********************************************************!*\ - !*** ./node_modules/core-js/modules/es.date.to-string.js ***! - \***********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var redefine = __webpack_require__(/*! ../internals/redefine */ 54); - -var DatePrototype = Date.prototype; -var INVALID_DATE = 'Invalid Date'; -var TO_STRING = 'toString'; -var nativeDateToString = DatePrototype[TO_STRING]; -var getTime = DatePrototype.getTime; - -// `Date.prototype.toString` method -// https://tc39.github.io/ecma262/#sec-date.prototype.tostring -if (new Date(NaN) + '' != INVALID_DATE) { - redefine(DatePrototype, TO_STRING, function toString() { - var value = getTime.call(this); - // eslint-disable-next-line no-self-compare - return value === value ? nativeDateToString.call(this) : INVALID_DATE; - }); -} - - -/***/ }), -/* 76 */ -/*!*******************************************************!*\ - !*** ./node_modules/core-js/modules/es.array.join.js ***! - \*******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var $ = __webpack_require__(/*! ../internals/export */ 43); -var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ 119); -var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ 71); -var sloppyArrayMethod = __webpack_require__(/*! ../internals/sloppy-array-method */ 275); - -var nativeJoin = [].join; - -var ES3_STRINGS = IndexedObject != Object; -var SLOPPY_METHOD = sloppyArrayMethod('join', ','); - -// `Array.prototype.join` method -// https://tc39.github.io/ecma262/#sec-array.prototype.join -$({ target: 'Array', proto: true, forced: ES3_STRINGS || SLOPPY_METHOD }, { - join: function join(separator) { - return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator); - } -}); - - -/***/ }), -/* 77 */ -/*!*******************************************************!*\ - !*** ./node_modules/core-js-pure/internals/global.js ***! - \*******************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -/* WEBPACK VAR INJECTION */(function(global) {var O = 'object'; -var check = function (it) { - return it && it.Math == Math && it; -}; - -// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 -module.exports = - // eslint-disable-next-line no-undef - check(typeof globalThis == O && globalThis) || - check(typeof window == O && window) || - check(typeof self == O && self) || - check(typeof global == O && global) || - // eslint-disable-next-line no-new-func - Function('return this')(); - -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ 124))) - -/***/ }), -/* 78 */ -/*!**********************************************************!*\ - !*** ./node_modules/core-js-pure/internals/is-object.js ***! - \**********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -module.exports = function (it) { - return typeof it === 'object' ? it !== null : typeof it === 'function'; -}; - - -/***/ }), -/* 79 */ -/*!*********************************!*\ - !*** ./dev/Stores/Admin/App.js ***! - \*********************************/ -/*! exports provided: default */ -/*! exports used: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var _babel_runtime_corejs3_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/inheritsLoose */ 10); -/* harmony import */ var _babel_runtime_corejs3_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var window__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! window */ 4); -/* harmony import */ var window__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(window__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var $__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! $ */ 8); -/* harmony import */ var $__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n($__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var ko__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ko */ 1); -/* harmony import */ var Storage_Settings__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! Storage/Settings */ 5); -/* harmony import */ var Stores_AbstractApp__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! Stores/AbstractApp */ 255); - - - - - - - -var AppAdminStore = -/*#__PURE__*/ -function (_AbstractAppStore) { - _babel_runtime_corejs3_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0___default()(AppAdminStore, _AbstractAppStore); - - function AppAdminStore() { - var _this; - - _this = _AbstractAppStore.call(this) || this; - _this.determineUserLanguage = ko__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"].observable(false); - _this.determineUserDomain = ko__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"].observable(false); - _this.weakPassword = ko__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"].observable(false); - _this.useLocalProxyForExternalImages = ko__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"].observable(false); - _this.dataFolderAccess = ko__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"].observable(false); - return _this; - } - - var _proto = AppAdminStore.prototype; - - _proto.populate = function populate() { - var _this2 = this; - - _AbstractAppStore.prototype.populate.call(this); - - this.determineUserLanguage(!!Object(Storage_Settings__WEBPACK_IMPORTED_MODULE_4__["settingsGet"])('DetermineUserLanguage')); - this.determineUserDomain(!!Object(Storage_Settings__WEBPACK_IMPORTED_MODULE_4__["settingsGet"])('DetermineUserDomain')); - this.weakPassword(!!Object(Storage_Settings__WEBPACK_IMPORTED_MODULE_4__["settingsGet"])('WeakPassword')); - this.useLocalProxyForExternalImages(!!Object(Storage_Settings__WEBPACK_IMPORTED_MODULE_4__["settingsGet"])('UseLocalProxyForExternalImages')); - - if (Object(Storage_Settings__WEBPACK_IMPORTED_MODULE_4__["settingsGet"])('Auth')) { - $__WEBPACK_IMPORTED_MODULE_2___default.a.get('./data/VERSION?' + window__WEBPACK_IMPORTED_MODULE_1___default.a.Math.random()).then(function () { - return _this2.dataFolderAccess(true); - }); - } - }; - - return AppAdminStore; -}(Stores_AbstractApp__WEBPACK_IMPORTED_MODULE_5__[/* AbstractAppStore */ "a"]); - -/* harmony default export */ __webpack_exports__["a"] = (new AppAdminStore()); - -/***/ }), -/* 80 */ -/*!******************************************************!*\ - !*** ./node_modules/core-js/internals/to-integer.js ***! - \******************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -var ceil = Math.ceil; -var floor = Math.floor; - -// `ToInteger` abstract operation -// https://tc39.github.io/ecma262/#sec-tointeger -module.exports = function (argument) { - return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument); -}; - - -/***/ }), -/* 81 */ -/*!****************************!*\ - !*** ./dev/Model/Email.js ***! - \****************************/ -/*! exports provided: EmailModel, default */ -/*! all exports used */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "EmailModel", function() { return EmailModel; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return EmailModel; }); -/* harmony import */ var core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.function.name */ 52); -/* harmony import */ var core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.regexp.exec */ 48); -/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.string.replace */ 56); -/* harmony import */ var core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var core_js_modules_es_string_search__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.string.search */ 266); -/* harmony import */ var core_js_modules_es_string_search__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_search__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_map__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/map */ 18); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_map__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_map__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/for-each */ 69); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_index_of__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/index-of */ 30); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_index_of__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_index_of__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/defineProperty */ 17); -/* harmony import */ var _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7__); -/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! _ */ 3); -/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(___WEBPACK_IMPORTED_MODULE_8__); -/* harmony import */ var emailjs_addressparser__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! emailjs-addressparser */ 160); -/* harmony import */ var emailjs_addressparser__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(emailjs_addressparser__WEBPACK_IMPORTED_MODULE_9__); -/* harmony import */ var Common_Utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! Common/Utils */ 2); - - - - - - - - - - - - -var EmailModel = -/*#__PURE__*/ -function () { - /** - * @param {string=} email = '' - * @param {string=} name = '' - * @param {string=} dkimStatus = 'none' - * @param {string=} dkimValue = '' - */ - function EmailModel(email, name, dkimStatus, dkimValue) { - if (email === void 0) { - email = ''; - } - - if (name === void 0) { - name = ''; - } - - if (dkimStatus === void 0) { - dkimStatus = 'none'; - } - - if (dkimValue === void 0) { - dkimValue = ''; - } - - _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(this, "email", ''); - - _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(this, "name", ''); - - _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(this, "dkimStatus", ''); - - _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_7___default()(this, "dkimValue", ''); - - this.email = email; - this.name = name; - this.dkimStatus = dkimStatus; - this.dkimValue = dkimValue; - this.clearDuplicateName(); - } - /** - * @static - * @param {AjaxJsonEmail} json - * @returns {?EmailModel} - */ - - - EmailModel.newInstanceFromJson = function newInstanceFromJson(json) { - var email = new EmailModel(); - return email.initByJson(json) ? email : null; - } - /** - * @returns {void} - */ - ; - - var _proto = EmailModel.prototype; - - _proto.clear = function clear() { - this.email = ''; - this.name = ''; - this.dkimStatus = 'none'; - this.dkimValue = ''; - } - /** - * @returns {boolean} - */ - ; - - _proto.validate = function validate() { - return '' !== this.name || '' !== this.email; - } - /** - * @param {boolean} withoutName = false - * @returns {string} - */ - ; - - _proto.hash = function hash(withoutName) { - if (withoutName === void 0) { - withoutName = false; - } - - return '#' + (withoutName ? '' : this.name) + '#' + this.email + '#'; - } - /** - * @returns {void} - */ - ; - - _proto.clearDuplicateName = function clearDuplicateName() { - if (this.name === this.email) { - this.name = ''; - } - } - /** - * @param {string} query - * @returns {boolean} - */ - ; - - _proto.search = function search(query) { - var _context; - - return -1 < _babel_runtime_corejs3_core_js_stable_instance_index_of__WEBPACK_IMPORTED_MODULE_6___default()(_context = (this.name + ' ' + this.email).toLowerCase()).call(_context, query.toLowerCase()); - } - /** - * @param {AjaxJsonEmail} oJsonEmail - * @returns {boolean} - */ - ; - - _proto.initByJson = function initByJson(json) { - var result = false; - - if (json && 'Object/Email' === json['@Object']) { - this.name = Object(Common_Utils__WEBPACK_IMPORTED_MODULE_10__["trim"])(json.Name); - this.email = Object(Common_Utils__WEBPACK_IMPORTED_MODULE_10__["trim"])(json.Email); - this.dkimStatus = Object(Common_Utils__WEBPACK_IMPORTED_MODULE_10__["trim"])(json.DkimStatus || ''); - this.dkimValue = Object(Common_Utils__WEBPACK_IMPORTED_MODULE_10__["trim"])(json.DkimValue || ''); - result = '' !== this.email; - this.clearDuplicateName(); - } - - return result; - } - /** - * @param {boolean} friendlyView - * @param {boolean=} wrapWithLink = false - * @param {boolean=} useEncodeHtml = false - * @returns {string} - */ - ; - - _proto.toLine = function toLine(friendlyView, wrapWithLink, useEncodeHtml) { - if (wrapWithLink === void 0) { - wrapWithLink = false; - } - - if (useEncodeHtml === void 0) { - useEncodeHtml = false; - } - - var result = ''; - - if ('' !== this.email) { - if (friendlyView && '' !== this.name) { - result = wrapWithLink ? '
') + '" target="_blank" tabindex="-1">' + Object(Common_Utils__WEBPACK_IMPORTED_MODULE_10__["encodeHtml"])(this.name) + '' : useEncodeHtml ? Object(Common_Utils__WEBPACK_IMPORTED_MODULE_10__["encodeHtml"])(this.name) : this.name; // result = wrapWithLink ? '') + - // '" target="_blank" tabindex="-1">' + encodeHtml(this.name) + '' : (useEncodeHtml ? encodeHtml(this.name) : this.name); - } else { - result = this.email; - - if ('' !== this.name) { - if (wrapWithLink) { - result = Object(Common_Utils__WEBPACK_IMPORTED_MODULE_10__["encodeHtml"])('"' + this.name + '" <') + '') + '" target="_blank" tabindex="-1">' + Object(Common_Utils__WEBPACK_IMPORTED_MODULE_10__["encodeHtml"])(result) + '' + Object(Common_Utils__WEBPACK_IMPORTED_MODULE_10__["encodeHtml"])('>'); // result = encodeHtml('"' + this.name + '" <') + '') + - // '" target="_blank" tabindex="-1">' + - // encodeHtml(result) + - // '' + - // encodeHtml('>'); - } else { - result = '"' + this.name + '" <' + result + '>'; - - if (useEncodeHtml) { - result = Object(Common_Utils__WEBPACK_IMPORTED_MODULE_10__["encodeHtml"])(result); - } - } - } else if (wrapWithLink) { - result = '' + Object(Common_Utils__WEBPACK_IMPORTED_MODULE_10__["encodeHtml"])(this.email) + ''; - } - } - } - - return result; - }; - - EmailModel.splitEmailLine = function splitEmailLine(line) { - var parsedResult = emailjs_addressparser__WEBPACK_IMPORTED_MODULE_9___default()(line); - - if (Object(Common_Utils__WEBPACK_IMPORTED_MODULE_10__["isNonEmptyArray"])(parsedResult)) { - var result = []; - var exists = false; - - _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_5___default()(parsedResult).call(parsedResult, function (item) { - var address = item.address ? new EmailModel(item.address.replace(/^[<]+(.*)[>]+$/g, '$1'), item.name || '') : null; - - if (address && address.email) { - exists = true; - } - - result.push(address ? address.toLine(false) : item.name); - }); - - return exists ? result : null; - } - - return null; - }; - - EmailModel.parseEmailLine = function parseEmailLine(line) { - var parsedResult = emailjs_addressparser__WEBPACK_IMPORTED_MODULE_9___default()(line); - - if (Object(Common_Utils__WEBPACK_IMPORTED_MODULE_10__["isNonEmptyArray"])(parsedResult)) { - return ___WEBPACK_IMPORTED_MODULE_8___default.a.compact(_babel_runtime_corejs3_core_js_stable_instance_map__WEBPACK_IMPORTED_MODULE_4___default()(___WEBPACK_IMPORTED_MODULE_8___default.a).call(___WEBPACK_IMPORTED_MODULE_8___default.a, parsedResult, function (item) { - return item.address ? new EmailModel(item.address.replace(/^[<]+(.*)[>]+$/g, '$1'), item.name || '') : null; - })); - } - - return []; - } - /** - * @param {string} emailAddress - * @returns {boolean} - */ - ; - - _proto.parse = function parse(emailAddress) { - emailAddress = Object(Common_Utils__WEBPACK_IMPORTED_MODULE_10__["trim"])(emailAddress); - - if ('' === emailAddress) { - return false; - } - - var result = emailjs_addressparser__WEBPACK_IMPORTED_MODULE_9___default()(emailAddress); - - if (Object(Common_Utils__WEBPACK_IMPORTED_MODULE_10__["isNonEmptyArray"])(result) && result[0]) { - this.name = result[0].name || ''; - this.email = result[0].address || ''; - this.clearDuplicateName(); - return true; - } - - return false; - }; - - return EmailModel; -}(); - - - -/***/ }), -/* 82 */, -/* 83 */ -/*!***************************************************!*\ - !*** ./node_modules/core-js/internals/is-pure.js ***! - \***************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -module.exports = false; - - -/***/ }), -/* 84 */ -/*!************************************************************!*\ - !*** ./node_modules/core-js-pure/internals/descriptors.js ***! - \************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var fails = __webpack_require__(/*! ../internals/fails */ 57); - -// Thank's IE8 for his funny defineProperty -module.exports = !fails(function () { - return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; -}); - - -/***/ }), -/* 85 */ -/*!*****************************************************!*\ - !*** ./node_modules/core-js-pure/internals/hide.js ***! - \*****************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ 84); -var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ 134); -var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ 151); - -module.exports = DESCRIPTORS ? function (object, key, value) { - return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); -} : function (object, key, value) { - object[key] = value; - return object; -}; - - -/***/ }), -/* 86 */ -/*!****************************************!*\ - !*** ./dev/Component/AbstractInput.js ***! - \****************************************/ -/*! exports provided: AbstractInput, default */ -/*! exports used: AbstractInput */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AbstractInput; }); -/* unused harmony export default */ -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/find */ 12); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _babel_runtime_corejs3_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/assertThisInitialized */ 33); -/* harmony import */ var _babel_runtime_corejs3_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _babel_runtime_corejs3_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/inheritsLoose */ 10); -/* harmony import */ var _babel_runtime_corejs3_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var ko__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ko */ 1); -/* harmony import */ var Common_Utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! Common/Utils */ 2); -/* harmony import */ var Common_Enums__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! Common/Enums */ 0); -/* harmony import */ var Component_Abstract__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! Component/Abstract */ 35); - - - - - - - - -var AbstractInput = -/*#__PURE__*/ -function (_AbstractComponent) { - _babel_runtime_corejs3_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_2___default()(AbstractInput, _AbstractComponent); - - /** - * @param {Object} params - */ - function AbstractInput(params) { - var _this; - - _this = _AbstractComponent.call(this) || this; - _this.value = params.value || ''; - _this.size = params.size || 0; - _this.label = params.label || ''; - _this.preLabel = params.preLabel || ''; - _this.enable = Object(Common_Utils__WEBPACK_IMPORTED_MODULE_4__["isUnd"])(params.enable) ? true : params.enable; - _this.trigger = params.trigger && params.trigger.subscribe ? params.trigger : null; - _this.placeholder = params.placeholder || ''; - _this.labeled = !Object(Common_Utils__WEBPACK_IMPORTED_MODULE_4__["isUnd"])(params.label); - _this.preLabeled = !Object(Common_Utils__WEBPACK_IMPORTED_MODULE_4__["isUnd"])(params.preLabel); - _this.triggered = !Object(Common_Utils__WEBPACK_IMPORTED_MODULE_4__["isUnd"])(params.trigger) && !!_this.trigger; - _this.classForTrigger = ko__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"].observable(''); - _this.className = ko__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"].computed(function () { - var size = ko__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"].unwrap(_this.size), - suffixValue = _this.trigger ? ' ' + Object(Common_Utils__WEBPACK_IMPORTED_MODULE_4__["trim"])('settings-saved-trigger-input ' + _this.classForTrigger()) : ''; - return (0 < size ? 'span' + size : '') + suffixValue; - }); - - if (!Object(Common_Utils__WEBPACK_IMPORTED_MODULE_4__["isUnd"])(params.width) && params.element) { - var _context; - - _babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_0___default()(_context = params.element).call(_context, 'input,select,textarea').css('width', params.width); - } - - _this.disposable.push(_this.className); - - if (_this.trigger) { - _this.setTriggerState(_this.trigger()); - - _this.disposable.push(_this.trigger.subscribe(_this.setTriggerState, _babel_runtime_corejs3_helpers_assertThisInitialized__WEBPACK_IMPORTED_MODULE_1___default()(_this))); - } - - return _this; - } - - var _proto = AbstractInput.prototype; - - _proto.setTriggerState = function setTriggerState(value) { - switch (Object(Common_Utils__WEBPACK_IMPORTED_MODULE_4__["pInt"])(value)) { - case Common_Enums__WEBPACK_IMPORTED_MODULE_5__["SaveSettingsStep"].TrueResult: - this.classForTrigger('success'); - break; - - case Common_Enums__WEBPACK_IMPORTED_MODULE_5__["SaveSettingsStep"].FalseResult: - this.classForTrigger('error'); - break; - - default: - this.classForTrigger(''); - break; - } - }; - - return AbstractInput; -}(Component_Abstract__WEBPACK_IMPORTED_MODULE_6__[/* AbstractComponent */ "a"]); - - - -/***/ }), -/* 87 */ -/*!**********************************!*\ - !*** ./dev/Stores/Admin/Capa.js ***! - \**********************************/ -/*! exports provided: default */ -/*! exports used: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var ko__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ko */ 1); -/* harmony import */ var Common_Enums__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! Common/Enums */ 0); -/* harmony import */ var Storage_Settings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! Storage/Settings */ 5); - - - - -var CapaAdminStore = -/*#__PURE__*/ -function () { - function CapaAdminStore() { - this.additionalAccounts = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(false); - this.identities = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(false); - this.gravatar = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(false); - this.attachmentThumbnails = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(false); - this.sieve = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(false); - this.filters = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(false); - this.themes = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(true); - this.userBackground = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(false); - this.openPGP = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(false); - this.twoFactorAuth = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(false); - this.twoFactorAuthForce = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(false); - this.templates = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(false); - } - - var _proto = CapaAdminStore.prototype; - - _proto.populate = function populate() { - this.additionalAccounts(Storage_Settings__WEBPACK_IMPORTED_MODULE_2__["capa"](Common_Enums__WEBPACK_IMPORTED_MODULE_1__["Capa"].AdditionalAccounts)); - this.identities(Storage_Settings__WEBPACK_IMPORTED_MODULE_2__["capa"](Common_Enums__WEBPACK_IMPORTED_MODULE_1__["Capa"].Identities)); - this.gravatar(Storage_Settings__WEBPACK_IMPORTED_MODULE_2__["capa"](Common_Enums__WEBPACK_IMPORTED_MODULE_1__["Capa"].Gravatar)); - this.attachmentThumbnails(Storage_Settings__WEBPACK_IMPORTED_MODULE_2__["capa"](Common_Enums__WEBPACK_IMPORTED_MODULE_1__["Capa"].AttachmentThumbnails)); - this.sieve(Storage_Settings__WEBPACK_IMPORTED_MODULE_2__["capa"](Common_Enums__WEBPACK_IMPORTED_MODULE_1__["Capa"].Sieve)); - this.filters(Storage_Settings__WEBPACK_IMPORTED_MODULE_2__["capa"](Common_Enums__WEBPACK_IMPORTED_MODULE_1__["Capa"].Filters)); - this.themes(Storage_Settings__WEBPACK_IMPORTED_MODULE_2__["capa"](Common_Enums__WEBPACK_IMPORTED_MODULE_1__["Capa"].Themes)); - this.userBackground(Storage_Settings__WEBPACK_IMPORTED_MODULE_2__["capa"](Common_Enums__WEBPACK_IMPORTED_MODULE_1__["Capa"].UserBackground)); - this.openPGP(Storage_Settings__WEBPACK_IMPORTED_MODULE_2__["capa"](Common_Enums__WEBPACK_IMPORTED_MODULE_1__["Capa"].OpenPGP)); - this.twoFactorAuth(Storage_Settings__WEBPACK_IMPORTED_MODULE_2__["capa"](Common_Enums__WEBPACK_IMPORTED_MODULE_1__["Capa"].TwoFactor)); - this.twoFactorAuthForce(Storage_Settings__WEBPACK_IMPORTED_MODULE_2__["capa"](Common_Enums__WEBPACK_IMPORTED_MODULE_1__["Capa"].TwoFactorForce)); - this.templates(Storage_Settings__WEBPACK_IMPORTED_MODULE_2__["capa"](Common_Enums__WEBPACK_IMPORTED_MODULE_1__["Capa"].Templates)); - }; - - return CapaAdminStore; -}(); - -/* harmony default export */ __webpack_exports__["a"] = (new CapaAdminStore()); - -/***/ }), -/* 88 */, -/* 89 */ -/*!*************************************!*\ - !*** ./dev/Stores/Admin/Package.js ***! - \*************************************/ -/*! exports provided: default */ -/*! exports used: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var ko__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ko */ 1); - - -var PackageAdminStore = function PackageAdminStore() { - this.packages = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observableArray([]); - this.packages.loading = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(false).extend({ - throttle: 100 - }); - this.packagesReal = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(true); - this.packagesMainUpdatable = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(true); -}; - -/* harmony default export */ __webpack_exports__["a"] = (new PackageAdminStore()); - -/***/ }), -/* 90 */ -/*!******************************************************************************!*\ - !*** ./node_modules/core-js/internals/object-get-own-property-descriptor.js ***! - \******************************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ 50); -var propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ 161); -var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ 91); -var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ 71); -var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ 125); -var has = __webpack_require__(/*! ../internals/has */ 47); -var IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ 126); - -var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; - -// `Object.getOwnPropertyDescriptor` method -// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor -exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { - O = toIndexedObject(O); - P = toPrimitive(P, true); - if (IE8_DOM_DEFINE) try { - return nativeGetOwnPropertyDescriptor(O, P); - } catch (error) { /* empty */ } - if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]); -}; - - -/***/ }), -/* 91 */ -/*!**********************************************************************!*\ - !*** ./node_modules/core-js/internals/create-property-descriptor.js ***! - \**********************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -module.exports = function (bitmap, value) { - return { - enumerable: !(bitmap & 1), - configurable: !(bitmap & 2), - writable: !(bitmap & 4), - value: value - }; -}; - - -/***/ }), -/* 92 */ -/*!******************************************************!*\ - !*** ./node_modules/core-js/internals/set-global.js ***! - \******************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ 28); -var hide = __webpack_require__(/*! ../internals/hide */ 45); - -module.exports = function (key, value) { - try { - hide(global, key, value); - } catch (error) { - global[key] = value; - } return value; -}; - - -/***/ }), -/* 93 */ -/*!**********************************************************!*\ - !*** ./node_modules/core-js/internals/internal-state.js ***! - \**********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var NATIVE_WEAK_MAP = __webpack_require__(/*! ../internals/native-weak-map */ 175); -var global = __webpack_require__(/*! ../internals/global */ 28); -var isObject = __webpack_require__(/*! ../internals/is-object */ 44); -var hide = __webpack_require__(/*! ../internals/hide */ 45); -var objectHas = __webpack_require__(/*! ../internals/has */ 47); -var sharedKey = __webpack_require__(/*! ../internals/shared-key */ 108); -var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ 103); - -var WeakMap = global.WeakMap; -var set, get, has; - -var enforce = function (it) { - return has(it) ? get(it) : set(it, {}); -}; - -var getterFor = function (TYPE) { - return function (it) { - var state; - if (!isObject(it) || (state = get(it)).type !== TYPE) { - throw TypeError('Incompatible receiver, ' + TYPE + ' required'); - } return state; - }; -}; - -if (NATIVE_WEAK_MAP) { - var store = new WeakMap(); - var wmget = store.get; - var wmhas = store.has; - var wmset = store.set; - set = function (it, metadata) { - wmset.call(store, it, metadata); - return metadata; - }; - get = function (it) { - return wmget.call(store, it) || {}; - }; - has = function (it) { - return wmhas.call(store, it); - }; -} else { - var STATE = sharedKey('state'); - hiddenKeys[STATE] = true; - set = function (it, metadata) { - hide(it, STATE, metadata); - return metadata; - }; - get = function (it) { - return objectHas(it, STATE) ? it[STATE] : {}; - }; - has = function (it) { - return objectHas(it, STATE); - }; -} - -module.exports = { - set: set, - get: get, - has: has, - enforce: enforce, - getterFor: getterFor -}; - - -/***/ }), -/* 94 */ -/*!*************************************************************!*\ - !*** ./node_modules/core-js/modules/es.regexp.to-string.js ***! - \*************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var redefine = __webpack_require__(/*! ../internals/redefine */ 54); -var anObject = __webpack_require__(/*! ../internals/an-object */ 36); -var fails = __webpack_require__(/*! ../internals/fails */ 39); -var flags = __webpack_require__(/*! ../internals/regexp-flags */ 166); - -var TO_STRING = 'toString'; -var RegExpPrototype = RegExp.prototype; -var nativeToString = RegExpPrototype[TO_STRING]; - -var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; }); -// FF44- RegExp#toString has a wrong name -var INCORRECT_NAME = nativeToString.name != TO_STRING; - -// `RegExp.prototype.toString` method -// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring -if (NOT_GENERIC || INCORRECT_NAME) { - redefine(RegExp.prototype, TO_STRING, function toString() { - var R = anObject(this); - var p = String(R.source); - var rf = R.flags; - var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf); - return '/' + p + '/' + f; - }, { unsafe: true }); -} - - -/***/ }), -/* 95 */ -/*!******************************************************************!*\ - !*** ./node_modules/core-js-pure/internals/to-indexed-object.js ***! - \******************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -// toObject with fallback for non-array-like ES3 strings -var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ 194); -var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ 196); - -module.exports = function (it) { - return IndexedObject(requireObjectCoercible(it)); -}; - - -/***/ }), -/* 96 */ -/*!****************************************************!*\ - !*** ./node_modules/core-js-pure/internals/has.js ***! - \****************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -var hasOwnProperty = {}.hasOwnProperty; - -module.exports = function (it, key) { - return hasOwnProperty.call(it, key); -}; - - -/***/ }), -/* 97 */ -/*!*****************************************************!*\ - !*** ./node_modules/core-js-pure/internals/path.js ***! - \*****************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -module.exports = {}; - - -/***/ }), -/* 98 */ -/*!********************************!*\ - !*** external "window.moment" ***! - \********************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -module.exports = window.moment; - -/***/ }), -/* 99 */ -/*!************************************!*\ - !*** external "window.progressJs" ***! - \************************************/ -/*! no static exports found */ -/*! exports used: default */ -/***/ (function(module, exports) { - -module.exports = window.progressJs; - -/***/ }), -/* 100 */, -/* 101 */, -/* 102 */ -/*!*******************************************************************!*\ - !*** ./node_modules/core-js/internals/document-create-element.js ***! - \*******************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ 28); -var isObject = __webpack_require__(/*! ../internals/is-object */ 44); - -var document = global.document; -// typeof document.createElement is 'object' in old IE -var EXISTS = isObject(document) && isObject(document.createElement); - -module.exports = function (it) { - return EXISTS ? document.createElement(it) : {}; -}; - - -/***/ }), -/* 103 */ -/*!*******************************************************!*\ - !*** ./node_modules/core-js/internals/hidden-keys.js ***! - \*******************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -module.exports = {}; - - -/***/ }), -/* 104 */ -/*!********************************************************!*\ - !*** ./node_modules/core-js/internals/bind-context.js ***! - \********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var aFunction = __webpack_require__(/*! ../internals/a-function */ 66); - -// optional / simple context binding -module.exports = function (fn, that, length) { - aFunction(fn); - if (that === undefined) return fn; - switch (length) { - case 0: return function () { - return fn.call(that); - }; - case 1: return function (a) { - return fn.call(that, a); - }; - case 2: return function (a, b) { - return fn.call(that, a, b); - }; - case 3: return function (a, b, c) { - return fn.call(that, a, b, c); - }; - } - return function (/* ...args */) { - return fn.apply(that, arguments); - }; -}; - - -/***/ }), -/* 105 */ -/*!******************************************************!*\ - !*** ./node_modules/core-js/internals/user-agent.js ***! - \******************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ 65); - -module.exports = getBuiltIn('navigator', 'userAgent') || ''; - - -/***/ }), -/* 106 */ -/*!******************************************************************!*\ - !*** ./node_modules/core-js/internals/new-promise-capability.js ***! - \******************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var aFunction = __webpack_require__(/*! ../internals/a-function */ 66); - -var PromiseCapability = function (C) { - var resolve, reject; - this.promise = new C(function ($$resolve, $$reject) { - if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor'); - resolve = $$resolve; - reject = $$reject; - }); - this.resolve = aFunction(resolve); - this.reject = aFunction(reject); -}; - -// 25.4.1.5 NewPromiseCapability(C) -module.exports.f = function (C) { - return new PromiseCapability(C); -}; - - -/***/ }), -/* 107 */ -/*!*****************************!*\ - !*** ./dev/Common/Jassl.js ***! - \*****************************/ -/*! exports provided: jassl */ -/*! exports used: jassl */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return jassl; }); -/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.object.to-string */ 55); -/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var core_js_modules_es_promise__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.promise */ 121); -/* harmony import */ var core_js_modules_es_promise__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_promise__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var window__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! window */ 4); -/* harmony import */ var window__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(window__WEBPACK_IMPORTED_MODULE_2__); - - - // let rainloopCaches = window.caches && window.caches.open ? window.caches : null; - -/** - * @param {src} src - * @param {boolean} async = false - * @returns {Promise} - */ - -function jassl(src, async) { - if (async === void 0) { - async = false; - } - - if (!window__WEBPACK_IMPORTED_MODULE_2___default.a.Promise || !window__WEBPACK_IMPORTED_MODULE_2___default.a.Promise.all) { - throw new Error('Promises are not available your environment.'); - } - - if (!src) { - throw new Error('src should not be empty.'); - } - - return new window__WEBPACK_IMPORTED_MODULE_2___default.a.Promise(function (resolve, reject) { - var element = window__WEBPACK_IMPORTED_MODULE_2___default.a.document.createElement('script'); - - element.onload = function () { - resolve(src); - }; - - element.onerror = function () { - reject(new Error(src)); - }; - - element.async = true === async; - element.src = src; - window__WEBPACK_IMPORTED_MODULE_2___default.a.document.body.appendChild(element); - }) - /* .then((s) => { - const found = s && rainloopCaches ? s.match(/rainloop\/v\/([^\/]+)\/static\//) : null; - if (found && found[1]) - { - rainloopCaches.open('rainloop-offline-' + found[1]).then( - (cache) => cache.add(s) - ).catch(() => { - rainloopCaches = null; - }); - } - return s; - })*/ - ; -} - -/***/ }), -/* 108 */ -/*!******************************************************!*\ - !*** ./node_modules/core-js/internals/shared-key.js ***! - \******************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var shared = __webpack_require__(/*! ../internals/shared */ 74); -var uid = __webpack_require__(/*! ../internals/uid */ 128); - -var keys = shared('keys'); - -module.exports = function (key) { - return keys[key] || (keys[key] = uid(key)); -}; - - -/***/ }), -/* 109 */ -/*!************************************************!*\ - !*** ./node_modules/core-js/internals/path.js ***! - \************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -module.exports = __webpack_require__(/*! ../internals/global */ 28); - - -/***/ }), -/* 110 */ -/*!*********************************************************!*\ - !*** ./node_modules/core-js/internals/enum-bug-keys.js ***! - \*********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -// IE8- don't enum bug keys -module.exports = [ - 'constructor', - 'hasOwnProperty', - 'isPrototypeOf', - 'propertyIsEnumerable', - 'toLocaleString', - 'toString', - 'valueOf' -]; - - -/***/ }), -/* 111 */ -/*!*************************************************************!*\ - !*** ./node_modules/core-js/internals/set-to-string-tag.js ***! - \*************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ 59).f; -var has = __webpack_require__(/*! ../internals/has */ 47); -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ 32); - -var TO_STRING_TAG = wellKnownSymbol('toStringTag'); - -module.exports = function (it, TAG, STATIC) { - if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) { - defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG }); - } -}; - - -/***/ }), -/* 112 */ -/*!*******************************************************!*\ - !*** ./node_modules/core-js/internals/regexp-exec.js ***! - \*******************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var regexpFlags = __webpack_require__(/*! ./regexp-flags */ 166); - -var nativeExec = RegExp.prototype.exec; -// This always refers to the native implementation, because the -// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js, -// which loads this file before patching the method. -var nativeReplace = String.prototype.replace; - -var patchedExec = nativeExec; - -var UPDATES_LAST_INDEX_WRONG = (function () { - var re1 = /a/; - var re2 = /b*/g; - nativeExec.call(re1, 'a'); - nativeExec.call(re2, 'a'); - return re1.lastIndex !== 0 || re2.lastIndex !== 0; -})(); - -// nonparticipating capturing group, copied from es5-shim's String#split patch. -var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined; - -var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED; - -if (PATCH) { - patchedExec = function exec(str) { - var re = this; - var lastIndex, reCopy, match, i; - - if (NPCG_INCLUDED) { - reCopy = new RegExp('^' + re.source + '$(?!\\s)', regexpFlags.call(re)); - } - if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex; - - match = nativeExec.call(re, str); - - if (UPDATES_LAST_INDEX_WRONG && match) { - re.lastIndex = re.global ? match.index + match[0].length : lastIndex; - } - if (NPCG_INCLUDED && match && match.length > 1) { - // Fix browsers whose `exec` methods don't consistently return `undefined` - // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/ - nativeReplace.call(match[0], reCopy, function () { - for (i = 1; i < arguments.length - 2; i++) { - if (arguments[i] === undefined) match[i] = undefined; - } - }); - } - - return match; - }; -} - -module.exports = patchedExec; - - -/***/ }), -/* 113 */ -/*!**********************************************************!*\ - !*** ./node_modules/core-js-pure/internals/to-length.js ***! - \**********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var toInteger = __webpack_require__(/*! ../internals/to-integer */ 198); - -var min = Math.min; - -// `ToLength` abstract operation -// https://tc39.github.io/ecma262/#sec-tolength -module.exports = function (argument) { - return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 -}; - - -/***/ }), -/* 114 */ -/*!*******************************************************************************!*\ - !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/instance/values.js ***! - \*******************************************************************************/ -/*! no static exports found */ -/*! exports used: default */ -/***/ (function(module, exports, __webpack_require__) { - -module.exports = __webpack_require__(/*! core-js-pure/stable/instance/values */ 282); - -/***/ }), -/* 115 */ -/*!*****************************!*\ - !*** ./dev/Stores/Theme.js ***! - \*****************************/ -/*! exports provided: default */ -/*! exports used: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var ko__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ko */ 1); -/* harmony import */ var Common_Utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! Common/Utils */ 2); -/* harmony import */ var Storage_Settings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! Storage/Settings */ 5); - - - - -var ThemeStore = -/*#__PURE__*/ -function () { - function ThemeStore() { - this.themes = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observableArray([]); - this.themeBackgroundName = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(''); - this.themeBackgroundHash = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(''); - this.theme = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable('').extend({ - limitedList: this.themes - }); - } - - var _proto = ThemeStore.prototype; - - _proto.populate = function populate() { - var themes = Storage_Settings__WEBPACK_IMPORTED_MODULE_2__["appSettingsGet"]('themes'); - this.themes(Object(Common_Utils__WEBPACK_IMPORTED_MODULE_1__["isArray"])(themes) ? themes : []); - this.theme(Storage_Settings__WEBPACK_IMPORTED_MODULE_2__["settingsGet"]('Theme')); - this.themeBackgroundName(Storage_Settings__WEBPACK_IMPORTED_MODULE_2__["settingsGet"]('UserBackgroundName')); - this.themeBackgroundHash(Storage_Settings__WEBPACK_IMPORTED_MODULE_2__["settingsGet"]('UserBackgroundHash')); - }; - - return ThemeStore; -}(); - -/* harmony default export */ __webpack_exports__["a"] = (new ThemeStore()); - -/***/ }), -/* 116 */, -/* 117 */ -/*!************************************!*\ - !*** ./dev/Stores/Admin/Plugin.js ***! - \************************************/ -/*! exports provided: default */ -/*! exports used: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var ko__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ko */ 1); - - -var PluginAdminStore = function PluginAdminStore() { - this.plugins = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observableArray([]); - this.plugins.loading = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(false).extend({ - throttle: 100 - }); - this.plugins.error = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(''); -}; - -/* harmony default export */ __webpack_exports__["a"] = (new PluginAdminStore()); - -/***/ }), -/* 118 */ -/*!*************************************!*\ - !*** ./dev/Stores/Admin/License.js ***! - \*************************************/ -/*! exports provided: default */ -/*! exports used: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var ko__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ko */ 1); - - -var LicenseAdminStore = function LicenseAdminStore() { - this.licensing = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(false); - this.licensingProcess = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(false); - this.licenseValid = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(false); - this.licenseExpired = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(0); - this.licenseError = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(''); - this.licenseTrigger = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(false); -}; - -/* harmony default export */ __webpack_exports__["a"] = (new LicenseAdminStore()); - -/***/ }), -/* 119 */ -/*!**********************************************************!*\ - !*** ./node_modules/core-js/internals/indexed-object.js ***! - \**********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var fails = __webpack_require__(/*! ../internals/fails */ 39); -var classof = __webpack_require__(/*! ../internals/classof-raw */ 49); - -var split = ''.split; - -// fallback for non-array-like ES3 and non-enumerable old V8 strings -module.exports = fails(function () { - // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 - // eslint-disable-next-line no-prototype-builtins - return !Object('z').propertyIsEnumerable(0); -}) ? function (it) { - return classof(it) == 'String' ? split.call(it, '') : Object(it); -} : Object; - - -/***/ }), -/* 120 */ -/*!*****************************************************!*\ - !*** ./node_modules/core-js/internals/to-object.js ***! - \*****************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ 51); - -// `ToObject` abstract operation -// https://tc39.github.io/ecma262/#sec-toobject -module.exports = function (argument) { - return Object(requireObjectCoercible(argument)); -}; - - -/***/ }), -/* 121 */ -/*!****************************************************!*\ - !*** ./node_modules/core-js/modules/es.promise.js ***! - \****************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var $ = __webpack_require__(/*! ../internals/export */ 43); -var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ 83); -var global = __webpack_require__(/*! ../internals/global */ 28); -var path = __webpack_require__(/*! ../internals/path */ 109); -var redefineAll = __webpack_require__(/*! ../internals/redefine-all */ 184); -var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ 111); -var setSpecies = __webpack_require__(/*! ../internals/set-species */ 185); -var isObject = __webpack_require__(/*! ../internals/is-object */ 44); -var aFunction = __webpack_require__(/*! ../internals/a-function */ 66); -var anInstance = __webpack_require__(/*! ../internals/an-instance */ 186); -var classof = __webpack_require__(/*! ../internals/classof-raw */ 49); -var iterate = __webpack_require__(/*! ../internals/iterate */ 141); -var checkCorrectnessOfIteration = __webpack_require__(/*! ../internals/check-correctness-of-iteration */ 190); -var speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ 142); -var task = __webpack_require__(/*! ../internals/task */ 131).set; -var microtask = __webpack_require__(/*! ../internals/microtask */ 191); -var promiseResolve = __webpack_require__(/*! ../internals/promise-resolve */ 165); -var hostReportErrors = __webpack_require__(/*! ../internals/host-report-errors */ 192); -var newPromiseCapabilityModule = __webpack_require__(/*! ../internals/new-promise-capability */ 106); -var perform = __webpack_require__(/*! ../internals/perform */ 143); -var userAgent = __webpack_require__(/*! ../internals/user-agent */ 105); -var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ 93); -var isForced = __webpack_require__(/*! ../internals/is-forced */ 129); -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ 32); - -var SPECIES = wellKnownSymbol('species'); -var PROMISE = 'Promise'; -var getInternalState = InternalStateModule.get; -var setInternalState = InternalStateModule.set; -var getInternalPromiseState = InternalStateModule.getterFor(PROMISE); -var PromiseConstructor = global[PROMISE]; -var TypeError = global.TypeError; -var document = global.document; -var process = global.process; -var $fetch = global.fetch; -var versions = process && process.versions; -var v8 = versions && versions.v8 || ''; -var newPromiseCapability = newPromiseCapabilityModule.f; -var newGenericPromiseCapability = newPromiseCapability; -var IS_NODE = classof(process) == 'process'; -var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent); -var UNHANDLED_REJECTION = 'unhandledrejection'; -var REJECTION_HANDLED = 'rejectionhandled'; -var PENDING = 0; -var FULFILLED = 1; -var REJECTED = 2; -var HANDLED = 1; -var UNHANDLED = 2; -var Internal, OwnPromiseCapability, PromiseWrapper; - -var FORCED = isForced(PROMISE, function () { - // correct subclassing with @@species support - var promise = PromiseConstructor.resolve(1); - var empty = function () { /* empty */ }; - var FakePromise = (promise.constructor = {})[SPECIES] = function (exec) { - exec(empty, empty); - }; - // unhandled rejections tracking support, NodeJS Promise without it fails @@species test - return !((IS_NODE || typeof PromiseRejectionEvent == 'function') - && (!IS_PURE || promise['finally']) - && promise.then(empty) instanceof FakePromise - // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables - // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 - // we can't detect it synchronously, so just check versions - && v8.indexOf('6.6') !== 0 - && userAgent.indexOf('Chrome/66') === -1); -}); - -var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) { - PromiseConstructor.all(iterable)['catch'](function () { /* empty */ }); -}); - -// helpers -var isThenable = function (it) { - var then; - return isObject(it) && typeof (then = it.then) == 'function' ? then : false; -}; - -var notify = function (promise, state, isReject) { - if (state.notified) return; - state.notified = true; - var chain = state.reactions; - microtask(function () { - var value = state.value; - var ok = state.state == FULFILLED; - var index = 0; - // variable length - can't use forEach - while (chain.length > index) { - var reaction = chain[index++]; - var handler = ok ? reaction.ok : reaction.fail; - var resolve = reaction.resolve; - var reject = reaction.reject; - var domain = reaction.domain; - var result, then, exited; - try { - if (handler) { - if (!ok) { - if (state.rejection === UNHANDLED) onHandleUnhandled(promise, state); - state.rejection = HANDLED; - } - if (handler === true) result = value; - else { - if (domain) domain.enter(); - result = handler(value); // can throw - if (domain) { - domain.exit(); - exited = true; - } - } - if (result === reaction.promise) { - reject(TypeError('Promise-chain cycle')); - } else if (then = isThenable(result)) { - then.call(result, resolve, reject); - } else resolve(result); - } else reject(value); - } catch (error) { - if (domain && !exited) domain.exit(); - reject(error); - } - } - state.reactions = []; - state.notified = false; - if (isReject && !state.rejection) onUnhandled(promise, state); - }); -}; - -var dispatchEvent = function (name, promise, reason) { - var event, handler; - if (DISPATCH_EVENT) { - event = document.createEvent('Event'); - event.promise = promise; - event.reason = reason; - event.initEvent(name, false, true); - global.dispatchEvent(event); - } else event = { promise: promise, reason: reason }; - if (handler = global['on' + name]) handler(event); - else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason); -}; - -var onUnhandled = function (promise, state) { - task.call(global, function () { - var value = state.value; - var IS_UNHANDLED = isUnhandled(state); - var result; - if (IS_UNHANDLED) { - result = perform(function () { - if (IS_NODE) { - process.emit('unhandledRejection', value, promise); - } else dispatchEvent(UNHANDLED_REJECTION, promise, value); - }); - // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should - state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED; - if (result.error) throw result.value; - } - }); -}; - -var isUnhandled = function (state) { - return state.rejection !== HANDLED && !state.parent; -}; - -var onHandleUnhandled = function (promise, state) { - task.call(global, function () { - if (IS_NODE) { - process.emit('rejectionHandled', promise); - } else dispatchEvent(REJECTION_HANDLED, promise, state.value); - }); -}; - -var bind = function (fn, promise, state, unwrap) { - return function (value) { - fn(promise, state, value, unwrap); - }; -}; - -var internalReject = function (promise, state, value, unwrap) { - if (state.done) return; - state.done = true; - if (unwrap) state = unwrap; - state.value = value; - state.state = REJECTED; - notify(promise, state, true); -}; - -var internalResolve = function (promise, state, value, unwrap) { - if (state.done) return; - state.done = true; - if (unwrap) state = unwrap; - try { - if (promise === value) throw TypeError("Promise can't be resolved itself"); - var then = isThenable(value); - if (then) { - microtask(function () { - var wrapper = { done: false }; - try { - then.call(value, - bind(internalResolve, promise, wrapper, state), - bind(internalReject, promise, wrapper, state) - ); - } catch (error) { - internalReject(promise, wrapper, error, state); - } - }); - } else { - state.value = value; - state.state = FULFILLED; - notify(promise, state, false); - } - } catch (error) { - internalReject(promise, { done: false }, error, state); - } -}; - -// constructor polyfill -if (FORCED) { - // 25.4.3.1 Promise(executor) - PromiseConstructor = function Promise(executor) { - anInstance(this, PromiseConstructor, PROMISE); - aFunction(executor); - Internal.call(this); - var state = getInternalState(this); - try { - executor(bind(internalResolve, this, state), bind(internalReject, this, state)); - } catch (error) { - internalReject(this, state, error); - } - }; - // eslint-disable-next-line no-unused-vars - Internal = function Promise(executor) { - setInternalState(this, { - type: PROMISE, - done: false, - notified: false, - parent: false, - reactions: [], - rejection: false, - state: PENDING, - value: undefined - }); - }; - Internal.prototype = redefineAll(PromiseConstructor.prototype, { - // `Promise.prototype.then` method - // https://tc39.github.io/ecma262/#sec-promise.prototype.then - then: function then(onFulfilled, onRejected) { - var state = getInternalPromiseState(this); - var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor)); - reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true; - reaction.fail = typeof onRejected == 'function' && onRejected; - reaction.domain = IS_NODE ? process.domain : undefined; - state.parent = true; - state.reactions.push(reaction); - if (state.state != PENDING) notify(this, state, false); - return reaction.promise; - }, - // `Promise.prototype.catch` method - // https://tc39.github.io/ecma262/#sec-promise.prototype.catch - 'catch': function (onRejected) { - return this.then(undefined, onRejected); - } - }); - OwnPromiseCapability = function () { - var promise = new Internal(); - var state = getInternalState(promise); - this.promise = promise; - this.resolve = bind(internalResolve, promise, state); - this.reject = bind(internalReject, promise, state); - }; - newPromiseCapabilityModule.f = newPromiseCapability = function (C) { - return C === PromiseConstructor || C === PromiseWrapper - ? new OwnPromiseCapability(C) - : newGenericPromiseCapability(C); - }; - - // wrap fetch result - if (!IS_PURE && typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, { - // eslint-disable-next-line no-unused-vars - fetch: function fetch(input) { - return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments)); - } - }); -} - -$({ global: true, wrap: true, forced: FORCED }, { - Promise: PromiseConstructor -}); - -setToStringTag(PromiseConstructor, PROMISE, false, true); -setSpecies(PROMISE); - -PromiseWrapper = path[PROMISE]; - -// statics -$({ target: PROMISE, stat: true, forced: FORCED }, { - // `Promise.reject` method - // https://tc39.github.io/ecma262/#sec-promise.reject - reject: function reject(r) { - var capability = newPromiseCapability(this); - capability.reject.call(undefined, r); - return capability.promise; - } -}); - -$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, { - // `Promise.resolve` method - // https://tc39.github.io/ecma262/#sec-promise.resolve - resolve: function resolve(x) { - return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x); - } -}); - -$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, { - // `Promise.all` method - // https://tc39.github.io/ecma262/#sec-promise.all - all: function all(iterable) { - var C = this; - var capability = newPromiseCapability(C); - var resolve = capability.resolve; - var reject = capability.reject; - var result = perform(function () { - var $promiseResolve = aFunction(C.resolve); - var values = []; - var counter = 0; - var remaining = 1; - iterate(iterable, function (promise) { - var index = counter++; - var alreadyCalled = false; - values.push(undefined); - remaining++; - $promiseResolve.call(C, promise).then(function (value) { - if (alreadyCalled) return; - alreadyCalled = true; - values[index] = value; - --remaining || resolve(values); - }, reject); - }); - --remaining || resolve(values); - }); - if (result.error) reject(result.value); - return capability.promise; - }, - // `Promise.race` method - // https://tc39.github.io/ecma262/#sec-promise.race - race: function race(iterable) { - var C = this; - var capability = newPromiseCapability(C); - var reject = capability.reject; - var result = perform(function () { - var $promiseResolve = aFunction(C.resolve); - iterate(iterable, function (promise) { - $promiseResolve.call(C, promise).then(capability.resolve, reject); - }); - }); - if (result.error) reject(result.value); - return capability.promise; - } -}); - - -/***/ }), -/* 122 */ -/*!**********************************************************!*\ - !*** ./node_modules/core-js-pure/internals/to-object.js ***! - \**********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ 196); - -// `ToObject` abstract operation -// https://tc39.github.io/ecma262/#sec-toobject -module.exports = function (argument) { - return Object(requireObjectCoercible(argument)); -}; - - -/***/ }), -/* 123 */, -/* 124 */ -/*!***********************************!*\ - !*** (webpack)/buildin/global.js ***! - \***********************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -var g; - -// This works in non-strict mode -g = (function() { - return this; -})(); - -try { - // This works if eval is allowed (see CSP) - g = g || new Function("return this")(); -} catch (e) { - // This works if the window reference is available - if (typeof window === "object") g = window; -} - -// g can still be undefined, but nothing to do about it... -// We return undefined, instead of nothing here, so it's -// easier to handle this case. if(!global) { ...} - -module.exports = g; - - -/***/ }), -/* 125 */ -/*!********************************************************!*\ - !*** ./node_modules/core-js/internals/to-primitive.js ***! - \********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var isObject = __webpack_require__(/*! ../internals/is-object */ 44); - -// `ToPrimitive` abstract operation -// https://tc39.github.io/ecma262/#sec-toprimitive -// instead of the ES6 spec version, we didn't implement @@toPrimitive case -// and the second argument - flag - preferred type is a string -module.exports = function (input, PREFERRED_STRING) { - if (!isObject(input)) return input; - var fn, val; - if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val; - if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val; - if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val; - throw TypeError("Can't convert object to primitive value"); -}; - - -/***/ }), -/* 126 */ -/*!**********************************************************!*\ - !*** ./node_modules/core-js/internals/ie8-dom-define.js ***! - \**********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ 50); -var fails = __webpack_require__(/*! ../internals/fails */ 39); -var createElement = __webpack_require__(/*! ../internals/document-create-element */ 102); - -// Thank's IE8 for his funny defineProperty -module.exports = !DESCRIPTORS && !fails(function () { - return Object.defineProperty(createElement('div'), 'a', { - get: function () { return 7; } - }).a != 7; -}); - - -/***/ }), -/* 127 */ -/*!**************************************************************!*\ - !*** ./node_modules/core-js/internals/function-to-string.js ***! - \**************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var shared = __webpack_require__(/*! ../internals/shared */ 74); - -module.exports = shared('native-function-to-string', Function.toString); - - -/***/ }), -/* 128 */ -/*!***********************************************!*\ - !*** ./node_modules/core-js/internals/uid.js ***! - \***********************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -var id = 0; -var postfix = Math.random(); - -module.exports = function (key) { - return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36); -}; - - -/***/ }), -/* 129 */ -/*!*****************************************************!*\ - !*** ./node_modules/core-js/internals/is-forced.js ***! - \*****************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var fails = __webpack_require__(/*! ../internals/fails */ 39); - -var replacement = /#|\.prototype\./; - -var isForced = function (feature, detection) { - var value = data[normalize(feature)]; - return value == POLYFILL ? true - : value == NATIVE ? false - : typeof detection == 'function' ? fails(detection) - : !!detection; -}; - -var normalize = isForced.normalize = function (string) { - return String(string).replace(replacement, '.').toLowerCase(); -}; - -var data = isForced.data = {}; -var NATIVE = isForced.NATIVE = 'N'; -var POLYFILL = isForced.POLYFILL = 'P'; - -module.exports = isForced; - - -/***/ }), -/* 130 */ -/*!***************************************************!*\ - !*** ./node_modules/core-js/internals/classof.js ***! - \***************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var classofRaw = __webpack_require__(/*! ../internals/classof-raw */ 49); -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ 32); - -var TO_STRING_TAG = wellKnownSymbol('toStringTag'); -// ES3 wrong here -var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments'; - -// fallback for IE11 Script Access Denied error -var tryGet = function (it, key) { - try { - return it[key]; - } catch (error) { /* empty */ } -}; - -// getting tag from ES6+ `Object.prototype.toString` -module.exports = function (it) { - var O, tag, result; - return it === undefined ? 'Undefined' : it === null ? 'Null' - // @@toStringTag case - : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag - // builtinTag case - : CORRECT_ARGUMENTS ? classofRaw(O) - // ES3 arguments fallback - : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result; -}; - - -/***/ }), -/* 131 */ -/*!************************************************!*\ - !*** ./node_modules/core-js/internals/task.js ***! - \************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ 28); -var fails = __webpack_require__(/*! ../internals/fails */ 39); -var classof = __webpack_require__(/*! ../internals/classof-raw */ 49); -var bind = __webpack_require__(/*! ../internals/bind-context */ 104); -var html = __webpack_require__(/*! ../internals/html */ 140); -var createElement = __webpack_require__(/*! ../internals/document-create-element */ 102); - -var location = global.location; -var set = global.setImmediate; -var clear = global.clearImmediate; -var process = global.process; -var MessageChannel = global.MessageChannel; -var Dispatch = global.Dispatch; -var counter = 0; -var queue = {}; -var ONREADYSTATECHANGE = 'onreadystatechange'; -var defer, channel, port; - -var run = function (id) { - // eslint-disable-next-line no-prototype-builtins - if (queue.hasOwnProperty(id)) { - var fn = queue[id]; - delete queue[id]; - fn(); - } -}; - -var runner = function (id) { - return function () { - run(id); - }; -}; - -var listener = function (event) { - run(event.data); -}; - -var post = function (id) { - // old engines have not location.origin - global.postMessage(id + '', location.protocol + '//' + location.host); -}; - -// Node.js 0.9+ & IE10+ has setImmediate, otherwise: -if (!set || !clear) { - set = function setImmediate(fn) { - var args = []; - var i = 1; - while (arguments.length > i) args.push(arguments[i++]); - queue[++counter] = function () { - // eslint-disable-next-line no-new-func - (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args); - }; - defer(counter); - return counter; - }; - clear = function clearImmediate(id) { - delete queue[id]; - }; - // Node.js 0.8- - if (classof(process) == 'process') { - defer = function (id) { - process.nextTick(runner(id)); - }; - // Sphere (JS game engine) Dispatch API - } else if (Dispatch && Dispatch.now) { - defer = function (id) { - Dispatch.now(runner(id)); - }; - // Browsers with MessageChannel, includes WebWorkers - } else if (MessageChannel) { - channel = new MessageChannel(); - port = channel.port2; - channel.port1.onmessage = listener; - defer = bind(port.postMessage, port, 1); - // Browsers with postMessage, skip WebWorkers - // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' - } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && !fails(post)) { - defer = post; - global.addEventListener('message', listener, false); - // IE8- - } else if (ONREADYSTATECHANGE in createElement('script')) { - defer = function (id) { - html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () { - html.removeChild(this); - run(id); - }; - }; - // Rest old browsers - } else { - defer = function (id) { - setTimeout(runner(id), 0); - }; - } -} - -module.exports = { - set: set, - clear: clear -}; - - -/***/ }), -/* 132 */ -/*!******************************************************************************!*\ - !*** ./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js ***! - \******************************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var hide = __webpack_require__(/*! ../internals/hide */ 45); -var redefine = __webpack_require__(/*! ../internals/redefine */ 54); -var fails = __webpack_require__(/*! ../internals/fails */ 39); -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ 32); -var regexpExec = __webpack_require__(/*! ../internals/regexp-exec */ 112); - -var SPECIES = wellKnownSymbol('species'); - -var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () { - // #replace needs built-in support for named groups. - // #match works fine because it just return the exec results, even if it has - // a "grops" property. - var re = /./; - re.exec = function () { - var result = []; - result.groups = { a: '7' }; - return result; - }; - return ''.replace(re, '$') !== '7'; -}); - -// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec -// Weex JS has frozen built-in prototypes, so use try / catch wrapper -var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () { - var re = /(?:)/; - var originalExec = re.exec; - re.exec = function () { return originalExec.apply(this, arguments); }; - var result = 'ab'.split(re); - return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b'; -}); - -module.exports = function (KEY, length, exec, sham) { - var SYMBOL = wellKnownSymbol(KEY); - - var DELEGATES_TO_SYMBOL = !fails(function () { - // String methods call symbol-named RegEp methods - var O = {}; - O[SYMBOL] = function () { return 7; }; - return ''[KEY](O) != 7; - }); - - var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () { - // Symbol-named RegExp methods call .exec - var execCalled = false; - var re = /a/; - re.exec = function () { execCalled = true; return null; }; - - if (KEY === 'split') { - // RegExp[@@split] doesn't call the regex's exec method, but first creates - // a new one. We need to return the patched regex when creating the new one. - re.constructor = {}; - re.constructor[SPECIES] = function () { return re; }; - } - - re[SYMBOL](''); - return !execCalled; - }); - - if ( - !DELEGATES_TO_SYMBOL || - !DELEGATES_TO_EXEC || - (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) || - (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC) - ) { - var nativeRegExpMethod = /./[SYMBOL]; - var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) { - if (regexp.exec === regexpExec) { - if (DELEGATES_TO_SYMBOL && !forceStringMethod) { - // The native String method already delegates to @@method (this - // polyfilled function), leasing to infinite recursion. - // We avoid it by directly calling the native @@method method. - return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) }; - } - return { done: true, value: nativeMethod.call(str, regexp, arg2) }; - } - return { done: false }; - }); - var stringMethod = methods[0]; - var regexMethod = methods[1]; - - redefine(String.prototype, KEY, stringMethod); - redefine(RegExp.prototype, SYMBOL, length == 2 - // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue) - // 21.2.5.11 RegExp.prototype[@@split](string, limit) - ? function (string, arg) { return regexMethod.call(string, this, arg); } - // 21.2.5.6 RegExp.prototype[@@match](string) - // 21.2.5.9 RegExp.prototype[@@search](string) - : function (string) { return regexMethod.call(string, this); } - ); - if (sham) hide(RegExp.prototype[SYMBOL], 'sham', true); - } -}; - - -/***/ }), -/* 133 */ -/*!****************************************************************!*\ - !*** ./node_modules/core-js/internals/regexp-exec-abstract.js ***! - \****************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var classof = __webpack_require__(/*! ./classof-raw */ 49); -var regexpExec = __webpack_require__(/*! ./regexp-exec */ 112); - -// `RegExpExec` abstract operation -// https://tc39.github.io/ecma262/#sec-regexpexec -module.exports = function (R, S) { - var exec = R.exec; - if (typeof exec === 'function') { - var result = exec.call(R, S); - if (typeof result !== 'object') { - throw TypeError('RegExp exec method returned something other than an Object or null'); - } - return result; - } - - if (classof(R) !== 'RegExp') { - throw TypeError('RegExp#exec called on incompatible receiver'); - } - - return regexpExec.call(R, S); -}; - - - -/***/ }), -/* 134 */ -/*!***********************************************************************!*\ - !*** ./node_modules/core-js-pure/internals/object-define-property.js ***! - \***********************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ 84); -var IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ 235); -var anObject = __webpack_require__(/*! ../internals/an-object */ 152); -var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ 197); - -var nativeDefineProperty = Object.defineProperty; - -// `Object.defineProperty` method -// https://tc39.github.io/ecma262/#sec-object.defineproperty -exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) { - anObject(O); - P = toPrimitive(P, true); - anObject(Attributes); - if (IE8_DOM_DEFINE) try { - return nativeDefineProperty(O, P, Attributes); - } catch (error) { /* empty */ } - if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported'); - if ('value' in Attributes) O[P] = Attributes.value; - return O; -}; - - -/***/ }), -/* 135 */ -/*!*******************************************************!*\ - !*** ./node_modules/core-js/modules/es.string.sub.js ***! - \*******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var $ = __webpack_require__(/*! ../internals/export */ 43); -var createHTML = __webpack_require__(/*! ../internals/create-html */ 231); -var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/forced-string-html-method */ 232); - -// `String.prototype.sub` method -// https://tc39.github.io/ecma262/#sec-string.prototype.sub -$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('sub') }, { - sub: function sub() { - return createHTML(this, 'sub', '', ''); - } -}); - - -/***/ }), -/* 136 */ -/*!*************************************!*\ - !*** ./dev/Knoin/AbstractScreen.js ***! - \*************************************/ -/*! exports provided: AbstractScreen */ -/*! exports used: AbstractScreen */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AbstractScreen; }); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/for-each */ 69); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_bind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/bind */ 26); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_bind__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_bind__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/defineProperty */ 17); -/* harmony import */ var _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! _ */ 3); -/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(___WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var crossroads__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! crossroads */ 158); -/* harmony import */ var crossroads__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(crossroads__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var Common_Utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! Common/Utils */ 2); - - - - - - -var AbstractScreen = -/*#__PURE__*/ -function () { - function AbstractScreen(screenName, viewModels) { - if (viewModels === void 0) { - viewModels = []; - } - - _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2___default()(this, "oCross", null); - - _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2___default()(this, "sScreenName", void 0); - - _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_2___default()(this, "aViewModels", void 0); - - this.sScreenName = screenName; - this.aViewModels = Object(Common_Utils__WEBPACK_IMPORTED_MODULE_5__["isArray"])(viewModels) ? viewModels : []; - } - /** - * @returns {Array} - */ - - - var _proto = AbstractScreen.prototype; - - _proto.viewModels = function viewModels() { - return this.aViewModels; - } - /** - * @returns {string} - */ - ; - - _proto.screenName = function screenName() { - return this.sScreenName; - } - /** - * @returns {?Array)} - */ - ; - - _proto.routes = function routes() { - return null; - } - /** - * @returns {?Object} - */ - ; - - _proto.__cross = function __cross() { - return this.oCross; - } - /** - * @returns {void} - */ - ; - - _proto.__start = function __start() { - var route = null, - fMatcher = null; - var routes = this.routes(); - - if (Object(Common_Utils__WEBPACK_IMPORTED_MODULE_5__["isNonEmptyArray"])(routes)) { - fMatcher = _babel_runtime_corejs3_core_js_stable_instance_bind__WEBPACK_IMPORTED_MODULE_1___default()(___WEBPACK_IMPORTED_MODULE_3___default.a).call(___WEBPACK_IMPORTED_MODULE_3___default.a, this.onRoute || Common_Utils__WEBPACK_IMPORTED_MODULE_5__["noop"], this); - route = crossroads__WEBPACK_IMPORTED_MODULE_4___default.a.create(); - - _babel_runtime_corejs3_core_js_stable_instance_for_each__WEBPACK_IMPORTED_MODULE_0___default()(routes).call(routes, function (item) { - if (item && route) { - route.addRoute(item[0], fMatcher).rules = item[1]; - } - }); - - this.oCross = route; - } - }; - - return AbstractScreen; -}(); - -/***/ }), -/* 137 */ -/*!*****************************************************************************!*\ - !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/instance/trim.js ***! - \*****************************************************************************/ -/*! no static exports found */ -/*! exports used: default */ -/***/ (function(module, exports, __webpack_require__) { - -module.exports = __webpack_require__(/*! core-js-pure/stable/instance/trim */ 324); - -/***/ }), -/* 138 */ -/*!*****************************!*\ - !*** external "window.ssm" ***! - \*****************************/ -/*! no static exports found */ -/*! exports used: default */ -/***/ (function(module, exports) { - -module.exports = window.ssm; - -/***/ }), -/* 139 */ -/*!****************************************************************!*\ - !*** ./node_modules/core-js/internals/object-keys-internal.js ***! - \****************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var has = __webpack_require__(/*! ../internals/has */ 47); -var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ 71); -var indexOf = __webpack_require__(/*! ../internals/array-includes */ 162).indexOf; -var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ 103); - -module.exports = function (object, names) { - var O = toIndexedObject(object); - var i = 0; - var result = []; - var key; - for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key); - // Don't enum bug & hidden keys - while (names.length > i) if (has(O, key = names[i++])) { - ~indexOf(result, key) || result.push(key); - } - return result; -}; - - -/***/ }), -/* 140 */ -/*!************************************************!*\ - !*** ./node_modules/core-js/internals/html.js ***! - \************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ 65); - -module.exports = getBuiltIn('document', 'documentElement'); - - -/***/ }), -/* 141 */ -/*!***************************************************!*\ - !*** ./node_modules/core-js/internals/iterate.js ***! - \***************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var anObject = __webpack_require__(/*! ../internals/an-object */ 36); -var isArrayIteratorMethod = __webpack_require__(/*! ../internals/is-array-iterator-method */ 187); -var toLength = __webpack_require__(/*! ../internals/to-length */ 72); -var bind = __webpack_require__(/*! ../internals/bind-context */ 104); -var getIteratorMethod = __webpack_require__(/*! ../internals/get-iterator-method */ 188); -var callWithSafeIterationClosing = __webpack_require__(/*! ../internals/call-with-safe-iteration-closing */ 189); - -var Result = function (stopped, result) { - this.stopped = stopped; - this.result = result; -}; - -var iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) { - var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1); - var iterator, iterFn, index, length, result, step; - - if (IS_ITERATOR) { - iterator = iterable; - } else { - iterFn = getIteratorMethod(iterable); - if (typeof iterFn != 'function') throw TypeError('Target is not iterable'); - // optimisation for array iterators - if (isArrayIteratorMethod(iterFn)) { - for (index = 0, length = toLength(iterable.length); length > index; index++) { - result = AS_ENTRIES - ? boundFunction(anObject(step = iterable[index])[0], step[1]) - : boundFunction(iterable[index]); - if (result && result instanceof Result) return result; - } return new Result(false); - } - iterator = iterFn.call(iterable); - } - - while (!(step = iterator.next()).done) { - result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES); - if (result && result instanceof Result) return result; - } return new Result(false); -}; - -iterate.stop = function (result) { - return new Result(true, result); -}; - - -/***/ }), -/* 142 */ -/*!***************************************************************!*\ - !*** ./node_modules/core-js/internals/species-constructor.js ***! - \***************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var anObject = __webpack_require__(/*! ../internals/an-object */ 36); -var aFunction = __webpack_require__(/*! ../internals/a-function */ 66); -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ 32); - -var SPECIES = wellKnownSymbol('species'); - -// `SpeciesConstructor` abstract operation -// https://tc39.github.io/ecma262/#sec-speciesconstructor -module.exports = function (O, defaultConstructor) { - var C = anObject(O).constructor; - var S; - return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S); -}; - - -/***/ }), -/* 143 */ -/*!***************************************************!*\ - !*** ./node_modules/core-js/internals/perform.js ***! - \***************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -module.exports = function (exec) { - try { - return { error: false, value: exec() }; - } catch (error) { - return { error: true, value: error }; - } -}; - - -/***/ }), -/* 144 */ -/*!******************************************************!*\ - !*** ./node_modules/core-js/modules/es.parse-int.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ 43); -var parseIntImplementation = __webpack_require__(/*! ../internals/parse-int */ 229); - -// `parseInt` method -// https://tc39.github.io/ecma262/#sec-parseint-string-radix -$({ global: true, forced: parseInt != parseIntImplementation }, { - parseInt: parseIntImplementation -}); - - -/***/ }), -/* 145 */ -/*!********************************************************************!*\ - !*** ./node_modules/core-js-pure/internals/sloppy-array-method.js ***! - \********************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var fails = __webpack_require__(/*! ../internals/fails */ 57); - -module.exports = function (METHOD_NAME, argument) { - var method = [][METHOD_NAME]; - return !method || !fails(function () { - // eslint-disable-next-line no-useless-call,no-throw-literal - method.call(null, argument || function () { throw 1; }, 1); - }); -}; - - -/***/ }), -/* 146 */, -/* 147 */ -/*!************************************!*\ - !*** ./dev/Stores/Admin/Domain.js ***! - \************************************/ -/*! exports provided: default */ -/*! exports used: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_filter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/filter */ 34); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_filter__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_filter__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! _ */ 3); -/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(___WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var ko__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ko */ 1); - - - - -var DomainAdminStore = function DomainAdminStore() { - var _this = this; - - this.domains = ko__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].observableArray([]); - this.domains.loading = ko__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].observable(false).extend({ - 'throttle': 100 - }); - this.domainsWithoutAliases = ko__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].computed(function () { - return _babel_runtime_corejs3_core_js_stable_instance_filter__WEBPACK_IMPORTED_MODULE_0___default()(___WEBPACK_IMPORTED_MODULE_1___default.a).call(___WEBPACK_IMPORTED_MODULE_1___default.a, _this.domains(), function (item) { - return item && !item.alias; - }); - }); -}; - -/* harmony default export */ __webpack_exports__["a"] = (new DomainAdminStore()); - -/***/ }), -/* 148 */ -/*!*********************************************************!*\ - !*** ./node_modules/core-js/internals/object-create.js ***! - \*********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var anObject = __webpack_require__(/*! ../internals/an-object */ 36); -var defineProperties = __webpack_require__(/*! ../internals/object-define-properties */ 221); -var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ 110); -var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ 103); -var html = __webpack_require__(/*! ../internals/html */ 140); -var documentCreateElement = __webpack_require__(/*! ../internals/document-create-element */ 102); -var sharedKey = __webpack_require__(/*! ../internals/shared-key */ 108); -var IE_PROTO = sharedKey('IE_PROTO'); - -var PROTOTYPE = 'prototype'; -var Empty = function () { /* empty */ }; - -// Create object with fake `null` prototype: use iframe Object with cleared prototype -var createDict = function () { - // Thrash, waste and sodomy: IE GC bug - var iframe = documentCreateElement('iframe'); - var length = enumBugKeys.length; - var lt = '<'; - var script = 'script'; - var gt = '>'; - var js = 'java' + script + ':'; - var iframeDocument; - iframe.style.display = 'none'; - html.appendChild(iframe); - iframe.src = String(js); - iframeDocument = iframe.contentWindow.document; - iframeDocument.open(); - iframeDocument.write(lt + script + gt + 'document.F=Object' + lt + '/' + script + gt); - iframeDocument.close(); - createDict = iframeDocument.F; - while (length--) delete createDict[PROTOTYPE][enumBugKeys[length]]; - return createDict(); -}; - -// `Object.create` method -// https://tc39.github.io/ecma262/#sec-object.create -module.exports = Object.create || function create(O, Properties) { - var result; - if (O !== null) { - Empty[PROTOTYPE] = anObject(O); - result = new Empty(); - Empty[PROTOTYPE] = null; - // add "__proto__" for Object.getPrototypeOf polyfill - result[IE_PROTO] = O; - } else result = createDict(); - return Properties === undefined ? result : defineProperties(result, Properties); -}; - -hiddenKeys[IE_PROTO] = true; - - -/***/ }), -/* 149 */ -/*!*******************************************************************!*\ - !*** ./node_modules/core-js/internals/object-get-prototype-of.js ***! - \*******************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var has = __webpack_require__(/*! ../internals/has */ 47); -var toObject = __webpack_require__(/*! ../internals/to-object */ 120); -var sharedKey = __webpack_require__(/*! ../internals/shared-key */ 108); -var CORRECT_PROTOTYPE_GETTER = __webpack_require__(/*! ../internals/correct-prototype-getter */ 224); - -var IE_PROTO = sharedKey('IE_PROTO'); -var ObjectPrototype = Object.prototype; - -// `Object.getPrototypeOf` method -// https://tc39.github.io/ecma262/#sec-object.getprototypeof -module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) { - O = toObject(O); - if (has(O, IE_PROTO)) return O[IE_PROTO]; - if (typeof O.constructor == 'function' && O instanceof O.constructor) { - return O.constructor.prototype; - } return O instanceof Object ? ObjectPrototype : null; -}; - - -/***/ }), -/* 150 */ -/*!****************************************************************!*\ - !*** ./node_modules/core-js/internals/advance-string-index.js ***! - \****************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var charAt = __webpack_require__(/*! ../internals/string-multibyte */ 182).charAt; - -// `AdvanceStringIndex` abstract operation -// https://tc39.github.io/ecma262/#sec-advancestringindex -module.exports = function (S, index, unicode) { - return index + (unicode ? charAt(S, index).length : 1); -}; - - -/***/ }), -/* 151 */ -/*!***************************************************************************!*\ - !*** ./node_modules/core-js-pure/internals/create-property-descriptor.js ***! - \***************************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -module.exports = function (bitmap, value) { - return { - enumerable: !(bitmap & 1), - configurable: !(bitmap & 2), - writable: !(bitmap & 4), - value: value - }; -}; - - -/***/ }), -/* 152 */ -/*!**********************************************************!*\ - !*** ./node_modules/core-js-pure/internals/an-object.js ***! - \**********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var isObject = __webpack_require__(/*! ../internals/is-object */ 78); - -module.exports = function (it) { - if (!isObject(it)) { - throw TypeError(String(it) + ' is not an object'); - } return it; -}; - - -/***/ }), -/* 153 */ -/*!**********************************************************!*\ - !*** ./node_modules/core-js-pure/internals/iterators.js ***! - \**********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -module.exports = {}; - - -/***/ }), -/* 154 */ -/*!*********************************************************!*\ - !*** ./node_modules/core-js-pure/internals/is-array.js ***! - \*********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var classof = __webpack_require__(/*! ../internals/classof-raw */ 195); - -// `IsArray` abstract operation -// https://tc39.github.io/ecma262/#sec-isarray -module.exports = Array.isArray || function isArray(arg) { - return classof(arg) == 'Array'; -}; - - -/***/ }), -/* 155 */ -/*!*********************************************************************************!*\ - !*** ./node_modules/core-js-pure/internals/array-method-has-species-support.js ***! - \*********************************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var fails = __webpack_require__(/*! ../internals/fails */ 57); -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ 68); - -var SPECIES = wellKnownSymbol('species'); - -module.exports = function (METHOD_NAME) { - return !fails(function () { - var array = []; - var constructor = array.constructor = {}; - constructor[SPECIES] = function () { - return { foo: 1 }; - }; - return array[METHOD_NAME](Boolean).foo !== 1; - }); -}; - - -/***/ }), -/* 156 */ -/*!****************************************************************!*\ - !*** ./node_modules/core-js-pure/internals/array-iteration.js ***! - \****************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var bind = __webpack_require__(/*! ../internals/bind-context */ 237); -var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ 194); -var toObject = __webpack_require__(/*! ../internals/to-object */ 122); -var toLength = __webpack_require__(/*! ../internals/to-length */ 113); -var arraySpeciesCreate = __webpack_require__(/*! ../internals/array-species-create */ 249); - -var push = [].push; - -// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation -var createMethod = function (TYPE) { - var IS_MAP = TYPE == 1; - var IS_FILTER = TYPE == 2; - var IS_SOME = TYPE == 3; - var IS_EVERY = TYPE == 4; - var IS_FIND_INDEX = TYPE == 6; - var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; - return function ($this, callbackfn, that, specificCreate) { - var O = toObject($this); - var self = IndexedObject(O); - var boundFunction = bind(callbackfn, that, 3); - var length = toLength(self.length); - var index = 0; - var create = specificCreate || arraySpeciesCreate; - var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined; - var value, result; - for (;length > index; index++) if (NO_HOLES || index in self) { - value = self[index]; - result = boundFunction(value, index, O); - if (TYPE) { - if (IS_MAP) target[index] = result; // map - else if (result) switch (TYPE) { - case 3: return true; // some - case 5: return value; // find - case 6: return index; // findIndex - case 2: push.call(target, value); // filter - } else if (IS_EVERY) return false; // every - } - } - return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target; - }; -}; - -module.exports = { - // `Array.prototype.forEach` method - // https://tc39.github.io/ecma262/#sec-array.prototype.foreach - forEach: createMethod(0), - // `Array.prototype.map` method - // https://tc39.github.io/ecma262/#sec-array.prototype.map - map: createMethod(1), - // `Array.prototype.filter` method - // https://tc39.github.io/ecma262/#sec-array.prototype.filter - filter: createMethod(2), - // `Array.prototype.some` method - // https://tc39.github.io/ecma262/#sec-array.prototype.some - some: createMethod(3), - // `Array.prototype.every` method - // https://tc39.github.io/ecma262/#sec-array.prototype.every - every: createMethod(4), - // `Array.prototype.find` method - // https://tc39.github.io/ecma262/#sec-array.prototype.find - find: createMethod(5), - // `Array.prototype.findIndex` method - // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex - findIndex: createMethod(6) -}; - - -/***/ }), -/* 157 */ -/*!*******************************************************************************!*\ - !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/instance/concat.js ***! - \*******************************************************************************/ -/*! no static exports found */ -/*! exports used: default */ -/***/ (function(module, exports, __webpack_require__) { - -module.exports = __webpack_require__(/*! core-js-pure/stable/instance/concat */ 302); - -/***/ }), -/* 158 */ -/*!************************************!*\ - !*** external "window.crossroads" ***! - \************************************/ -/*! no static exports found */ -/*! exports used: default */ -/***/ (function(module, exports) { - -module.exports = window.crossroads; - -/***/ }), -/* 159 */ -/*!*******************************************!*\ - !*** ./dev/Component/AbstractCheckbox.js ***! - \*******************************************/ -/*! exports provided: AbstractCheckbox, default */ -/*! exports used: AbstractCheckbox */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AbstractCheckbox; }); -/* unused harmony export default */ -/* harmony import */ var _babel_runtime_corejs3_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/inheritsLoose */ 10); -/* harmony import */ var _babel_runtime_corejs3_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var ko__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ko */ 1); -/* harmony import */ var Common_Utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! Common/Utils */ 2); -/* harmony import */ var Component_Abstract__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! Component/Abstract */ 35); - - - - - -var AbstractCheckbox = -/*#__PURE__*/ -function (_AbstractComponent) { - _babel_runtime_corejs3_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0___default()(AbstractCheckbox, _AbstractComponent); - - /** - * @param {Object} params = {} - */ - function AbstractCheckbox(params) { - var _this; - - if (params === void 0) { - params = {}; - } - - _this = _AbstractComponent.call(this) || this; - _this.value = params.value; - - if (Object(Common_Utils__WEBPACK_IMPORTED_MODULE_2__["isUnd"])(_this.value) || !_this.value.subscribe) { - _this.value = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].observable(Object(Common_Utils__WEBPACK_IMPORTED_MODULE_2__["isUnd"])(_this.value) ? false : !!_this.value); - } - - _this.enable = params.enable; - - if (Object(Common_Utils__WEBPACK_IMPORTED_MODULE_2__["isUnd"])(_this.enable) || !_this.enable.subscribe) { - _this.enable = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].observable(Object(Common_Utils__WEBPACK_IMPORTED_MODULE_2__["isUnd"])(_this.enable) ? true : !!_this.enable); - } - - _this.disable = params.disable; - - if (Object(Common_Utils__WEBPACK_IMPORTED_MODULE_2__["isUnd"])(_this.disable) || !_this.disable.subscribe) { - _this.disable = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].observable(Object(Common_Utils__WEBPACK_IMPORTED_MODULE_2__["isUnd"])(_this.disable) ? false : !!_this.disable); - } - - _this.label = params.label || ''; - _this.inline = Object(Common_Utils__WEBPACK_IMPORTED_MODULE_2__["isUnd"])(params.inline) ? false : params.inline; - _this.readOnly = Object(Common_Utils__WEBPACK_IMPORTED_MODULE_2__["isUnd"])(params.readOnly) ? false : !!params.readOnly; - _this.inverted = Object(Common_Utils__WEBPACK_IMPORTED_MODULE_2__["isUnd"])(params.inverted) ? false : !!params.inverted; - _this.labeled = !Object(Common_Utils__WEBPACK_IMPORTED_MODULE_2__["isUnd"])(params.label); - _this.labelAnimated = !!params.labelAnimated; - return _this; - } - - var _proto = AbstractCheckbox.prototype; - - _proto.click = function click() { - if (!this.readOnly && this.enable() && !this.disable()) { - this.value(!this.value()); - } - }; - - return AbstractCheckbox; -}(Component_Abstract__WEBPACK_IMPORTED_MODULE_3__[/* AbstractComponent */ "a"]); - - - -/***/ }), -/* 160 */ -/*!******************************************************************!*\ - !*** ./node_modules/emailjs-addressparser/dist/addressparser.js ***! - \******************************************************************/ -/*! no static exports found */ -/*! exports used: default */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -exports.default = parse; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -/** - * Parses structured e-mail addresses from an address field - * - * Example: - * - * "Name " - * - * will be converted to - * - * [{name: "Name", address: "address@domain"}] - * - * @param {String} str Address field - * @return {Array} An array of address objects - */ -function parse(str) { - var tokenizer = new Tokenizer(str); - var tokens = tokenizer.tokenize(); - - var addresses = []; - var address = []; - var parsedAddresses = []; - - tokens.forEach(function (token) { - if (token.type === 'operator' && (token.value === ',' || token.value === ';')) { - if (address.length) { - addresses.push(address); - } - address = []; - } else { - address.push(token); - } - }); - - if (address.length) { - addresses.push(address); - } - - addresses.forEach(function (address) { - address = _handleAddress(address); - if (address.length) { - parsedAddresses = parsedAddresses.concat(address); - } - }); - - return parsedAddresses; -}; - -/** - * Converts tokens for a single address into an address object - * - * @param {Array} tokens Tokens object - * @return {Object} Address object - */ -function _handleAddress(tokens) { - var isGroup = false; - var state = 'text'; - var address = void 0; - var addresses = []; - var data = { - address: [], - comment: [], - group: [], - text: [] - - // Filter out , (comments) and regular text - };for (var i = 0, len = tokens.length; i < len; i++) { - var token = tokens[i]; - - if (token.type === 'operator') { - switch (token.value) { - case '<': - state = 'address'; - break; - case '(': - state = 'comment'; - break; - case ':': - state = 'group'; - isGroup = true; - break; - default: - state = 'text'; - } - } else { - if (token.value) { - data[state].push(token.value); - } - } - } - - // If there is no text but a comment, replace the two - if (!data.text.length && data.comment.length) { - data.text = data.comment; - data.comment = []; - } - - if (isGroup) { - // http://tools.ietf.org/html/rfc2822#appendix-A.1.3 - data.text = data.text.join(' '); - addresses.push({ - name: data.text || address && address.name, - group: data.group.length ? parse(data.group.join(',')) : [] - }); - } else { - // If no address was found, try to detect one from regular text - if (!data.address.length && data.text.length) { - for (var _i = data.text.length - 1; _i >= 0; _i--) { - if (data.text[_i].match(/^[^@\s]+@[^@\s]+$/)) { - data.address = data.text.splice(_i, 1); - break; - } - } - - var _regexHandler = function _regexHandler(address) { - if (!data.address.length) { - data.address = [address.trim()]; - return ' '; - } else { - return address; - } - }; - - // still no address - if (!data.address.length) { - for (var _i2 = data.text.length - 1; _i2 >= 0; _i2--) { - data.text[_i2] = data.text[_i2].replace(/\s*\b[^@\s]+@[^@\s]+\b\s*/, _regexHandler).trim(); - if (data.address.length) { - break; - } - } - } - } - - // If there's still is no text but a comment exixts, replace the two - if (!data.text.length && data.comment.length) { - data.text = data.comment; - data.comment = []; - } - - // Keep only the first address occurence, push others to regular text - if (data.address.length > 1) { - data.text = data.text.concat(data.address.splice(1)); - } - - // Join values with spaces - data.text = data.text.join(' '); - data.address = data.address.join(' '); - - if (!data.address && isGroup) { - return []; - } else { - address = { - address: data.address || data.text || '', - name: data.text || data.address || '' - }; - - if (address.address === address.name) { - if ((address.address || '').match(/@/)) { - address.name = ''; - } else { - address.address = ''; - } - } - - addresses.push(address); - } - } - - return addresses; -}; - -/* - * Operator tokens and which tokens are expected to end the sequence - */ -var OPERATORS = { - '"': '"', - '(': ')', - '<': '>', - ',': '', - // Groups are ended by semicolons - ':': ';', - // Semicolons are not a legal delimiter per the RFC2822 grammar other - // than for terminating a group, but they are also not valid for any - // other use in this context. Given that some mail clients have - // historically allowed the semicolon as a delimiter equivalent to the - // comma in their UI, it makes sense to treat them the same as a comma - // when used outside of a group. - ';': '' - - /** - * Creates a Tokenizer object for tokenizing address field strings - * - * @constructor - * @param {String} str Address field string - */ -}; -var Tokenizer = function () { - function Tokenizer(str) { - _classCallCheck(this, Tokenizer); - - this.str = (str || '').toString(); - this.operatorCurrent = ''; - this.operatorExpecting = ''; - this.node = null; - this.escaped = false; - this.list = []; - } - - /** - * Tokenizes the original input string - * - * @return {Array} An array of operator|text tokens - */ - - - _createClass(Tokenizer, [{ - key: 'tokenize', - value: function tokenize() { - var chr = void 0; - var list = []; - for (var i = 0, len = this.str.length; i < len; i++) { - chr = this.str.charAt(i); - this.checkChar(chr); - } - - this.list.forEach(function (node) { - node.value = (node.value || '').toString().trim(); - if (node.value) { - list.push(node); - } - }); - - return list; - } - - /** - * Checks if a character is an operator or text and acts accordingly - * - * @param {String} chr Character from the address field - */ - - }, { - key: 'checkChar', - value: function checkChar(chr) { - if ((chr in OPERATORS || chr === '\\') && this.escaped) { - this.escaped = false; - } else if (this.operatorExpecting && chr === this.operatorExpecting) { - this.node = { - type: 'operator', - value: chr - }; - this.list.push(this.node); - this.node = null; - this.operatorExpecting = ''; - this.escaped = false; - return; - } else if (!this.operatorExpecting && chr in OPERATORS) { - this.node = { - type: 'operator', - value: chr - }; - this.list.push(this.node); - this.node = null; - this.operatorExpecting = OPERATORS[chr]; - this.escaped = false; - return; - } - - if (!this.escaped && chr === '\\') { - this.escaped = true; - return; - } - - if (!this.node) { - this.node = { - type: 'text', - value: '' - }; - this.list.push(this.node); - } - - if (this.escaped && chr !== '\\') { - this.node.value += '\\'; - } - - this.node.value += chr; - this.escaped = false; - } - }]); - - return Tokenizer; -}(); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9hZGRyZXNzcGFyc2VyLmpzIl0sIm5hbWVzIjpbInBhcnNlIiwic3RyIiwidG9rZW5pemVyIiwiVG9rZW5pemVyIiwidG9rZW5zIiwidG9rZW5pemUiLCJhZGRyZXNzZXMiLCJhZGRyZXNzIiwicGFyc2VkQWRkcmVzc2VzIiwiZm9yRWFjaCIsInRva2VuIiwidHlwZSIsInZhbHVlIiwibGVuZ3RoIiwicHVzaCIsIl9oYW5kbGVBZGRyZXNzIiwiY29uY2F0IiwiaXNHcm91cCIsInN0YXRlIiwiZGF0YSIsImNvbW1lbnQiLCJncm91cCIsInRleHQiLCJpIiwibGVuIiwiam9pbiIsIm5hbWUiLCJtYXRjaCIsInNwbGljZSIsIl9yZWdleEhhbmRsZXIiLCJ0cmltIiwicmVwbGFjZSIsIk9QRVJBVE9SUyIsInRvU3RyaW5nIiwib3BlcmF0b3JDdXJyZW50Iiwib3BlcmF0b3JFeHBlY3RpbmciLCJub2RlIiwiZXNjYXBlZCIsImxpc3QiLCJjaHIiLCJjaGFyQXQiLCJjaGVja0NoYXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O2tCQWN3QkEsSzs7OztBQWR4Qjs7Ozs7Ozs7Ozs7Ozs7QUFjZSxTQUFTQSxLQUFULENBQWdCQyxHQUFoQixFQUFxQjtBQUNsQyxNQUFNQyxZQUFZLElBQUlDLFNBQUosQ0FBY0YsR0FBZCxDQUFsQjtBQUNBLE1BQU1HLFNBQVNGLFVBQVVHLFFBQVYsRUFBZjs7QUFFQSxNQUFNQyxZQUFZLEVBQWxCO0FBQ0EsTUFBSUMsVUFBVSxFQUFkO0FBQ0EsTUFBSUMsa0JBQWtCLEVBQXRCOztBQUVBSixTQUFPSyxPQUFQLENBQWUsVUFBVUMsS0FBVixFQUFpQjtBQUM5QixRQUFJQSxNQUFNQyxJQUFOLEtBQWUsVUFBZixLQUE4QkQsTUFBTUUsS0FBTixLQUFnQixHQUFoQixJQUF1QkYsTUFBTUUsS0FBTixLQUFnQixHQUFyRSxDQUFKLEVBQStFO0FBQzdFLFVBQUlMLFFBQVFNLE1BQVosRUFBb0I7QUFDbEJQLGtCQUFVUSxJQUFWLENBQWVQLE9BQWY7QUFDRDtBQUNEQSxnQkFBVSxFQUFWO0FBQ0QsS0FMRCxNQUtPO0FBQ0xBLGNBQVFPLElBQVIsQ0FBYUosS0FBYjtBQUNEO0FBQ0YsR0FURDs7QUFXQSxNQUFJSCxRQUFRTSxNQUFaLEVBQW9CO0FBQ2xCUCxjQUFVUSxJQUFWLENBQWVQLE9BQWY7QUFDRDs7QUFFREQsWUFBVUcsT0FBVixDQUFrQixVQUFVRixPQUFWLEVBQW1CO0FBQ25DQSxjQUFVUSxlQUFlUixPQUFmLENBQVY7QUFDQSxRQUFJQSxRQUFRTSxNQUFaLEVBQW9CO0FBQ2xCTCx3QkFBa0JBLGdCQUFnQlEsTUFBaEIsQ0FBdUJULE9BQXZCLENBQWxCO0FBQ0Q7QUFDRixHQUxEOztBQU9BLFNBQU9DLGVBQVA7QUFDRDs7QUFFRDs7Ozs7O0FBTUEsU0FBU08sY0FBVCxDQUF5QlgsTUFBekIsRUFBaUM7QUFDL0IsTUFBSWEsVUFBVSxLQUFkO0FBQ0EsTUFBSUMsUUFBUSxNQUFaO0FBQ0EsTUFBSVgsZ0JBQUo7QUFDQSxNQUFNRCxZQUFZLEVBQWxCO0FBQ0EsTUFBTWEsT0FBTztBQUNYWixhQUFTLEVBREU7QUFFWGEsYUFBUyxFQUZFO0FBR1hDLFdBQU8sRUFISTtBQUlYQyxVQUFNOztBQUdSO0FBUGEsR0FBYixDQVFBLEtBQUssSUFBSUMsSUFBSSxDQUFSLEVBQVdDLE1BQU1wQixPQUFPUyxNQUE3QixFQUFxQ1UsSUFBSUMsR0FBekMsRUFBOENELEdBQTlDLEVBQW1EO0FBQ2pELFFBQU1iLFFBQVFOLE9BQU9tQixDQUFQLENBQWQ7O0FBRUEsUUFBSWIsTUFBTUMsSUFBTixLQUFlLFVBQW5CLEVBQStCO0FBQzdCLGNBQVFELE1BQU1FLEtBQWQ7QUFDRSxhQUFLLEdBQUw7QUFDRU0sa0JBQVEsU0FBUjtBQUNBO0FBQ0YsYUFBSyxHQUFMO0FBQ0VBLGtCQUFRLFNBQVI7QUFDQTtBQUNGLGFBQUssR0FBTDtBQUNFQSxrQkFBUSxPQUFSO0FBQ0FELG9CQUFVLElBQVY7QUFDQTtBQUNGO0FBQ0VDLGtCQUFRLE1BQVI7QUFaSjtBQWNELEtBZkQsTUFlTztBQUNMLFVBQUlSLE1BQU1FLEtBQVYsRUFBaUI7QUFDZk8sYUFBS0QsS0FBTCxFQUFZSixJQUFaLENBQWlCSixNQUFNRSxLQUF2QjtBQUNEO0FBQ0Y7QUFDRjs7QUFFRDtBQUNBLE1BQUksQ0FBQ08sS0FBS0csSUFBTCxDQUFVVCxNQUFYLElBQXFCTSxLQUFLQyxPQUFMLENBQWFQLE1BQXRDLEVBQThDO0FBQzVDTSxTQUFLRyxJQUFMLEdBQVlILEtBQUtDLE9BQWpCO0FBQ0FELFNBQUtDLE9BQUwsR0FBZSxFQUFmO0FBQ0Q7O0FBRUQsTUFBSUgsT0FBSixFQUFhO0FBQ1g7QUFDQUUsU0FBS0csSUFBTCxHQUFZSCxLQUFLRyxJQUFMLENBQVVHLElBQVYsQ0FBZSxHQUFmLENBQVo7QUFDQW5CLGNBQVVRLElBQVYsQ0FBZTtBQUNiWSxZQUFNUCxLQUFLRyxJQUFMLElBQWNmLFdBQVdBLFFBQVFtQixJQUQxQjtBQUViTCxhQUFPRixLQUFLRSxLQUFMLENBQVdSLE1BQVgsR0FBb0JiLE1BQU1tQixLQUFLRSxLQUFMLENBQVdJLElBQVgsQ0FBZ0IsR0FBaEIsQ0FBTixDQUFwQixHQUFrRDtBQUY1QyxLQUFmO0FBSUQsR0FQRCxNQU9PO0FBQ0w7QUFDQSxRQUFJLENBQUNOLEtBQUtaLE9BQUwsQ0FBYU0sTUFBZCxJQUF3Qk0sS0FBS0csSUFBTCxDQUFVVCxNQUF0QyxFQUE4QztBQUM1QyxXQUFLLElBQUlVLEtBQUlKLEtBQUtHLElBQUwsQ0FBVVQsTUFBVixHQUFtQixDQUFoQyxFQUFtQ1UsTUFBSyxDQUF4QyxFQUEyQ0EsSUFBM0MsRUFBZ0Q7QUFDOUMsWUFBSUosS0FBS0csSUFBTCxDQUFVQyxFQUFWLEVBQWFJLEtBQWIsQ0FBbUIsbUJBQW5CLENBQUosRUFBNkM7QUFDM0NSLGVBQUtaLE9BQUwsR0FBZVksS0FBS0csSUFBTCxDQUFVTSxNQUFWLENBQWlCTCxFQUFqQixFQUFvQixDQUFwQixDQUFmO0FBQ0E7QUFDRDtBQUNGOztBQUVELFVBQUlNLGdCQUFnQixTQUFoQkEsYUFBZ0IsQ0FBVXRCLE9BQVYsRUFBbUI7QUFDckMsWUFBSSxDQUFDWSxLQUFLWixPQUFMLENBQWFNLE1BQWxCLEVBQTBCO0FBQ3hCTSxlQUFLWixPQUFMLEdBQWUsQ0FBQ0EsUUFBUXVCLElBQVIsRUFBRCxDQUFmO0FBQ0EsaUJBQU8sR0FBUDtBQUNELFNBSEQsTUFHTztBQUNMLGlCQUFPdkIsT0FBUDtBQUNEO0FBQ0YsT0FQRDs7QUFTQTtBQUNBLFVBQUksQ0FBQ1ksS0FBS1osT0FBTCxDQUFhTSxNQUFsQixFQUEwQjtBQUN4QixhQUFLLElBQUlVLE1BQUlKLEtBQUtHLElBQUwsQ0FBVVQsTUFBVixHQUFtQixDQUFoQyxFQUFtQ1UsT0FBSyxDQUF4QyxFQUEyQ0EsS0FBM0MsRUFBZ0Q7QUFDOUNKLGVBQUtHLElBQUwsQ0FBVUMsR0FBVixJQUFlSixLQUFLRyxJQUFMLENBQVVDLEdBQVYsRUFBYVEsT0FBYixDQUFxQiwyQkFBckIsRUFBa0RGLGFBQWxELEVBQWlFQyxJQUFqRSxFQUFmO0FBQ0EsY0FBSVgsS0FBS1osT0FBTCxDQUFhTSxNQUFqQixFQUF5QjtBQUN2QjtBQUNEO0FBQ0Y7QUFDRjtBQUNGOztBQUVEO0FBQ0EsUUFBSSxDQUFDTSxLQUFLRyxJQUFMLENBQVVULE1BQVgsSUFBcUJNLEtBQUtDLE9BQUwsQ0FBYVAsTUFBdEMsRUFBOEM7QUFDNUNNLFdBQUtHLElBQUwsR0FBWUgsS0FBS0MsT0FBakI7QUFDQUQsV0FBS0MsT0FBTCxHQUFlLEVBQWY7QUFDRDs7QUFFRDtBQUNBLFFBQUlELEtBQUtaLE9BQUwsQ0FBYU0sTUFBYixHQUFzQixDQUExQixFQUE2QjtBQUMzQk0sV0FBS0csSUFBTCxHQUFZSCxLQUFLRyxJQUFMLENBQVVOLE1BQVYsQ0FBaUJHLEtBQUtaLE9BQUwsQ0FBYXFCLE1BQWIsQ0FBb0IsQ0FBcEIsQ0FBakIsQ0FBWjtBQUNEOztBQUVEO0FBQ0FULFNBQUtHLElBQUwsR0FBWUgsS0FBS0csSUFBTCxDQUFVRyxJQUFWLENBQWUsR0FBZixDQUFaO0FBQ0FOLFNBQUtaLE9BQUwsR0FBZVksS0FBS1osT0FBTCxDQUFha0IsSUFBYixDQUFrQixHQUFsQixDQUFmOztBQUVBLFFBQUksQ0FBQ04sS0FBS1osT0FBTixJQUFpQlUsT0FBckIsRUFBOEI7QUFDNUIsYUFBTyxFQUFQO0FBQ0QsS0FGRCxNQUVPO0FBQ0xWLGdCQUFVO0FBQ1JBLGlCQUFTWSxLQUFLWixPQUFMLElBQWdCWSxLQUFLRyxJQUFyQixJQUE2QixFQUQ5QjtBQUVSSSxjQUFNUCxLQUFLRyxJQUFMLElBQWFILEtBQUtaLE9BQWxCLElBQTZCO0FBRjNCLE9BQVY7O0FBS0EsVUFBSUEsUUFBUUEsT0FBUixLQUFvQkEsUUFBUW1CLElBQWhDLEVBQXNDO0FBQ3BDLFlBQUksQ0FBQ25CLFFBQVFBLE9BQVIsSUFBbUIsRUFBcEIsRUFBd0JvQixLQUF4QixDQUE4QixHQUE5QixDQUFKLEVBQXdDO0FBQ3RDcEIsa0JBQVFtQixJQUFSLEdBQWUsRUFBZjtBQUNELFNBRkQsTUFFTztBQUNMbkIsa0JBQVFBLE9BQVIsR0FBa0IsRUFBbEI7QUFDRDtBQUNGOztBQUVERCxnQkFBVVEsSUFBVixDQUFlUCxPQUFmO0FBQ0Q7QUFDRjs7QUFFRCxTQUFPRCxTQUFQO0FBQ0Q7O0FBRUQ7OztBQUdBLElBQU0wQixZQUFZO0FBQ2hCLE9BQUssR0FEVztBQUVoQixPQUFLLEdBRlc7QUFHaEIsT0FBSyxHQUhXO0FBSWhCLE9BQUssRUFKVztBQUtoQjtBQUNBLE9BQUssR0FOVztBQU9oQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFLOztBQUdQOzs7Ozs7QUFoQmtCLENBQWxCO0lBc0JNN0IsUztBQUNKLHFCQUFhRixHQUFiLEVBQWtCO0FBQUE7O0FBQ2hCLFNBQUtBLEdBQUwsR0FBVyxDQUFDQSxPQUFPLEVBQVIsRUFBWWdDLFFBQVosRUFBWDtBQUNBLFNBQUtDLGVBQUwsR0FBdUIsRUFBdkI7QUFDQSxTQUFLQyxpQkFBTCxHQUF5QixFQUF6QjtBQUNBLFNBQUtDLElBQUwsR0FBWSxJQUFaO0FBQ0EsU0FBS0MsT0FBTCxHQUFlLEtBQWY7QUFDQSxTQUFLQyxJQUFMLEdBQVksRUFBWjtBQUNEOztBQUVEOzs7Ozs7Ozs7K0JBS1k7QUFDVixVQUFJQyxZQUFKO0FBQ0EsVUFBSUQsT0FBTyxFQUFYO0FBQ0EsV0FBSyxJQUFJZixJQUFJLENBQVIsRUFBV0MsTUFBTSxLQUFLdkIsR0FBTCxDQUFTWSxNQUEvQixFQUF1Q1UsSUFBSUMsR0FBM0MsRUFBZ0RELEdBQWhELEVBQXFEO0FBQ25EZ0IsY0FBTSxLQUFLdEMsR0FBTCxDQUFTdUMsTUFBVCxDQUFnQmpCLENBQWhCLENBQU47QUFDQSxhQUFLa0IsU0FBTCxDQUFlRixHQUFmO0FBQ0Q7O0FBRUQsV0FBS0QsSUFBTCxDQUFVN0IsT0FBVixDQUFrQixVQUFVMkIsSUFBVixFQUFnQjtBQUNoQ0EsYUFBS3hCLEtBQUwsR0FBYSxDQUFDd0IsS0FBS3hCLEtBQUwsSUFBYyxFQUFmLEVBQW1CcUIsUUFBbkIsR0FBOEJILElBQTlCLEVBQWI7QUFDQSxZQUFJTSxLQUFLeEIsS0FBVCxFQUFnQjtBQUNkMEIsZUFBS3hCLElBQUwsQ0FBVXNCLElBQVY7QUFDRDtBQUNGLE9BTEQ7O0FBT0EsYUFBT0UsSUFBUDtBQUNEOztBQUVEOzs7Ozs7Ozs4QkFLV0MsRyxFQUFLO0FBQ2QsVUFBSSxDQUFDQSxPQUFPUCxTQUFQLElBQW9CTyxRQUFRLElBQTdCLEtBQXNDLEtBQUtGLE9BQS9DLEVBQXdEO0FBQ3RELGFBQUtBLE9BQUwsR0FBZSxLQUFmO0FBQ0QsT0FGRCxNQUVPLElBQUksS0FBS0YsaUJBQUwsSUFBMEJJLFFBQVEsS0FBS0osaUJBQTNDLEVBQThEO0FBQ25FLGFBQUtDLElBQUwsR0FBWTtBQUNWekIsZ0JBQU0sVUFESTtBQUVWQyxpQkFBTzJCO0FBRkcsU0FBWjtBQUlBLGFBQUtELElBQUwsQ0FBVXhCLElBQVYsQ0FBZSxLQUFLc0IsSUFBcEI7QUFDQSxhQUFLQSxJQUFMLEdBQVksSUFBWjtBQUNBLGFBQUtELGlCQUFMLEdBQXlCLEVBQXpCO0FBQ0EsYUFBS0UsT0FBTCxHQUFlLEtBQWY7QUFDQTtBQUNELE9BVk0sTUFVQSxJQUFJLENBQUMsS0FBS0YsaUJBQU4sSUFBMkJJLE9BQU9QLFNBQXRDLEVBQWlEO0FBQ3RELGFBQUtJLElBQUwsR0FBWTtBQUNWekIsZ0JBQU0sVUFESTtBQUVWQyxpQkFBTzJCO0FBRkcsU0FBWjtBQUlBLGFBQUtELElBQUwsQ0FBVXhCLElBQVYsQ0FBZSxLQUFLc0IsSUFBcEI7QUFDQSxhQUFLQSxJQUFMLEdBQVksSUFBWjtBQUNBLGFBQUtELGlCQUFMLEdBQXlCSCxVQUFVTyxHQUFWLENBQXpCO0FBQ0EsYUFBS0YsT0FBTCxHQUFlLEtBQWY7QUFDQTtBQUNEOztBQUVELFVBQUksQ0FBQyxLQUFLQSxPQUFOLElBQWlCRSxRQUFRLElBQTdCLEVBQW1DO0FBQ2pDLGFBQUtGLE9BQUwsR0FBZSxJQUFmO0FBQ0E7QUFDRDs7QUFFRCxVQUFJLENBQUMsS0FBS0QsSUFBVixFQUFnQjtBQUNkLGFBQUtBLElBQUwsR0FBWTtBQUNWekIsZ0JBQU0sTUFESTtBQUVWQyxpQkFBTztBQUZHLFNBQVo7QUFJQSxhQUFLMEIsSUFBTCxDQUFVeEIsSUFBVixDQUFlLEtBQUtzQixJQUFwQjtBQUNEOztBQUVELFVBQUksS0FBS0MsT0FBTCxJQUFnQkUsUUFBUSxJQUE1QixFQUFrQztBQUNoQyxhQUFLSCxJQUFMLENBQVV4QixLQUFWLElBQW1CLElBQW5CO0FBQ0Q7O0FBRUQsV0FBS3dCLElBQUwsQ0FBVXhCLEtBQVYsSUFBbUIyQixHQUFuQjtBQUNBLFdBQUtGLE9BQUwsR0FBZSxLQUFmO0FBQ0QiLCJmaWxlIjoiYWRkcmVzc3BhcnNlci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUGFyc2VzIHN0cnVjdHVyZWQgZS1tYWlsIGFkZHJlc3NlcyBmcm9tIGFuIGFkZHJlc3MgZmllbGRcbiAqXG4gKiBFeGFtcGxlOlxuICpcbiAqICAgIFwiTmFtZSA8YWRkcmVzc0Bkb21haW4+XCJcbiAqXG4gKiB3aWxsIGJlIGNvbnZlcnRlZCB0b1xuICpcbiAqICAgICBbe25hbWU6IFwiTmFtZVwiLCBhZGRyZXNzOiBcImFkZHJlc3NAZG9tYWluXCJ9XVxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBzdHIgQWRkcmVzcyBmaWVsZFxuICogQHJldHVybiB7QXJyYXl9IEFuIGFycmF5IG9mIGFkZHJlc3Mgb2JqZWN0c1xuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBwYXJzZSAoc3RyKSB7XG4gIGNvbnN0IHRva2VuaXplciA9IG5ldyBUb2tlbml6ZXIoc3RyKVxuICBjb25zdCB0b2tlbnMgPSB0b2tlbml6ZXIudG9rZW5pemUoKVxuXG4gIGNvbnN0IGFkZHJlc3NlcyA9IFtdXG4gIGxldCBhZGRyZXNzID0gW11cbiAgbGV0IHBhcnNlZEFkZHJlc3NlcyA9IFtdXG5cbiAgdG9rZW5zLmZvckVhY2goZnVuY3Rpb24gKHRva2VuKSB7XG4gICAgaWYgKHRva2VuLnR5cGUgPT09ICdvcGVyYXRvcicgJiYgKHRva2VuLnZhbHVlID09PSAnLCcgfHwgdG9rZW4udmFsdWUgPT09ICc7JykpIHtcbiAgICAgIGlmIChhZGRyZXNzLmxlbmd0aCkge1xuICAgICAgICBhZGRyZXNzZXMucHVzaChhZGRyZXNzKVxuICAgICAgfVxuICAgICAgYWRkcmVzcyA9IFtdXG4gICAgfSBlbHNlIHtcbiAgICAgIGFkZHJlc3MucHVzaCh0b2tlbilcbiAgICB9XG4gIH0pXG5cbiAgaWYgKGFkZHJlc3MubGVuZ3RoKSB7XG4gICAgYWRkcmVzc2VzLnB1c2goYWRkcmVzcylcbiAgfVxuXG4gIGFkZHJlc3Nlcy5mb3JFYWNoKGZ1bmN0aW9uIChhZGRyZXNzKSB7XG4gICAgYWRkcmVzcyA9IF9oYW5kbGVBZGRyZXNzKGFkZHJlc3MpXG4gICAgaWYgKGFkZHJlc3MubGVuZ3RoKSB7XG4gICAgICBwYXJzZWRBZGRyZXNzZXMgPSBwYXJzZWRBZGRyZXNzZXMuY29uY2F0KGFkZHJlc3MpXG4gICAgfVxuICB9KVxuXG4gIHJldHVybiBwYXJzZWRBZGRyZXNzZXNcbn07XG5cbi8qKlxuICogQ29udmVydHMgdG9rZW5zIGZvciBhIHNpbmdsZSBhZGRyZXNzIGludG8gYW4gYWRkcmVzcyBvYmplY3RcbiAqXG4gKiBAcGFyYW0ge0FycmF5fSB0b2tlbnMgVG9rZW5zIG9iamVjdFxuICogQHJldHVybiB7T2JqZWN0fSBBZGRyZXNzIG9iamVjdFxuICovXG5mdW5jdGlvbiBfaGFuZGxlQWRkcmVzcyAodG9rZW5zKSB7XG4gIGxldCBpc0dyb3VwID0gZmFsc2VcbiAgbGV0IHN0YXRlID0gJ3RleHQnXG4gIGxldCBhZGRyZXNzXG4gIGNvbnN0IGFkZHJlc3NlcyA9IFtdXG4gIGNvbnN0IGRhdGEgPSB7XG4gICAgYWRkcmVzczogW10sXG4gICAgY29tbWVudDogW10sXG4gICAgZ3JvdXA6IFtdLFxuICAgIHRleHQ6IFtdXG4gIH1cblxuICAvLyBGaWx0ZXIgb3V0IDxhZGRyZXNzZXM+LCAoY29tbWVudHMpIGFuZCByZWd1bGFyIHRleHRcbiAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IHRva2Vucy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgIGNvbnN0IHRva2VuID0gdG9rZW5zW2ldXG5cbiAgICBpZiAodG9rZW4udHlwZSA9PT0gJ29wZXJhdG9yJykge1xuICAgICAgc3dpdGNoICh0b2tlbi52YWx1ZSkge1xuICAgICAgICBjYXNlICc8JzpcbiAgICAgICAgICBzdGF0ZSA9ICdhZGRyZXNzJ1xuICAgICAgICAgIGJyZWFrXG4gICAgICAgIGNhc2UgJygnOlxuICAgICAgICAgIHN0YXRlID0gJ2NvbW1lbnQnXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgY2FzZSAnOic6XG4gICAgICAgICAgc3RhdGUgPSAnZ3JvdXAnXG4gICAgICAgICAgaXNHcm91cCA9IHRydWVcbiAgICAgICAgICBicmVha1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHN0YXRlID0gJ3RleHQnXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0b2tlbi52YWx1ZSkge1xuICAgICAgICBkYXRhW3N0YXRlXS5wdXNoKHRva2VuLnZhbHVlKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRoZXJlIGlzIG5vIHRleHQgYnV0IGEgY29tbWVudCwgcmVwbGFjZSB0aGUgdHdvXG4gIGlmICghZGF0YS50ZXh0Lmxlbmd0aCAmJiBkYXRhLmNvbW1lbnQubGVuZ3RoKSB7XG4gICAgZGF0YS50ZXh0ID0gZGF0YS5jb21tZW50XG4gICAgZGF0YS5jb21tZW50ID0gW11cbiAgfVxuXG4gIGlmIChpc0dyb3VwKSB7XG4gICAgLy8gaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMjgyMiNhcHBlbmRpeC1BLjEuM1xuICAgIGRhdGEudGV4dCA9IGRhdGEudGV4dC5qb2luKCcgJylcbiAgICBhZGRyZXNzZXMucHVzaCh7XG4gICAgICBuYW1lOiBkYXRhLnRleHQgfHwgKGFkZHJlc3MgJiYgYWRkcmVzcy5uYW1lKSxcbiAgICAgIGdyb3VwOiBkYXRhLmdyb3VwLmxlbmd0aCA/IHBhcnNlKGRhdGEuZ3JvdXAuam9pbignLCcpKSA6IFtdXG4gICAgfSlcbiAgfSBlbHNlIHtcbiAgICAvLyBJZiBubyBhZGRyZXNzIHdhcyBmb3VuZCwgdHJ5IHRvIGRldGVjdCBvbmUgZnJvbSByZWd1bGFyIHRleHRcbiAgICBpZiAoIWRhdGEuYWRkcmVzcy5sZW5ndGggJiYgZGF0YS50ZXh0Lmxlbmd0aCkge1xuICAgICAgZm9yIChsZXQgaSA9IGRhdGEudGV4dC5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICBpZiAoZGF0YS50ZXh0W2ldLm1hdGNoKC9eW15AXFxzXStAW15AXFxzXSskLykpIHtcbiAgICAgICAgICBkYXRhLmFkZHJlc3MgPSBkYXRhLnRleHQuc3BsaWNlKGksIDEpXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB2YXIgX3JlZ2V4SGFuZGxlciA9IGZ1bmN0aW9uIChhZGRyZXNzKSB7XG4gICAgICAgIGlmICghZGF0YS5hZGRyZXNzLmxlbmd0aCkge1xuICAgICAgICAgIGRhdGEuYWRkcmVzcyA9IFthZGRyZXNzLnRyaW0oKV1cbiAgICAgICAgICByZXR1cm4gJyAnXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIGFkZHJlc3NcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBzdGlsbCBubyBhZGRyZXNzXG4gICAgICBpZiAoIWRhdGEuYWRkcmVzcy5sZW5ndGgpIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IGRhdGEudGV4dC5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICAgIGRhdGEudGV4dFtpXSA9IGRhdGEudGV4dFtpXS5yZXBsYWNlKC9cXHMqXFxiW15AXFxzXStAW15AXFxzXStcXGJcXHMqLywgX3JlZ2V4SGFuZGxlcikudHJpbSgpXG4gICAgICAgICAgaWYgKGRhdGEuYWRkcmVzcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgdGhlcmUncyBzdGlsbCBpcyBubyB0ZXh0IGJ1dCBhIGNvbW1lbnQgZXhpeHRzLCByZXBsYWNlIHRoZSB0d29cbiAgICBpZiAoIWRhdGEudGV4dC5sZW5ndGggJiYgZGF0YS5jb21tZW50Lmxlbmd0aCkge1xuICAgICAgZGF0YS50ZXh0ID0gZGF0YS5jb21tZW50XG4gICAgICBkYXRhLmNvbW1lbnQgPSBbXVxuICAgIH1cblxuICAgIC8vIEtlZXAgb25seSB0aGUgZmlyc3QgYWRkcmVzcyBvY2N1cmVuY2UsIHB1c2ggb3RoZXJzIHRvIHJlZ3VsYXIgdGV4dFxuICAgIGlmIChkYXRhLmFkZHJlc3MubGVuZ3RoID4gMSkge1xuICAgICAgZGF0YS50ZXh0ID0gZGF0YS50ZXh0LmNvbmNhdChkYXRhLmFkZHJlc3Muc3BsaWNlKDEpKVxuICAgIH1cblxuICAgIC8vIEpvaW4gdmFsdWVzIHdpdGggc3BhY2VzXG4gICAgZGF0YS50ZXh0ID0gZGF0YS50ZXh0LmpvaW4oJyAnKVxuICAgIGRhdGEuYWRkcmVzcyA9IGRhdGEuYWRkcmVzcy5qb2luKCcgJylcblxuICAgIGlmICghZGF0YS5hZGRyZXNzICYmIGlzR3JvdXApIHtcbiAgICAgIHJldHVybiBbXVxuICAgIH0gZWxzZSB7XG4gICAgICBhZGRyZXNzID0ge1xuICAgICAgICBhZGRyZXNzOiBkYXRhLmFkZHJlc3MgfHwgZGF0YS50ZXh0IHx8ICcnLFxuICAgICAgICBuYW1lOiBkYXRhLnRleHQgfHwgZGF0YS5hZGRyZXNzIHx8ICcnXG4gICAgICB9XG5cbiAgICAgIGlmIChhZGRyZXNzLmFkZHJlc3MgPT09IGFkZHJlc3MubmFtZSkge1xuICAgICAgICBpZiAoKGFkZHJlc3MuYWRkcmVzcyB8fCAnJykubWF0Y2goL0AvKSkge1xuICAgICAgICAgIGFkZHJlc3MubmFtZSA9ICcnXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYWRkcmVzcy5hZGRyZXNzID0gJydcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBhZGRyZXNzZXMucHVzaChhZGRyZXNzKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBhZGRyZXNzZXNcbn07XG5cbi8qXG4gKiBPcGVyYXRvciB0b2tlbnMgYW5kIHdoaWNoIHRva2VucyBhcmUgZXhwZWN0ZWQgdG8gZW5kIHRoZSBzZXF1ZW5jZVxuICovXG5jb25zdCBPUEVSQVRPUlMgPSB7XG4gICdcIic6ICdcIicsXG4gICcoJzogJyknLFxuICAnPCc6ICc+JyxcbiAgJywnOiAnJyxcbiAgLy8gR3JvdXBzIGFyZSBlbmRlZCBieSBzZW1pY29sb25zXG4gICc6JzogJzsnLFxuICAvLyBTZW1pY29sb25zIGFyZSBub3QgYSBsZWdhbCBkZWxpbWl0ZXIgcGVyIHRoZSBSRkMyODIyIGdyYW1tYXIgb3RoZXJcbiAgLy8gdGhhbiBmb3IgdGVybWluYXRpbmcgYSBncm91cCwgYnV0IHRoZXkgYXJlIGFsc28gbm90IHZhbGlkIGZvciBhbnlcbiAgLy8gb3RoZXIgdXNlIGluIHRoaXMgY29udGV4dC4gIEdpdmVuIHRoYXQgc29tZSBtYWlsIGNsaWVudHMgaGF2ZVxuICAvLyBoaXN0b3JpY2FsbHkgYWxsb3dlZCB0aGUgc2VtaWNvbG9uIGFzIGEgZGVsaW1pdGVyIGVxdWl2YWxlbnQgdG8gdGhlXG4gIC8vIGNvbW1hIGluIHRoZWlyIFVJLCBpdCBtYWtlcyBzZW5zZSB0byB0cmVhdCB0aGVtIHRoZSBzYW1lIGFzIGEgY29tbWFcbiAgLy8gd2hlbiB1c2VkIG91dHNpZGUgb2YgYSBncm91cC5cbiAgJzsnOiAnJ1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBUb2tlbml6ZXIgb2JqZWN0IGZvciB0b2tlbml6aW5nIGFkZHJlc3MgZmllbGQgc3RyaW5nc1xuICpcbiAqIEBjb25zdHJ1Y3RvclxuICogQHBhcmFtIHtTdHJpbmd9IHN0ciBBZGRyZXNzIGZpZWxkIHN0cmluZ1xuICovXG5jbGFzcyBUb2tlbml6ZXIge1xuICBjb25zdHJ1Y3RvciAoc3RyKSB7XG4gICAgdGhpcy5zdHIgPSAoc3RyIHx8ICcnKS50b1N0cmluZygpXG4gICAgdGhpcy5vcGVyYXRvckN1cnJlbnQgPSAnJ1xuICAgIHRoaXMub3BlcmF0b3JFeHBlY3RpbmcgPSAnJ1xuICAgIHRoaXMubm9kZSA9IG51bGxcbiAgICB0aGlzLmVzY2FwZWQgPSBmYWxzZVxuICAgIHRoaXMubGlzdCA9IFtdXG4gIH1cblxuICAvKipcbiAgICogVG9rZW5pemVzIHRoZSBvcmlnaW5hbCBpbnB1dCBzdHJpbmdcbiAgICpcbiAgICogQHJldHVybiB7QXJyYXl9IEFuIGFycmF5IG9mIG9wZXJhdG9yfHRleHQgdG9rZW5zXG4gICAqL1xuICB0b2tlbml6ZSAoKSB7XG4gICAgbGV0IGNoclxuICAgIGxldCBsaXN0ID0gW11cbiAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gdGhpcy5zdHIubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIGNociA9IHRoaXMuc3RyLmNoYXJBdChpKVxuICAgICAgdGhpcy5jaGVja0NoYXIoY2hyKVxuICAgIH1cblxuICAgIHRoaXMubGlzdC5mb3JFYWNoKGZ1bmN0aW9uIChub2RlKSB7XG4gICAgICBub2RlLnZhbHVlID0gKG5vZGUudmFsdWUgfHwgJycpLnRvU3RyaW5nKCkudHJpbSgpXG4gICAgICBpZiAobm9kZS52YWx1ZSkge1xuICAgICAgICBsaXN0LnB1c2gobm9kZSlcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgcmV0dXJuIGxpc3RcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgYSBjaGFyYWN0ZXIgaXMgYW4gb3BlcmF0b3Igb3IgdGV4dCBhbmQgYWN0cyBhY2NvcmRpbmdseVxuICAgKlxuICAgKiBAcGFyYW0ge1N0cmluZ30gY2hyIENoYXJhY3RlciBmcm9tIHRoZSBhZGRyZXNzIGZpZWxkXG4gICAqL1xuICBjaGVja0NoYXIgKGNocikge1xuICAgIGlmICgoY2hyIGluIE9QRVJBVE9SUyB8fCBjaHIgPT09ICdcXFxcJykgJiYgdGhpcy5lc2NhcGVkKSB7XG4gICAgICB0aGlzLmVzY2FwZWQgPSBmYWxzZVxuICAgIH0gZWxzZSBpZiAodGhpcy5vcGVyYXRvckV4cGVjdGluZyAmJiBjaHIgPT09IHRoaXMub3BlcmF0b3JFeHBlY3RpbmcpIHtcbiAgICAgIHRoaXMubm9kZSA9IHtcbiAgICAgICAgdHlwZTogJ29wZXJhdG9yJyxcbiAgICAgICAgdmFsdWU6IGNoclxuICAgICAgfVxuICAgICAgdGhpcy5saXN0LnB1c2godGhpcy5ub2RlKVxuICAgICAgdGhpcy5ub2RlID0gbnVsbFxuICAgICAgdGhpcy5vcGVyYXRvckV4cGVjdGluZyA9ICcnXG4gICAgICB0aGlzLmVzY2FwZWQgPSBmYWxzZVxuICAgICAgcmV0dXJuXG4gICAgfSBlbHNlIGlmICghdGhpcy5vcGVyYXRvckV4cGVjdGluZyAmJiBjaHIgaW4gT1BFUkFUT1JTKSB7XG4gICAgICB0aGlzLm5vZGUgPSB7XG4gICAgICAgIHR5cGU6ICdvcGVyYXRvcicsXG4gICAgICAgIHZhbHVlOiBjaHJcbiAgICAgIH1cbiAgICAgIHRoaXMubGlzdC5wdXNoKHRoaXMubm9kZSlcbiAgICAgIHRoaXMubm9kZSA9IG51bGxcbiAgICAgIHRoaXMub3BlcmF0b3JFeHBlY3RpbmcgPSBPUEVSQVRPUlNbY2hyXVxuICAgICAgdGhpcy5lc2NhcGVkID0gZmFsc2VcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmICghdGhpcy5lc2NhcGVkICYmIGNociA9PT0gJ1xcXFwnKSB7XG4gICAgICB0aGlzLmVzY2FwZWQgPSB0cnVlXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoIXRoaXMubm9kZSkge1xuICAgICAgdGhpcy5ub2RlID0ge1xuICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgIHZhbHVlOiAnJ1xuICAgICAgfVxuICAgICAgdGhpcy5saXN0LnB1c2godGhpcy5ub2RlKVxuICAgIH1cblxuICAgIGlmICh0aGlzLmVzY2FwZWQgJiYgY2hyICE9PSAnXFxcXCcpIHtcbiAgICAgIHRoaXMubm9kZS52YWx1ZSArPSAnXFxcXCdcbiAgICB9XG5cbiAgICB0aGlzLm5vZGUudmFsdWUgKz0gY2hyXG4gICAgdGhpcy5lc2NhcGVkID0gZmFsc2VcbiAgfVxufVxuIl19 - -/***/ }), -/* 161 */ -/*!*************************************************************************!*\ - !*** ./node_modules/core-js/internals/object-property-is-enumerable.js ***! - \*************************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var nativePropertyIsEnumerable = {}.propertyIsEnumerable; -var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; - -// Nashorn ~ JDK8 bug -var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1); - -// `Object.prototype.propertyIsEnumerable` method implementation -// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable -exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { - var descriptor = getOwnPropertyDescriptor(this, V); - return !!descriptor && descriptor.enumerable; -} : nativePropertyIsEnumerable; - - -/***/ }), -/* 162 */ -/*!**********************************************************!*\ - !*** ./node_modules/core-js/internals/array-includes.js ***! - \**********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ 71); -var toLength = __webpack_require__(/*! ../internals/to-length */ 72); -var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ 179); - -// `Array.prototype.{ indexOf, includes }` methods implementation -var createMethod = function (IS_INCLUDES) { - return function ($this, el, fromIndex) { - var O = toIndexedObject($this); - var length = toLength(O.length); - var index = toAbsoluteIndex(fromIndex, length); - var value; - // Array#includes uses SameValueZero equality algorithm - // eslint-disable-next-line no-self-compare - if (IS_INCLUDES && el != el) while (length > index) { - value = O[index++]; - // eslint-disable-next-line no-self-compare - if (value != value) return true; - // Array#indexOf ignores holes, Array#includes - not - } else for (;length > index; index++) { - if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; - } return !IS_INCLUDES && -1; - }; -}; - -module.exports = { - // `Array.prototype.includes` method - // https://tc39.github.io/ecma262/#sec-array.prototype.includes - includes: createMethod(true), - // `Array.prototype.indexOf` method - // https://tc39.github.io/ecma262/#sec-array.prototype.indexof - indexOf: createMethod(false) -}; - - -/***/ }), -/* 163 */ -/*!***************************************************************************!*\ - !*** ./node_modules/core-js/internals/object-get-own-property-symbols.js ***! - \***************************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -exports.f = Object.getOwnPropertySymbols; - - -/***/ }), -/* 164 */ -/*!**********************************************************!*\ - !*** ./node_modules/core-js/internals/iterators-core.js ***! - \**********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ 149); -var hide = __webpack_require__(/*! ../internals/hide */ 45); -var has = __webpack_require__(/*! ../internals/has */ 47); -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ 32); -var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ 83); - -var ITERATOR = wellKnownSymbol('iterator'); -var BUGGY_SAFARI_ITERATORS = false; - -var returnThis = function () { return this; }; - -// `%IteratorPrototype%` object -// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object -var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; - -if ([].keys) { - arrayIterator = [].keys(); - // Safari 8 has buggy iterators w/o `next` - if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true; - else { - PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator)); - if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype; - } -} - -if (IteratorPrototype == undefined) IteratorPrototype = {}; - -// 25.1.2.1.1 %IteratorPrototype%[@@iterator]() -if (!IS_PURE && !has(IteratorPrototype, ITERATOR)) hide(IteratorPrototype, ITERATOR, returnThis); - -module.exports = { - IteratorPrototype: IteratorPrototype, - BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS -}; - - -/***/ }), -/* 165 */ -/*!***********************************************************!*\ - !*** ./node_modules/core-js/internals/promise-resolve.js ***! - \***********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var anObject = __webpack_require__(/*! ../internals/an-object */ 36); -var isObject = __webpack_require__(/*! ../internals/is-object */ 44); -var newPromiseCapability = __webpack_require__(/*! ../internals/new-promise-capability */ 106); - -module.exports = function (C, x) { - anObject(C); - if (isObject(x) && x.constructor === C) return x; - var promiseCapability = newPromiseCapability.f(C); - var resolve = promiseCapability.resolve; - resolve(x); - return promiseCapability.promise; -}; - - -/***/ }), -/* 166 */ -/*!********************************************************!*\ - !*** ./node_modules/core-js/internals/regexp-flags.js ***! - \********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var anObject = __webpack_require__(/*! ../internals/an-object */ 36); - -// `RegExp.prototype.flags` getter implementation -// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags -module.exports = function () { - var that = anObject(this); - var result = ''; - if (that.global) result += 'g'; - if (that.ignoreCase) result += 'i'; - if (that.multiline) result += 'm'; - if (that.dotAll) result += 's'; - if (that.unicode) result += 'u'; - if (that.sticky) result += 'y'; - return result; -}; - - -/***/ }), -/* 167 */ -/*!*******************************************************!*\ - !*** ./node_modules/core-js/internals/whitespaces.js ***! - \*******************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -// a string of all valid unicode whitespaces -// eslint-disable-next-line max-len -module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; - - -/***/ }), -/* 168 */ -/*!*********************************************************!*\ - !*** ./node_modules/core-js/modules/es.string.split.js ***! - \*********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var fixRegExpWellKnownSymbolLogic = __webpack_require__(/*! ../internals/fix-regexp-well-known-symbol-logic */ 132); -var isRegExp = __webpack_require__(/*! ../internals/is-regexp */ 222); -var anObject = __webpack_require__(/*! ../internals/an-object */ 36); -var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ 51); -var speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ 142); -var advanceStringIndex = __webpack_require__(/*! ../internals/advance-string-index */ 150); -var toLength = __webpack_require__(/*! ../internals/to-length */ 72); -var callRegExpExec = __webpack_require__(/*! ../internals/regexp-exec-abstract */ 133); -var regexpExec = __webpack_require__(/*! ../internals/regexp-exec */ 112); -var fails = __webpack_require__(/*! ../internals/fails */ 39); - -var arrayPush = [].push; -var min = Math.min; -var MAX_UINT32 = 0xFFFFFFFF; - -// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError -var SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); }); - -// @@split logic -fixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) { - var internalSplit; - if ( - 'abbc'.split(/(b)*/)[1] == 'c' || - 'test'.split(/(?:)/, -1).length != 4 || - 'ab'.split(/(?:ab)*/).length != 2 || - '.'.split(/(.?)(.?)/).length != 4 || - '.'.split(/()()/).length > 1 || - ''.split(/.?/).length - ) { - // based on es5-shim implementation, need to rework it - internalSplit = function (separator, limit) { - var string = String(requireObjectCoercible(this)); - var lim = limit === undefined ? MAX_UINT32 : limit >>> 0; - if (lim === 0) return []; - if (separator === undefined) return [string]; - // If `separator` is not a regex, use native split - if (!isRegExp(separator)) { - return nativeSplit.call(string, separator, lim); - } - var output = []; - var flags = (separator.ignoreCase ? 'i' : '') + - (separator.multiline ? 'm' : '') + - (separator.unicode ? 'u' : '') + - (separator.sticky ? 'y' : ''); - var lastLastIndex = 0; - // Make `global` and avoid `lastIndex` issues by working with a copy - var separatorCopy = new RegExp(separator.source, flags + 'g'); - var match, lastIndex, lastLength; - while (match = regexpExec.call(separatorCopy, string)) { - lastIndex = separatorCopy.lastIndex; - if (lastIndex > lastLastIndex) { - output.push(string.slice(lastLastIndex, match.index)); - if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1)); - lastLength = match[0].length; - lastLastIndex = lastIndex; - if (output.length >= lim) break; - } - if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop - } - if (lastLastIndex === string.length) { - if (lastLength || !separatorCopy.test('')) output.push(''); - } else output.push(string.slice(lastLastIndex)); - return output.length > lim ? output.slice(0, lim) : output; - }; - // Chakra, V8 - } else if ('0'.split(undefined, 0).length) { - internalSplit = function (separator, limit) { - return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit); - }; - } else internalSplit = nativeSplit; - - return [ - // `String.prototype.split` method - // https://tc39.github.io/ecma262/#sec-string.prototype.split - function split(separator, limit) { - var O = requireObjectCoercible(this); - var splitter = separator == undefined ? undefined : separator[SPLIT]; - return splitter !== undefined - ? splitter.call(separator, O, limit) - : internalSplit.call(String(O), separator, limit); - }, - // `RegExp.prototype[@@split]` method - // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split - // - // NOTE: This cannot be properly polyfilled in engines that don't support - // the 'y' flag. - function (regexp, limit) { - var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit); - if (res.done) return res.value; - - var rx = anObject(regexp); - var S = String(this); - var C = speciesConstructor(rx, RegExp); - - var unicodeMatching = rx.unicode; - var flags = (rx.ignoreCase ? 'i' : '') + - (rx.multiline ? 'm' : '') + - (rx.unicode ? 'u' : '') + - (SUPPORTS_Y ? 'y' : 'g'); - - // ^(? + rx + ) is needed, in combination with some S slicing, to - // simulate the 'y' flag. - var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags); - var lim = limit === undefined ? MAX_UINT32 : limit >>> 0; - if (lim === 0) return []; - if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : []; - var p = 0; - var q = 0; - var A = []; - while (q < S.length) { - splitter.lastIndex = SUPPORTS_Y ? q : 0; - var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q)); - var e; - if ( - z === null || - (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p - ) { - q = advanceStringIndex(S, q, unicodeMatching); - } else { - A.push(S.slice(p, q)); - if (A.length === lim) return A; - for (var i = 1; i <= z.length - 1; i++) { - A.push(z[i]); - if (A.length === lim) return A; - } - q = p = e; - } - } - A.push(S.slice(p)); - return A; - } - ]; -}, !SUPPORTS_Y); - - -/***/ }), -/* 169 */ -/*!********************************************************!*\ - !*** ./node_modules/core-js/modules/es.string.link.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var $ = __webpack_require__(/*! ../internals/export */ 43); -var createHTML = __webpack_require__(/*! ../internals/create-html */ 231); -var forcedStringHTMLMethod = __webpack_require__(/*! ../internals/forced-string-html-method */ 232); - -// `String.prototype.link` method -// https://tc39.github.io/ecma262/#sec-string.prototype.link -$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('link') }, { - link: function link(url) { - return createHTML(this, 'a', 'href', url); - } -}); - - -/***/ }), -/* 170 */ -/*!***********************************************************!*\ - !*** ./node_modules/core-js-pure/internals/a-function.js ***! - \***********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -module.exports = function (it) { - if (typeof it != 'function') { - throw TypeError(String(it) + ' is not a function'); - } return it; -}; - - -/***/ }), -/* 171 */ -/*!********************************************************!*\ - !*** ./node_modules/core-js-pure/internals/classof.js ***! - \********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var classofRaw = __webpack_require__(/*! ../internals/classof-raw */ 195); -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ 68); - -var TO_STRING_TAG = wellKnownSymbol('toStringTag'); -// ES3 wrong here -var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments'; - -// fallback for IE11 Script Access Denied error -var tryGet = function (it, key) { - try { - return it[key]; - } catch (error) { /* empty */ } -}; - -// getting tag from ES6+ `Object.prototype.toString` -module.exports = function (it) { - var O, tag, result; - return it === undefined ? 'Undefined' : it === null ? 'Null' - // @@toStringTag case - : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag - // builtinTag case - : CORRECT_ARGUMENTS ? classofRaw(O) - // ES3 arguments fallback - : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result; -}; - - -/***/ }), -/* 172 */, -/* 173 */, -/* 174 */, -/* 175 */ -/*!***********************************************************!*\ - !*** ./node_modules/core-js/internals/native-weak-map.js ***! - \***********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ 28); -var nativeFunctionToString = __webpack_require__(/*! ../internals/function-to-string */ 127); - -var WeakMap = global.WeakMap; - -module.exports = typeof WeakMap === 'function' && /native code/.test(nativeFunctionToString.call(WeakMap)); - - -/***/ }), -/* 176 */ -/*!***********************************************************************!*\ - !*** ./node_modules/core-js/internals/copy-constructor-properties.js ***! - \***********************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var has = __webpack_require__(/*! ../internals/has */ 47); -var ownKeys = __webpack_require__(/*! ../internals/own-keys */ 177); -var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ 90); -var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ 59); - -module.exports = function (target, source) { - var keys = ownKeys(source); - var defineProperty = definePropertyModule.f; - var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; - for (var i = 0; i < keys.length; i++) { - var key = keys[i]; - if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key)); - } -}; - - -/***/ }), -/* 177 */ -/*!****************************************************!*\ - !*** ./node_modules/core-js/internals/own-keys.js ***! - \****************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ 65); -var getOwnPropertyNamesModule = __webpack_require__(/*! ../internals/object-get-own-property-names */ 178); -var getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ 163); -var anObject = __webpack_require__(/*! ../internals/an-object */ 36); - -// all object keys, includes non-enumerable and symbols -module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { - var keys = getOwnPropertyNamesModule.f(anObject(it)); - var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; - return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys; -}; - - -/***/ }), -/* 178 */ -/*!*************************************************************************!*\ - !*** ./node_modules/core-js/internals/object-get-own-property-names.js ***! - \*************************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ 139); -var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ 110); - -var hiddenKeys = enumBugKeys.concat('length', 'prototype'); - -// `Object.getOwnPropertyNames` method -// https://tc39.github.io/ecma262/#sec-object.getownpropertynames -exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { - return internalObjectKeys(O, hiddenKeys); -}; - - -/***/ }), -/* 179 */ -/*!*************************************************************!*\ - !*** ./node_modules/core-js/internals/to-absolute-index.js ***! - \*************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var toInteger = __webpack_require__(/*! ../internals/to-integer */ 80); - -var max = Math.max; -var min = Math.min; - -// Helper for a popular repeating case of the spec: -// Let integer be ? ToInteger(index). -// If integer < 0, let result be max((length + integer), 0); else let result be min(length, length). -module.exports = function (index, length) { - var integer = toInteger(index); - return integer < 0 ? max(integer + length, 0) : min(integer, length); -}; - - -/***/ }), -/* 180 */ -/*!*********************************************************!*\ - !*** ./node_modules/core-js/internals/native-symbol.js ***! - \*********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var fails = __webpack_require__(/*! ../internals/fails */ 39); - -module.exports = !!Object.getOwnPropertySymbols && !fails(function () { - // Chrome 38 Symbol has incorrect toString conversion - // eslint-disable-next-line no-undef - return !String(Symbol()); -}); - - -/***/ }), -/* 181 */ -/*!************************************************************!*\ - !*** ./node_modules/core-js/internals/object-to-string.js ***! - \************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var classof = __webpack_require__(/*! ../internals/classof */ 130); -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ 32); - -var TO_STRING_TAG = wellKnownSymbol('toStringTag'); -var test = {}; - -test[TO_STRING_TAG] = 'z'; - -// `Object.prototype.toString` method implementation -// https://tc39.github.io/ecma262/#sec-object.prototype.tostring -module.exports = String(test) !== '[object z]' ? function toString() { - return '[object ' + classof(this) + ']'; -} : test.toString; - - -/***/ }), -/* 182 */ -/*!************************************************************!*\ - !*** ./node_modules/core-js/internals/string-multibyte.js ***! - \************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var toInteger = __webpack_require__(/*! ../internals/to-integer */ 80); -var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ 51); - -// `String.prototype.{ codePointAt, at }` methods implementation -var createMethod = function (CONVERT_TO_STRING) { - return function ($this, pos) { - var S = String(requireObjectCoercible($this)); - var position = toInteger(pos); - var size = S.length; - var first, second; - if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined; - first = S.charCodeAt(position); - return first < 0xD800 || first > 0xDBFF || position + 1 === size - || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF - ? CONVERT_TO_STRING ? S.charAt(position) : first - : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000; - }; -}; - -module.exports = { - // `String.prototype.codePointAt` method - // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat - codeAt: createMethod(false), - // `String.prototype.at` method - // https://github.com/mathiasbynens/String.prototype.at - charAt: createMethod(true) -}; - - -/***/ }), -/* 183 */ -/*!***********************************************************!*\ - !*** ./node_modules/core-js/modules/es.array.iterator.js ***! - \***********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ 71); -var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ 213); -var Iterators = __webpack_require__(/*! ../internals/iterators */ 73); -var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ 93); -var defineIterator = __webpack_require__(/*! ../internals/define-iterator */ 214); - -var ARRAY_ITERATOR = 'Array Iterator'; -var setInternalState = InternalStateModule.set; -var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR); - -// `Array.prototype.entries` method -// https://tc39.github.io/ecma262/#sec-array.prototype.entries -// `Array.prototype.keys` method -// https://tc39.github.io/ecma262/#sec-array.prototype.keys -// `Array.prototype.values` method -// https://tc39.github.io/ecma262/#sec-array.prototype.values -// `Array.prototype[@@iterator]` method -// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator -// `CreateArrayIterator` internal method -// https://tc39.github.io/ecma262/#sec-createarrayiterator -module.exports = defineIterator(Array, 'Array', function (iterated, kind) { - setInternalState(this, { - type: ARRAY_ITERATOR, - target: toIndexedObject(iterated), // target - index: 0, // next index - kind: kind // kind - }); -// `%ArrayIteratorPrototype%.next` method -// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next -}, function () { - var state = getInternalState(this); - var target = state.target; - var kind = state.kind; - var index = state.index++; - if (!target || index >= target.length) { - state.target = undefined; - return { value: undefined, done: true }; - } - if (kind == 'keys') return { value: index, done: false }; - if (kind == 'values') return { value: target[index], done: false }; - return { value: [index, target[index]], done: false }; -}, 'values'); - -// argumentsList[@@iterator] is %ArrayProto_values% -// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject -// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject -Iterators.Arguments = Iterators.Array; - -// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables -addToUnscopables('keys'); -addToUnscopables('values'); -addToUnscopables('entries'); - - -/***/ }), -/* 184 */ -/*!********************************************************!*\ - !*** ./node_modules/core-js/internals/redefine-all.js ***! - \********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var redefine = __webpack_require__(/*! ../internals/redefine */ 54); - -module.exports = function (target, src, options) { - for (var key in src) redefine(target, key, src[key], options); - return target; -}; - - -/***/ }), -/* 185 */ -/*!*******************************************************!*\ - !*** ./node_modules/core-js/internals/set-species.js ***! - \*******************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ 65); -var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ 59); -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ 32); -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ 50); - -var SPECIES = wellKnownSymbol('species'); - -module.exports = function (CONSTRUCTOR_NAME) { - var Constructor = getBuiltIn(CONSTRUCTOR_NAME); - var defineProperty = definePropertyModule.f; - - if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) { - defineProperty(Constructor, SPECIES, { - configurable: true, - get: function () { return this; } - }); - } -}; - - -/***/ }), -/* 186 */ -/*!*******************************************************!*\ - !*** ./node_modules/core-js/internals/an-instance.js ***! - \*******************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -module.exports = function (it, Constructor, name) { - if (!(it instanceof Constructor)) { - throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation'); - } return it; -}; - - -/***/ }), -/* 187 */ -/*!********************************************************************!*\ - !*** ./node_modules/core-js/internals/is-array-iterator-method.js ***! - \********************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ 32); -var Iterators = __webpack_require__(/*! ../internals/iterators */ 73); - -var ITERATOR = wellKnownSymbol('iterator'); -var ArrayPrototype = Array.prototype; - -// check on default Array iterator -module.exports = function (it) { - return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); -}; - - -/***/ }), -/* 188 */ -/*!***************************************************************!*\ - !*** ./node_modules/core-js/internals/get-iterator-method.js ***! - \***************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var classof = __webpack_require__(/*! ../internals/classof */ 130); -var Iterators = __webpack_require__(/*! ../internals/iterators */ 73); -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ 32); - -var ITERATOR = wellKnownSymbol('iterator'); - -module.exports = function (it) { - if (it != undefined) return it[ITERATOR] - || it['@@iterator'] - || Iterators[classof(it)]; -}; - - -/***/ }), -/* 189 */ -/*!****************************************************************************!*\ - !*** ./node_modules/core-js/internals/call-with-safe-iteration-closing.js ***! - \****************************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var anObject = __webpack_require__(/*! ../internals/an-object */ 36); - -// call something on iterator step with safe closing on error -module.exports = function (iterator, fn, value, ENTRIES) { - try { - return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value); - // 7.4.6 IteratorClose(iterator, completion) - } catch (error) { - var returnMethod = iterator['return']; - if (returnMethod !== undefined) anObject(returnMethod.call(iterator)); - throw error; - } -}; - - -/***/ }), -/* 190 */ -/*!**************************************************************************!*\ - !*** ./node_modules/core-js/internals/check-correctness-of-iteration.js ***! - \**************************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ 32); - -var ITERATOR = wellKnownSymbol('iterator'); -var SAFE_CLOSING = false; - -try { - var called = 0; - var iteratorWithReturn = { - next: function () { - return { done: !!called++ }; - }, - 'return': function () { - SAFE_CLOSING = true; - } - }; - iteratorWithReturn[ITERATOR] = function () { - return this; - }; - // eslint-disable-next-line no-throw-literal - Array.from(iteratorWithReturn, function () { throw 2; }); -} catch (error) { /* empty */ } - -module.exports = function (exec, SKIP_CLOSING) { - if (!SKIP_CLOSING && !SAFE_CLOSING) return false; - var ITERATION_SUPPORT = false; - try { - var object = {}; - object[ITERATOR] = function () { - return { - next: function () { - return { done: ITERATION_SUPPORT = true }; - } - }; - }; - exec(object); - } catch (error) { /* empty */ } - return ITERATION_SUPPORT; -}; - - -/***/ }), -/* 191 */ -/*!*****************************************************!*\ - !*** ./node_modules/core-js/internals/microtask.js ***! - \*****************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ 28); -var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ 90).f; -var classof = __webpack_require__(/*! ../internals/classof-raw */ 49); -var macrotask = __webpack_require__(/*! ../internals/task */ 131).set; -var userAgent = __webpack_require__(/*! ../internals/user-agent */ 105); - -var MutationObserver = global.MutationObserver || global.WebKitMutationObserver; -var process = global.process; -var Promise = global.Promise; -var IS_NODE = classof(process) == 'process'; -// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask` -var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask'); -var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value; - -var flush, head, last, notify, toggle, node, promise; - -// modern engines have queueMicrotask method -if (!queueMicrotask) { - flush = function () { - var parent, fn; - if (IS_NODE && (parent = process.domain)) parent.exit(); - while (head) { - fn = head.fn; - head = head.next; - try { - fn(); - } catch (error) { - if (head) notify(); - else last = undefined; - throw error; - } - } last = undefined; - if (parent) parent.enter(); - }; - - // Node.js - if (IS_NODE) { - notify = function () { - process.nextTick(flush); - }; - // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339 - } else if (MutationObserver && !/(iphone|ipod|ipad).*applewebkit/i.test(userAgent)) { - toggle = true; - node = document.createTextNode(''); - new MutationObserver(flush).observe(node, { characterData: true }); // eslint-disable-line no-new - notify = function () { - node.data = toggle = !toggle; - }; - // environments with maybe non-completely correct, but existent Promise - } else if (Promise && Promise.resolve) { - // Promise.resolve without an argument throws an error in LG WebOS 2 - promise = Promise.resolve(undefined); - notify = function () { - promise.then(flush); - }; - // for other environments - macrotask based on: - // - setImmediate - // - MessageChannel - // - window.postMessag - // - onreadystatechange - // - setTimeout - } else { - notify = function () { - // strange IE + webpack dev server bug - use .call(global) - macrotask.call(global, flush); - }; - } -} - -module.exports = queueMicrotask || function (fn) { - var task = { fn: fn, next: undefined }; - if (last) last.next = task; - if (!head) { - head = task; - notify(); - } last = task; -}; - - -/***/ }), -/* 192 */ -/*!**************************************************************!*\ - !*** ./node_modules/core-js/internals/host-report-errors.js ***! - \**************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ 28); - -module.exports = function (a, b) { - var console = global.console; - if (console && console.error) { - arguments.length === 1 ? console.error(a) : console.error(a, b); - } -}; - - -/***/ }), -/* 193 */ -/*!*********************************************************!*\ - !*** ./node_modules/core-js/modules/es.string.match.js ***! - \*********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var fixRegExpWellKnownSymbolLogic = __webpack_require__(/*! ../internals/fix-regexp-well-known-symbol-logic */ 132); -var anObject = __webpack_require__(/*! ../internals/an-object */ 36); -var toLength = __webpack_require__(/*! ../internals/to-length */ 72); -var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ 51); -var advanceStringIndex = __webpack_require__(/*! ../internals/advance-string-index */ 150); -var regExpExec = __webpack_require__(/*! ../internals/regexp-exec-abstract */ 133); - -// @@match logic -fixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) { - return [ - // `String.prototype.match` method - // https://tc39.github.io/ecma262/#sec-string.prototype.match - function match(regexp) { - var O = requireObjectCoercible(this); - var matcher = regexp == undefined ? undefined : regexp[MATCH]; - return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O)); - }, - // `RegExp.prototype[@@match]` method - // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match - function (regexp) { - var res = maybeCallNative(nativeMatch, regexp, this); - if (res.done) return res.value; - - var rx = anObject(regexp); - var S = String(this); - - if (!rx.global) return regExpExec(rx, S); - - var fullUnicode = rx.unicode; - rx.lastIndex = 0; - var A = []; - var n = 0; - var result; - while ((result = regExpExec(rx, S)) !== null) { - var matchStr = String(result[0]); - A[n] = matchStr; - if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); - n++; - } - return n === 0 ? null : A; - } - ]; -}); - - -/***/ }), -/* 194 */ -/*!***************************************************************!*\ - !*** ./node_modules/core-js-pure/internals/indexed-object.js ***! - \***************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var fails = __webpack_require__(/*! ../internals/fails */ 57); -var classof = __webpack_require__(/*! ../internals/classof-raw */ 195); - -var split = ''.split; - -// fallback for non-array-like ES3 and non-enumerable old V8 strings -module.exports = fails(function () { - // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 - // eslint-disable-next-line no-prototype-builtins - return !Object('z').propertyIsEnumerable(0); -}) ? function (it) { - return classof(it) == 'String' ? split.call(it, '') : Object(it); -} : Object; - - -/***/ }), -/* 195 */ -/*!************************************************************!*\ - !*** ./node_modules/core-js-pure/internals/classof-raw.js ***! - \************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -var toString = {}.toString; - -module.exports = function (it) { - return toString.call(it).slice(8, -1); -}; - - -/***/ }), -/* 196 */ -/*!*************************************************************************!*\ - !*** ./node_modules/core-js-pure/internals/require-object-coercible.js ***! - \*************************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -// `RequireObjectCoercible` abstract operation -// https://tc39.github.io/ecma262/#sec-requireobjectcoercible -module.exports = function (it) { - if (it == undefined) throw TypeError("Can't call method on " + it); - return it; -}; - - -/***/ }), -/* 197 */ -/*!*************************************************************!*\ - !*** ./node_modules/core-js-pure/internals/to-primitive.js ***! - \*************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var isObject = __webpack_require__(/*! ../internals/is-object */ 78); - -// `ToPrimitive` abstract operation -// https://tc39.github.io/ecma262/#sec-toprimitive -// instead of the ES6 spec version, we didn't implement @@toPrimitive case -// and the second argument - flag - preferred type is a string -module.exports = function (input, PREFERRED_STRING) { - if (!isObject(input)) return input; - var fn, val; - if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val; - if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val; - if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val; - throw TypeError("Can't convert object to primitive value"); -}; - - -/***/ }), -/* 198 */ -/*!***********************************************************!*\ - !*** ./node_modules/core-js-pure/internals/to-integer.js ***! - \***********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -var ceil = Math.ceil; -var floor = Math.floor; - -// `ToInteger` abstract operation -// https://tc39.github.io/ecma262/#sec-tointeger -module.exports = function (argument) { - return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument); -}; - - -/***/ }), -/* 199 */ -/*!*******************************************************!*\ - !*** ./node_modules/core-js-pure/internals/shared.js ***! - \*******************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ 77); -var setGlobal = __webpack_require__(/*! ../internals/set-global */ 286); -var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ 200); - -var SHARED = '__core-js_shared__'; -var store = global[SHARED] || setGlobal(SHARED, {}); - -(module.exports = function (key, value) { - return store[key] || (store[key] = value !== undefined ? value : {}); -})('versions', []).push({ - version: '3.1.3', - mode: IS_PURE ? 'pure' : 'global', - copyright: '© 2019 Denis Pushkarev (zloirock.ru)' -}); - - -/***/ }), -/* 200 */ -/*!********************************************************!*\ - !*** ./node_modules/core-js-pure/internals/is-pure.js ***! - \********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -module.exports = true; - - -/***/ }), -/* 201 */ -/*!***********************************************************!*\ - !*** ./node_modules/core-js-pure/internals/shared-key.js ***! - \***********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var shared = __webpack_require__(/*! ../internals/shared */ 199); -var uid = __webpack_require__(/*! ../internals/uid */ 239); - -var keys = shared('keys'); - -module.exports = function (key) { - return keys[key] || (keys[key] = uid(key)); -}; - - -/***/ }), -/* 202 */ -/*!************************************************************!*\ - !*** ./node_modules/core-js-pure/internals/hidden-keys.js ***! - \************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -module.exports = {}; - - -/***/ }), -/* 203 */ -/*!***********************************!*\ - !*** ./dev/Component/Checkbox.js ***! - \***********************************/ -/*! exports provided: default */ -/*! all exports used */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _babel_runtime_corejs3_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/inheritsLoose */ 10); -/* harmony import */ var _babel_runtime_corejs3_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var Component_Abstract__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! Component/Abstract */ 35); -/* harmony import */ var Component_AbstractCheckbox__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! Component/AbstractCheckbox */ 159); - - - - -var CheckboxComponent = -/*#__PURE__*/ -function (_AbstractCheckbox) { - _babel_runtime_corejs3_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0___default()(CheckboxComponent, _AbstractCheckbox); - - function CheckboxComponent() { - return _AbstractCheckbox.apply(this, arguments) || this; - } - - return CheckboxComponent; -}(Component_AbstractCheckbox__WEBPACK_IMPORTED_MODULE_2__[/* AbstractCheckbox */ "a"]); - -/* harmony default export */ __webpack_exports__["default"] = (Object(Component_Abstract__WEBPACK_IMPORTED_MODULE_1__[/* componentExportHelper */ "b"])(CheckboxComponent, 'CheckboxComponent')); - -/***/ }), -/* 204 */ -/*!**********************************!*\ - !*** ./dev/Common/HtmlEditor.js ***! - \**********************************/ -/*! exports provided: HtmlEditor, default */ -/*! all exports used */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "HtmlEditor", function() { return HtmlEditor; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return HtmlEditor; }); -/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.regexp.exec */ 48); -/* harmony import */ var core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var core_js_modules_es_string_match__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.string.match */ 193); -/* harmony import */ var core_js_modules_es_string_match__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_match__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.string.replace */ 56); -/* harmony import */ var core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var core_js_modules_web_timers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/web.timers */ 67); -/* harmony import */ var core_js_modules_web_timers__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_timers__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_bind__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/bind */ 26); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_bind__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_bind__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/defineProperty */ 17); -/* harmony import */ var _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var window__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! window */ 4); -/* harmony import */ var window__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(window__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! _ */ 3); -/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(___WEBPACK_IMPORTED_MODULE_7__); -/* harmony import */ var $__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! $ */ 8); -/* harmony import */ var $__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n($__WEBPACK_IMPORTED_MODULE_8__); -/* harmony import */ var Common_Globals__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! Common/Globals */ 6); -/* harmony import */ var Common_Enums__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! Common/Enums */ 0); -/* harmony import */ var Storage_Settings__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! Storage/Settings */ 5); - - - - - - - - - - - - - -var HtmlEditor = -/*#__PURE__*/ -function () { - /** - * @param {Object} element - * @param {Function=} onBlur - * @param {Function=} onReady - * @param {Function=} onModeChange - */ - function HtmlEditor(element, onBlur, onReady, onModeChange) { - if (onBlur === void 0) { - onBlur = null; - } - - if (onReady === void 0) { - onReady = null; - } - - if (onModeChange === void 0) { - onModeChange = null; - } - - _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5___default()(this, "editor", void 0); - - _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5___default()(this, "blurTimer", 0); - - _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5___default()(this, "__resizable", false); - - _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5___default()(this, "__inited", false); - - _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5___default()(this, "onBlur", null); - - _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5___default()(this, "onReady", null); - - _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5___default()(this, "onModeChange", null); - - _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5___default()(this, "element", void 0); - - _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5___default()(this, "$element", void 0); - - _babel_runtime_corejs3_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_5___default()(this, "resize", void 0); - - this.onBlur = onBlur; - this.onReady = onReady; - this.onModeChange = onModeChange; - this.element = element; - this.$element = $__WEBPACK_IMPORTED_MODULE_8___default()(element); - this.resize = ___WEBPACK_IMPORTED_MODULE_7___default.a.throttle(_babel_runtime_corejs3_core_js_stable_instance_bind__WEBPACK_IMPORTED_MODULE_4___default()(___WEBPACK_IMPORTED_MODULE_7___default.a).call(___WEBPACK_IMPORTED_MODULE_7___default.a, this.resizeEditor, this), 100); - this.init(); - } - - var _proto = HtmlEditor.prototype; - - _proto.runOnBlur = function runOnBlur() { - if (this.onBlur) { - this.onBlur(); - } - }; - - _proto.blurTrigger = function blurTrigger() { - var _this = this; - - if (this.onBlur) { - window__WEBPACK_IMPORTED_MODULE_6___default.a.clearTimeout(this.blurTimer); - this.blurTimer = window__WEBPACK_IMPORTED_MODULE_6___default.a.setTimeout(function () { - _this.runOnBlur(); - }, Common_Enums__WEBPACK_IMPORTED_MODULE_10__["Magics"].Time200ms); - } - }; - - _proto.focusTrigger = function focusTrigger() { - if (this.onBlur) { - window__WEBPACK_IMPORTED_MODULE_6___default.a.clearTimeout(this.blurTimer); - } - } - /** - * @returns {boolean} - */ - ; - - _proto.isHtml = function isHtml() { - return this.editor ? 'wysiwyg' === this.editor.mode : false; - } - /** - * @returns {void} - */ - ; - - _proto.clearCachedSignature = function clearCachedSignature() { - if (this.editor) { - this.editor.execCommand('insertSignature', { - clearCache: true - }); - } - } - /** - * @param {string} signature - * @param {bool} html - * @param {bool} insertBefore - * @returns {void} - */ - ; - - _proto.setSignature = function setSignature(signature, html, insertBefore) { - if (insertBefore === void 0) { - insertBefore = false; - } - - if (this.editor) { - this.editor.execCommand('insertSignature', { - isHtml: html, - insertBefore: insertBefore, - signature: signature - }); - } - } - /** - * @returns {boolean} - */ - ; - - _proto.checkDirty = function checkDirty() { - return this.editor ? this.editor.checkDirty() : false; - }; - - _proto.resetDirty = function resetDirty() { - if (this.editor) { - this.editor.resetDirty(); - } - } - /** - * @param {boolean=} wrapIsHtml = false - * @returns {string} - */ - ; - - _proto.getData = function getData(wrapIsHtml) { - if (wrapIsHtml === void 0) { - wrapIsHtml = false; - } - - var result = ''; - - if (this.editor) { - try { - if ('plain' === this.editor.mode && this.editor.plugins.plain && this.editor.__plain) { - result = this.editor.__plain.getRawData(); - } else { - result = wrapIsHtml ? '
' + this.editor.getData() + '
' : this.editor.getData(); - } - } catch (e) {} // eslint-disable-line no-empty - - } - - return result; - } - /** - * @param {boolean=} wrapIsHtml = false - * @returns {string} - */ - ; - - _proto.getDataWithHtmlMark = function getDataWithHtmlMark(wrapIsHtml) { - if (wrapIsHtml === void 0) { - wrapIsHtml = false; - } - - return (this.isHtml() ? ':HTML:' : '') + this.getData(wrapIsHtml); - }; - - _proto.modeToggle = function modeToggle(plain, resize) { - if (this.editor) { - try { - if (plain) { - if ('plain' === this.editor.mode) { - this.editor.setMode('wysiwyg'); - } - } else if ('wysiwyg' === this.editor.mode) { - this.editor.setMode('plain'); - } - } catch (e) {} // eslint-disable-line no-empty - - - if (resize) { - this.resize(); - } - } - }; - - _proto.setHtmlOrPlain = function setHtmlOrPlain(text, focus) { - if (':HTML:' === text.substr(0, 6)) { - this.setHtml(text.substr(6), focus); - } else { - this.setPlain(text, focus); - } - }; - - _proto.setHtml = function setHtml(html, focus) { - if (this.editor && this.__inited) { - this.clearCachedSignature(); - this.modeToggle(true); - html = html.replace(/]*><\/p>/gi, ''); - - try { - this.editor.setData(html); - } catch (e) {} // eslint-disable-line no-empty - - - if (focus) { - this.focus(); - } - } - }; - - _proto.replaceHtml = function replaceHtml(find, _replaceHtml) { - if (this.editor && this.__inited && 'wysiwyg' === this.editor.mode) { - try { - this.editor.setData(this.editor.getData().replace(find, _replaceHtml)); - } catch (e) {} // eslint-disable-line no-empty - - } - }; - - _proto.setPlain = function setPlain(plain, focus) { - if (this.editor && this.__inited) { - this.clearCachedSignature(); - this.modeToggle(false); - - if ('plain' === this.editor.mode && this.editor.plugins.plain && this.editor.__plain) { - this.editor.__plain.setRawData(plain); - } else { - try { - this.editor.setData(plain); - } catch (e) {} // eslint-disable-line no-empty - - } - - if (focus) { - this.focus(); - } - } - }; - - _proto.init = function init() { - var _this2 = this; - - if (this.element && !this.editor) { - var initFunc = function initFunc() { - var config = Common_Globals__WEBPACK_IMPORTED_MODULE_9__["htmlEditorDefaultConfig"], - language = Storage_Settings__WEBPACK_IMPORTED_MODULE_11__["settingsGet"]('Language'), - allowSource = !!Storage_Settings__WEBPACK_IMPORTED_MODULE_11__["appSettingsGet"]('allowHtmlEditorSourceButton'), - biti = !!Storage_Settings__WEBPACK_IMPORTED_MODULE_11__["appSettingsGet"]('allowHtmlEditorBitiButtons'); - - if ((allowSource || !biti) && !config.toolbarGroups.__cfgInited) { - config.toolbarGroups.__cfgInited = true; - - if (allowSource) { - config.removeButtons = config.removeButtons.replace(',Source', ''); - } - - if (!biti) { - config.removePlugins += (config.removePlugins ? ',' : '') + 'bidi'; - } - } - - config.enterMode = window__WEBPACK_IMPORTED_MODULE_6___default.a.CKEDITOR.ENTER_BR; - config.shiftEnterMode = window__WEBPACK_IMPORTED_MODULE_6___default.a.CKEDITOR.ENTER_P; - config.language = Common_Globals__WEBPACK_IMPORTED_MODULE_9__["htmlEditorLangsMap"][(language || 'en').toLowerCase()] || 'en'; - - if (window__WEBPACK_IMPORTED_MODULE_6___default.a.CKEDITOR.env) { - window__WEBPACK_IMPORTED_MODULE_6___default.a.CKEDITOR.env.isCompatible = true; - } - - _this2.editor = window__WEBPACK_IMPORTED_MODULE_6___default.a.CKEDITOR.appendTo(_this2.element, config); - - _this2.editor.on('key', function (event) { - if (event && event.data && Common_Enums__WEBPACK_IMPORTED_MODULE_10__["EventKeyCode"].Tab === event.data.keyCode) { - return false; - } - - return true; - }); - - _this2.editor.on('blur', function () { - _this2.blurTrigger(); - }); - - _this2.editor.on('mode', function () { - _this2.blurTrigger(); - - if (_this2.onModeChange) { - _this2.onModeChange('plain' !== _this2.editor.mode); - } - }); - - _this2.editor.on('focus', function () { - _this2.focusTrigger(); - }); - - if (window__WEBPACK_IMPORTED_MODULE_6___default.a.FileReader) { - _this2.editor.on('drop', function (event) { - if (0 < event.data.dataTransfer.getFilesCount()) { - var file = event.data.dataTransfer.getFile(0); - - if (file && window__WEBPACK_IMPORTED_MODULE_6___default.a.FileReader && event.data.dataTransfer.id && file.type && file.type.match(/^image/i)) { - var id = event.data.dataTransfer.id, - imageId = "[img=" + id + "]", - reader = new window__WEBPACK_IMPORTED_MODULE_6___default.a.FileReader(); - - reader.onloadend = function () { - if (reader.result) { - _this2.replaceHtml(imageId, ""); - } - }; - - reader.readAsDataURL(file); - event.data.dataTransfer.setData('text/html', imageId); - } - } - }); - } - - _this2.editor.on('instanceReady', function () { - if (_this2.editor.removeMenuItem) { - _this2.editor.removeMenuItem('cut'); - - _this2.editor.removeMenuItem('copy'); - - _this2.editor.removeMenuItem('paste'); - } - - _this2.__resizable = true; - _this2.__inited = true; - - _this2.resize(); - - if (_this2.onReady) { - _this2.onReady(); - } - }); - }; - - if (window__WEBPACK_IMPORTED_MODULE_6___default.a.CKEDITOR) { - initFunc(); - } else { - window__WEBPACK_IMPORTED_MODULE_6___default.a.__initEditor = initFunc; - } - } - }; - - _proto.focus = function focus() { - if (this.editor) { - try { - this.editor.focus(); - } catch (e) {} // eslint-disable-line no-empty - - } - }; - - _proto.hasFocus = function hasFocus() { - if (this.editor) { - try { - return !!this.editor.focusManager.hasFocus; - } catch (e) {} // eslint-disable-line no-empty - - } - - return false; - }; - - _proto.blur = function blur() { - if (this.editor) { - try { - this.editor.focusManager.blur(true); - } catch (e) {} // eslint-disable-line no-empty - - } - }; - - _proto.resizeEditor = function resizeEditor() { - if (this.editor && this.__resizable) { - try { - this.editor.resize(this.$element.width(), this.$element.innerHeight()); - } catch (e) {} // eslint-disable-line no-empty - - } - }; - - _proto.setReadOnly = function setReadOnly(value) { - if (this.editor) { - try { - this.editor.setReadOnly(!!value); - } catch (e) {} // eslint-disable-line no-empty - - } - }; - - _proto.clear = function clear(focus) { - this.setHtml('', focus); - }; - - return HtmlEditor; -}(); - - - -/***/ }), -/* 205 */ -/*!*******************************************************************************!*\ - !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/instance/reduce.js ***! - \*******************************************************************************/ -/*! no static exports found */ -/*! exports used: default */ -/***/ (function(module, exports, __webpack_require__) { - -module.exports = __webpack_require__(/*! core-js-pure/stable/instance/reduce */ 276); - -/***/ }), -/* 206 */ -/*!**************************************************************************************!*\ - !*** ./node_modules/@babel/runtime-corejs3/core-js-stable/instance/last-index-of.js ***! - \**************************************************************************************/ -/*! no static exports found */ -/*! exports used: default */ -/***/ (function(module, exports, __webpack_require__) { - -module.exports = __webpack_require__(/*! core-js-pure/stable/instance/last-index-of */ 314); - -/***/ }), -/* 207 */ -/*!*********************************!*\ - !*** ./dev/External/Opentip.js ***! - \*********************************/ -/*! exports provided: Opentip, default */ -/*! exports used: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* unused harmony export Opentip */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Opentip; }); -/* harmony import */ var window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! window */ 4); -/* harmony import */ var window__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(window__WEBPACK_IMPORTED_MODULE_0__); - -var Opentip = window__WEBPACK_IMPORTED_MODULE_0___default.a.Opentip || {}; -Opentip.styles = Opentip.styles || {}; -Opentip.styles.rainloop = { - 'extends': 'standard', - 'fixed': true, - 'target': true, - 'delay': 0.2, - 'hideDelay': 0, - 'hideEffect': 'fade', - 'hideEffectDuration': 0.2, - 'showEffect': 'fade', - 'showEffectDuration': 0.2, - 'showOn': 'mouseover click', - 'removeElementsOnHide': true, - 'background': '#fff', - 'shadow': false, - 'borderColor': '#999', - 'borderRadius': 2, - 'borderWidth': 1 -}; -Opentip.styles.rainloopTip = { - 'extends': 'rainloop', - 'delay': 0.4, - 'group': 'rainloopTips' -}; -Opentip.styles.rainloopErrorTip = { - 'extends': 'rainloop', - 'className': 'rainloopErrorTip' -}; - - -/***/ }), -/* 208 */ -/*!*****************************************!*\ - !*** ./node_modules/pikaday/pikaday.js ***! - \*****************************************/ -/*! no static exports found */ -/*! exports used: default */ -/***/ (function(module, exports, __webpack_require__) { - -/*! - * Pikaday - * - * Copyright © 2014 David Bushell | BSD & MIT license | https://github.com/Pikaday/Pikaday - */ - -(function (root, factory) -{ - 'use strict'; - - var moment; - if (true) { - // CommonJS module - // Load moment.js as an optional dependency - try { moment = __webpack_require__(/*! moment */ 98); } catch (e) {} - module.exports = factory(moment); - } else {} -}(this, function (moment) -{ - 'use strict'; - - /** - * feature detection and helper functions - */ - var hasMoment = typeof moment === 'function', - - hasEventListeners = !!window.addEventListener, - - document = window.document, - - sto = window.setTimeout, - - addEvent = function(el, e, callback, capture) - { - if (hasEventListeners) { - el.addEventListener(e, callback, !!capture); - } else { - el.attachEvent('on' + e, callback); - } - }, - - removeEvent = function(el, e, callback, capture) - { - if (hasEventListeners) { - el.removeEventListener(e, callback, !!capture); - } else { - el.detachEvent('on' + e, callback); - } - }, - - trim = function(str) - { - return str.trim ? str.trim() : str.replace(/^\s+|\s+$/g,''); - }, - - hasClass = function(el, cn) - { - return (' ' + el.className + ' ').indexOf(' ' + cn + ' ') !== -1; - }, - - addClass = function(el, cn) - { - if (!hasClass(el, cn)) { - el.className = (el.className === '') ? cn : el.className + ' ' + cn; - } - }, - - removeClass = function(el, cn) - { - el.className = trim((' ' + el.className + ' ').replace(' ' + cn + ' ', ' ')); - }, - - isArray = function(obj) - { - return (/Array/).test(Object.prototype.toString.call(obj)); - }, - - isDate = function(obj) - { - return (/Date/).test(Object.prototype.toString.call(obj)) && !isNaN(obj.getTime()); - }, - - isWeekend = function(date) - { - var day = date.getDay(); - return day === 0 || day === 6; - }, - - isLeapYear = function(year) - { - // solution by Matti Virkkunen: http://stackoverflow.com/a/4881951 - return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0; - }, - - getDaysInMonth = function(year, month) - { - return [31, isLeapYear(year) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month]; - }, - - setToStartOfDay = function(date) - { - if (isDate(date)) date.setHours(0,0,0,0); - }, - - compareDates = function(a,b) - { - // weak date comparison (use setToStartOfDay(date) to ensure correct result) - return a.getTime() === b.getTime(); - }, - - extend = function(to, from, overwrite) - { - var prop, hasProp; - for (prop in from) { - hasProp = to[prop] !== undefined; - if (hasProp && typeof from[prop] === 'object' && from[prop] !== null && from[prop].nodeName === undefined) { - if (isDate(from[prop])) { - if (overwrite) { - to[prop] = new Date(from[prop].getTime()); - } - } - else if (isArray(from[prop])) { - if (overwrite) { - to[prop] = from[prop].slice(0); - } - } else { - to[prop] = extend({}, from[prop], overwrite); - } - } else if (overwrite || !hasProp) { - to[prop] = from[prop]; - } - } - return to; - }, - - fireEvent = function(el, eventName, data) - { - var ev; - - if (document.createEvent) { - ev = document.createEvent('HTMLEvents'); - ev.initEvent(eventName, true, false); - ev = extend(ev, data); - el.dispatchEvent(ev); - } else if (document.createEventObject) { - ev = document.createEventObject(); - ev = extend(ev, data); - el.fireEvent('on' + eventName, ev); - } - }, - - adjustCalendar = function(calendar) { - if (calendar.month < 0) { - calendar.year -= Math.ceil(Math.abs(calendar.month)/12); - calendar.month += 12; - } - if (calendar.month > 11) { - calendar.year += Math.floor(Math.abs(calendar.month)/12); - calendar.month -= 12; - } - return calendar; - }, - - /** - * defaults and localisation - */ - defaults = { - - // bind the picker to a form field - field: null, - - // automatically show/hide the picker on `field` focus (default `true` if `field` is set) - bound: undefined, - - // data-attribute on the input field with an aria assistance tekst (only applied when `bound` is set) - ariaLabel: 'Use the arrow keys to pick a date', - - // position of the datepicker, relative to the field (default to bottom & left) - // ('bottom' & 'left' keywords are not used, 'top' & 'right' are modifier on the bottom/left position) - position: 'bottom left', - - // automatically fit in the viewport even if it means repositioning from the position option - reposition: true, - - // the default output format for `.toString()` and `field` value - format: 'YYYY-MM-DD', - - // the toString function which gets passed a current date object and format - // and returns a string - toString: null, - - // used to create date object from current input string - parse: null, - - // the initial date to view when first opened - defaultDate: null, - - // make the `defaultDate` the initial selected value - setDefaultDate: false, - - // first day of week (0: Sunday, 1: Monday etc) - firstDay: 0, - - // the default flag for moment's strict date parsing - formatStrict: false, - - // the minimum/earliest date that can be selected - minDate: null, - // the maximum/latest date that can be selected - maxDate: null, - - // number of years either side, or array of upper/lower range - yearRange: 10, - - // show week numbers at head of row - showWeekNumber: false, - - // Week picker mode - pickWholeWeek: false, - - // used internally (don't config outside) - minYear: 0, - maxYear: 9999, - minMonth: undefined, - maxMonth: undefined, - - startRange: null, - endRange: null, - - isRTL: false, - - // Additional text to append to the year in the calendar title - yearSuffix: '', - - // Render the month after year in the calendar title - showMonthAfterYear: false, - - // Render days of the calendar grid that fall in the next or previous month - showDaysInNextAndPreviousMonths: false, - - // Allows user to select days that fall in the next or previous month - enableSelectionDaysInNextAndPreviousMonths: false, - - // how many months are visible - numberOfMonths: 1, - - // when numberOfMonths is used, this will help you to choose where the main calendar will be (default `left`, can be set to `right`) - // only used for the first display or when a selected date is not visible - mainCalendar: 'left', - - // Specify a DOM element to render the calendar in - container: undefined, - - // Blur field when date is selected - blurFieldOnSelect : true, - - // internationalization - i18n: { - previousMonth : 'Previous Month', - nextMonth : 'Next Month', - months : ['January','February','March','April','May','June','July','August','September','October','November','December'], - weekdays : ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'], - weekdaysShort : ['Sun','Mon','Tue','Wed','Thu','Fri','Sat'] - }, - - // Theme Classname - theme: null, - - // events array - events: [], - - // callback function - onSelect: null, - onOpen: null, - onClose: null, - onDraw: null, - - // Enable keyboard input - keyboardInput: true - }, - - - /** - * templating functions to abstract HTML rendering - */ - renderDayName = function(opts, day, abbr) - { - day += opts.firstDay; - while (day >= 7) { - day -= 7; - } - return abbr ? opts.i18n.weekdaysShort[day] : opts.i18n.weekdays[day]; - }, - - renderDay = function(opts) - { - var arr = []; - var ariaSelected = 'false'; - if (opts.isEmpty) { - if (opts.showDaysInNextAndPreviousMonths) { - arr.push('is-outside-current-month'); - - if(!opts.enableSelectionDaysInNextAndPreviousMonths) { - arr.push('is-selection-disabled'); - } - - } else { - return ''; - } - } - if (opts.isDisabled) { - arr.push('is-disabled'); - } - if (opts.isToday) { - arr.push('is-today'); - } - if (opts.isSelected) { - arr.push('is-selected'); - ariaSelected = 'true'; - } - if (opts.hasEvent) { - arr.push('has-event'); - } - if (opts.isInRange) { - arr.push('is-inrange'); - } - if (opts.isStartRange) { - arr.push('is-startrange'); - } - if (opts.isEndRange) { - arr.push('is-endrange'); - } - return '' + - '' + - ''; - }, - - renderWeek = function (d, m, y) { - // Lifted from http://javascript.about.com/library/blweekyear.htm, lightly modified. - var onejan = new Date(y, 0, 1), - weekNum = Math.ceil((((new Date(y, m, d) - onejan) / 86400000) + onejan.getDay()+1)/7); - return '' + weekNum + ''; - }, - - renderRow = function(days, isRTL, pickWholeWeek, isRowSelected) - { - return '' + (isRTL ? days.reverse() : days).join('') + ''; - }, - - renderBody = function(rows) - { - return '' + rows.join('') + ''; - }, - - renderHead = function(opts) - { - var i, arr = []; - if (opts.showWeekNumber) { - arr.push(''); - } - for (i = 0; i < 7; i++) { - arr.push('' + renderDayName(opts, i, true) + ''); - } - return '' + (opts.isRTL ? arr.reverse() : arr).join('') + ''; - }, - - renderTitle = function(instance, c, year, month, refYear, randId) - { - var i, j, arr, - opts = instance._o, - isMinYear = year === opts.minYear, - isMaxYear = year === opts.maxYear, - html = '
', - monthHtml, - yearHtml, - prev = true, - next = true; - - for (arr = [], i = 0; i < 12; i++) { - arr.push(''); - } - - monthHtml = '
' + opts.i18n.months[month] + '
'; - - if (isArray(opts.yearRange)) { - i = opts.yearRange[0]; - j = opts.yearRange[1] + 1; - } else { - i = year - opts.yearRange; - j = 1 + year + opts.yearRange; - } - - for (arr = []; i < j && i <= opts.maxYear; i++) { - if (i >= opts.minYear) { - arr.push(''); - } - } - yearHtml = '
' + year + opts.yearSuffix + '
'; - - if (opts.showMonthAfterYear) { - html += yearHtml + monthHtml; - } else { - html += monthHtml + yearHtml; - } - - if (isMinYear && (month === 0 || opts.minMonth >= month)) { - prev = false; - } - - if (isMaxYear && (month === 11 || opts.maxMonth <= month)) { - next = false; - } - - if (c === 0) { - html += ''; - } - if (c === (instance._o.numberOfMonths - 1) ) { - html += ''; - } - - return html += '
'; - }, - - renderTable = function(opts, data, randId) - { - return '' + renderHead(opts) + renderBody(data) + '
'; - }, - - - /** - * Pikaday constructor - */ - Pikaday = function(options) - { - var self = this, - opts = self.config(options); - - self._onMouseDown = function(e) - { - if (!self._v) { - return; - } - e = e || window.event; - var target = e.target || e.srcElement; - if (!target) { - return; - } - - if (!hasClass(target, 'is-disabled')) { - if (hasClass(target, 'pika-button') && !hasClass(target, 'is-empty') && !hasClass(target.parentNode, 'is-disabled')) { - self.setDate(new Date(target.getAttribute('data-pika-year'), target.getAttribute('data-pika-month'), target.getAttribute('data-pika-day'))); - if (opts.bound) { - sto(function() { - self.hide(); - if (opts.blurFieldOnSelect && opts.field) { - opts.field.blur(); - } - }, 100); - } - } - else if (hasClass(target, 'pika-prev')) { - self.prevMonth(); - } - else if (hasClass(target, 'pika-next')) { - self.nextMonth(); - } - } - if (!hasClass(target, 'pika-select')) { - // if this is touch event prevent mouse events emulation - if (e.preventDefault) { - e.preventDefault(); - } else { - e.returnValue = false; - return false; - } - } else { - self._c = true; - } - }; - - self._onChange = function(e) - { - e = e || window.event; - var target = e.target || e.srcElement; - if (!target) { - return; - } - if (hasClass(target, 'pika-select-month')) { - self.gotoMonth(target.value); - } - else if (hasClass(target, 'pika-select-year')) { - self.gotoYear(target.value); - } - }; - - self._onKeyChange = function(e) - { - e = e || window.event; - - if (self.isVisible()) { - - switch(e.keyCode){ - case 13: - case 27: - if (opts.field) { - opts.field.blur(); - } - break; - case 37: - e.preventDefault(); - self.adjustDate('subtract', 1); - break; - case 38: - self.adjustDate('subtract', 7); - break; - case 39: - self.adjustDate('add', 1); - break; - case 40: - self.adjustDate('add', 7); - break; - } - } - }; - - self._onInputChange = function(e) - { - var date; - - if (e.firedBy === self) { - return; - } - if (opts.parse) { - date = opts.parse(opts.field.value, opts.format); - } else if (hasMoment) { - date = moment(opts.field.value, opts.format, opts.formatStrict); - date = (date && date.isValid()) ? date.toDate() : null; - } - else { - date = new Date(Date.parse(opts.field.value)); - } - if (isDate(date)) { - self.setDate(date); - } - if (!self._v) { - self.show(); - } - }; - - self._onInputFocus = function() - { - self.show(); - }; - - self._onInputClick = function() - { - self.show(); - }; - - self._onInputBlur = function() - { - // IE allows pika div to gain focus; catch blur the input field - var pEl = document.activeElement; - do { - if (hasClass(pEl, 'pika-single')) { - return; - } - } - while ((pEl = pEl.parentNode)); - - if (!self._c) { - self._b = sto(function() { - self.hide(); - }, 50); - } - self._c = false; - }; - - self._onClick = function(e) - { - e = e || window.event; - var target = e.target || e.srcElement, - pEl = target; - if (!target) { - return; - } - if (!hasEventListeners && hasClass(target, 'pika-select')) { - if (!target.onchange) { - target.setAttribute('onchange', 'return;'); - addEvent(target, 'change', self._onChange); - } - } - do { - if (hasClass(pEl, 'pika-single') || pEl === opts.trigger) { - return; - } - } - while ((pEl = pEl.parentNode)); - if (self._v && target !== opts.trigger && pEl !== opts.trigger) { - self.hide(); - } - }; - - self.el = document.createElement('div'); - self.el.className = 'pika-single' + (opts.isRTL ? ' is-rtl' : '') + (opts.theme ? ' ' + opts.theme : ''); - - addEvent(self.el, 'mousedown', self._onMouseDown, true); - addEvent(self.el, 'touchend', self._onMouseDown, true); - addEvent(self.el, 'change', self._onChange); - - if (opts.keyboardInput) { - addEvent(document, 'keydown', self._onKeyChange); - } - - if (opts.field) { - if (opts.container) { - opts.container.appendChild(self.el); - } else if (opts.bound) { - document.body.appendChild(self.el); - } else { - opts.field.parentNode.insertBefore(self.el, opts.field.nextSibling); - } - addEvent(opts.field, 'change', self._onInputChange); - - if (!opts.defaultDate) { - if (hasMoment && opts.field.value) { - opts.defaultDate = moment(opts.field.value, opts.format).toDate(); - } else { - opts.defaultDate = new Date(Date.parse(opts.field.value)); - } - opts.setDefaultDate = true; - } - } - - var defDate = opts.defaultDate; - - if (isDate(defDate)) { - if (opts.setDefaultDate) { - self.setDate(defDate, true); - } else { - self.gotoDate(defDate); - } - } else { - self.gotoDate(new Date()); - } - - if (opts.bound) { - this.hide(); - self.el.className += ' is-bound'; - addEvent(opts.trigger, 'click', self._onInputClick); - addEvent(opts.trigger, 'focus', self._onInputFocus); - addEvent(opts.trigger, 'blur', self._onInputBlur); - } else { - this.show(); - } - }; - - - /** - * public Pikaday API - */ - Pikaday.prototype = { - - - /** - * configure functionality - */ - config: function(options) - { - if (!this._o) { - this._o = extend({}, defaults, true); - } - - var opts = extend(this._o, options, true); - - opts.isRTL = !!opts.isRTL; - - opts.field = (opts.field && opts.field.nodeName) ? opts.field : null; - - opts.theme = (typeof opts.theme) === 'string' && opts.theme ? opts.theme : null; - - opts.bound = !!(opts.bound !== undefined ? opts.field && opts.bound : opts.field); - - opts.trigger = (opts.trigger && opts.trigger.nodeName) ? opts.trigger : opts.field; - - opts.disableWeekends = !!opts.disableWeekends; - - opts.disableDayFn = (typeof opts.disableDayFn) === 'function' ? opts.disableDayFn : null; - - var nom = parseInt(opts.numberOfMonths, 10) || 1; - opts.numberOfMonths = nom > 4 ? 4 : nom; - - if (!isDate(opts.minDate)) { - opts.minDate = false; - } - if (!isDate(opts.maxDate)) { - opts.maxDate = false; - } - if ((opts.minDate && opts.maxDate) && opts.maxDate < opts.minDate) { - opts.maxDate = opts.minDate = false; - } - if (opts.minDate) { - this.setMinDate(opts.minDate); - } - if (opts.maxDate) { - this.setMaxDate(opts.maxDate); - } - - if (isArray(opts.yearRange)) { - var fallback = new Date().getFullYear() - 10; - opts.yearRange[0] = parseInt(opts.yearRange[0], 10) || fallback; - opts.yearRange[1] = parseInt(opts.yearRange[1], 10) || fallback; - } else { - opts.yearRange = Math.abs(parseInt(opts.yearRange, 10)) || defaults.yearRange; - if (opts.yearRange > 100) { - opts.yearRange = 100; - } - } - - return opts; - }, - - /** - * return a formatted string of the current selection (using Moment.js if available) - */ - toString: function(format) - { - format = format || this._o.format; - if (!isDate(this._d)) { - return ''; - } - if (this._o.toString) { - return this._o.toString(this._d, format); - } - if (hasMoment) { - return moment(this._d).format(format); - } - return this._d.toDateString(); - }, - - /** - * return a Moment.js object of the current selection (if available) - */ - getMoment: function() - { - return hasMoment ? moment(this._d) : null; - }, - - /** - * set the current selection from a Moment.js object (if available) - */ - setMoment: function(date, preventOnSelect) - { - if (hasMoment && moment.isMoment(date)) { - this.setDate(date.toDate(), preventOnSelect); - } - }, - - /** - * return a Date object of the current selection - */ - getDate: function() - { - return isDate(this._d) ? new Date(this._d.getTime()) : null; - }, - - /** - * set the current selection - */ - setDate: function(date, preventOnSelect) - { - if (!date) { - this._d = null; - - if (this._o.field) { - this._o.field.value = ''; - fireEvent(this._o.field, 'change', { firedBy: this }); - } - - return this.draw(); - } - if (typeof date === 'string') { - date = new Date(Date.parse(date)); - } - if (!isDate(date)) { - return; - } - - var min = this._o.minDate, - max = this._o.maxDate; - - if (isDate(min) && date < min) { - date = min; - } else if (isDate(max) && date > max) { - date = max; - } - - this._d = new Date(date.getTime()); - setToStartOfDay(this._d); - this.gotoDate(this._d); - - if (this._o.field) { - this._o.field.value = this.toString(); - fireEvent(this._o.field, 'change', { firedBy: this }); - } - if (!preventOnSelect && typeof this._o.onSelect === 'function') { - this._o.onSelect.call(this, this.getDate()); - } - }, - - /** - * change view to a specific date - */ - gotoDate: function(date) - { - var newCalendar = true; - - if (!isDate(date)) { - return; - } - - if (this.calendars) { - var firstVisibleDate = new Date(this.calendars[0].year, this.calendars[0].month, 1), - lastVisibleDate = new Date(this.calendars[this.calendars.length-1].year, this.calendars[this.calendars.length-1].month, 1), - visibleDate = date.getTime(); - // get the end of the month - lastVisibleDate.setMonth(lastVisibleDate.getMonth()+1); - lastVisibleDate.setDate(lastVisibleDate.getDate()-1); - newCalendar = (visibleDate < firstVisibleDate.getTime() || lastVisibleDate.getTime() < visibleDate); - } - - if (newCalendar) { - this.calendars = [{ - month: date.getMonth(), - year: date.getFullYear() - }]; - if (this._o.mainCalendar === 'right') { - this.calendars[0].month += 1 - this._o.numberOfMonths; - } - } - - this.adjustCalendars(); - }, - - adjustDate: function(sign, days) { - - var day = this.getDate() || new Date(); - var difference = parseInt(days)*24*60*60*1000; - - var newDay; - - if (sign === 'add') { - newDay = new Date(day.valueOf() + difference); - } else if (sign === 'subtract') { - newDay = new Date(day.valueOf() - difference); - } - - this.setDate(newDay); - }, - - adjustCalendars: function() { - this.calendars[0] = adjustCalendar(this.calendars[0]); - for (var c = 1; c < this._o.numberOfMonths; c++) { - this.calendars[c] = adjustCalendar({ - month: this.calendars[0].month + c, - year: this.calendars[0].year - }); - } - this.draw(); - }, - - gotoToday: function() - { - this.gotoDate(new Date()); - }, - - /** - * change view to a specific month (zero-index, e.g. 0: January) - */ - gotoMonth: function(month) - { - if (!isNaN(month)) { - this.calendars[0].month = parseInt(month, 10); - this.adjustCalendars(); - } - }, - - nextMonth: function() - { - this.calendars[0].month++; - this.adjustCalendars(); - }, - - prevMonth: function() - { - this.calendars[0].month--; - this.adjustCalendars(); - }, - - /** - * change view to a specific full year (e.g. "2012") - */ - gotoYear: function(year) - { - if (!isNaN(year)) { - this.calendars[0].year = parseInt(year, 10); - this.adjustCalendars(); - } - }, - - /** - * change the minDate - */ - setMinDate: function(value) - { - if(value instanceof Date) { - setToStartOfDay(value); - this._o.minDate = value; - this._o.minYear = value.getFullYear(); - this._o.minMonth = value.getMonth(); - } else { - this._o.minDate = defaults.minDate; - this._o.minYear = defaults.minYear; - this._o.minMonth = defaults.minMonth; - this._o.startRange = defaults.startRange; - } - - this.draw(); - }, - - /** - * change the maxDate - */ - setMaxDate: function(value) - { - if(value instanceof Date) { - setToStartOfDay(value); - this._o.maxDate = value; - this._o.maxYear = value.getFullYear(); - this._o.maxMonth = value.getMonth(); - } else { - this._o.maxDate = defaults.maxDate; - this._o.maxYear = defaults.maxYear; - this._o.maxMonth = defaults.maxMonth; - this._o.endRange = defaults.endRange; - } - - this.draw(); - }, - - setStartRange: function(value) - { - this._o.startRange = value; - }, - - setEndRange: function(value) - { - this._o.endRange = value; - }, - - /** - * refresh the HTML - */ - draw: function(force) - { - if (!this._v && !force) { - return; - } - var opts = this._o, - minYear = opts.minYear, - maxYear = opts.maxYear, - minMonth = opts.minMonth, - maxMonth = opts.maxMonth, - html = '', - randId; - - if (this._y <= minYear) { - this._y = minYear; - if (!isNaN(minMonth) && this._m < minMonth) { - this._m = minMonth; - } - } - if (this._y >= maxYear) { - this._y = maxYear; - if (!isNaN(maxMonth) && this._m > maxMonth) { - this._m = maxMonth; - } - } - - randId = 'pika-title-' + Math.random().toString(36).replace(/[^a-z]+/g, '').substr(0, 2); - - for (var c = 0; c < opts.numberOfMonths; c++) { - html += '
' + renderTitle(this, c, this.calendars[c].year, this.calendars[c].month, this.calendars[0].year, randId) + this.render(this.calendars[c].year, this.calendars[c].month, randId) + '
'; - } - - this.el.innerHTML = html; - - if (opts.bound) { - if(opts.field.type !== 'hidden') { - sto(function() { - opts.trigger.focus(); - }, 1); - } - } - - if (typeof this._o.onDraw === 'function') { - this._o.onDraw(this); - } - - if (opts.bound) { - // let the screen reader user know to use arrow keys - opts.field.setAttribute('aria-label', opts.ariaLabel); - } - }, - - adjustPosition: function() - { - var field, pEl, width, height, viewportWidth, viewportHeight, scrollTop, left, top, clientRect, leftAligned, bottomAligned; - - if (this._o.container) return; - - this.el.style.position = 'absolute'; - - field = this._o.trigger; - pEl = field; - width = this.el.offsetWidth; - height = this.el.offsetHeight; - viewportWidth = window.innerWidth || document.documentElement.clientWidth; - viewportHeight = window.innerHeight || document.documentElement.clientHeight; - scrollTop = window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop; - leftAligned = true; - bottomAligned = true; - - if (typeof field.getBoundingClientRect === 'function') { - clientRect = field.getBoundingClientRect(); - left = clientRect.left + window.pageXOffset; - top = clientRect.bottom + window.pageYOffset; - } else { - left = pEl.offsetLeft; - top = pEl.offsetTop + pEl.offsetHeight; - while((pEl = pEl.offsetParent)) { - left += pEl.offsetLeft; - top += pEl.offsetTop; - } - } - - // default position is bottom & left - if ((this._o.reposition && left + width > viewportWidth) || - ( - this._o.position.indexOf('right') > -1 && - left - width + field.offsetWidth > 0 - ) - ) { - left = left - width + field.offsetWidth; - leftAligned = false; - } - if ((this._o.reposition && top + height > viewportHeight + scrollTop) || - ( - this._o.position.indexOf('top') > -1 && - top - height - field.offsetHeight > 0 - ) - ) { - top = top - height - field.offsetHeight; - bottomAligned = false; - } - - this.el.style.left = left + 'px'; - this.el.style.top = top + 'px'; - - addClass(this.el, leftAligned ? 'left-aligned' : 'right-aligned'); - addClass(this.el, bottomAligned ? 'bottom-aligned' : 'top-aligned'); - removeClass(this.el, !leftAligned ? 'left-aligned' : 'right-aligned'); - removeClass(this.el, !bottomAligned ? 'bottom-aligned' : 'top-aligned'); - }, - - /** - * render HTML for a particular month - */ - render: function(year, month, randId) - { - var opts = this._o, - now = new Date(), - days = getDaysInMonth(year, month), - before = new Date(year, month, 1).getDay(), - data = [], - row = []; - setToStartOfDay(now); - if (opts.firstDay > 0) { - before -= opts.firstDay; - if (before < 0) { - before += 7; - } - } - var previousMonth = month === 0 ? 11 : month - 1, - nextMonth = month === 11 ? 0 : month + 1, - yearOfPreviousMonth = month === 0 ? year - 1 : year, - yearOfNextMonth = month === 11 ? year + 1 : year, - daysInPreviousMonth = getDaysInMonth(yearOfPreviousMonth, previousMonth); - var cells = days + before, - after = cells; - while(after > 7) { - after -= 7; - } - cells += 7 - after; - var isWeekSelected = false; - for (var i = 0, r = 0; i < cells; i++) - { - var day = new Date(year, month, 1 + (i - before)), - isSelected = isDate(this._d) ? compareDates(day, this._d) : false, - isToday = compareDates(day, now), - hasEvent = opts.events.indexOf(day.toDateString()) !== -1 ? true : false, - isEmpty = i < before || i >= (days + before), - dayNumber = 1 + (i - before), - monthNumber = month, - yearNumber = year, - isStartRange = opts.startRange && compareDates(opts.startRange, day), - isEndRange = opts.endRange && compareDates(opts.endRange, day), - isInRange = opts.startRange && opts.endRange && opts.startRange < day && day < opts.endRange, - isDisabled = (opts.minDate && day < opts.minDate) || - (opts.maxDate && day > opts.maxDate) || - (opts.disableWeekends && isWeekend(day)) || - (opts.disableDayFn && opts.disableDayFn(day)); - - if (isEmpty) { - if (i < before) { - dayNumber = daysInPreviousMonth + dayNumber; - monthNumber = previousMonth; - yearNumber = yearOfPreviousMonth; - } else { - dayNumber = dayNumber - days; - monthNumber = nextMonth; - yearNumber = yearOfNextMonth; - } - } - - var dayConfig = { - day: dayNumber, - month: monthNumber, - year: yearNumber, - hasEvent: hasEvent, - isSelected: isSelected, - isToday: isToday, - isDisabled: isDisabled, - isEmpty: isEmpty, - isStartRange: isStartRange, - isEndRange: isEndRange, - isInRange: isInRange, - showDaysInNextAndPreviousMonths: opts.showDaysInNextAndPreviousMonths, - enableSelectionDaysInNextAndPreviousMonths: opts.enableSelectionDaysInNextAndPreviousMonths - }; - - if (opts.pickWholeWeek && isSelected) { - isWeekSelected = true; - } - - row.push(renderDay(dayConfig)); - - if (++r === 7) { - if (opts.showWeekNumber) { - row.unshift(renderWeek(i - before, month, year)); - } - data.push(renderRow(row, opts.isRTL, opts.pickWholeWeek, isWeekSelected)); - row = []; - r = 0; - isWeekSelected = false; - } - } - return renderTable(opts, data, randId); - }, - - isVisible: function() - { - return this._v; - }, - - show: function() - { - if (!this.isVisible()) { - this._v = true; - this.draw(); - removeClass(this.el, 'is-hidden'); - if (this._o.bound) { - addEvent(document, 'click', this._onClick); - this.adjustPosition(); - } - if (typeof this._o.onOpen === 'function') { - this._o.onOpen.call(this); - } - } - }, - - hide: function() - { - var v = this._v; - if (v !== false) { - if (this._o.bound) { - removeEvent(document, 'click', this._onClick); - } - this.el.style.position = 'static'; // reset - this.el.style.left = 'auto'; - this.el.style.top = 'auto'; - addClass(this.el, 'is-hidden'); - this._v = false; - if (v !== undefined && typeof this._o.onClose === 'function') { - this._o.onClose.call(this); - } - } - }, - - /** - * GAME OVER - */ - destroy: function() - { - var opts = this._o; - - this.hide(); - removeEvent(this.el, 'mousedown', this._onMouseDown, true); - removeEvent(this.el, 'touchend', this._onMouseDown, true); - removeEvent(this.el, 'change', this._onChange); - if (opts.keyboardInput) { - removeEvent(document, 'keydown', this._onKeyChange); - } - if (opts.field) { - removeEvent(opts.field, 'change', this._onInputChange); - if (opts.bound) { - removeEvent(opts.trigger, 'click', this._onInputClick); - removeEvent(opts.trigger, 'focus', this._onInputFocus); - removeEvent(opts.trigger, 'blur', this._onInputBlur); - } - } - if (this.el.parentNode) { - this.el.parentNode.removeChild(this.el); - } - } - - }; - - return Pikaday; -})); - - -/***/ }), -/* 209 */ -/*!************************************!*\ - !*** external "window.Autolinker" ***! - \************************************/ -/*! no static exports found */ -/*! exports used: default */ -/***/ (function(module, exports) { - -module.exports = window.Autolinker; - -/***/ }), -/* 210 */ -/*!****************************!*\ - !*** ./dev/Common/Mime.js ***! - \****************************/ -/*! exports provided: Mime, default */ -/*! exports used: Mime */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Mime; }); -/* unused harmony export default */ -/* eslint key-spacing: 0 */ - -/* eslint quote-props: 0 */ -var Mime = { - 'eml': 'message/rfc822', - 'mime': 'message/rfc822', - 'txt': 'text/plain', - 'text': 'text/plain', - 'def': 'text/plain', - 'list': 'text/plain', - 'in': 'text/plain', - 'ini': 'text/plain', - 'log': 'text/plain', - 'sql': 'text/plain', - 'cfg': 'text/plain', - 'conf': 'text/plain', - 'asc': 'text/plain', - 'rtx': 'text/richtext', - 'vcard': 'text/vcard', - 'vcf': 'text/vcard', - 'htm': 'text/html', - 'html': 'text/html', - 'csv': 'text/csv', - 'ics': 'text/calendar', - 'ifb': 'text/calendar', - 'xml': 'text/xml', - 'json': 'application/json', - 'swf': 'application/x-shockwave-flash', - 'hlp': 'application/winhlp', - 'wgt': 'application/widget', - 'chm': 'application/vnd.ms-htmlhelp', - 'p10': 'application/pkcs10', - 'p7c': 'application/pkcs7-mime', - 'p7m': 'application/pkcs7-mime', - 'p7s': 'application/pkcs7-signature', - 'torrent': 'application/x-bittorrent', - // scripts - 'js': 'application/javascript', - 'pl': 'text/perl', - 'css': 'text/css', - 'asp': 'text/asp', - 'php': 'application/x-httpd-php', - 'php3': 'application/x-httpd-php', - 'php4': 'application/x-httpd-php', - 'php5': 'application/x-httpd-php', - 'phtml': 'application/x-httpd-php', - // images - 'png': 'image/png', - 'jpg': 'image/jpeg', - 'jpeg': 'image/jpeg', - 'jpe': 'image/jpeg', - 'jfif': 'image/jpeg', - 'gif': 'image/gif', - 'bmp': 'image/bmp', - 'cgm': 'image/cgm', - 'ief': 'image/ief', - 'ico': 'image/x-icon', - 'tif': 'image/tiff', - 'tiff': 'image/tiff', - 'svg': 'image/svg+xml', - 'svgz': 'image/svg+xml', - 'djv': 'image/vnd.djvu', - 'djvu': 'image/vnd.djvu', - 'webp': 'image/webp', - // archives - 'zip': 'application/zip', - '7z': 'application/x-7z-compressed', - 'rar': 'application/x-rar-compressed', - 'exe': 'application/x-msdownload', - 'dll': 'application/x-msdownload', - 'scr': 'application/x-msdownload', - 'com': 'application/x-msdownload', - 'bat': 'application/x-msdownload', - 'msi': 'application/x-msdownload', - 'cab': 'application/vnd.ms-cab-compressed', - 'gz': 'application/x-gzip', - 'tgz': 'application/x-gzip', - 'bz': 'application/x-bzip', - 'bz2': 'application/x-bzip2', - 'deb': 'application/x-debian-package', - // fonts - 'psf': 'application/x-font-linux-psf', - 'otf': 'application/x-font-otf', - 'pcf': 'application/x-font-pcf', - 'snf': 'application/x-font-snf', - 'ttf': 'application/x-font-ttf', - 'ttc': 'application/x-font-ttf', - // audio - 'mp3': 'audio/mpeg', - 'amr': 'audio/amr', - 'aac': 'audio/x-aac', - 'aif': 'audio/x-aiff', - 'aifc': 'audio/x-aiff', - 'aiff': 'audio/x-aiff', - 'wav': 'audio/x-wav', - 'wma': 'audio/x-ms-wma', - 'wax': 'audio/x-ms-wax', - 'midi': 'audio/midi', - 'mp4a': 'audio/mp4', - 'ogg': 'audio/ogg', - 'weba': 'audio/webm', - 'ra': 'audio/x-pn-realaudio', - 'ram': 'audio/x-pn-realaudio', - 'rmp': 'audio/x-pn-realaudio-plugin', - 'm3u': 'audio/x-mpegurl', - // video - 'flv': 'video/x-flv', - 'qt': 'video/quicktime', - 'mov': 'video/quicktime', - 'wmv': 'video/windows-media', - 'avi': 'video/x-msvideo', - 'mpg': 'video/mpeg', - 'mpeg': 'video/mpeg', - 'mpe': 'video/mpeg', - 'm1v': 'video/mpeg', - 'm2v': 'video/mpeg', - '3gp': 'video/3gpp', - '3g2': 'video/3gpp2', - 'h261': 'video/h261', - 'h263': 'video/h263', - 'h264': 'video/h264', - 'jpgv': 'video/jpgv', - 'mp4': 'video/mp4', - 'mp4v': 'video/mp4', - 'mpg4': 'video/mp4', - 'ogv': 'video/ogg', - 'webm': 'video/webm', - 'm4v': 'video/x-m4v', - 'asf': 'video/x-ms-asf', - 'asx': 'video/x-ms-asf', - 'wm': 'video/x-ms-wm', - 'wmx': 'video/x-ms-wmx', - 'wvx': 'video/x-ms-wvx', - 'movie': 'video/x-sgi-movie', - // adobe - 'pdf': 'application/pdf', - 'psd': 'image/vnd.adobe.photoshop', - 'ai': 'application/postscript', - 'eps': 'application/postscript', - 'ps': 'application/postscript', - // ms office - 'doc': 'application/msword', - 'dot': 'application/msword', - 'rtf': 'application/rtf', - 'xls': 'application/vnd.ms-excel', - 'ppt': 'application/vnd.ms-powerpoint', - 'docx': 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', - 'xlsx': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', - 'dotx': 'application/vnd.openxmlformats-officedocument.wordprocessingml.template', - 'pptx': 'application/vnd.openxmlformats-officedocument.presentationml.presentation', - // open office - 'odt': 'application/vnd.oasis.opendocument.text', - 'ods': 'application/vnd.oasis.opendocument.spreadsheet' -}; - - -/***/ }), -/* 211 */, -/* 212 */ -/*!*******************************************************!*\ - !*** ./node_modules/core-js/internals/object-keys.js ***! - \*******************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ 139); -var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ 110); - -// `Object.keys` method -// https://tc39.github.io/ecma262/#sec-object.keys -module.exports = Object.keys || function keys(O) { - return internalObjectKeys(O, enumBugKeys); -}; - - -/***/ }), -/* 213 */ -/*!**************************************************************!*\ - !*** ./node_modules/core-js/internals/add-to-unscopables.js ***! - \**************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ 32); -var create = __webpack_require__(/*! ../internals/object-create */ 148); -var hide = __webpack_require__(/*! ../internals/hide */ 45); - -var UNSCOPABLES = wellKnownSymbol('unscopables'); -var ArrayPrototype = Array.prototype; - -// Array.prototype[@@unscopables] -// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables -if (ArrayPrototype[UNSCOPABLES] == undefined) { - hide(ArrayPrototype, UNSCOPABLES, create(null)); -} - -// add a key to Array.prototype[@@unscopables] -module.exports = function (key) { - ArrayPrototype[UNSCOPABLES][key] = true; -}; - - -/***/ }), -/* 214 */ -/*!***********************************************************!*\ - !*** ./node_modules/core-js/internals/define-iterator.js ***! - \***********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var $ = __webpack_require__(/*! ../internals/export */ 43); -var createIteratorConstructor = __webpack_require__(/*! ../internals/create-iterator-constructor */ 223); -var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ 149); -var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ 215); -var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ 111); -var hide = __webpack_require__(/*! ../internals/hide */ 45); -var redefine = __webpack_require__(/*! ../internals/redefine */ 54); -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ 32); -var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ 83); -var Iterators = __webpack_require__(/*! ../internals/iterators */ 73); -var IteratorsCore = __webpack_require__(/*! ../internals/iterators-core */ 164); - -var IteratorPrototype = IteratorsCore.IteratorPrototype; -var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS; -var ITERATOR = wellKnownSymbol('iterator'); -var KEYS = 'keys'; -var VALUES = 'values'; -var ENTRIES = 'entries'; - -var returnThis = function () { return this; }; - -module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) { - createIteratorConstructor(IteratorConstructor, NAME, next); - - var getIterationMethod = function (KIND) { - if (KIND === DEFAULT && defaultIterator) return defaultIterator; - if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND]; - switch (KIND) { - case KEYS: return function keys() { return new IteratorConstructor(this, KIND); }; - case VALUES: return function values() { return new IteratorConstructor(this, KIND); }; - case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); }; - } return function () { return new IteratorConstructor(this); }; - }; - - var TO_STRING_TAG = NAME + ' Iterator'; - var INCORRECT_VALUES_NAME = false; - var IterablePrototype = Iterable.prototype; - var nativeIterator = IterablePrototype[ITERATOR] - || IterablePrototype['@@iterator'] - || DEFAULT && IterablePrototype[DEFAULT]; - var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT); - var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator; - var CurrentIteratorPrototype, methods, KEY; - - // fix native - if (anyNativeIterator) { - CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable())); - if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) { - if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) { - if (setPrototypeOf) { - setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype); - } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') { - hide(CurrentIteratorPrototype, ITERATOR, returnThis); - } - } - // Set @@toStringTag to native iterators - setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true); - if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis; - } - } - - // fix Array#{values, @@iterator}.name in V8 / FF - if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) { - INCORRECT_VALUES_NAME = true; - defaultIterator = function values() { return nativeIterator.call(this); }; - } - - // define iterator - if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) { - hide(IterablePrototype, ITERATOR, defaultIterator); - } - Iterators[NAME] = defaultIterator; - - // export additional methods - if (DEFAULT) { - methods = { - values: getIterationMethod(VALUES), - keys: IS_SET ? defaultIterator : getIterationMethod(KEYS), - entries: getIterationMethod(ENTRIES) - }; - if (FORCED) for (KEY in methods) { - if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) { - redefine(IterablePrototype, KEY, methods[KEY]); - } - } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods); - } - - return methods; -}; - - -/***/ }), -/* 215 */ -/*!*******************************************************************!*\ - !*** ./node_modules/core-js/internals/object-set-prototype-of.js ***! - \*******************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var anObject = __webpack_require__(/*! ../internals/an-object */ 36); -var aPossiblePrototype = __webpack_require__(/*! ../internals/a-possible-prototype */ 225); - -// `Object.setPrototypeOf` method -// https://tc39.github.io/ecma262/#sec-object.setprototypeof -// Works with __proto__ only. Old v8 can't work with null proto objects. -/* eslint-disable no-proto */ -module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () { - var CORRECT_SETTER = false; - var test = {}; - var setter; - try { - setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set; - setter.call(test, []); - CORRECT_SETTER = test instanceof Array; - } catch (error) { /* empty */ } - return function setPrototypeOf(O, proto) { - anObject(O); - aPossiblePrototype(proto); - if (CORRECT_SETTER) setter.call(O, proto); - else O.__proto__ = proto; - return O; - }; -}() : undefined); - - -/***/ }), -/* 216 */ -/*!***************************************************************************!*\ - !*** ./node_modules/core-js-pure/modules/web.dom-collections.iterator.js ***! - \***************************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -__webpack_require__(/*! ./es.array.iterator */ 217); -var DOMIterables = __webpack_require__(/*! ../internals/dom-iterables */ 299); -var global = __webpack_require__(/*! ../internals/global */ 77); -var hide = __webpack_require__(/*! ../internals/hide */ 85); -var Iterators = __webpack_require__(/*! ../internals/iterators */ 153); -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ 68); - -var TO_STRING_TAG = wellKnownSymbol('toStringTag'); - -for (var COLLECTION_NAME in DOMIterables) { - var Collection = global[COLLECTION_NAME]; - var CollectionPrototype = Collection && Collection.prototype; - if (CollectionPrototype && !CollectionPrototype[TO_STRING_TAG]) { - hide(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME); - } - Iterators[COLLECTION_NAME] = Iterators.Array; -} - - -/***/ }), -/* 217 */ -/*!****************************************************************!*\ - !*** ./node_modules/core-js-pure/modules/es.array.iterator.js ***! - \****************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ 95); -var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ 238); -var Iterators = __webpack_require__(/*! ../internals/iterators */ 153); -var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ 283); -var defineIterator = __webpack_require__(/*! ../internals/define-iterator */ 287); - -var ARRAY_ITERATOR = 'Array Iterator'; -var setInternalState = InternalStateModule.set; -var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR); - -// `Array.prototype.entries` method -// https://tc39.github.io/ecma262/#sec-array.prototype.entries -// `Array.prototype.keys` method -// https://tc39.github.io/ecma262/#sec-array.prototype.keys -// `Array.prototype.values` method -// https://tc39.github.io/ecma262/#sec-array.prototype.values -// `Array.prototype[@@iterator]` method -// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator -// `CreateArrayIterator` internal method -// https://tc39.github.io/ecma262/#sec-createarrayiterator -module.exports = defineIterator(Array, 'Array', function (iterated, kind) { - setInternalState(this, { - type: ARRAY_ITERATOR, - target: toIndexedObject(iterated), // target - index: 0, // next index - kind: kind // kind - }); -// `%ArrayIteratorPrototype%.next` method -// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next -}, function () { - var state = getInternalState(this); - var target = state.target; - var kind = state.kind; - var index = state.index++; - if (!target || index >= target.length) { - state.target = undefined; - return { value: undefined, done: true }; - } - if (kind == 'keys') return { value: index, done: false }; - if (kind == 'values') return { value: target[index], done: false }; - return { value: [index, target[index]], done: false }; -}, 'values'); - -// argumentsList[@@iterator] is %ArrayProto_values% -// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject -// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject -Iterators.Arguments = Iterators.Array; - -// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables -addToUnscopables('keys'); -addToUnscopables('values'); -addToUnscopables('entries'); - - -/***/ }), -/* 218 */ -/*!*******************************!*\ - !*** ./dev/View/Popup/Ask.js ***! - \*******************************/ -/*! exports provided: AskPopupView, default */ -/*! all exports used */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AskPopupView", function() { return AskPopupView; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return AskPopupView; }); -/* harmony import */ var _babel_runtime_corejs3_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/inheritsLoose */ 10); -/* harmony import */ var _babel_runtime_corejs3_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var ko__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ko */ 1); -/* harmony import */ var key__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! key */ 21); -/* harmony import */ var key__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(key__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var Common_Enums__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! Common/Enums */ 0); -/* harmony import */ var Common_Utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! Common/Utils */ 2); -/* harmony import */ var Common_Translator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! Common/Translator */ 9); -/* harmony import */ var Knoin_Knoin__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! Knoin/Knoin */ 7); -/* harmony import */ var Knoin_AbstractViewNext__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! Knoin/AbstractViewNext */ 27); - - -var _dec, _class; - - - - - - - - -var AskPopupView = (_dec = Object(Knoin_Knoin__WEBPACK_IMPORTED_MODULE_6__["popup"])({ - name: 'View/Popup/Ask', - templateID: 'PopupsAsk' -}), _dec(_class = -/*#__PURE__*/ -function (_AbstractViewNext) { - _babel_runtime_corejs3_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_0___default()(AskPopupView, _AbstractViewNext); - - function AskPopupView() { - var _this; - - _this = _AbstractViewNext.call(this) || this; - _this.askDesc = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].observable(''); - _this.yesButton = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].observable(''); - _this.noButton = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].observable(''); - _this.yesFocus = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].observable(false); - _this.noFocus = ko__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].observable(false); - _this.fYesAction = null; - _this.fNoAction = null; - _this.bFocusYesOnShow = true; - _this.bDisabeCloseOnEsc = true; - _this.sDefaultKeyScope = Common_Enums__WEBPACK_IMPORTED_MODULE_3__["KeyState"].PopupAsk; - return _this; - } - - var _proto = AskPopupView.prototype; - - _proto.clearPopup = function clearPopup() { - this.askDesc(''); - this.yesButton(Object(Common_Translator__WEBPACK_IMPORTED_MODULE_5__["i18n"])('POPUPS_ASK/BUTTON_YES')); - this.noButton(Object(Common_Translator__WEBPACK_IMPORTED_MODULE_5__["i18n"])('POPUPS_ASK/BUTTON_NO')); - this.yesFocus(false); - this.noFocus(false); - this.fYesAction = null; - this.fNoAction = null; - }; - - _proto.yesClick = function yesClick() { - this.cancelCommand(); - - if (Object(Common_Utils__WEBPACK_IMPORTED_MODULE_4__["isFunc"])(this.fYesAction)) { - this.fYesAction.call(null); - } - }; - - _proto.noClick = function noClick() { - this.cancelCommand(); - - if (Object(Common_Utils__WEBPACK_IMPORTED_MODULE_4__["isFunc"])(this.fNoAction)) { - this.fNoAction.call(null); - } - } - /** - * @param {string} sAskDesc - * @param {Function=} fYesFunc - * @param {Function=} fNoFunc - * @param {string=} sYesButton - * @param {string=} sNoButton - * @param {boolean=} bFocusYesOnShow = true - * @returns {void} - */ - ; - - _proto.onShow = function onShow(askDesc, fYesFunc, fNoFunc, yesButton, noButton, isFocusYesOnShow) { - if (fYesFunc === void 0) { - fYesFunc = null; - } - - if (fNoFunc === void 0) { - fNoFunc = null; - } - - if (yesButton === void 0) { - yesButton = ''; - } - - if (noButton === void 0) { - noButton = ''; - } - - if (isFocusYesOnShow === void 0) { - isFocusYesOnShow = true; - } - - this.clearPopup(); - this.fYesAction = fYesFunc || null; - this.fNoAction = fNoFunc || null; - this.askDesc(askDesc || ''); - - if (yesButton) { - this.yesButton(yesButton); - } - - if (noButton) { - this.noButton(noButton); - } - - this.bFocusYesOnShow = !!isFocusYesOnShow; - }; - - _proto.onShowWithDelay = function onShowWithDelay() { - if (this.bFocusYesOnShow) { - this.yesFocus(true); - } - }; - - _proto.onBuild = function onBuild() { - var _this2 = this; - - key__WEBPACK_IMPORTED_MODULE_2___default()('tab, shift+tab, right, left', Common_Enums__WEBPACK_IMPORTED_MODULE_3__["KeyState"].PopupAsk, function () { - if (_this2.yesFocus()) { - _this2.noFocus(true); - } else { - _this2.yesFocus(true); - } - - return false; - }); - key__WEBPACK_IMPORTED_MODULE_2___default()('esc', Common_Enums__WEBPACK_IMPORTED_MODULE_3__["KeyState"].PopupAsk, function () { - _this2.noClick(); - - return false; - }); - }; - - return AskPopupView; -}(Knoin_AbstractViewNext__WEBPACK_IMPORTED_MODULE_7__[/* AbstractViewNext */ "a"])) || _class); - - -/***/ }), -/* 219 */, -/* 220 */, -/* 221 */ -/*!********************************************************************!*\ - !*** ./node_modules/core-js/internals/object-define-properties.js ***! - \********************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ 50); -var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ 59); -var anObject = __webpack_require__(/*! ../internals/an-object */ 36); -var objectKeys = __webpack_require__(/*! ../internals/object-keys */ 212); - -// `Object.defineProperties` method -// https://tc39.github.io/ecma262/#sec-object.defineproperties -module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) { - anObject(O); - var keys = objectKeys(Properties); - var length = keys.length; - var index = 0; - var key; - while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]); - return O; -}; - - -/***/ }), -/* 222 */ -/*!*****************************************************!*\ - !*** ./node_modules/core-js/internals/is-regexp.js ***! - \*****************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var isObject = __webpack_require__(/*! ../internals/is-object */ 44); -var classof = __webpack_require__(/*! ../internals/classof-raw */ 49); -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ 32); - -var MATCH = wellKnownSymbol('match'); - -// `IsRegExp` abstract operation -// https://tc39.github.io/ecma262/#sec-isregexp -module.exports = function (it) { - var isRegExp; - return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp'); -}; - - -/***/ }), -/* 223 */ -/*!***********************************************************************!*\ - !*** ./node_modules/core-js/internals/create-iterator-constructor.js ***! - \***********************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var IteratorPrototype = __webpack_require__(/*! ../internals/iterators-core */ 164).IteratorPrototype; -var create = __webpack_require__(/*! ../internals/object-create */ 148); -var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ 91); -var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ 111); -var Iterators = __webpack_require__(/*! ../internals/iterators */ 73); - -var returnThis = function () { return this; }; - -module.exports = function (IteratorConstructor, NAME, next) { - var TO_STRING_TAG = NAME + ' Iterator'; - IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) }); - setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true); - Iterators[TO_STRING_TAG] = returnThis; - return IteratorConstructor; -}; - - -/***/ }), -/* 224 */ -/*!********************************************************************!*\ - !*** ./node_modules/core-js/internals/correct-prototype-getter.js ***! - \********************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var fails = __webpack_require__(/*! ../internals/fails */ 39); - -module.exports = !fails(function () { - function F() { /* empty */ } - F.prototype.constructor = null; - return Object.getPrototypeOf(new F()) !== F.prototype; -}); - - -/***/ }), -/* 225 */ -/*!****************************************************************!*\ - !*** ./node_modules/core-js/internals/a-possible-prototype.js ***! - \****************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var isObject = __webpack_require__(/*! ../internals/is-object */ 44); - -module.exports = function (it) { - if (!isObject(it) && it !== null) { - throw TypeError("Can't set " + String(it) + ' as a prototype'); - } return it; -}; - - -/***/ }), -/* 226 */ -/*!**********************************************************************!*\ - !*** ./node_modules/core-js/modules/web.dom-collections.iterator.js ***! - \**********************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ 28); -var DOMIterables = __webpack_require__(/*! ../internals/dom-iterables */ 227); -var ArrayIteratorMethods = __webpack_require__(/*! ../modules/es.array.iterator */ 183); -var hide = __webpack_require__(/*! ../internals/hide */ 45); -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ 32); - -var ITERATOR = wellKnownSymbol('iterator'); -var TO_STRING_TAG = wellKnownSymbol('toStringTag'); -var ArrayValues = ArrayIteratorMethods.values; - -for (var COLLECTION_NAME in DOMIterables) { - var Collection = global[COLLECTION_NAME]; - var CollectionPrototype = Collection && Collection.prototype; - if (CollectionPrototype) { - // some Chrome versions have non-configurable methods on DOMTokenList - if (CollectionPrototype[ITERATOR] !== ArrayValues) try { - hide(CollectionPrototype, ITERATOR, ArrayValues); - } catch (error) { - CollectionPrototype[ITERATOR] = ArrayValues; - } - if (!CollectionPrototype[TO_STRING_TAG]) hide(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME); - if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) { - // some Chrome versions have non-configurable methods on DOMTokenList - if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try { - hide(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]); - } catch (error) { - CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME]; - } - } - } -} - - -/***/ }), -/* 227 */ -/*!*********************************************************!*\ - !*** ./node_modules/core-js/internals/dom-iterables.js ***! - \*********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -// iterable DOM collections -// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods -module.exports = { - CSSRuleList: 0, - CSSStyleDeclaration: 0, - CSSValueList: 0, - ClientRectList: 0, - DOMRectList: 0, - DOMStringList: 0, - DOMTokenList: 1, - DataTransferItemList: 0, - FileList: 0, - HTMLAllCollection: 0, - HTMLCollection: 0, - HTMLFormElement: 0, - HTMLSelectElement: 0, - MediaList: 0, - MimeTypeArray: 0, - NamedNodeMap: 0, - NodeList: 1, - PaintRequestList: 0, - Plugin: 0, - PluginArray: 0, - SVGLengthList: 0, - SVGNumberList: 0, - SVGPathSegList: 0, - SVGPointList: 0, - SVGStringList: 0, - SVGTransformList: 0, - SourceBufferList: 0, - StyleSheetList: 0, - TextTrackCueList: 0, - TextTrackList: 0, - TouchList: 0 -}; - - -/***/ }), -/* 228 */, -/* 229 */ -/*!*****************************************************!*\ - !*** ./node_modules/core-js/internals/parse-int.js ***! - \*****************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ 28); -var trim = __webpack_require__(/*! ../internals/string-trim */ 230).trim; -var whitespaces = __webpack_require__(/*! ../internals/whitespaces */ 167); - -var nativeParseInt = global.parseInt; -var hex = /^[+-]?0[Xx]/; -var FORCED = nativeParseInt(whitespaces + '08') !== 8 || nativeParseInt(whitespaces + '0x16') !== 22; - -// `parseInt` method -// https://tc39.github.io/ecma262/#sec-parseint-string-radix -module.exports = FORCED ? function parseInt(string, radix) { - var S = trim(String(string)); - return nativeParseInt(S, (radix >>> 0) || (hex.test(S) ? 16 : 10)); -} : nativeParseInt; - - -/***/ }), -/* 230 */ -/*!*******************************************************!*\ - !*** ./node_modules/core-js/internals/string-trim.js ***! - \*******************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ 51); -var whitespaces = __webpack_require__(/*! ../internals/whitespaces */ 167); - -var whitespace = '[' + whitespaces + ']'; -var ltrim = RegExp('^' + whitespace + whitespace + '*'); -var rtrim = RegExp(whitespace + whitespace + '*$'); - -// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation -var createMethod = function (TYPE) { - return function ($this) { - var string = String(requireObjectCoercible($this)); - if (TYPE & 1) string = string.replace(ltrim, ''); - if (TYPE & 2) string = string.replace(rtrim, ''); - return string; - }; -}; - -module.exports = { - // `String.prototype.{ trimLeft, trimStart }` methods - // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart - start: createMethod(1), - // `String.prototype.{ trimRight, trimEnd }` methods - // https://tc39.github.io/ecma262/#sec-string.prototype.trimend - end: createMethod(2), - // `String.prototype.trim` method - // https://tc39.github.io/ecma262/#sec-string.prototype.trim - trim: createMethod(3) -}; - - -/***/ }), -/* 231 */ -/*!*******************************************************!*\ - !*** ./node_modules/core-js/internals/create-html.js ***! - \*******************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ 51); - -var quot = /"/g; - -// B.2.3.2.1 CreateHTML(string, tag, attribute, value) -// https://tc39.github.io/ecma262/#sec-createhtml -module.exports = function (string, tag, attribute, value) { - var S = String(requireObjectCoercible(string)); - var p1 = '<' + tag; - if (attribute !== '') p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"'; - return p1 + '>' + S + ''; -}; - - -/***/ }), -/* 232 */ -/*!*********************************************************************!*\ - !*** ./node_modules/core-js/internals/forced-string-html-method.js ***! - \*********************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var fails = __webpack_require__(/*! ../internals/fails */ 39); - -// check the existence of a method, lowercase -// of a tag and escaping quotes in arguments -module.exports = function (METHOD_NAME) { - return fails(function () { - var test = ''[METHOD_NAME]('"'); - return test !== test.toLowerCase() || test.split('"').length > 3; - }); -}; - - -/***/ }), -/* 233 */ -/*!*********************************************************!*\ - !*** ./node_modules/core-js-pure/es/instance/reduce.js ***! - \*********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var reduce = __webpack_require__(/*! ../array/virtual/reduce */ 277); - -var ArrayPrototype = Array.prototype; - -module.exports = function (it) { - var own = it.reduce; - return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.reduce) ? reduce : own; -}; - - -/***/ }), -/* 234 */ -/*!***********************************************************************************!*\ - !*** ./node_modules/core-js-pure/internals/object-get-own-property-descriptor.js ***! - \***********************************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ 84); -var propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ 279); -var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ 151); -var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ 95); -var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ 197); -var has = __webpack_require__(/*! ../internals/has */ 96); -var IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ 235); - -var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; - -// `Object.getOwnPropertyDescriptor` method -// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor -exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { - O = toIndexedObject(O); - P = toPrimitive(P, true); - if (IE8_DOM_DEFINE) try { - return nativeGetOwnPropertyDescriptor(O, P); - } catch (error) { /* empty */ } - if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]); -}; - - -/***/ }), -/* 235 */ -/*!***************************************************************!*\ - !*** ./node_modules/core-js-pure/internals/ie8-dom-define.js ***! - \***************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ 84); -var fails = __webpack_require__(/*! ../internals/fails */ 57); -var createElement = __webpack_require__(/*! ../internals/document-create-element */ 236); - -// Thank's IE8 for his funny defineProperty -module.exports = !DESCRIPTORS && !fails(function () { - return Object.defineProperty(createElement('div'), 'a', { - get: function () { return 7; } - }).a != 7; -}); - - -/***/ }), -/* 236 */ -/*!************************************************************************!*\ - !*** ./node_modules/core-js-pure/internals/document-create-element.js ***! - \************************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ 77); -var isObject = __webpack_require__(/*! ../internals/is-object */ 78); - -var document = global.document; -// typeof document.createElement is 'object' in old IE -var EXISTS = isObject(document) && isObject(document.createElement); - -module.exports = function (it) { - return EXISTS ? document.createElement(it) : {}; -}; - - -/***/ }), -/* 237 */ -/*!*************************************************************!*\ - !*** ./node_modules/core-js-pure/internals/bind-context.js ***! - \*************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var aFunction = __webpack_require__(/*! ../internals/a-function */ 170); - -// optional / simple context binding -module.exports = function (fn, that, length) { - aFunction(fn); - if (that === undefined) return fn; - switch (length) { - case 0: return function () { - return fn.call(that); - }; - case 1: return function (a) { - return fn.call(that, a); - }; - case 2: return function (a, b) { - return fn.call(that, a, b); - }; - case 3: return function (a, b, c) { - return fn.call(that, a, b, c); - }; - } - return function (/* ...args */) { - return fn.apply(that, arguments); - }; -}; - - -/***/ }), -/* 238 */ -/*!*******************************************************************!*\ - !*** ./node_modules/core-js-pure/internals/add-to-unscopables.js ***! - \*******************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -module.exports = function () { /* empty */ }; - - -/***/ }), -/* 239 */ -/*!****************************************************!*\ - !*** ./node_modules/core-js-pure/internals/uid.js ***! - \****************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -var id = 0; -var postfix = Math.random(); - -module.exports = function (key) { - return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36); -}; - - -/***/ }), -/* 240 */ -/*!***************************************************************!*\ - !*** ./node_modules/core-js-pure/internals/iterators-core.js ***! - \***************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ 241); -var hide = __webpack_require__(/*! ../internals/hide */ 85); -var has = __webpack_require__(/*! ../internals/has */ 96); -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ 68); -var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ 200); - -var ITERATOR = wellKnownSymbol('iterator'); -var BUGGY_SAFARI_ITERATORS = false; - -var returnThis = function () { return this; }; - -// `%IteratorPrototype%` object -// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object -var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; - -if ([].keys) { - arrayIterator = [].keys(); - // Safari 8 has buggy iterators w/o `next` - if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true; - else { - PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator)); - if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype; - } -} - -if (IteratorPrototype == undefined) IteratorPrototype = {}; - -// 25.1.2.1.1 %IteratorPrototype%[@@iterator]() -if (!IS_PURE && !has(IteratorPrototype, ITERATOR)) hide(IteratorPrototype, ITERATOR, returnThis); - -module.exports = { - IteratorPrototype: IteratorPrototype, - BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS -}; - - -/***/ }), -/* 241 */ -/*!************************************************************************!*\ - !*** ./node_modules/core-js-pure/internals/object-get-prototype-of.js ***! - \************************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var has = __webpack_require__(/*! ../internals/has */ 96); -var toObject = __webpack_require__(/*! ../internals/to-object */ 122); -var sharedKey = __webpack_require__(/*! ../internals/shared-key */ 201); -var CORRECT_PROTOTYPE_GETTER = __webpack_require__(/*! ../internals/correct-prototype-getter */ 289); - -var IE_PROTO = sharedKey('IE_PROTO'); -var ObjectPrototype = Object.prototype; - -// `Object.getPrototypeOf` method -// https://tc39.github.io/ecma262/#sec-object.getprototypeof -module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) { - O = toObject(O); - if (has(O, IE_PROTO)) return O[IE_PROTO]; - if (typeof O.constructor == 'function' && O instanceof O.constructor) { - return O.constructor.prototype; - } return O instanceof Object ? ObjectPrototype : null; -}; - - -/***/ }), -/* 242 */ -/*!**************************************************************!*\ - !*** ./node_modules/core-js-pure/internals/object-create.js ***! - \**************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var anObject = __webpack_require__(/*! ../internals/an-object */ 152); -var defineProperties = __webpack_require__(/*! ../internals/object-define-properties */ 291); -var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ 246); -var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ 202); -var html = __webpack_require__(/*! ../internals/html */ 293); -var documentCreateElement = __webpack_require__(/*! ../internals/document-create-element */ 236); -var sharedKey = __webpack_require__(/*! ../internals/shared-key */ 201); -var IE_PROTO = sharedKey('IE_PROTO'); - -var PROTOTYPE = 'prototype'; -var Empty = function () { /* empty */ }; - -// Create object with fake `null` prototype: use iframe Object with cleared prototype -var createDict = function () { - // Thrash, waste and sodomy: IE GC bug - var iframe = documentCreateElement('iframe'); - var length = enumBugKeys.length; - var lt = '<'; - var script = 'script'; - var gt = '>'; - var js = 'java' + script + ':'; - var iframeDocument; - iframe.style.display = 'none'; - html.appendChild(iframe); - iframe.src = String(js); - iframeDocument = iframe.contentWindow.document; - iframeDocument.open(); - iframeDocument.write(lt + script + gt + 'document.F=Object' + lt + '/' + script + gt); - iframeDocument.close(); - createDict = iframeDocument.F; - while (length--) delete createDict[PROTOTYPE][enumBugKeys[length]]; - return createDict(); -}; - -// `Object.create` method -// https://tc39.github.io/ecma262/#sec-object.create -module.exports = Object.create || function create(O, Properties) { - var result; - if (O !== null) { - Empty[PROTOTYPE] = anObject(O); - result = new Empty(); - Empty[PROTOTYPE] = null; - // add "__proto__" for Object.getPrototypeOf polyfill - result[IE_PROTO] = O; - } else result = createDict(); - return Properties === undefined ? result : defineProperties(result, Properties); -}; - -hiddenKeys[IE_PROTO] = true; - - -/***/ }), -/* 243 */ -/*!************************************************************!*\ - !*** ./node_modules/core-js-pure/internals/object-keys.js ***! - \************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ 292); -var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ 246); - -// `Object.keys` method -// https://tc39.github.io/ecma262/#sec-object.keys -module.exports = Object.keys || function keys(O) { - return internalObjectKeys(O, enumBugKeys); -}; - - -/***/ }), -/* 244 */ -/*!***************************************************************!*\ - !*** ./node_modules/core-js-pure/internals/array-includes.js ***! - \***************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ 95); -var toLength = __webpack_require__(/*! ../internals/to-length */ 113); -var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ 245); - -// `Array.prototype.{ indexOf, includes }` methods implementation -var createMethod = function (IS_INCLUDES) { - return function ($this, el, fromIndex) { - var O = toIndexedObject($this); - var length = toLength(O.length); - var index = toAbsoluteIndex(fromIndex, length); - var value; - // Array#includes uses SameValueZero equality algorithm - // eslint-disable-next-line no-self-compare - if (IS_INCLUDES && el != el) while (length > index) { - value = O[index++]; - // eslint-disable-next-line no-self-compare - if (value != value) return true; - // Array#indexOf ignores holes, Array#includes - not - } else for (;length > index; index++) { - if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; - } return !IS_INCLUDES && -1; - }; -}; - -module.exports = { - // `Array.prototype.includes` method - // https://tc39.github.io/ecma262/#sec-array.prototype.includes - includes: createMethod(true), - // `Array.prototype.indexOf` method - // https://tc39.github.io/ecma262/#sec-array.prototype.indexof - indexOf: createMethod(false) -}; - - -/***/ }), -/* 245 */ -/*!******************************************************************!*\ - !*** ./node_modules/core-js-pure/internals/to-absolute-index.js ***! - \******************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var toInteger = __webpack_require__(/*! ../internals/to-integer */ 198); - -var max = Math.max; -var min = Math.min; - -// Helper for a popular repeating case of the spec: -// Let integer be ? ToInteger(index). -// If integer < 0, let result be max((length + integer), 0); else let result be min(length, length). -module.exports = function (index, length) { - var integer = toInteger(index); - return integer < 0 ? max(integer + length, 0) : min(integer, length); -}; - - -/***/ }), -/* 246 */ -/*!**************************************************************!*\ - !*** ./node_modules/core-js-pure/internals/enum-bug-keys.js ***! - \**************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -// IE8- don't enum bug keys -module.exports = [ - 'constructor', - 'hasOwnProperty', - 'isPrototypeOf', - 'propertyIsEnumerable', - 'toLocaleString', - 'toString', - 'valueOf' -]; - - -/***/ }), -/* 247 */ -/*!******************************************************************!*\ - !*** ./node_modules/core-js-pure/internals/set-to-string-tag.js ***! - \******************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ 134).f; -var hide = __webpack_require__(/*! ../internals/hide */ 85); -var has = __webpack_require__(/*! ../internals/has */ 96); -var toString = __webpack_require__(/*! ../internals/object-to-string */ 295); -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ 68); - -var TO_STRING_TAG = wellKnownSymbol('toStringTag'); -var METHOD_REQUIRED = toString !== ({}).toString; - -module.exports = function (it, TAG, STATIC, SET_METHOD) { - if (it) { - var target = STATIC ? it : it.prototype; - if (!has(target, TO_STRING_TAG)) { - defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG }); - } - if (SET_METHOD && METHOD_REQUIRED) hide(target, 'toString', toString); - } -}; - - -/***/ }), -/* 248 */ -/*!****************************************************************!*\ - !*** ./node_modules/core-js-pure/internals/create-property.js ***! - \****************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ 197); -var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ 134); -var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ 151); - -module.exports = function (object, key, value) { - var propertyKey = toPrimitive(key); - if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value)); - else object[propertyKey] = value; -}; - - -/***/ }), -/* 249 */ -/*!*********************************************************************!*\ - !*** ./node_modules/core-js-pure/internals/array-species-create.js ***! - \*********************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var isObject = __webpack_require__(/*! ../internals/is-object */ 78); -var isArray = __webpack_require__(/*! ../internals/is-array */ 154); -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ 68); - -var SPECIES = wellKnownSymbol('species'); - -// `ArraySpeciesCreate` abstract operation -// https://tc39.github.io/ecma262/#sec-arrayspeciescreate -module.exports = function (originalArray, length) { - var C; - if (isArray(originalArray)) { - C = originalArray.constructor; - // cross-realm fallback - if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined; - else if (isObject(C)) { - C = C[SPECIES]; - if (C === null) C = undefined; - } - } return new (C === undefined ? Array : C)(length === 0 ? 0 : length); -}; - - -/***/ }), -/* 250 */ -/*!************************************************************!*\ - !*** ./node_modules/core-js-pure/internals/whitespaces.js ***! - \************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -// a string of all valid unicode whitespaces -// eslint-disable-next-line max-len -module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; - - -/***/ }), -/* 251 */ -/*!*******************************************************************************!*\ - !*** ./node_modules/@babel/runtime-corejs3/core-js/object/define-property.js ***! - \*******************************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -module.exports = __webpack_require__(/*! core-js-pure/features/object/define-property */ 334); - -/***/ }), -/* 252 */ -/*!***************************************************************!*\ - !*** ./node_modules/core-js-pure/stable/instance/for-each.js ***! - \***************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -__webpack_require__(/*! ../../modules/web.dom-collections.iterator */ 216); -var forEach = __webpack_require__(/*! ../array/virtual/for-each */ 341); -var classof = __webpack_require__(/*! ../../internals/classof */ 171); -var ArrayPrototype = Array.prototype; - -var DOMIterables = { - DOMTokenList: true, - NodeList: true -}; - -module.exports = function (it) { - var own = it.forEach; - return it === ArrayPrototype || (it instanceof Array && own === ArrayPrototype.forEach) - // eslint-disable-next-line no-prototype-builtins - || DOMIterables.hasOwnProperty(classof(it)) ? forEach : own; -}; - - -/***/ }), -/* 253 */ -/*!*************************************!*\ - !*** ./dev/View/Popup/Languages.js ***! - \*************************************/ -/*! exports provided: LanguagesPopupView, default */ -/*! all exports used */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LanguagesPopupView", function() { return LanguagesPopupView; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return LanguagesPopupView; }); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_map__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/map */ 18); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_map__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_map__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _babel_runtime_corejs3_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/inheritsLoose */ 10); -/* harmony import */ var _babel_runtime_corejs3_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! _ */ 3); -/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(___WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var ko__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ko */ 1); -/* harmony import */ var Common_Utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! Common/Utils */ 2); -/* harmony import */ var Knoin_Knoin__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! Knoin/Knoin */ 7); -/* harmony import */ var Knoin_AbstractViewNext__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! Knoin/AbstractViewNext */ 27); - - - -var _dec, _class; - - - - // import {view, ViewType} from 'Knoin/Knoin'; - - - -var LanguagesPopupView = (_dec = Object(Knoin_Knoin__WEBPACK_IMPORTED_MODULE_5__["popup"])({ - name: 'View/Popup/Languages', - templateID: 'PopupsLanguages' -}), _dec(_class = -/*#__PURE__*/ -function (_AbstractViewNext) { - _babel_runtime_corejs3_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default()(LanguagesPopupView, _AbstractViewNext); - - function LanguagesPopupView() { - var _this; - - _this = _AbstractViewNext.call(this) || this; - _this.fLang = null; - _this.userLanguage = ko__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"].observable(''); - _this.langs = ko__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"].observableArray([]); - _this.languages = ko__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"].computed(function () { - var userLanguage = _this.userLanguage(); - - return _babel_runtime_corejs3_core_js_stable_instance_map__WEBPACK_IMPORTED_MODULE_0___default()(___WEBPACK_IMPORTED_MODULE_2___default.a).call(___WEBPACK_IMPORTED_MODULE_2___default.a, _this.langs(), function (language) { - return { - key: language, - user: language === userLanguage, - selected: ko__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"].observable(false), - fullName: Object(Common_Utils__WEBPACK_IMPORTED_MODULE_4__["convertLangName"])(language) - }; - }); - }); - - _this.langs.subscribe(function () { - _this.setLanguageSelection(); - }); - - return _this; - } - - var _proto = LanguagesPopupView.prototype; - - _proto.languageTooltipName = function languageTooltipName(language) { - var result = Object(Common_Utils__WEBPACK_IMPORTED_MODULE_4__["convertLangName"])(language, true); - return Object(Common_Utils__WEBPACK_IMPORTED_MODULE_4__["convertLangName"])(language, false) === result ? '' : result; - }; - - _proto.setLanguageSelection = function setLanguageSelection() { - var currentLang = this.fLang ? ko__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"].unwrap(this.fLang) : ''; - - ___WEBPACK_IMPORTED_MODULE_2___default.a.each(this.languages(), function (item) { - item.selected(item.key === currentLang); - }); - }; - - _proto.onBeforeShow = function onBeforeShow() { - this.fLang = null; - this.userLanguage(''); - this.langs([]); - }; - - _proto.onShow = function onShow(fLanguage, langs, userLanguage) { - this.fLang = fLanguage; - this.userLanguage(userLanguage || ''); - this.langs(langs); - }; - - _proto.changeLanguage = function changeLanguage(lang) { - if (this.fLang) { - this.fLang(lang); - } - - this.cancelCommand(); - }; - - return LanguagesPopupView; -}(Knoin_AbstractViewNext__WEBPACK_IMPORTED_MODULE_6__[/* AbstractViewNext */ "a"])) || _class); - - -/***/ }), -/* 254 */ -/*!**************************!*\ - !*** ./dev/bootstrap.js ***! - \**************************/ -/*! exports provided: default */ -/*! exports used: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var core_js_modules_web_timers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/web.timers */ 67); -/* harmony import */ var core_js_modules_web_timers__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_timers__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var window__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! window */ 4); -/* harmony import */ var window__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(window__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var Common_Utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! Common/Utils */ 2); -/* harmony import */ var Common_Globals__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! Common/Globals */ 6); -/* harmony import */ var Common_Enums__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! Common/Enums */ 0); -/* harmony import */ var Common_Plugins__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! Common/Plugins */ 38); -/* harmony import */ var Common_Translator__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! Common/Translator */ 9); -/* harmony import */ var Model_Email__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! Model/Email */ 81); - - - - - - - - -/* harmony default export */ __webpack_exports__["a"] = (function (App) { - Common_Globals__WEBPACK_IMPORTED_MODULE_3__["data"].__APP__ = App; - Common_Globals__WEBPACK_IMPORTED_MODULE_3__["$win"].on('keydown', Common_Utils__WEBPACK_IMPORTED_MODULE_2__["killCtrlACtrlS"]).on('unload', function () { - Common_Globals__WEBPACK_IMPORTED_MODULE_3__["data"].bUnload = true; - }); - Common_Globals__WEBPACK_IMPORTED_MODULE_3__["$html"].addClass(Common_Globals__WEBPACK_IMPORTED_MODULE_3__["bMobileDevice"] ? 'mobile' : 'no-mobile').on('click.dropdown.data-api', Common_Utils__WEBPACK_IMPORTED_MODULE_2__["detectDropdownVisibility"]); - var rl = window__WEBPACK_IMPORTED_MODULE_1___default.a.rl || {}; - rl.i18n = Common_Translator__WEBPACK_IMPORTED_MODULE_6__["i18n"]; - rl.createCommand = Common_Utils__WEBPACK_IMPORTED_MODULE_2__["createCommandLegacy"]; - rl.addSettingsViewModel = Common_Plugins__WEBPACK_IMPORTED_MODULE_5__[/* addSettingsViewModel */ "b"]; - rl.addSettingsViewModelForAdmin = Common_Plugins__WEBPACK_IMPORTED_MODULE_5__[/* addSettingsViewModelForAdmin */ "c"]; - rl.addHook = Common_Plugins__WEBPACK_IMPORTED_MODULE_5__[/* addHook */ "a"]; - rl.settingsGet = Common_Plugins__WEBPACK_IMPORTED_MODULE_5__[/* mainSettingsGet */ "d"]; - rl.pluginSettingsGet = Common_Plugins__WEBPACK_IMPORTED_MODULE_5__[/* settingsGet */ "h"]; - rl.pluginRemoteRequest = Common_Plugins__WEBPACK_IMPORTED_MODULE_5__[/* remoteRequest */ "e"]; - rl.EmailModel = Model_Email__WEBPACK_IMPORTED_MODULE_7__["EmailModel"]; - rl.Enums = Common_Enums__WEBPACK_IMPORTED_MODULE_4__; - window__WEBPACK_IMPORTED_MODULE_1___default.a.rl = rl; - - window__WEBPACK_IMPORTED_MODULE_1___default.a.__APP_BOOT = function (fErrorCallback) { - Object(Common_Utils__WEBPACK_IMPORTED_MODULE_2__["domReady"])(function () { - window__WEBPACK_IMPORTED_MODULE_1___default.a.setTimeout(function () { - if (window__WEBPACK_IMPORTED_MODULE_1___default.a.rainloopTEMPLATES && window__WEBPACK_IMPORTED_MODULE_1___default.a.rainloopTEMPLATES[0]) { - window__WEBPACK_IMPORTED_MODULE_1___default.a.document.getElementById('rl-templates').innerHTML = window__WEBPACK_IMPORTED_MODULE_1___default.a.rainloopTEMPLATES[0]; - window__WEBPACK_IMPORTED_MODULE_1___default.a.setTimeout(function () { - Common_Globals__WEBPACK_IMPORTED_MODULE_3__["$html"].removeClass('no-js rl-booted-trigger').addClass('rl-booted'); - App.bootstart(); - }, Common_Enums__WEBPACK_IMPORTED_MODULE_4__["Magics"].Time10ms); - } else { - fErrorCallback(); - } - - window__WEBPACK_IMPORTED_MODULE_1___default.a.__APP_BOOT = null; - }, Common_Enums__WEBPACK_IMPORTED_MODULE_4__["Magics"].Time10ms); - }); - }; -}); - -/***/ }), -/* 255 */ -/*!***********************************!*\ - !*** ./dev/Stores/AbstractApp.js ***! - \***********************************/ -/*! exports provided: AbstractAppStore, default */ -/*! exports used: AbstractAppStore */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AbstractAppStore; }); -/* unused harmony export default */ -/* harmony import */ var ko__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ko */ 1); -/* harmony import */ var Common_Globals__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! Common/Globals */ 6); -/* harmony import */ var Storage_Settings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! Storage/Settings */ 5); - - - - -var AbstractAppStore = -/*#__PURE__*/ -function () { - function AbstractAppStore() { - this.allowLanguagesOnSettings = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(true); - this.allowLanguagesOnLogin = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(true); - this.newMoveToFolder = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(true); - this.interfaceAnimation = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(true); - this.interfaceAnimation.subscribe(function (value) { - var anim = Common_Globals__WEBPACK_IMPORTED_MODULE_1__["bMobileDevice"] || !value; - Common_Globals__WEBPACK_IMPORTED_MODULE_1__["$html"].toggleClass('rl-anim', !anim).toggleClass('no-rl-anim', anim); - }); - this.interfaceAnimation.valueHasMutated(); - this.prem = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(false); - this.community = ko__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].observable(true); - } - - var _proto = AbstractAppStore.prototype; - - _proto.populate = function populate() { - this.allowLanguagesOnLogin(!!Storage_Settings__WEBPACK_IMPORTED_MODULE_2__["settingsGet"]('AllowLanguagesOnLogin')); - this.allowLanguagesOnSettings(!!Storage_Settings__WEBPACK_IMPORTED_MODULE_2__["settingsGet"]('AllowLanguagesOnSettings')); - this.newMoveToFolder(!!Storage_Settings__WEBPACK_IMPORTED_MODULE_2__["settingsGet"]('NewMoveToFolder')); - this.interfaceAnimation(!!Storage_Settings__WEBPACK_IMPORTED_MODULE_2__["settingsGet"]('InterfaceAnimation')); - this.prem(!!Storage_Settings__WEBPACK_IMPORTED_MODULE_2__["settingsGet"]('PremType')); - this.community(!!Storage_Settings__WEBPACK_IMPORTED_MODULE_2__["settingsGet"]('Community')); - }; - - return AbstractAppStore; -}(); - - - -/***/ }), -/* 256 */ -/*!************************************!*\ - !*** ./dev/Remote/AbstractAjax.js ***! - \************************************/ -/*! exports provided: AbstractAjaxRemote, default */ -/*! exports used: AbstractAjaxRemote */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AbstractAjaxRemote; }); -/* unused harmony export default */ -/* harmony import */ var core_js_modules_es_date_to_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.date.to-string */ 75); -/* harmony import */ var core_js_modules_es_date_to_string__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_date_to_string__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var window__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! window */ 4); -/* harmony import */ var window__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(window__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! _ */ 3); -/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(___WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var $__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! $ */ 8); -/* harmony import */ var $__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n($__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var Common_Consts__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! Common/Consts */ 25); -/* harmony import */ var Common_Enums__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! Common/Enums */ 0); -/* harmony import */ var Common_Utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! Common/Utils */ 2); -/* harmony import */ var Common_Globals__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! Common/Globals */ 6); -/* harmony import */ var Common_Links__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! Common/Links */ 15); -/* harmony import */ var Common_Plugins__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! Common/Plugins */ 38); -/* harmony import */ var Storage_Settings__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! Storage/Settings */ 5); - - - - - - - - - - - - -var AbstractAjaxRemote = -/*#__PURE__*/ -function () { - function AbstractAjaxRemote() { - this.oRequests = {}; - } - /** - * @param {?Function} fCallback - * @param {string} sRequestAction - * @param {string} sType - * @param {?AjaxJsonDefaultResponse} oData - * @param {boolean} bCached - * @param {*=} oRequestParameters - */ - - - var _proto = AbstractAjaxRemote.prototype; - - _proto.defaultResponse = function defaultResponse(fCallback, sRequestAction, sType, oData, bCached, oRequestParameters) { - var fCall = function fCall() { - if (Common_Enums__WEBPACK_IMPORTED_MODULE_5__["StorageResultType"].Success !== sType && Common_Globals__WEBPACK_IMPORTED_MODULE_7__["data"].bUnload) { - sType = Common_Enums__WEBPACK_IMPORTED_MODULE_5__["StorageResultType"].Unload; - } - - if (Common_Enums__WEBPACK_IMPORTED_MODULE_5__["StorageResultType"].Success === sType && oData && !oData.Result) { - if (oData && -1 < Object(Common_Utils__WEBPACK_IMPORTED_MODULE_6__["inArray"])(oData.ErrorCode, [Common_Enums__WEBPACK_IMPORTED_MODULE_5__["Notification"].AuthError, Common_Enums__WEBPACK_IMPORTED_MODULE_5__["Notification"].AccessError, Common_Enums__WEBPACK_IMPORTED_MODULE_5__["Notification"].ConnectionError, Common_Enums__WEBPACK_IMPORTED_MODULE_5__["Notification"].DomainNotAllowed, Common_Enums__WEBPACK_IMPORTED_MODULE_5__["Notification"].AccountNotAllowed, Common_Enums__WEBPACK_IMPORTED_MODULE_5__["Notification"].MailServerError, Common_Enums__WEBPACK_IMPORTED_MODULE_5__["Notification"].UnknownNotification, Common_Enums__WEBPACK_IMPORTED_MODULE_5__["Notification"].UnknownError])) { - Common_Globals__WEBPACK_IMPORTED_MODULE_7__["data"].iAjaxErrorCount += 1; - } - - if (oData && Common_Enums__WEBPACK_IMPORTED_MODULE_5__["Notification"].InvalidToken === oData.ErrorCode) { - Common_Globals__WEBPACK_IMPORTED_MODULE_7__["data"].iTokenErrorCount += 1; - } - - if (Common_Consts__WEBPACK_IMPORTED_MODULE_4__[/* TOKEN_ERROR_LIMIT */ "q"] < Common_Globals__WEBPACK_IMPORTED_MODULE_7__["data"].iTokenErrorCount) { - if (Common_Globals__WEBPACK_IMPORTED_MODULE_7__["data"].__APP__ && Common_Globals__WEBPACK_IMPORTED_MODULE_7__["data"].__APP__.loginAndLogoutReload) { - Common_Globals__WEBPACK_IMPORTED_MODULE_7__["data"].__APP__.loginAndLogoutReload(false, true); - } - } - - if (oData.ClearAuth || oData.Logout || Common_Consts__WEBPACK_IMPORTED_MODULE_4__[/* AJAX_ERROR_LIMIT */ "a"] < Common_Globals__WEBPACK_IMPORTED_MODULE_7__["data"].iAjaxErrorCount) { - if (Common_Globals__WEBPACK_IMPORTED_MODULE_7__["data"].__APP__ && Common_Globals__WEBPACK_IMPORTED_MODULE_7__["data"].__APP__.clearClientSideToken) { - Common_Globals__WEBPACK_IMPORTED_MODULE_7__["data"].__APP__.clearClientSideToken(); - - if (!oData.ClearAuth && Common_Globals__WEBPACK_IMPORTED_MODULE_7__["data"].__APP__.loginAndLogoutReload) { - Common_Globals__WEBPACK_IMPORTED_MODULE_7__["data"].__APP__.loginAndLogoutReload(false, true); - } - } - } - } else if (Common_Enums__WEBPACK_IMPORTED_MODULE_5__["StorageResultType"].Success === sType && oData && oData.Result) { - Common_Globals__WEBPACK_IMPORTED_MODULE_7__["data"].iAjaxErrorCount = 0; - Common_Globals__WEBPACK_IMPORTED_MODULE_7__["data"].iTokenErrorCount = 0; - } - - Object(Common_Plugins__WEBPACK_IMPORTED_MODULE_9__[/* runHook */ "f"])('ajax-default-response', [sRequestAction, Common_Enums__WEBPACK_IMPORTED_MODULE_5__["StorageResultType"].Success === sType ? oData : null, sType, bCached, oRequestParameters]); - - if (fCallback) { - fCallback(sType, Common_Enums__WEBPACK_IMPORTED_MODULE_5__["StorageResultType"].Success === sType ? oData : null, bCached, sRequestAction, oRequestParameters); - } - }; - - switch (sType) { - case 'success': - sType = Common_Enums__WEBPACK_IMPORTED_MODULE_5__["StorageResultType"].Success; - break; - - case 'abort': - sType = Common_Enums__WEBPACK_IMPORTED_MODULE_5__["StorageResultType"].Abort; - break; - - default: - sType = Common_Enums__WEBPACK_IMPORTED_MODULE_5__["StorageResultType"].Error; - break; - } - - if (Common_Enums__WEBPACK_IMPORTED_MODULE_5__["StorageResultType"].Error === sType) { - ___WEBPACK_IMPORTED_MODULE_2___default.a.delay(fCall, 300); - } else { - fCall(); - } - } - /** - * @param {?Function} fResultCallback - * @param {Object} oParameters - * @param {?number=} iTimeOut = 20000 - * @param {string=} sGetAdd = '' - * @param {Array=} aAbortActions = [] - * @returns {jQuery.jqXHR} - */ - ; - - _proto.ajaxRequest = function ajaxRequest(fResultCallback, params, iTimeOut, sGetAdd, abortActions) { - var _this = this; - - if (iTimeOut === void 0) { - iTimeOut = 20000; - } - - if (sGetAdd === void 0) { - sGetAdd = ''; - } - - if (abortActions === void 0) { - abortActions = []; - } - - var isPost = '' === sGetAdd, - headers = {}, - start = new window__WEBPACK_IMPORTED_MODULE_1___default.a.Date().getTime(); - var action = ''; - params = params || {}; - action = params.Action || ''; - - if (action && 0 < abortActions.length) { - ___WEBPACK_IMPORTED_MODULE_2___default.a.each(abortActions, function (actionToAbort) { - if (_this.oRequests[actionToAbort]) { - _this.oRequests[actionToAbort].__aborted = true; - - if (_this.oRequests[actionToAbort].abort) { - _this.oRequests[actionToAbort].abort(); - } - - _this.oRequests[actionToAbort] = null; - } - }); - } - - if (isPost) { - params.XToken = Storage_Settings__WEBPACK_IMPORTED_MODULE_10__["appSettingsGet"]('token'); - } - - var oDefAjax = $__WEBPACK_IMPORTED_MODULE_3___default.a.ajax({ - type: isPost ? 'POST' : 'GET', - url: Object(Common_Links__WEBPACK_IMPORTED_MODULE_8__[/* ajax */ "a"])(sGetAdd), - async: true, - dataType: 'json', - data: isPost ? params : {}, - headers: headers, - timeout: iTimeOut, - global: true - }); - oDefAjax.always(function (oData, sType) { - var cached = false; - - if (oData && oData.Time) { - cached = Object(Common_Utils__WEBPACK_IMPORTED_MODULE_6__["pInt"])(oData.Time) > new window__WEBPACK_IMPORTED_MODULE_1___default.a.Date().getTime() - start; - } - - if (action && _this.oRequests[action]) { - if (_this.oRequests[action].__aborted) { - sType = 'abort'; - } - - _this.oRequests[action] = null; - } - - _this.defaultResponse(fResultCallback, action, sType, oData, cached, params); - }); - - if (action && 0 < abortActions.length && -1 < Object(Common_Utils__WEBPACK_IMPORTED_MODULE_6__["inArray"])(action, abortActions)) { - if (this.oRequests[action]) { - this.oRequests[action].__aborted = true; - - if (this.oRequests[action].abort) { - this.oRequests[action].abort(); - } - - this.oRequests[action] = null; - } - - this.oRequests[action] = oDefAjax; - } // eslint-disable-next-line no-console - - - oDefAjax.catch(console.log); - return oDefAjax; - } - /** - * @param {?Function} fCallback - * @param {string} sAction - * @param {Object=} oParameters - * @param {?number=} iTimeout - * @param {string=} sGetAdd = '' - * @param {Array=} aAbortActions = [] - */ - ; - - _proto.defaultRequest = function defaultRequest(fCallback, sAction, oParameters, iTimeout, sGetAdd, aAbortActions) { - oParameters = oParameters || {}; - oParameters.Action = sAction; - sGetAdd = Object(Common_Utils__WEBPACK_IMPORTED_MODULE_6__["pString"])(sGetAdd); - Object(Common_Plugins__WEBPACK_IMPORTED_MODULE_9__[/* runHook */ "f"])('ajax-default-request', [sAction, oParameters, sGetAdd]); - return this.ajaxRequest(fCallback, oParameters, Object(Common_Utils__WEBPACK_IMPORTED_MODULE_6__["isUnd"])(iTimeout) ? Common_Consts__WEBPACK_IMPORTED_MODULE_4__[/* DEFAULT_AJAX_TIMEOUT */ "g"] : Object(Common_Utils__WEBPACK_IMPORTED_MODULE_6__["pInt"])(iTimeout), sGetAdd, aAbortActions); - } - /** - * @param {?Function} fCallback - */ - ; - - _proto.noop = function noop(fCallback) { - this.defaultRequest(fCallback, 'Noop'); - } - /** - * @param {?Function} fCallback - * @param {string} sMessage - * @param {string} sFileName - * @param {number} iLineNo - * @param {string} sLocation - * @param {string} sHtmlCapa - * @param {number} iTime - */ - ; - - _proto.jsError = function jsError(fCallback, sMessage, sFileName, iLineNo, sLocation, sHtmlCapa, iTime) { - this.defaultRequest(fCallback, 'JsError', { - 'Message': sMessage, - 'FileName': sFileName, - 'LineNo': iLineNo, - 'Location': sLocation, - 'HtmlCapa': sHtmlCapa, - 'TimeOnPage': iTime - }); - } - /** - * @param {?Function} fCallback - * @param {string} sType - * @param {Array=} mData = null - * @param {boolean=} bIsError = false - */ - ; - - _proto.jsInfo = function jsInfo(fCallback, sType, mData, bIsError) { - if (bIsError === void 0) { - bIsError = false; - } - - this.defaultRequest(fCallback, 'JsInfo', { - 'Type': sType, - 'Data': mData, - 'IsError': bIsError ? '1' : '0' - }); - } - /** - * @param {?Function} fCallback - */ - ; - - _proto.getPublicKey = function getPublicKey(fCallback) { - this.defaultRequest(fCallback, 'GetPublicKey'); - } - /** - * @param {?Function} fCallback - * @param {string} sVersion - */ - ; - - _proto.jsVersion = function jsVersion(fCallback, sVersion) { - this.defaultRequest(fCallback, 'Version', { - 'Version': sVersion - }); - }; - - return AbstractAjaxRemote; -}(); - - - -/***/ }), -/* 257 */ -/*!****************************************!*\ - !*** ./dev/Screen/AbstractSettings.js ***! - \****************************************/ -/*! exports provided: AbstractSettingsScreen, default */ -/*! exports used: AbstractSettingsScreen */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AbstractSettingsScreen; }); -/* unused harmony export default */ -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/find */ 12); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _babel_runtime_corejs3_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/inheritsLoose */ 10); -/* harmony import */ var _babel_runtime_corejs3_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! _ */ 3); -/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(___WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var $__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! $ */ 8); -/* harmony import */ var $__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n($__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var ko__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ko */ 1); -/* harmony import */ var Common_Globals__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! Common/Globals */ 6); -/* harmony import */ var Common_Utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! Common/Utils */ 2); -/* harmony import */ var Common_Links__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! Common/Links */ 15); -/* harmony import */ var Knoin_Knoin__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! Knoin/Knoin */ 7); -/* harmony import */ var Knoin_AbstractScreen__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! Knoin/AbstractScreen */ 136); - - - - - - - - - - - -var AbstractSettingsScreen = -/*#__PURE__*/ -function (_AbstractScreen) { - _babel_runtime_corejs3_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default()(AbstractSettingsScreen, _AbstractScreen); - - /** - * @param {Array} viewModels - */ - function AbstractSettingsScreen(viewModels) { - var _this; - - _this = _AbstractScreen.call(this, 'settings', viewModels) || this; - _this.menu = ko__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"].observableArray([]); - _this.oCurrentSubScreen = null; - _this.oViewModelPlace = null; - - _this.setupSettings(); - - return _this; - } - /** - * @param {Function=} fCallback - */ - - - var _proto = AbstractSettingsScreen.prototype; - - _proto.setupSettings = function setupSettings(fCallback) { - if (fCallback === void 0) { - fCallback = null; - } - - if (fCallback) { - fCallback(); - } - }; - - _proto.onRoute = function onRoute(subName) { - var _this2 = this; - - var settingsScreen = null, - RoutedSettingsViewModel = null, - viewModelPlace = null, - viewModelDom = null; - RoutedSettingsViewModel = _babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_0___default()(___WEBPACK_IMPORTED_MODULE_2___default.a).call(___WEBPACK_IMPORTED_MODULE_2___default.a, Common_Globals__WEBPACK_IMPORTED_MODULE_5__["VIEW_MODELS"].settings, function (SettingsViewModel) { - return SettingsViewModel && SettingsViewModel.__rlSettingsData && subName === SettingsViewModel.__rlSettingsData.Route; - }); - - if (RoutedSettingsViewModel) { - if (_babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_0___default()(___WEBPACK_IMPORTED_MODULE_2___default.a).call(___WEBPACK_IMPORTED_MODULE_2___default.a, Common_Globals__WEBPACK_IMPORTED_MODULE_5__["VIEW_MODELS"]['settings-removed'], function (DisabledSettingsViewModel) { - return DisabledSettingsViewModel && DisabledSettingsViewModel === RoutedSettingsViewModel; - })) { - RoutedSettingsViewModel = null; - } - - if (RoutedSettingsViewModel && _babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_0___default()(___WEBPACK_IMPORTED_MODULE_2___default.a).call(___WEBPACK_IMPORTED_MODULE_2___default.a, Common_Globals__WEBPACK_IMPORTED_MODULE_5__["VIEW_MODELS"]['settings-disabled'], function (DisabledSettingsViewModel) { - return DisabledSettingsViewModel && DisabledSettingsViewModel === RoutedSettingsViewModel; - })) { - RoutedSettingsViewModel = null; - } - } - - if (RoutedSettingsViewModel) { - if (RoutedSettingsViewModel.__builded && RoutedSettingsViewModel.__vm) { - settingsScreen = RoutedSettingsViewModel.__vm; - } else { - viewModelPlace = this.oViewModelPlace; - - if (viewModelPlace && 1 === viewModelPlace.length) { - settingsScreen = new RoutedSettingsViewModel(); - viewModelDom = $__WEBPACK_IMPORTED_MODULE_3___default()('
').addClass('rl-settings-view-model').hide(); - viewModelDom.appendTo(viewModelPlace); - settingsScreen.viewModelDom = viewModelDom; - settingsScreen.__rlSettingsData = RoutedSettingsViewModel.__rlSettingsData; - RoutedSettingsViewModel.__dom = viewModelDom; - RoutedSettingsViewModel.__builded = true; - RoutedSettingsViewModel.__vm = settingsScreen; - var tmpl = { - name: RoutedSettingsViewModel.__rlSettingsData.Template - }; - ko__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"].applyBindingAccessorsToNode(viewModelDom[0], { - translatorInit: true, - template: function template() { - return tmpl; - } - }, settingsScreen); - Object(Common_Utils__WEBPACK_IMPORTED_MODULE_6__["delegateRun"])(settingsScreen, 'onBuild', [viewModelDom]); - } else { - Object(Common_Utils__WEBPACK_IMPORTED_MODULE_6__["log"])('Cannot find sub settings view model position: SettingsSubScreen'); - } - } - - if (settingsScreen) { - ___WEBPACK_IMPORTED_MODULE_2___default.a.defer(function () { - // hide - if (_this2.oCurrentSubScreen) { - Object(Common_Utils__WEBPACK_IMPORTED_MODULE_6__["delegateRun"])(_this2.oCurrentSubScreen, 'onHide'); - - _this2.oCurrentSubScreen.viewModelDom.hide(); - } // -- - - - _this2.oCurrentSubScreen = settingsScreen; // show - - if (_this2.oCurrentSubScreen) { - Object(Common_Utils__WEBPACK_IMPORTED_MODULE_6__["delegateRun"])(_this2.oCurrentSubScreen, 'onBeforeShow'); - - _this2.oCurrentSubScreen.viewModelDom.show(); - - Object(Common_Utils__WEBPACK_IMPORTED_MODULE_6__["delegateRun"])(_this2.oCurrentSubScreen, 'onShow'); - Object(Common_Utils__WEBPACK_IMPORTED_MODULE_6__["delegateRun"])(_this2.oCurrentSubScreen, 'onShowWithDelay', [], 200); - - ___WEBPACK_IMPORTED_MODULE_2___default.a.each(_this2.menu(), function (item) { - item.selected(settingsScreen && settingsScreen.__rlSettingsData && item.route === settingsScreen.__rlSettingsData.Route); - }); - - $__WEBPACK_IMPORTED_MODULE_3___default()('#rl-content .b-settings .b-content .content').scrollTop(0); - } // -- - - - Object(Common_Utils__WEBPACK_IMPORTED_MODULE_6__["windowResize"])(); - }); - } - } else { - Object(Knoin_Knoin__WEBPACK_IMPORTED_MODULE_8__["setHash"])(Object(Common_Links__WEBPACK_IMPORTED_MODULE_7__[/* settings */ "z"])(), false, true); - } - }; - - _proto.onHide = function onHide() { - if (this.oCurrentSubScreen && this.oCurrentSubScreen.viewModelDom) { - Object(Common_Utils__WEBPACK_IMPORTED_MODULE_6__["delegateRun"])(this.oCurrentSubScreen, 'onHide'); - this.oCurrentSubScreen.viewModelDom.hide(); - } - }; - - _proto.onBuild = function onBuild() { - var _this3 = this; - - ___WEBPACK_IMPORTED_MODULE_2___default.a.each(Common_Globals__WEBPACK_IMPORTED_MODULE_5__["VIEW_MODELS"].settings, function (SettingsViewModel) { - if (SettingsViewModel && SettingsViewModel.__rlSettingsData && !_babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_0___default()(___WEBPACK_IMPORTED_MODULE_2___default.a).call(___WEBPACK_IMPORTED_MODULE_2___default.a, Common_Globals__WEBPACK_IMPORTED_MODULE_5__["VIEW_MODELS"]['settings-removed'], function (RemoveSettingsViewModel) { - return RemoveSettingsViewModel && RemoveSettingsViewModel === SettingsViewModel; - })) { - _this3.menu.push({ - route: SettingsViewModel.__rlSettingsData.Route, - label: SettingsViewModel.__rlSettingsData.Label, - selected: ko__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"].observable(false), - disabled: !!_babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_0___default()(___WEBPACK_IMPORTED_MODULE_2___default.a).call(___WEBPACK_IMPORTED_MODULE_2___default.a, Common_Globals__WEBPACK_IMPORTED_MODULE_5__["VIEW_MODELS"]['settings-disabled'], function (DisabledSettingsViewModel) { - return DisabledSettingsViewModel && DisabledSettingsViewModel === SettingsViewModel; - }) - }); - } - }); - - this.oViewModelPlace = $__WEBPACK_IMPORTED_MODULE_3___default()('#rl-content #rl-settings-subscreen'); - }; - - _proto.routes = function routes() { - var DefaultViewModel = _babel_runtime_corejs3_core_js_stable_instance_find__WEBPACK_IMPORTED_MODULE_0___default()(___WEBPACK_IMPORTED_MODULE_2___default.a).call(___WEBPACK_IMPORTED_MODULE_2___default.a, Common_Globals__WEBPACK_IMPORTED_MODULE_5__["VIEW_MODELS"].settings, function (SettingsViewModel) { - return SettingsViewModel && SettingsViewModel.__rlSettingsData && SettingsViewModel.__rlSettingsData.IsDefault; - }), - defaultRoute = DefaultViewModel && DefaultViewModel.__rlSettingsData ? DefaultViewModel.__rlSettingsData.Route : 'general', - rules = { - subname: /^(.*)$/, - normalize_: function normalize_(rquest, vals) { - vals.subname = Object(Common_Utils__WEBPACK_IMPORTED_MODULE_6__["isUnd"])(vals.subname) ? defaultRoute : Object(Common_Utils__WEBPACK_IMPORTED_MODULE_6__["pString"])(vals.subname); - return [vals.subname]; - } - }; - - return [['{subname}/', rules], ['{subname}', rules], ['', rules]]; - }; - - return AbstractSettingsScreen; -}(Knoin_AbstractScreen__WEBPACK_IMPORTED_MODULE_9__[/* AbstractScreen */ "a"]); - - - -/***/ }), -/* 258 */ -/*!*****************************!*\ - !*** ./dev/App/Abstract.js ***! - \*****************************/ -/*! exports provided: AbstractApp, default */ -/*! exports used: AbstractApp */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AbstractApp; }); -/* unused harmony export default */ -/* harmony import */ var core_js_modules_es_date_to_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.date.to-string */ 75); -/* harmony import */ var core_js_modules_es_date_to_string__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_date_to_string__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.object.to-string */ 55); -/* harmony import */ var core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var core_js_modules_es_regexp_to_string__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.regexp.to-string */ 94); -/* harmony import */ var core_js_modules_es_regexp_to_string__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_to_string__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var core_js_modules_es_string_sub__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.string.sub */ 135); -/* harmony import */ var core_js_modules_es_string_sub__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_sub__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_index_of__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @babel/runtime-corejs3/core-js-stable/instance/index-of */ 30); -/* harmony import */ var _babel_runtime_corejs3_core_js_stable_instance_index_of__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_core_js_stable_instance_index_of__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var _babel_runtime_corejs3_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @babel/runtime-corejs3/helpers/inheritsLoose */ 10); -/* harmony import */ var _babel_runtime_corejs3_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_corejs3_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var window__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! window */ 4); -/* harmony import */ var window__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(window__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var $__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! $ */ 8); -/* harmony import */ var $__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n($__WEBPACK_IMPORTED_MODULE_7__); -/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! _ */ 3); -/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(___WEBPACK_IMPORTED_MODULE_8__); -/* harmony import */ var ko__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ko */ 1); -/* harmony import */ var key__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! key */ 21); -/* harmony import */ var key__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(key__WEBPACK_IMPORTED_MODULE_10__); -/* harmony import */ var ssm__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ssm */ 138); -/* harmony import */ var ssm__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(ssm__WEBPACK_IMPORTED_MODULE_11__); -/* harmony import */ var Common_Globals__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! Common/Globals */ 6); -/* harmony import */ var Common_Utils__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! Common/Utils */ 2); -/* harmony import */ var Common_Enums__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! Common/Enums */ 0); -/* harmony import */ var Common_Links__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! Common/Links */ 15); -/* harmony import */ var Common_Translator__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! Common/Translator */ 9); -/* harmony import */ var Common_Events__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! Common/Events */ 24); -/* harmony import */ var Storage_Settings__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! Storage/Settings */ 5); -/* harmony import */ var Stores_Language__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! Stores/Language */ 70); -/* harmony import */ var Stores_Theme__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! Stores/Theme */ 115); -/* harmony import */ var Stores_Social__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! Stores/Social */ 29); -/* harmony import */ var Knoin_Knoin__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! Knoin/Knoin */ 7); -/* harmony import */ var Knoin_AbstractBoot__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! Knoin/AbstractBoot */ 259); - - - - - - - - - - - - - - - - - - - - - - - - - -var AbstractApp = -/*#__PURE__*/ -function (_AbstractBoot) { - _babel_runtime_corejs3_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_5___default()(AbstractApp, _AbstractBoot); - - /** - * @param {RemoteStorage|AdminRemoteStorage} Remote - */ - function AbstractApp(Remote) { - var _this; - - _this = _AbstractBoot.call(this) || this; - _this.googlePreviewSupportedCache = null; - _this.isLocalAutocomplete = true; - _this.iframe = null; - _this.lastErrorTime = 0; - _this.iframe = $__WEBPACK_IMPORTED_MODULE_7___default()('');else if(c){var p;p=f&&f.youtube?"lg-has-youtube":f&&f.vimeo?"lg-has-vimeo":"lg-has-html5",u.$slide.eq(e).prepend('
')}else f?(u.$slide.eq(e).prepend('
'),u.$el.trigger("hasVideo.lg",[e,a,l])):u.$slide.eq(e).prepend('
');if(u.$el.trigger("onAferAppendSlide.lg",[e]),n=u.$slide.eq(e).find(".lg-object"),r&&n.attr("sizes",r),s){n.attr("srcset",s);try{picturefill({elements:[n[0]]})}catch(t){console.error("Make sure you have included Picturefill version 2")}}".lg-sub-html"!==this.s.appendSubHtmlTo&&u.addHtml(e),u.$slide.eq(e).addClass("lg-loaded")}u.$slide.eq(e).find(".lg-object").on("load.lg error.lg",function(){var t=0;i&&!g("body").hasClass("lg-from-hash")&&(t=i),setTimeout(function(){u.$slide.eq(e).addClass("lg-complete"),u.$el.trigger("onSlideItemLoad.lg",[e,i||0])},t)}),f&&f.html5&&!c&&u.$slide.eq(e).addClass("lg-complete"),!0===t&&(u.$slide.eq(e).hasClass("lg-complete")?u.preload(e):u.$slide.eq(e).find(".lg-object").on("load.lg error.lg",function(){u.preload(e)}))},e.prototype.slide=function(t,e,i){var n=this.$outer.find(".lg-current").index(),o=this;if(!o.lGalleryOn||n!==t){var s=this.$slide.length,r=o.lGalleryOn?this.s.speed:0,a=!1,l=!1;if(!o.lgBusy){var u;if(this.s.download)(u=o.s.dynamic?!1!==o.s.dynamicEl[t].downloadUrl&&(o.s.dynamicEl[t].downloadUrl||o.s.dynamicEl[t].src):"false"!==o.$items.eq(t).attr("data-download-url")&&(o.$items.eq(t).attr("data-download-url")||o.$items.eq(t).attr("href")||o.$items.eq(t).attr("data-src")))?(g("#lg-download").attr("href",u),o.$outer.removeClass("lg-hide-download")):o.$outer.addClass("lg-hide-download");if(this.$el.trigger("onBeforeSlide.lg",[n,t,e,i]),o.lgBusy=!0,clearTimeout(o.hideBartimeout),".lg-sub-html"===this.s.appendSubHtmlTo&&setTimeout(function(){o.addHtml(t)},r),this.arrowDisable(t),e){var c=t-1,h=t+1;0===t&&n===s-1?(h=0,c=s-1):t===s-1&&0===n&&(h=0,c=s-1),this.$slide.removeClass("lg-prev-slide lg-current lg-next-slide"),o.$slide.eq(c).addClass("lg-prev-slide"),o.$slide.eq(h).addClass("lg-next-slide"),o.$slide.eq(t).addClass("lg-current")}else o.$outer.addClass("lg-no-trans"),this.$slide.removeClass("lg-prev-slide lg-next-slide"),te.s.swipeThreshold?e.goToNextSlide(!0):0e.s.swipeThreshold?e.goToPrevSlide(!0):Math.abs(t)<5&&e.$el.trigger("onSlideClick.lg"),e.$slide.removeAttr("style")}),setTimeout(function(){e.$outer.hasClass("lg-dragging")||"lg-slide"===e.s.mode||e.$outer.removeClass("lg-slide")},e.s.speed+100)},e.prototype.enableSwipe=function(){var e=this,i=0,n=0,o=!1;e.s.enableSwipe&&e.isTouch&&e.doCss()&&(e.$slide.on("touchstart.lg",function(t){e.$outer.hasClass("lg-zoomed")||e.lgBusy||(t.preventDefault(),e.manageSwipeClass(),i=t.originalEvent.targetTouches[0].pageX)}),e.$slide.on("touchmove.lg",function(t){e.$outer.hasClass("lg-zoomed")||(t.preventDefault(),n=t.originalEvent.targetTouches[0].pageX,e.touchMove(i,n),o=!0)}),e.$slide.on("touchend.lg",function(){e.$outer.hasClass("lg-zoomed")||(o?(o=!1,e.touchEnd(n-i)):e.$el.trigger("onSlideClick.lg"))}))},e.prototype.enableDrag=function(){var e=this,i=0,n=0,o=!1,s=!1;e.s.enableDrag&&!e.isTouch&&e.doCss()&&(e.$slide.on("mousedown.lg",function(t){e.$outer.hasClass("lg-zoomed")||(g(t.target).hasClass("lg-object")||g(t.target).hasClass("lg-video-play"))&&(t.preventDefault(),e.lgBusy||(e.manageSwipeClass(),i=t.pageX,o=!0,e.$outer.scrollLeft+=1,e.$outer.scrollLeft-=1,e.$outer.removeClass("lg-grab").addClass("lg-grabbing"),e.$el.trigger("onDragstart.lg")))}),g(m).on("mousemove.lg",function(t){o&&(s=!0,n=t.pageX,e.touchMove(i,n),e.$el.trigger("onDragmove.lg"))}),g(m).on("mouseup.lg",function(t){s?(s=!1,e.touchEnd(n-i),e.$el.trigger("onDragend.lg")):(g(t.target).hasClass("lg-object")||g(t.target).hasClass("lg-video-play"))&&e.$el.trigger("onSlideClick.lg"),o&&(o=!1,e.$outer.removeClass("lg-grabbing").addClass("lg-grab"))}))},e.prototype.manageSwipeClass=function(){var t=this.index+1,e=this.index-1,i=this.$slide.length;this.s.loop&&(0===this.index?e=i-1:this.index===i-1&&(t=0)),this.$slide.removeClass("lg-next-slide lg-prev-slide"),-1',s=""}var t,r=this,a="",l="";switch(this.core.s.vimeoThumbSize){case"thumbnail_large":l="640";break;case"thumbnail_medium":l="200x150";break;case"thumbnail_small":l="100x75"}if(r.core.$outer.addClass("lg-has-thumb"),r.core.$outer.find(".lg").append('
'),r.$thumbOuter=r.core.$outer.find(".lg-thumb-outer"),r.thumbOuterWidth=r.$thumbOuter.width(),r.core.s.animateThumb&&r.core.$outer.find(".lg-thumb").css({width:r.thumbTotalWidth+"px",position:"relative"}),this.core.s.animateThumb&&r.$thumbOuter.css("height",r.core.s.thumbContHeight+"px"),r.core.s.dynamic)for(var i=0;ithis.thumbTotalWidth-this.thumbOuterWidth&&(this.left=this.thumbTotalWidth-this.thumbOuterWidth),this.left<0&&(this.left=0),this.core.lGalleryOn?(e.hasClass("on")||this.core.$outer.find(".lg-thumb").css("transition-duration",this.core.s.speed+"ms"),this.core.doCss()||e.animate({left:-this.left+"px"},this.core.s.speed)):this.core.doCss()||e.css("left",-this.left+"px"),this.setTranslate(this.left)}},n.prototype.enableThumbDrag=function(){var e=this,i=0,n=0,o=!1,s=!1,r=0;e.$thumbOuter.addClass("lg-grab"),e.core.$outer.find(".lg-thumb").on("mousedown.lg.thumb",function(t){e.thumbTotalWidth>e.thumbOuterWidth&&(t.preventDefault(),i=t.pageX,o=!0,e.core.$outer.scrollLeft+=1,e.core.$outer.scrollLeft-=1,e.thumbClickable=!1,e.$thumbOuter.removeClass("lg-grab").addClass("lg-grabbing"))}),u(c).on("mousemove.lg.thumb",function(t){o&&(r=e.left,s=!0,n=t.pageX,e.$thumbOuter.addClass("lg-dragging"),(r-=n-i)>e.thumbTotalWidth-e.thumbOuterWidth&&(r=e.thumbTotalWidth-e.thumbOuterWidth),r<0&&(r=0),e.setTranslate(r))}),u(c).on("mouseup.lg.thumb",function(){s?(s=!1,e.$thumbOuter.removeClass("lg-dragging"),e.left=r,Math.abs(n-i)e.thumbOuterWidth&&(t.preventDefault(),i=t.originalEvent.targetTouches[0].pageX,e.thumbClickable=!1)}),e.core.$outer.find(".lg-thumb").on("touchmove.lg",function(t){e.thumbTotalWidth>e.thumbOuterWidth&&(t.preventDefault(),n=t.originalEvent.targetTouches[0].pageX,o=!0,e.$thumbOuter.addClass("lg-dragging"),s=e.left,(s-=n-i)>e.thumbTotalWidth-e.thumbOuterWidth&&(s=e.thumbTotalWidth-e.thumbOuterWidth),s<0&&(s=0),e.setTranslate(s))}),e.core.$outer.find(".lg-thumb").on("touchend.lg",function(){e.thumbTotalWidth>e.thumbOuterWidth&&o?(o=!1,e.$thumbOuter.removeClass("lg-dragging"),Math.abs(n-i)'),t.core.$outer.find(".lg-toogle-thumb").on("click.lg",function(){t.core.$outer.toggleClass("lg-thumb-open")}))},n.prototype.thumbkeyPress=function(){var e=this;u(c).on("keydown.lg.thumb",function(t){38===t.keyCode?(t.preventDefault(),e.core.$outer.addClass("lg-thumb-open")):40===t.keyCode&&(t.preventDefault(),e.core.$outer.removeClass("lg-thumb-open"))})},n.prototype.destroy=function(){this.core.s.thumbnail&&1';r.core.s.actualSize&&(t+=''),this.core.$outer.find(".lg-toolbar").append(t),r.core.$el.on("onSlideItemLoad.lg.tm.zoom",function(t,e,i){var n=r.core.s.enableZoomAfter+i;h("body").hasClass("lg-from-hash")&&i?n=0:h("body").removeClass("lg-from-hash"),r.zoomabletimeout=setTimeout(function(){r.core.$slide.eq(e).addClass("lg-zoomable")},n+30)});var a=1,e=function(t){var e=r.core.$outer.find(".lg-current .lg-image"),i=(h(d).width()-e.width())/2,n=(h(d).height()-e.height())/2+h(d).scrollTop(),o=(t-1)*(r.pageX-i),s=(t-1)*(r.pageY-n);e.css("transform","scale3d("+t+", "+t+", 1)").attr("data-scale",t),e.parent().css({left:-o+"px",top:-s+"px"}).attr("data-x",o).attr("data-y",s)},l=function(){1o.core.$outer.find(".lg").height(),((l=e.outerWidth()*e.attr("data-scale")>o.core.$outer.find(".lg").width())||u)&&(t.preventDefault(),s={x:t.originalEvent.targetTouches[0].pageX,y:t.originalEvent.targetTouches[0].pageY})}}),o.core.$slide.on("touchmove.lg",function(t){if(o.core.$outer.hasClass("lg-zoomed")){var e,i,n=o.core.$slide.eq(o.core.index).find(".lg-img-wrap");t.preventDefault(),a=!0,r={x:t.originalEvent.targetTouches[0].pageX,y:t.originalEvent.targetTouches[0].pageY},o.core.$outer.addClass("lg-zoom-dragging"),i=u?-Math.abs(n.attr("data-y"))+(r.y-s.y):-Math.abs(n.attr("data-y")),e=l?-Math.abs(n.attr("data-x"))+(r.x-s.x):-Math.abs(n.attr("data-x")),(15o.core.$outer.find(".lg").height(),u=e.outerWidth()*e.attr("data-scale")>o.core.$outer.find(".lg").width(),o.core.$outer.hasClass("lg-zoomed")&&h(t.target).hasClass("lg-object")&&(u||c)&&(t.preventDefault(),s={x:t.pageX,y:t.pageY},a=!0,o.core.$outer.scrollLeft+=1,o.core.$outer.scrollLeft-=1,o.core.$outer.removeClass("lg-grab").addClass("lg-grabbing"))}),h(d).on("mousemove.lg.zoom",function(t){if(a){var e,i,n=o.core.$slide.eq(o.core.index).find(".lg-img-wrap");l=!0,r={x:t.pageX,y:t.pageY},o.core.$outer.addClass("lg-zoom-dragging"),i=c?-Math.abs(n.attr("data-y"))+(r.y-s.y):-Math.abs(n.attr("data-y")),e=u?-Math.abs(n.attr("data-x"))+(r.x-s.x):-Math.abs(n.attr("data-x")),n.css({left:e+"px",top:i+"px"})}}),h(d).on("mouseup.lg.zoom",function(t){a&&(a=!1,o.core.$outer.removeClass("lg-zoom-dragging"),!l||s.x===r.x&&s.y===r.y||(r={x:t.pageX,y:t.pageY},o.touchendZoom(s,r,u,c)),l=!1),o.core.$outer.removeClass("lg-grabbing").addClass("lg-grab")})},n.prototype.touchendZoom=function(t,e,i,n){var o=this.core.$slide.eq(this.core.index).find(".lg-img-wrap"),s=this.core.$slide.eq(this.core.index).find(".lg-object"),r=-Math.abs(o.attr("data-x"))+(e.x-t.x),a=-Math.abs(o.attr("data-y"))+(e.y-t.y),l=(this.core.$outer.find(".lg").height()-s.outerHeight())/2,u=Math.abs(s.outerHeight()*Math.abs(s.attr("data-scale"))-this.core.$outer.find(".lg").height()+l),c=(this.core.$outer.find(".lg").width()-s.outerWidth())/2,h=Math.abs(s.outerWidth()*Math.abs(s.attr("data-scale"))-this.core.$outer.find(".lg").width()+c);(15
'),t.progress(),t.core.s.autoplay&&t.startlAuto(),t.$el.on("onDragstart.lg.tm touchstart.lg.tm",function(){t.interval&&(t.cancelAuto(),t.canceledOnTouch=!0)}),t.$el.on("onDragend.lg.tm touchend.lg.tm onSlideClick.lg.tm",function(){!t.interval&&t.canceledOnTouch&&(t.startlAuto(),t.canceledOnTouch=!1)})},s.prototype.progress=function(){var t,e,i=this;i.$el.on("onBeforeSlide.lg.tm",function(){i.core.s.progressBar&&i.fromAuto&&(t=i.core.$outer.find(".lg-progress-bar"),e=i.core.$outer.find(".lg-progress"),i.interval&&(e.removeAttr("style"),t.removeClass("lg-start"),setTimeout(function(){e.css("transition","width "+(i.core.s.speed+i.core.s.pause)+"ms ease 0s"),t.addClass("lg-start")},20))),i.fromAuto||i.core.s.fourceAutoplay||i.cancelAuto(),i.fromAuto=!1})},s.prototype.controls=function(){var t=this;e(this.core.s.appendAutoplayControlsTo).append(''),t.core.$outer.find(".lg-autoplay-button").on("click.lg",function(){e(t.core.$outer).hasClass("lg-show-autoplay")?(t.cancelAuto(),t.core.s.fourceAutoplay=!1):t.interval||(t.startlAuto(),t.core.s.fourceAutoplay=t.fourceAutoplayTemp)})},s.prototype.startlAuto=function(){var t=this;t.core.$outer.find(".lg-progress").css("transition","width "+(t.core.s.speed+t.core.s.pause)+"ms ease 0s"),t.core.$outer.addClass("lg-show-autoplay"),t.core.$outer.find(".lg-progress-bar").addClass("lg-start"),t.interval=setInterval(function(){t.core.index+1r;){var e,o,i,c=h[r++],u=n?c.ok:c.fail,a=c.resolve,f=c.reject,s=c.domain;try{u?(n||(2===p.rejection&&$(l,p),p.rejection=1),!0===u?e=t:(s&&s.enter(),e=u(t),s&&(s.exit(),i=!0)),e===c.promise?f(F("Promise-chain cycle")):(o=K(e))?o.call(e,a,f):a(e)):f(t)}catch(t){s&&!i&&s.exit(),f(t)}}p.reactions=[],p.notified=!1,v&&!p.rejection&&X(l,p)})}},Q=function(t,n,r){var e,o;B?((e=R.createEvent("Event")).promise=n,e.reason=r,e.initEvent(t,!1,!0),a.dispatchEvent(e)):e={promise:n,reason:r},(o=a["on"+t])?o(e):t===U&&S("Unhandled promise rejection",r)},X=function(r,e){b.call(a,function(){var t,n=e.value;if(Z(e)&&(t=T(function(){H?D.emit("unhandledRejection",n,r):Q(U,r,n)}),e.rejection=H||Z(e)?2:1,t.error))throw t.value})},Z=function(t){return 1!==t.rejection&&!t.parent},$=function(t,n){b.call(a,function(){H?D.emit("rejectionHandled",t):Q("rejectionhandled",t,n.value)})},tt=function(n,r,e,o){return function(t){n(r,e,t,o)}},nt=function(t,n,r,e){n.done||(n.done=!0,e&&(n=e),n.value=r,n.state=2,J(t,n,!0))},rt=function(r,e,t,n){if(!e.done){e.done=!0,n&&(e=n);try{if(r===t)throw F("Promise can't be resolved itself");var o=K(t);o?w(function(){var n={done:!1};try{o.call(t,tt(rt,r,n,e),tt(nt,r,n,e))}catch(t){nt(r,n,t,e)}}):(e.value=t,e.state=1,J(r,e,!1))}catch(t){nt(r,{done:!1},t,e)}}};W&&(C=function(t){d(this,C,M),h(t),e.call(this);var n=k(this);try{t(tt(rt,this,n),tt(nt,this,n))}catch(t){nt(this,n,t)}},(e=function(t){_(this,{type:M,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=s(C.prototype,{then:function(t,n){var r=I(this),e=V(x(this,C));return e.ok="function"!=typeof t||t,e.fail="function"==typeof n&&n,e.domain=H?D.domain:void 0,r.parent=!0,r.reactions.push(e),0!=r.state&&J(this,r,!1),e.promise},catch:function(t){return this.then(void 0,t)}}),o=function(){var t=new e,n=k(t);this.promise=t,this.resolve=tt(rt,t,n),this.reject=tt(nt,t,n)},O.f=V=function(t){return t===C||t===i?new o(t):z(t)},u||"function"!=typeof G||c({global:!0,enumerable:!0,forced:!0},{fetch:function(t){return j(C,G.apply(a,arguments))}})),c({global:!0,wrap:!0,forced:W},{Promise:C}),l(C,M,!1,!0),p(M),i=f[M],c({target:M,stat:!0,forced:W},{reject:function(t){var n=V(this);return n.reject.call(void 0,t),n.promise}}),c({target:M,stat:!0,forced:u||W},{resolve:function(t){return j(u&&this===i?C:this,t)}}),c({target:M,stat:!0,forced:Y},{all:function(t){var u=this,n=V(u),a=n.resolve,f=n.reject,r=T(function(){var e=h(u.resolve),o=[],i=0,c=1;g(t,function(t){var n=i++,r=!1;o.push(void 0),c++,e.call(u,t).then(function(t){r||(r=!0,o[n]=t,--c||a(o))},f)}),--c||a(o)});return r.error&&f(r.value),n.promise},race:function(t){var r=this,e=V(r),o=e.reject,n=T(function(){var n=h(r.resolve);g(t,function(t){n.call(r,t).then(e.resolve,o)})});return n.error&&o(n.value),e.promise}})},,,function(t,n){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(t){"object"==typeof window&&(r=window)}t.exports=r},function(t,n,r){var o=r(44);t.exports=function(t,n){if(!o(t))return t;var r,e;if(n&&"function"==typeof(r=t.toString)&&!o(e=r.call(t)))return e;if("function"==typeof(r=t.valueOf)&&!o(e=r.call(t)))return e;if(!n&&"function"==typeof(r=t.toString)&&!o(e=r.call(t)))return e;throw TypeError("Can't convert object to primitive value")}},function(t,n,r){var e=r(50),o=r(39),i=r(102);t.exports=!e&&!o(function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a})},function(t,n,r){var e=r(74);t.exports=e("native-function-to-string",Function.toString)},function(t,n){var r=0,e=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++r+e).toString(36)}},function(t,n,r){var e=r(39),o=/#|\.prototype\./,i=function(t,n){var r=u[c(t)];return r==f||r!=a&&("function"==typeof n?e(n):!!n)},c=i.normalize=function(t){return String(t).replace(o,".").toLowerCase()},u=i.data={},a=i.NATIVE="N",f=i.POLYFILL="P";t.exports=i},function(t,n,r){var o=r(49),i=r(32)("toStringTag"),c="Arguments"==o(function(){return arguments}());t.exports=function(t){var n,r,e;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,n){try{return t[n]}catch(t){}}(n=Object(t),i))?r:c?o(n):"Object"==(e=o(n))&&"function"==typeof n.callee?"Arguments":e}},function(t,n,r){var e,o,i,c=r(28),u=r(39),a=r(49),f=r(104),s=r(140),l=r(102),p=c.location,v=c.setImmediate,h=c.clearImmediate,d=c.process,y=c.MessageChannel,g=c.Dispatch,m=0,x={},b="onreadystatechange",w=function(t){if(x.hasOwnProperty(t)){var n=x[t];delete x[t],n()}},j=function(t){return function(){w(t)}},S=function(t){w(t.data)},O=function(t){c.postMessage(t+"",p.protocol+"//"+p.host)};v&&h||(v=function(t){for(var n=[],r=1;arguments.length>r;)n.push(arguments[r++]);return x[++m]=function(){("function"==typeof t?t:Function(t)).apply(void 0,n)},e(m),m},h=function(t){delete x[t]},"process"==a(d)?e=function(t){d.nextTick(j(t))}:g&&g.now?e=function(t){g.now(j(t))}:y?(i=(o=new y).port2,o.port1.onmessage=S,e=f(i.postMessage,i,1)):!c.addEventListener||"function"!=typeof postMessage||c.importScripts||u(O)?e=b in l("script")?function(t){s.appendChild(l("script"))[b]=function(){s.removeChild(this),w(t)}}:function(t){setTimeout(j(t),0)}:(e=O,c.addEventListener("message",S,!1))),t.exports={set:v,clear:h}},,,,,,,,function(t,n,r){var c=r(47),u=r(71),a=r(162).indexOf,f=r(103);t.exports=function(t,n){var r,e=u(t),o=0,i=[];for(r in e)!c(f,r)&&c(e,r)&&i.push(r);for(;n.length>o;)c(e,r=n[o++])&&(~a(i,r)||i.push(r));return i}},function(t,n,r){var e=r(65);t.exports=e("document","documentElement")},function(t,n,r){var p=r(36),v=r(187),h=r(72),d=r(104),y=r(188),g=r(189),m=function(t,n){this.stopped=t,this.result=n};(t.exports=function(t,n,r,e,o){var i,c,u,a,f,s,l=d(n,r,e?2:1);if(o)i=t;else{if("function"!=typeof(c=y(t)))throw TypeError("Target is not iterable");if(v(c)){for(u=0,a=h(t.length);udocument.F=Object"),t.close(),p=t.F;r--;)delete p[s][i[r]];return p()};t.exports=Object.create||function(t,n){var r;return null!==t?(l[s]=e(t),r=new l,l[s]=null,r[f]=t):r=p(),void 0===n?r:o(r,n)},c[f]=!0},function(t,n,r){var e=r(47),o=r(120),i=r(108),c=r(224),u=i("IE_PROTO"),a=Object.prototype;t.exports=c?Object.getPrototypeOf:function(t){return t=o(t),e(t,u)?t[u]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},,,,,,,,,,,,function(t,n,r){"use strict";var e={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!e.call({1:2},1);n.f=i?function(t){var n=o(this,t);return!!n&&n.enumerable}:e},function(t,n,r){var a=r(71),f=r(72),s=r(179),e=function(u){return function(t,n,r){var e,o=a(t),i=f(o.length),c=s(r,i);if(u&&n!=n){for(;c=n.length?{value:t.target=void 0,done:!0}:"keys"==r?{value:e,done:!1}:"values"==r?{value:n[e],done:!1}:{value:[e,n[e]],done:!1}},"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},function(t,n,r){var o=r(54);t.exports=function(t,n,r){for(var e in n)o(t,e,n[e],r);return t}},function(t,n,r){"use strict";var e=r(65),o=r(59),i=r(32),c=r(50),u=i("species");t.exports=function(t){var n=e(t),r=o.f;c&&n&&!n[u]&&r(n,u,{configurable:!0,get:function(){return this}})}},function(t,n){t.exports=function(t,n,r){if(!(t instanceof n))throw TypeError("Incorrect "+(r?r+" ":"")+"invocation");return t}},function(t,n,r){var e=r(32),o=r(73),i=e("iterator"),c=Array.prototype;t.exports=function(t){return void 0!==t&&(o.Array===t||c[i]===t)}},function(t,n,r){var e=r(130),o=r(73),i=r(32)("iterator");t.exports=function(t){if(null!=t)return t[i]||t["@@iterator"]||o[e(t)]}},function(t,n,r){var i=r(36);t.exports=function(n,t,r,e){try{return e?t(i(r)[0],r[1]):t(r)}catch(t){var o=n.return;throw void 0!==o&&i(o.call(n)),t}}},function(t,n,r){var o=r(32)("iterator"),i=!1;try{var e=0,c={next:function(){return{done:!!e++}},return:function(){i=!0}};c[o]=function(){return this},Array.from(c,function(){throw 2})}catch(t){}t.exports=function(t,n){if(!n&&!i)return!1;var r=!1;try{var e={};e[o]=function(){return{next:function(){return{done:r=!0}}}},t(e)}catch(t){}return r}},function(t,n,r){var e,o,i,c,u,a,f,s=r(28),l=r(90).f,p=r(49),v=r(131).set,h=r(105),d=s.MutationObserver||s.WebKitMutationObserver,y=s.process,g=s.Promise,m="process"==p(y),x=l(s,"queueMicrotask"),b=x&&x.value;b||(e=function(){var t,n;for(m&&(t=y.domain)&&t.exit();o;){n=o.fn,o=o.next;try{n()}catch(t){throw o?c():i=void 0,t}}i=void 0,t&&t.enter()},c=m?function(){y.nextTick(e)}:d&&!/(iphone|ipod|ipad).*applewebkit/i.test(h)?(u=!0,a=document.createTextNode(""),new d(e).observe(a,{characterData:!0}),function(){a.data=u=!u}):g&&g.resolve?(f=g.resolve(void 0),function(){f.then(e)}):function(){v.call(s,e)}),t.exports=b||function(t){var n={fn:t,next:void 0};i&&(i.next=n),o||(o=n,c()),i=n}},function(t,n,r){var e=r(28);t.exports=function(t,n){var r=e.console;r&&r.error&&(1===arguments.length?r.error(t):r.error(t,n))}},,,,,,,,,,,,,,,,,,,,function(t,n,r){var e=r(139),o=r(110);t.exports=Object.keys||function(t){return e(t,o)}},function(t,n,r){var e=r(32),o=r(148),i=r(45),c=e("unscopables"),u=Array.prototype;null==u[c]&&i(u,c,o(null)),t.exports=function(t){u[c][t]=!0}},function(t,n,r){"use strict";var g=r(43),m=r(223),x=r(149),b=r(215),w=r(111),j=r(45),S=r(54),e=r(32),O=r(83),T=r(73),o=r(164),P=o.IteratorPrototype,E=o.BUGGY_SAFARI_ITERATORS,A=e("iterator"),L="values",M="entries",k=function(){return this};t.exports=function(t,n,r,e,o,i,c){m(r,n,e);var u,a,f,s=function(t){if(t===o&&d)return d;if(!E&&t in v)return v[t];switch(t){case"keys":case L:case M:return function(){return new r(this,t)}}return function(){return new r(this)}},l=n+" Iterator",p=!1,v=t.prototype,h=v[A]||v["@@iterator"]||o&&v[o],d=!E&&h||s(o),y="Array"==n&&v.entries||h;if(y&&(u=x(y.call(new t)),P!==Object.prototype&&u.next&&(O||x(u)===P||(b?b(u,P):"function"!=typeof u[A]&&j(u,A,k)),w(u,l,!0,!0),O&&(T[l]=k))),o==L&&h&&h.name!==L&&(p=!0,d=function(){return h.call(this)}),O&&!c||v[A]===d||j(v,A,d),T[n]=d,o)if(a={values:s(L),keys:i?d:s("keys"),entries:s(M)},c)for(f in a)!E&&!p&&f in v||S(v,f,a[f]);else g({target:n,proto:!0,forced:E||p},a);return a}},function(t,n,r){var o=r(36),i=r(225);t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var r,e=!1,t={};try{(r=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(t,[]),e=t instanceof Array}catch(t){}return function(t,n){return o(t),i(n),e?r.call(t,n):t.__proto__=n,t}}():void 0)},,,,,,function(t,n,r){var e=r(50),c=r(59),u=r(36),a=r(212);t.exports=e?Object.defineProperties:function(t,n){u(t);for(var r,e=a(n),o=e.length,i=0;i=r.length?{value:void 0,done:!0}:(t=o(r,e),n.index+=t.length,{value:t,done:!1})})},function(t,n,r){"use strict";var e=r(43),o=r(65),i=r(142),c=r(165);e({target:"Promise",proto:!0,real:!0},{finally:function(n){var r=i(this,o("Promise")),t="function"==typeof n;return this.then(t?function(t){return c(r,n()).then(function(){return t})}:n,t?function(t){return c(r,n()).then(function(){throw t})}:n)}})},function(t,n,r){var e=r(43),o=r(149),i=r(215),c=r(148),u=r(91),a=r(141),f=r(45),s=function(t,n){var r=this;if(!(r instanceof s))return new s(t,n);i&&(r=i(new Error(n),o(r)));var e=[];return a(t,e.push,e),r.errors=e,void 0!==n&&f(r,"message",String(n)),r};s.prototype=c(Error.prototype,{constructor:u(5,s),name:u(5,"AggregateError")}),e({global:!0},{AggregateError:s})},function(t,n,r){"use strict";var e=r(43),f=r(66),o=r(106),i=r(143),s=r(141);e({target:"Promise",stat:!0},{allSettled:function(t){var u=this,n=o.f(u),a=n.resolve,r=n.reject,e=i(function(){var e=f(u.resolve),o=[],i=0,c=1;s(t,function(t){var n=i++,r=!1;o.push(void 0),c++,e.call(u,t).then(function(t){r||(r=!0,o[n]={status:"fulfilled",value:t},--c||a(o))},function(t){r||(r=!0,o[n]={status:"rejected",reason:t},--c||a(o))})}),--c||a(o)});return e.error&&r(e.value),n.promise}})},function(t,n,r){"use strict";var e=r(43),o=r(106),i=r(143);e({target:"Promise",stat:!0},{try:function(t){var n=o.f(this),r=i(t);return(r.error?n.reject:n.resolve)(r.value),n.promise}})},function(t,n,r){"use strict";var e=r(43),l=r(66),p=r(65),o=r(106),i=r(143),v=r(141),h="No one promise resolved";e({target:"Promise",stat:!0},{any:function(t){var a=this,n=o.f(a),f=n.resolve,s=n.reject,r=i(function(){var e=l(a.resolve),o=[],i=0,c=1,u=!1;v(t,function(t){var n=i++,r=!1;o.push(void 0),c++,e.call(a,t).then(function(t){r||u||(u=!0,f(t))},function(t){r||u||(r=!0,o[n]=t,--c||s(new(p("AggregateError"))(o,h)))})}),--c||s(new(p("AggregateError"))(o,h))});return r.error&&s(r.value),n.promise}})},function(t,n,r){r(483).polyfill()},function(l,t,p){(function(t){for(var e=p(484),n="undefined"==typeof window?t:window,r=["moz","webkit"],o="AnimationFrame",i=n["request"+o],c=n["cancel"+o]||n["cancelRequest"+o],u=0;!i&&u 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 -}; - - -/***/ }), -/* 73 */ -/*!*****************************************************!*\ - !*** ./node_modules/core-js/internals/iterators.js ***! - \*****************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -module.exports = {}; - - -/***/ }), -/* 74 */ -/*!**************************************************!*\ - !*** ./node_modules/core-js/internals/shared.js ***! - \**************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ 28); -var setGlobal = __webpack_require__(/*! ../internals/set-global */ 92); -var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ 83); - -var SHARED = '__core-js_shared__'; -var store = global[SHARED] || setGlobal(SHARED, {}); - -(module.exports = function (key, value) { - return store[key] || (store[key] = value !== undefined ? value : {}); -})('versions', []).push({ - version: '3.1.3', - mode: IS_PURE ? 'pure' : 'global', - copyright: '© 2019 Denis Pushkarev (zloirock.ru)' -}); - - -/***/ }), -/* 75 */, -/* 76 */, -/* 77 */, -/* 78 */, -/* 79 */, -/* 80 */ -/*!******************************************************!*\ - !*** ./node_modules/core-js/internals/to-integer.js ***! - \******************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -var ceil = Math.ceil; -var floor = Math.floor; - -// `ToInteger` abstract operation -// https://tc39.github.io/ecma262/#sec-tointeger -module.exports = function (argument) { - return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument); -}; - - -/***/ }), -/* 81 */, -/* 82 */, -/* 83 */ -/*!***************************************************!*\ - !*** ./node_modules/core-js/internals/is-pure.js ***! - \***************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -module.exports = false; - - -/***/ }), -/* 84 */, -/* 85 */, -/* 86 */, -/* 87 */, -/* 88 */, -/* 89 */, -/* 90 */ -/*!******************************************************************************!*\ - !*** ./node_modules/core-js/internals/object-get-own-property-descriptor.js ***! - \******************************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ 50); -var propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ 161); -var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ 91); -var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ 71); -var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ 125); -var has = __webpack_require__(/*! ../internals/has */ 47); -var IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ 126); - -var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; - -// `Object.getOwnPropertyDescriptor` method -// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor -exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { - O = toIndexedObject(O); - P = toPrimitive(P, true); - if (IE8_DOM_DEFINE) try { - return nativeGetOwnPropertyDescriptor(O, P); - } catch (error) { /* empty */ } - if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]); -}; - - -/***/ }), -/* 91 */ -/*!**********************************************************************!*\ - !*** ./node_modules/core-js/internals/create-property-descriptor.js ***! - \**********************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -module.exports = function (bitmap, value) { - return { - enumerable: !(bitmap & 1), - configurable: !(bitmap & 2), - writable: !(bitmap & 4), - value: value - }; -}; - - -/***/ }), -/* 92 */ -/*!******************************************************!*\ - !*** ./node_modules/core-js/internals/set-global.js ***! - \******************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ 28); -var hide = __webpack_require__(/*! ../internals/hide */ 45); - -module.exports = function (key, value) { - try { - hide(global, key, value); - } catch (error) { - global[key] = value; - } return value; -}; - - -/***/ }), -/* 93 */ -/*!**********************************************************!*\ - !*** ./node_modules/core-js/internals/internal-state.js ***! - \**********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var NATIVE_WEAK_MAP = __webpack_require__(/*! ../internals/native-weak-map */ 175); -var global = __webpack_require__(/*! ../internals/global */ 28); -var isObject = __webpack_require__(/*! ../internals/is-object */ 44); -var hide = __webpack_require__(/*! ../internals/hide */ 45); -var objectHas = __webpack_require__(/*! ../internals/has */ 47); -var sharedKey = __webpack_require__(/*! ../internals/shared-key */ 108); -var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ 103); - -var WeakMap = global.WeakMap; -var set, get, has; - -var enforce = function (it) { - return has(it) ? get(it) : set(it, {}); -}; - -var getterFor = function (TYPE) { - return function (it) { - var state; - if (!isObject(it) || (state = get(it)).type !== TYPE) { - throw TypeError('Incompatible receiver, ' + TYPE + ' required'); - } return state; - }; -}; - -if (NATIVE_WEAK_MAP) { - var store = new WeakMap(); - var wmget = store.get; - var wmhas = store.has; - var wmset = store.set; - set = function (it, metadata) { - wmset.call(store, it, metadata); - return metadata; - }; - get = function (it) { - return wmget.call(store, it) || {}; - }; - has = function (it) { - return wmhas.call(store, it); - }; -} else { - var STATE = sharedKey('state'); - hiddenKeys[STATE] = true; - set = function (it, metadata) { - hide(it, STATE, metadata); - return metadata; - }; - get = function (it) { - return objectHas(it, STATE) ? it[STATE] : {}; - }; - has = function (it) { - return objectHas(it, STATE); - }; -} - -module.exports = { - set: set, - get: get, - has: has, - enforce: enforce, - getterFor: getterFor -}; - - -/***/ }), -/* 94 */, -/* 95 */, -/* 96 */, -/* 97 */, -/* 98 */, -/* 99 */, -/* 100 */, -/* 101 */, -/* 102 */ -/*!*******************************************************************!*\ - !*** ./node_modules/core-js/internals/document-create-element.js ***! - \*******************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ 28); -var isObject = __webpack_require__(/*! ../internals/is-object */ 44); - -var document = global.document; -// typeof document.createElement is 'object' in old IE -var EXISTS = isObject(document) && isObject(document.createElement); - -module.exports = function (it) { - return EXISTS ? document.createElement(it) : {}; -}; - - -/***/ }), -/* 103 */ -/*!*******************************************************!*\ - !*** ./node_modules/core-js/internals/hidden-keys.js ***! - \*******************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -module.exports = {}; - - -/***/ }), -/* 104 */ -/*!********************************************************!*\ - !*** ./node_modules/core-js/internals/bind-context.js ***! - \********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var aFunction = __webpack_require__(/*! ../internals/a-function */ 66); - -// optional / simple context binding -module.exports = function (fn, that, length) { - aFunction(fn); - if (that === undefined) return fn; - switch (length) { - case 0: return function () { - return fn.call(that); - }; - case 1: return function (a) { - return fn.call(that, a); - }; - case 2: return function (a, b) { - return fn.call(that, a, b); - }; - case 3: return function (a, b, c) { - return fn.call(that, a, b, c); - }; - } - return function (/* ...args */) { - return fn.apply(that, arguments); - }; -}; - - -/***/ }), -/* 105 */ -/*!******************************************************!*\ - !*** ./node_modules/core-js/internals/user-agent.js ***! - \******************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ 65); - -module.exports = getBuiltIn('navigator', 'userAgent') || ''; - - -/***/ }), -/* 106 */ -/*!******************************************************************!*\ - !*** ./node_modules/core-js/internals/new-promise-capability.js ***! - \******************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var aFunction = __webpack_require__(/*! ../internals/a-function */ 66); - -var PromiseCapability = function (C) { - var resolve, reject; - this.promise = new C(function ($$resolve, $$reject) { - if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor'); - resolve = $$resolve; - reject = $$reject; - }); - this.resolve = aFunction(resolve); - this.reject = aFunction(reject); -}; - -// 25.4.1.5 NewPromiseCapability(C) -module.exports.f = function (C) { - return new PromiseCapability(C); -}; - - -/***/ }), -/* 107 */, -/* 108 */ -/*!******************************************************!*\ - !*** ./node_modules/core-js/internals/shared-key.js ***! - \******************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var shared = __webpack_require__(/*! ../internals/shared */ 74); -var uid = __webpack_require__(/*! ../internals/uid */ 128); - -var keys = shared('keys'); - -module.exports = function (key) { - return keys[key] || (keys[key] = uid(key)); -}; - - -/***/ }), -/* 109 */ -/*!************************************************!*\ - !*** ./node_modules/core-js/internals/path.js ***! - \************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -module.exports = __webpack_require__(/*! ../internals/global */ 28); - - -/***/ }), -/* 110 */ -/*!*********************************************************!*\ - !*** ./node_modules/core-js/internals/enum-bug-keys.js ***! - \*********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -// IE8- don't enum bug keys -module.exports = [ - 'constructor', - 'hasOwnProperty', - 'isPrototypeOf', - 'propertyIsEnumerable', - 'toLocaleString', - 'toString', - 'valueOf' -]; - - -/***/ }), -/* 111 */ -/*!*************************************************************!*\ - !*** ./node_modules/core-js/internals/set-to-string-tag.js ***! - \*************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var defineProperty = __webpack_require__(/*! ../internals/object-define-property */ 59).f; -var has = __webpack_require__(/*! ../internals/has */ 47); -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ 32); - -var TO_STRING_TAG = wellKnownSymbol('toStringTag'); - -module.exports = function (it, TAG, STATIC) { - if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) { - defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG }); - } -}; - - -/***/ }), -/* 112 */, -/* 113 */, -/* 114 */, -/* 115 */, -/* 116 */, -/* 117 */, -/* 118 */, -/* 119 */ -/*!**********************************************************!*\ - !*** ./node_modules/core-js/internals/indexed-object.js ***! - \**********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var fails = __webpack_require__(/*! ../internals/fails */ 39); -var classof = __webpack_require__(/*! ../internals/classof-raw */ 49); - -var split = ''.split; - -// fallback for non-array-like ES3 and non-enumerable old V8 strings -module.exports = fails(function () { - // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 - // eslint-disable-next-line no-prototype-builtins - return !Object('z').propertyIsEnumerable(0); -}) ? function (it) { - return classof(it) == 'String' ? split.call(it, '') : Object(it); -} : Object; - - -/***/ }), -/* 120 */ -/*!*****************************************************!*\ - !*** ./node_modules/core-js/internals/to-object.js ***! - \*****************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ 51); - -// `ToObject` abstract operation -// https://tc39.github.io/ecma262/#sec-toobject -module.exports = function (argument) { - return Object(requireObjectCoercible(argument)); -}; - - -/***/ }), -/* 121 */ -/*!****************************************************!*\ - !*** ./node_modules/core-js/modules/es.promise.js ***! - \****************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var $ = __webpack_require__(/*! ../internals/export */ 43); -var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ 83); -var global = __webpack_require__(/*! ../internals/global */ 28); -var path = __webpack_require__(/*! ../internals/path */ 109); -var redefineAll = __webpack_require__(/*! ../internals/redefine-all */ 184); -var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ 111); -var setSpecies = __webpack_require__(/*! ../internals/set-species */ 185); -var isObject = __webpack_require__(/*! ../internals/is-object */ 44); -var aFunction = __webpack_require__(/*! ../internals/a-function */ 66); -var anInstance = __webpack_require__(/*! ../internals/an-instance */ 186); -var classof = __webpack_require__(/*! ../internals/classof-raw */ 49); -var iterate = __webpack_require__(/*! ../internals/iterate */ 141); -var checkCorrectnessOfIteration = __webpack_require__(/*! ../internals/check-correctness-of-iteration */ 190); -var speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ 142); -var task = __webpack_require__(/*! ../internals/task */ 131).set; -var microtask = __webpack_require__(/*! ../internals/microtask */ 191); -var promiseResolve = __webpack_require__(/*! ../internals/promise-resolve */ 165); -var hostReportErrors = __webpack_require__(/*! ../internals/host-report-errors */ 192); -var newPromiseCapabilityModule = __webpack_require__(/*! ../internals/new-promise-capability */ 106); -var perform = __webpack_require__(/*! ../internals/perform */ 143); -var userAgent = __webpack_require__(/*! ../internals/user-agent */ 105); -var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ 93); -var isForced = __webpack_require__(/*! ../internals/is-forced */ 129); -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ 32); - -var SPECIES = wellKnownSymbol('species'); -var PROMISE = 'Promise'; -var getInternalState = InternalStateModule.get; -var setInternalState = InternalStateModule.set; -var getInternalPromiseState = InternalStateModule.getterFor(PROMISE); -var PromiseConstructor = global[PROMISE]; -var TypeError = global.TypeError; -var document = global.document; -var process = global.process; -var $fetch = global.fetch; -var versions = process && process.versions; -var v8 = versions && versions.v8 || ''; -var newPromiseCapability = newPromiseCapabilityModule.f; -var newGenericPromiseCapability = newPromiseCapability; -var IS_NODE = classof(process) == 'process'; -var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent); -var UNHANDLED_REJECTION = 'unhandledrejection'; -var REJECTION_HANDLED = 'rejectionhandled'; -var PENDING = 0; -var FULFILLED = 1; -var REJECTED = 2; -var HANDLED = 1; -var UNHANDLED = 2; -var Internal, OwnPromiseCapability, PromiseWrapper; - -var FORCED = isForced(PROMISE, function () { - // correct subclassing with @@species support - var promise = PromiseConstructor.resolve(1); - var empty = function () { /* empty */ }; - var FakePromise = (promise.constructor = {})[SPECIES] = function (exec) { - exec(empty, empty); - }; - // unhandled rejections tracking support, NodeJS Promise without it fails @@species test - return !((IS_NODE || typeof PromiseRejectionEvent == 'function') - && (!IS_PURE || promise['finally']) - && promise.then(empty) instanceof FakePromise - // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables - // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 - // we can't detect it synchronously, so just check versions - && v8.indexOf('6.6') !== 0 - && userAgent.indexOf('Chrome/66') === -1); -}); - -var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) { - PromiseConstructor.all(iterable)['catch'](function () { /* empty */ }); -}); - -// helpers -var isThenable = function (it) { - var then; - return isObject(it) && typeof (then = it.then) == 'function' ? then : false; -}; - -var notify = function (promise, state, isReject) { - if (state.notified) return; - state.notified = true; - var chain = state.reactions; - microtask(function () { - var value = state.value; - var ok = state.state == FULFILLED; - var index = 0; - // variable length - can't use forEach - while (chain.length > index) { - var reaction = chain[index++]; - var handler = ok ? reaction.ok : reaction.fail; - var resolve = reaction.resolve; - var reject = reaction.reject; - var domain = reaction.domain; - var result, then, exited; - try { - if (handler) { - if (!ok) { - if (state.rejection === UNHANDLED) onHandleUnhandled(promise, state); - state.rejection = HANDLED; - } - if (handler === true) result = value; - else { - if (domain) domain.enter(); - result = handler(value); // can throw - if (domain) { - domain.exit(); - exited = true; - } - } - if (result === reaction.promise) { - reject(TypeError('Promise-chain cycle')); - } else if (then = isThenable(result)) { - then.call(result, resolve, reject); - } else resolve(result); - } else reject(value); - } catch (error) { - if (domain && !exited) domain.exit(); - reject(error); - } - } - state.reactions = []; - state.notified = false; - if (isReject && !state.rejection) onUnhandled(promise, state); - }); -}; - -var dispatchEvent = function (name, promise, reason) { - var event, handler; - if (DISPATCH_EVENT) { - event = document.createEvent('Event'); - event.promise = promise; - event.reason = reason; - event.initEvent(name, false, true); - global.dispatchEvent(event); - } else event = { promise: promise, reason: reason }; - if (handler = global['on' + name]) handler(event); - else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason); -}; - -var onUnhandled = function (promise, state) { - task.call(global, function () { - var value = state.value; - var IS_UNHANDLED = isUnhandled(state); - var result; - if (IS_UNHANDLED) { - result = perform(function () { - if (IS_NODE) { - process.emit('unhandledRejection', value, promise); - } else dispatchEvent(UNHANDLED_REJECTION, promise, value); - }); - // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should - state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED; - if (result.error) throw result.value; - } - }); -}; - -var isUnhandled = function (state) { - return state.rejection !== HANDLED && !state.parent; -}; - -var onHandleUnhandled = function (promise, state) { - task.call(global, function () { - if (IS_NODE) { - process.emit('rejectionHandled', promise); - } else dispatchEvent(REJECTION_HANDLED, promise, state.value); - }); -}; - -var bind = function (fn, promise, state, unwrap) { - return function (value) { - fn(promise, state, value, unwrap); - }; -}; - -var internalReject = function (promise, state, value, unwrap) { - if (state.done) return; - state.done = true; - if (unwrap) state = unwrap; - state.value = value; - state.state = REJECTED; - notify(promise, state, true); -}; - -var internalResolve = function (promise, state, value, unwrap) { - if (state.done) return; - state.done = true; - if (unwrap) state = unwrap; - try { - if (promise === value) throw TypeError("Promise can't be resolved itself"); - var then = isThenable(value); - if (then) { - microtask(function () { - var wrapper = { done: false }; - try { - then.call(value, - bind(internalResolve, promise, wrapper, state), - bind(internalReject, promise, wrapper, state) - ); - } catch (error) { - internalReject(promise, wrapper, error, state); - } - }); - } else { - state.value = value; - state.state = FULFILLED; - notify(promise, state, false); - } - } catch (error) { - internalReject(promise, { done: false }, error, state); - } -}; - -// constructor polyfill -if (FORCED) { - // 25.4.3.1 Promise(executor) - PromiseConstructor = function Promise(executor) { - anInstance(this, PromiseConstructor, PROMISE); - aFunction(executor); - Internal.call(this); - var state = getInternalState(this); - try { - executor(bind(internalResolve, this, state), bind(internalReject, this, state)); - } catch (error) { - internalReject(this, state, error); - } - }; - // eslint-disable-next-line no-unused-vars - Internal = function Promise(executor) { - setInternalState(this, { - type: PROMISE, - done: false, - notified: false, - parent: false, - reactions: [], - rejection: false, - state: PENDING, - value: undefined - }); - }; - Internal.prototype = redefineAll(PromiseConstructor.prototype, { - // `Promise.prototype.then` method - // https://tc39.github.io/ecma262/#sec-promise.prototype.then - then: function then(onFulfilled, onRejected) { - var state = getInternalPromiseState(this); - var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor)); - reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true; - reaction.fail = typeof onRejected == 'function' && onRejected; - reaction.domain = IS_NODE ? process.domain : undefined; - state.parent = true; - state.reactions.push(reaction); - if (state.state != PENDING) notify(this, state, false); - return reaction.promise; - }, - // `Promise.prototype.catch` method - // https://tc39.github.io/ecma262/#sec-promise.prototype.catch - 'catch': function (onRejected) { - return this.then(undefined, onRejected); - } - }); - OwnPromiseCapability = function () { - var promise = new Internal(); - var state = getInternalState(promise); - this.promise = promise; - this.resolve = bind(internalResolve, promise, state); - this.reject = bind(internalReject, promise, state); - }; - newPromiseCapabilityModule.f = newPromiseCapability = function (C) { - return C === PromiseConstructor || C === PromiseWrapper - ? new OwnPromiseCapability(C) - : newGenericPromiseCapability(C); - }; - - // wrap fetch result - if (!IS_PURE && typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, { - // eslint-disable-next-line no-unused-vars - fetch: function fetch(input) { - return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments)); - } - }); -} - -$({ global: true, wrap: true, forced: FORCED }, { - Promise: PromiseConstructor -}); - -setToStringTag(PromiseConstructor, PROMISE, false, true); -setSpecies(PROMISE); - -PromiseWrapper = path[PROMISE]; - -// statics -$({ target: PROMISE, stat: true, forced: FORCED }, { - // `Promise.reject` method - // https://tc39.github.io/ecma262/#sec-promise.reject - reject: function reject(r) { - var capability = newPromiseCapability(this); - capability.reject.call(undefined, r); - return capability.promise; - } -}); - -$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, { - // `Promise.resolve` method - // https://tc39.github.io/ecma262/#sec-promise.resolve - resolve: function resolve(x) { - return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x); - } -}); - -$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, { - // `Promise.all` method - // https://tc39.github.io/ecma262/#sec-promise.all - all: function all(iterable) { - var C = this; - var capability = newPromiseCapability(C); - var resolve = capability.resolve; - var reject = capability.reject; - var result = perform(function () { - var $promiseResolve = aFunction(C.resolve); - var values = []; - var counter = 0; - var remaining = 1; - iterate(iterable, function (promise) { - var index = counter++; - var alreadyCalled = false; - values.push(undefined); - remaining++; - $promiseResolve.call(C, promise).then(function (value) { - if (alreadyCalled) return; - alreadyCalled = true; - values[index] = value; - --remaining || resolve(values); - }, reject); - }); - --remaining || resolve(values); - }); - if (result.error) reject(result.value); - return capability.promise; - }, - // `Promise.race` method - // https://tc39.github.io/ecma262/#sec-promise.race - race: function race(iterable) { - var C = this; - var capability = newPromiseCapability(C); - var reject = capability.reject; - var result = perform(function () { - var $promiseResolve = aFunction(C.resolve); - iterate(iterable, function (promise) { - $promiseResolve.call(C, promise).then(capability.resolve, reject); - }); - }); - if (result.error) reject(result.value); - return capability.promise; - } -}); - - -/***/ }), -/* 122 */, -/* 123 */, -/* 124 */ -/*!***********************************!*\ - !*** (webpack)/buildin/global.js ***! - \***********************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -var g; - -// This works in non-strict mode -g = (function() { - return this; -})(); - -try { - // This works if eval is allowed (see CSP) - g = g || new Function("return this")(); -} catch (e) { - // This works if the window reference is available - if (typeof window === "object") g = window; -} - -// g can still be undefined, but nothing to do about it... -// We return undefined, instead of nothing here, so it's -// easier to handle this case. if(!global) { ...} - -module.exports = g; - - -/***/ }), -/* 125 */ -/*!********************************************************!*\ - !*** ./node_modules/core-js/internals/to-primitive.js ***! - \********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var isObject = __webpack_require__(/*! ../internals/is-object */ 44); - -// `ToPrimitive` abstract operation -// https://tc39.github.io/ecma262/#sec-toprimitive -// instead of the ES6 spec version, we didn't implement @@toPrimitive case -// and the second argument - flag - preferred type is a string -module.exports = function (input, PREFERRED_STRING) { - if (!isObject(input)) return input; - var fn, val; - if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val; - if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val; - if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val; - throw TypeError("Can't convert object to primitive value"); -}; - - -/***/ }), -/* 126 */ -/*!**********************************************************!*\ - !*** ./node_modules/core-js/internals/ie8-dom-define.js ***! - \**********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ 50); -var fails = __webpack_require__(/*! ../internals/fails */ 39); -var createElement = __webpack_require__(/*! ../internals/document-create-element */ 102); - -// Thank's IE8 for his funny defineProperty -module.exports = !DESCRIPTORS && !fails(function () { - return Object.defineProperty(createElement('div'), 'a', { - get: function () { return 7; } - }).a != 7; -}); - - -/***/ }), -/* 127 */ -/*!**************************************************************!*\ - !*** ./node_modules/core-js/internals/function-to-string.js ***! - \**************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var shared = __webpack_require__(/*! ../internals/shared */ 74); - -module.exports = shared('native-function-to-string', Function.toString); - - -/***/ }), -/* 128 */ -/*!***********************************************!*\ - !*** ./node_modules/core-js/internals/uid.js ***! - \***********************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -var id = 0; -var postfix = Math.random(); - -module.exports = function (key) { - return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36); -}; - - -/***/ }), -/* 129 */ -/*!*****************************************************!*\ - !*** ./node_modules/core-js/internals/is-forced.js ***! - \*****************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var fails = __webpack_require__(/*! ../internals/fails */ 39); - -var replacement = /#|\.prototype\./; - -var isForced = function (feature, detection) { - var value = data[normalize(feature)]; - return value == POLYFILL ? true - : value == NATIVE ? false - : typeof detection == 'function' ? fails(detection) - : !!detection; -}; - -var normalize = isForced.normalize = function (string) { - return String(string).replace(replacement, '.').toLowerCase(); -}; - -var data = isForced.data = {}; -var NATIVE = isForced.NATIVE = 'N'; -var POLYFILL = isForced.POLYFILL = 'P'; - -module.exports = isForced; - - -/***/ }), -/* 130 */ -/*!***************************************************!*\ - !*** ./node_modules/core-js/internals/classof.js ***! - \***************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var classofRaw = __webpack_require__(/*! ../internals/classof-raw */ 49); -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ 32); - -var TO_STRING_TAG = wellKnownSymbol('toStringTag'); -// ES3 wrong here -var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments'; - -// fallback for IE11 Script Access Denied error -var tryGet = function (it, key) { - try { - return it[key]; - } catch (error) { /* empty */ } -}; - -// getting tag from ES6+ `Object.prototype.toString` -module.exports = function (it) { - var O, tag, result; - return it === undefined ? 'Undefined' : it === null ? 'Null' - // @@toStringTag case - : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag - // builtinTag case - : CORRECT_ARGUMENTS ? classofRaw(O) - // ES3 arguments fallback - : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result; -}; - - -/***/ }), -/* 131 */ -/*!************************************************!*\ - !*** ./node_modules/core-js/internals/task.js ***! - \************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ 28); -var fails = __webpack_require__(/*! ../internals/fails */ 39); -var classof = __webpack_require__(/*! ../internals/classof-raw */ 49); -var bind = __webpack_require__(/*! ../internals/bind-context */ 104); -var html = __webpack_require__(/*! ../internals/html */ 140); -var createElement = __webpack_require__(/*! ../internals/document-create-element */ 102); - -var location = global.location; -var set = global.setImmediate; -var clear = global.clearImmediate; -var process = global.process; -var MessageChannel = global.MessageChannel; -var Dispatch = global.Dispatch; -var counter = 0; -var queue = {}; -var ONREADYSTATECHANGE = 'onreadystatechange'; -var defer, channel, port; - -var run = function (id) { - // eslint-disable-next-line no-prototype-builtins - if (queue.hasOwnProperty(id)) { - var fn = queue[id]; - delete queue[id]; - fn(); - } -}; - -var runner = function (id) { - return function () { - run(id); - }; -}; - -var listener = function (event) { - run(event.data); -}; - -var post = function (id) { - // old engines have not location.origin - global.postMessage(id + '', location.protocol + '//' + location.host); -}; - -// Node.js 0.9+ & IE10+ has setImmediate, otherwise: -if (!set || !clear) { - set = function setImmediate(fn) { - var args = []; - var i = 1; - while (arguments.length > i) args.push(arguments[i++]); - queue[++counter] = function () { - // eslint-disable-next-line no-new-func - (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args); - }; - defer(counter); - return counter; - }; - clear = function clearImmediate(id) { - delete queue[id]; - }; - // Node.js 0.8- - if (classof(process) == 'process') { - defer = function (id) { - process.nextTick(runner(id)); - }; - // Sphere (JS game engine) Dispatch API - } else if (Dispatch && Dispatch.now) { - defer = function (id) { - Dispatch.now(runner(id)); - }; - // Browsers with MessageChannel, includes WebWorkers - } else if (MessageChannel) { - channel = new MessageChannel(); - port = channel.port2; - channel.port1.onmessage = listener; - defer = bind(port.postMessage, port, 1); - // Browsers with postMessage, skip WebWorkers - // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' - } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && !fails(post)) { - defer = post; - global.addEventListener('message', listener, false); - // IE8- - } else if (ONREADYSTATECHANGE in createElement('script')) { - defer = function (id) { - html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () { - html.removeChild(this); - run(id); - }; - }; - // Rest old browsers - } else { - defer = function (id) { - setTimeout(runner(id), 0); - }; - } -} - -module.exports = { - set: set, - clear: clear -}; - - -/***/ }), -/* 132 */, -/* 133 */, -/* 134 */, -/* 135 */, -/* 136 */, -/* 137 */, -/* 138 */, -/* 139 */ -/*!****************************************************************!*\ - !*** ./node_modules/core-js/internals/object-keys-internal.js ***! - \****************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var has = __webpack_require__(/*! ../internals/has */ 47); -var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ 71); -var indexOf = __webpack_require__(/*! ../internals/array-includes */ 162).indexOf; -var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ 103); - -module.exports = function (object, names) { - var O = toIndexedObject(object); - var i = 0; - var result = []; - var key; - for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key); - // Don't enum bug & hidden keys - while (names.length > i) if (has(O, key = names[i++])) { - ~indexOf(result, key) || result.push(key); - } - return result; -}; - - -/***/ }), -/* 140 */ -/*!************************************************!*\ - !*** ./node_modules/core-js/internals/html.js ***! - \************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ 65); - -module.exports = getBuiltIn('document', 'documentElement'); - - -/***/ }), -/* 141 */ -/*!***************************************************!*\ - !*** ./node_modules/core-js/internals/iterate.js ***! - \***************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var anObject = __webpack_require__(/*! ../internals/an-object */ 36); -var isArrayIteratorMethod = __webpack_require__(/*! ../internals/is-array-iterator-method */ 187); -var toLength = __webpack_require__(/*! ../internals/to-length */ 72); -var bind = __webpack_require__(/*! ../internals/bind-context */ 104); -var getIteratorMethod = __webpack_require__(/*! ../internals/get-iterator-method */ 188); -var callWithSafeIterationClosing = __webpack_require__(/*! ../internals/call-with-safe-iteration-closing */ 189); - -var Result = function (stopped, result) { - this.stopped = stopped; - this.result = result; -}; - -var iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) { - var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1); - var iterator, iterFn, index, length, result, step; - - if (IS_ITERATOR) { - iterator = iterable; - } else { - iterFn = getIteratorMethod(iterable); - if (typeof iterFn != 'function') throw TypeError('Target is not iterable'); - // optimisation for array iterators - if (isArrayIteratorMethod(iterFn)) { - for (index = 0, length = toLength(iterable.length); length > index; index++) { - result = AS_ENTRIES - ? boundFunction(anObject(step = iterable[index])[0], step[1]) - : boundFunction(iterable[index]); - if (result && result instanceof Result) return result; - } return new Result(false); - } - iterator = iterFn.call(iterable); - } - - while (!(step = iterator.next()).done) { - result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES); - if (result && result instanceof Result) return result; - } return new Result(false); -}; - -iterate.stop = function (result) { - return new Result(true, result); -}; - - -/***/ }), -/* 142 */ -/*!***************************************************************!*\ - !*** ./node_modules/core-js/internals/species-constructor.js ***! - \***************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var anObject = __webpack_require__(/*! ../internals/an-object */ 36); -var aFunction = __webpack_require__(/*! ../internals/a-function */ 66); -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ 32); - -var SPECIES = wellKnownSymbol('species'); - -// `SpeciesConstructor` abstract operation -// https://tc39.github.io/ecma262/#sec-speciesconstructor -module.exports = function (O, defaultConstructor) { - var C = anObject(O).constructor; - var S; - return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S); -}; - - -/***/ }), -/* 143 */ -/*!***************************************************!*\ - !*** ./node_modules/core-js/internals/perform.js ***! - \***************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -module.exports = function (exec) { - try { - return { error: false, value: exec() }; - } catch (error) { - return { error: true, value: error }; - } -}; - - -/***/ }), -/* 144 */, -/* 145 */, -/* 146 */, -/* 147 */, -/* 148 */ -/*!*********************************************************!*\ - !*** ./node_modules/core-js/internals/object-create.js ***! - \*********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var anObject = __webpack_require__(/*! ../internals/an-object */ 36); -var defineProperties = __webpack_require__(/*! ../internals/object-define-properties */ 221); -var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ 110); -var hiddenKeys = __webpack_require__(/*! ../internals/hidden-keys */ 103); -var html = __webpack_require__(/*! ../internals/html */ 140); -var documentCreateElement = __webpack_require__(/*! ../internals/document-create-element */ 102); -var sharedKey = __webpack_require__(/*! ../internals/shared-key */ 108); -var IE_PROTO = sharedKey('IE_PROTO'); - -var PROTOTYPE = 'prototype'; -var Empty = function () { /* empty */ }; - -// Create object with fake `null` prototype: use iframe Object with cleared prototype -var createDict = function () { - // Thrash, waste and sodomy: IE GC bug - var iframe = documentCreateElement('iframe'); - var length = enumBugKeys.length; - var lt = '<'; - var script = 'script'; - var gt = '>'; - var js = 'java' + script + ':'; - var iframeDocument; - iframe.style.display = 'none'; - html.appendChild(iframe); - iframe.src = String(js); - iframeDocument = iframe.contentWindow.document; - iframeDocument.open(); - iframeDocument.write(lt + script + gt + 'document.F=Object' + lt + '/' + script + gt); - iframeDocument.close(); - createDict = iframeDocument.F; - while (length--) delete createDict[PROTOTYPE][enumBugKeys[length]]; - return createDict(); -}; - -// `Object.create` method -// https://tc39.github.io/ecma262/#sec-object.create -module.exports = Object.create || function create(O, Properties) { - var result; - if (O !== null) { - Empty[PROTOTYPE] = anObject(O); - result = new Empty(); - Empty[PROTOTYPE] = null; - // add "__proto__" for Object.getPrototypeOf polyfill - result[IE_PROTO] = O; - } else result = createDict(); - return Properties === undefined ? result : defineProperties(result, Properties); -}; - -hiddenKeys[IE_PROTO] = true; - - -/***/ }), -/* 149 */ -/*!*******************************************************************!*\ - !*** ./node_modules/core-js/internals/object-get-prototype-of.js ***! - \*******************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var has = __webpack_require__(/*! ../internals/has */ 47); -var toObject = __webpack_require__(/*! ../internals/to-object */ 120); -var sharedKey = __webpack_require__(/*! ../internals/shared-key */ 108); -var CORRECT_PROTOTYPE_GETTER = __webpack_require__(/*! ../internals/correct-prototype-getter */ 224); - -var IE_PROTO = sharedKey('IE_PROTO'); -var ObjectPrototype = Object.prototype; - -// `Object.getPrototypeOf` method -// https://tc39.github.io/ecma262/#sec-object.getprototypeof -module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) { - O = toObject(O); - if (has(O, IE_PROTO)) return O[IE_PROTO]; - if (typeof O.constructor == 'function' && O instanceof O.constructor) { - return O.constructor.prototype; - } return O instanceof Object ? ObjectPrototype : null; -}; - - -/***/ }), -/* 150 */, -/* 151 */, -/* 152 */, -/* 153 */, -/* 154 */, -/* 155 */, -/* 156 */, -/* 157 */, -/* 158 */, -/* 159 */, -/* 160 */, -/* 161 */ -/*!*************************************************************************!*\ - !*** ./node_modules/core-js/internals/object-property-is-enumerable.js ***! - \*************************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var nativePropertyIsEnumerable = {}.propertyIsEnumerable; -var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; - -// Nashorn ~ JDK8 bug -var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1); - -// `Object.prototype.propertyIsEnumerable` method implementation -// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable -exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { - var descriptor = getOwnPropertyDescriptor(this, V); - return !!descriptor && descriptor.enumerable; -} : nativePropertyIsEnumerable; - - -/***/ }), -/* 162 */ -/*!**********************************************************!*\ - !*** ./node_modules/core-js/internals/array-includes.js ***! - \**********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ 71); -var toLength = __webpack_require__(/*! ../internals/to-length */ 72); -var toAbsoluteIndex = __webpack_require__(/*! ../internals/to-absolute-index */ 179); - -// `Array.prototype.{ indexOf, includes }` methods implementation -var createMethod = function (IS_INCLUDES) { - return function ($this, el, fromIndex) { - var O = toIndexedObject($this); - var length = toLength(O.length); - var index = toAbsoluteIndex(fromIndex, length); - var value; - // Array#includes uses SameValueZero equality algorithm - // eslint-disable-next-line no-self-compare - if (IS_INCLUDES && el != el) while (length > index) { - value = O[index++]; - // eslint-disable-next-line no-self-compare - if (value != value) return true; - // Array#indexOf ignores holes, Array#includes - not - } else for (;length > index; index++) { - if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; - } return !IS_INCLUDES && -1; - }; -}; - -module.exports = { - // `Array.prototype.includes` method - // https://tc39.github.io/ecma262/#sec-array.prototype.includes - includes: createMethod(true), - // `Array.prototype.indexOf` method - // https://tc39.github.io/ecma262/#sec-array.prototype.indexof - indexOf: createMethod(false) -}; - - -/***/ }), -/* 163 */ -/*!***************************************************************************!*\ - !*** ./node_modules/core-js/internals/object-get-own-property-symbols.js ***! - \***************************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -exports.f = Object.getOwnPropertySymbols; - - -/***/ }), -/* 164 */ -/*!**********************************************************!*\ - !*** ./node_modules/core-js/internals/iterators-core.js ***! - \**********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ 149); -var hide = __webpack_require__(/*! ../internals/hide */ 45); -var has = __webpack_require__(/*! ../internals/has */ 47); -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ 32); -var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ 83); - -var ITERATOR = wellKnownSymbol('iterator'); -var BUGGY_SAFARI_ITERATORS = false; - -var returnThis = function () { return this; }; - -// `%IteratorPrototype%` object -// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object -var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; - -if ([].keys) { - arrayIterator = [].keys(); - // Safari 8 has buggy iterators w/o `next` - if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true; - else { - PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator)); - if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype; - } -} - -if (IteratorPrototype == undefined) IteratorPrototype = {}; - -// 25.1.2.1.1 %IteratorPrototype%[@@iterator]() -if (!IS_PURE && !has(IteratorPrototype, ITERATOR)) hide(IteratorPrototype, ITERATOR, returnThis); - -module.exports = { - IteratorPrototype: IteratorPrototype, - BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS -}; - - -/***/ }), -/* 165 */ -/*!***********************************************************!*\ - !*** ./node_modules/core-js/internals/promise-resolve.js ***! - \***********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var anObject = __webpack_require__(/*! ../internals/an-object */ 36); -var isObject = __webpack_require__(/*! ../internals/is-object */ 44); -var newPromiseCapability = __webpack_require__(/*! ../internals/new-promise-capability */ 106); - -module.exports = function (C, x) { - anObject(C); - if (isObject(x) && x.constructor === C) return x; - var promiseCapability = newPromiseCapability.f(C); - var resolve = promiseCapability.resolve; - resolve(x); - return promiseCapability.promise; -}; - - -/***/ }), -/* 166 */, -/* 167 */, -/* 168 */, -/* 169 */, -/* 170 */, -/* 171 */, -/* 172 */, -/* 173 */, -/* 174 */, -/* 175 */ -/*!***********************************************************!*\ - !*** ./node_modules/core-js/internals/native-weak-map.js ***! - \***********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ 28); -var nativeFunctionToString = __webpack_require__(/*! ../internals/function-to-string */ 127); - -var WeakMap = global.WeakMap; - -module.exports = typeof WeakMap === 'function' && /native code/.test(nativeFunctionToString.call(WeakMap)); - - -/***/ }), -/* 176 */ -/*!***********************************************************************!*\ - !*** ./node_modules/core-js/internals/copy-constructor-properties.js ***! - \***********************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var has = __webpack_require__(/*! ../internals/has */ 47); -var ownKeys = __webpack_require__(/*! ../internals/own-keys */ 177); -var getOwnPropertyDescriptorModule = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ 90); -var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ 59); - -module.exports = function (target, source) { - var keys = ownKeys(source); - var defineProperty = definePropertyModule.f; - var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; - for (var i = 0; i < keys.length; i++) { - var key = keys[i]; - if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key)); - } -}; - - -/***/ }), -/* 177 */ -/*!****************************************************!*\ - !*** ./node_modules/core-js/internals/own-keys.js ***! - \****************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ 65); -var getOwnPropertyNamesModule = __webpack_require__(/*! ../internals/object-get-own-property-names */ 178); -var getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ 163); -var anObject = __webpack_require__(/*! ../internals/an-object */ 36); - -// all object keys, includes non-enumerable and symbols -module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { - var keys = getOwnPropertyNamesModule.f(anObject(it)); - var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; - return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys; -}; - - -/***/ }), -/* 178 */ -/*!*************************************************************************!*\ - !*** ./node_modules/core-js/internals/object-get-own-property-names.js ***! - \*************************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ 139); -var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ 110); - -var hiddenKeys = enumBugKeys.concat('length', 'prototype'); - -// `Object.getOwnPropertyNames` method -// https://tc39.github.io/ecma262/#sec-object.getownpropertynames -exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { - return internalObjectKeys(O, hiddenKeys); -}; - - -/***/ }), -/* 179 */ -/*!*************************************************************!*\ - !*** ./node_modules/core-js/internals/to-absolute-index.js ***! - \*************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var toInteger = __webpack_require__(/*! ../internals/to-integer */ 80); - -var max = Math.max; -var min = Math.min; - -// Helper for a popular repeating case of the spec: -// Let integer be ? ToInteger(index). -// If integer < 0, let result be max((length + integer), 0); else let result be min(length, length). -module.exports = function (index, length) { - var integer = toInteger(index); - return integer < 0 ? max(integer + length, 0) : min(integer, length); -}; - - -/***/ }), -/* 180 */ -/*!*********************************************************!*\ - !*** ./node_modules/core-js/internals/native-symbol.js ***! - \*********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var fails = __webpack_require__(/*! ../internals/fails */ 39); - -module.exports = !!Object.getOwnPropertySymbols && !fails(function () { - // Chrome 38 Symbol has incorrect toString conversion - // eslint-disable-next-line no-undef - return !String(Symbol()); -}); - - -/***/ }), -/* 181 */ -/*!************************************************************!*\ - !*** ./node_modules/core-js/internals/object-to-string.js ***! - \************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var classof = __webpack_require__(/*! ../internals/classof */ 130); -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ 32); - -var TO_STRING_TAG = wellKnownSymbol('toStringTag'); -var test = {}; - -test[TO_STRING_TAG] = 'z'; - -// `Object.prototype.toString` method implementation -// https://tc39.github.io/ecma262/#sec-object.prototype.tostring -module.exports = String(test) !== '[object z]' ? function toString() { - return '[object ' + classof(this) + ']'; -} : test.toString; - - -/***/ }), -/* 182 */ -/*!************************************************************!*\ - !*** ./node_modules/core-js/internals/string-multibyte.js ***! - \************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var toInteger = __webpack_require__(/*! ../internals/to-integer */ 80); -var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ 51); - -// `String.prototype.{ codePointAt, at }` methods implementation -var createMethod = function (CONVERT_TO_STRING) { - return function ($this, pos) { - var S = String(requireObjectCoercible($this)); - var position = toInteger(pos); - var size = S.length; - var first, second; - if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined; - first = S.charCodeAt(position); - return first < 0xD800 || first > 0xDBFF || position + 1 === size - || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF - ? CONVERT_TO_STRING ? S.charAt(position) : first - : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000; - }; -}; - -module.exports = { - // `String.prototype.codePointAt` method - // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat - codeAt: createMethod(false), - // `String.prototype.at` method - // https://github.com/mathiasbynens/String.prototype.at - charAt: createMethod(true) -}; - - -/***/ }), -/* 183 */ -/*!***********************************************************!*\ - !*** ./node_modules/core-js/modules/es.array.iterator.js ***! - \***********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var toIndexedObject = __webpack_require__(/*! ../internals/to-indexed-object */ 71); -var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ 213); -var Iterators = __webpack_require__(/*! ../internals/iterators */ 73); -var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ 93); -var defineIterator = __webpack_require__(/*! ../internals/define-iterator */ 214); - -var ARRAY_ITERATOR = 'Array Iterator'; -var setInternalState = InternalStateModule.set; -var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR); - -// `Array.prototype.entries` method -// https://tc39.github.io/ecma262/#sec-array.prototype.entries -// `Array.prototype.keys` method -// https://tc39.github.io/ecma262/#sec-array.prototype.keys -// `Array.prototype.values` method -// https://tc39.github.io/ecma262/#sec-array.prototype.values -// `Array.prototype[@@iterator]` method -// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator -// `CreateArrayIterator` internal method -// https://tc39.github.io/ecma262/#sec-createarrayiterator -module.exports = defineIterator(Array, 'Array', function (iterated, kind) { - setInternalState(this, { - type: ARRAY_ITERATOR, - target: toIndexedObject(iterated), // target - index: 0, // next index - kind: kind // kind - }); -// `%ArrayIteratorPrototype%.next` method -// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next -}, function () { - var state = getInternalState(this); - var target = state.target; - var kind = state.kind; - var index = state.index++; - if (!target || index >= target.length) { - state.target = undefined; - return { value: undefined, done: true }; - } - if (kind == 'keys') return { value: index, done: false }; - if (kind == 'values') return { value: target[index], done: false }; - return { value: [index, target[index]], done: false }; -}, 'values'); - -// argumentsList[@@iterator] is %ArrayProto_values% -// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject -// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject -Iterators.Arguments = Iterators.Array; - -// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables -addToUnscopables('keys'); -addToUnscopables('values'); -addToUnscopables('entries'); - - -/***/ }), -/* 184 */ -/*!********************************************************!*\ - !*** ./node_modules/core-js/internals/redefine-all.js ***! - \********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var redefine = __webpack_require__(/*! ../internals/redefine */ 54); - -module.exports = function (target, src, options) { - for (var key in src) redefine(target, key, src[key], options); - return target; -}; - - -/***/ }), -/* 185 */ -/*!*******************************************************!*\ - !*** ./node_modules/core-js/internals/set-species.js ***! - \*******************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ 65); -var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ 59); -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ 32); -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ 50); - -var SPECIES = wellKnownSymbol('species'); - -module.exports = function (CONSTRUCTOR_NAME) { - var Constructor = getBuiltIn(CONSTRUCTOR_NAME); - var defineProperty = definePropertyModule.f; - - if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) { - defineProperty(Constructor, SPECIES, { - configurable: true, - get: function () { return this; } - }); - } -}; - - -/***/ }), -/* 186 */ -/*!*******************************************************!*\ - !*** ./node_modules/core-js/internals/an-instance.js ***! - \*******************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -module.exports = function (it, Constructor, name) { - if (!(it instanceof Constructor)) { - throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation'); - } return it; -}; - - -/***/ }), -/* 187 */ -/*!********************************************************************!*\ - !*** ./node_modules/core-js/internals/is-array-iterator-method.js ***! - \********************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ 32); -var Iterators = __webpack_require__(/*! ../internals/iterators */ 73); - -var ITERATOR = wellKnownSymbol('iterator'); -var ArrayPrototype = Array.prototype; - -// check on default Array iterator -module.exports = function (it) { - return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); -}; - - -/***/ }), -/* 188 */ -/*!***************************************************************!*\ - !*** ./node_modules/core-js/internals/get-iterator-method.js ***! - \***************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var classof = __webpack_require__(/*! ../internals/classof */ 130); -var Iterators = __webpack_require__(/*! ../internals/iterators */ 73); -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ 32); - -var ITERATOR = wellKnownSymbol('iterator'); - -module.exports = function (it) { - if (it != undefined) return it[ITERATOR] - || it['@@iterator'] - || Iterators[classof(it)]; -}; - - -/***/ }), -/* 189 */ -/*!****************************************************************************!*\ - !*** ./node_modules/core-js/internals/call-with-safe-iteration-closing.js ***! - \****************************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var anObject = __webpack_require__(/*! ../internals/an-object */ 36); - -// call something on iterator step with safe closing on error -module.exports = function (iterator, fn, value, ENTRIES) { - try { - return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value); - // 7.4.6 IteratorClose(iterator, completion) - } catch (error) { - var returnMethod = iterator['return']; - if (returnMethod !== undefined) anObject(returnMethod.call(iterator)); - throw error; - } -}; - - -/***/ }), -/* 190 */ -/*!**************************************************************************!*\ - !*** ./node_modules/core-js/internals/check-correctness-of-iteration.js ***! - \**************************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ 32); - -var ITERATOR = wellKnownSymbol('iterator'); -var SAFE_CLOSING = false; - -try { - var called = 0; - var iteratorWithReturn = { - next: function () { - return { done: !!called++ }; - }, - 'return': function () { - SAFE_CLOSING = true; - } - }; - iteratorWithReturn[ITERATOR] = function () { - return this; - }; - // eslint-disable-next-line no-throw-literal - Array.from(iteratorWithReturn, function () { throw 2; }); -} catch (error) { /* empty */ } - -module.exports = function (exec, SKIP_CLOSING) { - if (!SKIP_CLOSING && !SAFE_CLOSING) return false; - var ITERATION_SUPPORT = false; - try { - var object = {}; - object[ITERATOR] = function () { - return { - next: function () { - return { done: ITERATION_SUPPORT = true }; - } - }; - }; - exec(object); - } catch (error) { /* empty */ } - return ITERATION_SUPPORT; -}; - - -/***/ }), -/* 191 */ -/*!*****************************************************!*\ - !*** ./node_modules/core-js/internals/microtask.js ***! - \*****************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ 28); -var getOwnPropertyDescriptor = __webpack_require__(/*! ../internals/object-get-own-property-descriptor */ 90).f; -var classof = __webpack_require__(/*! ../internals/classof-raw */ 49); -var macrotask = __webpack_require__(/*! ../internals/task */ 131).set; -var userAgent = __webpack_require__(/*! ../internals/user-agent */ 105); - -var MutationObserver = global.MutationObserver || global.WebKitMutationObserver; -var process = global.process; -var Promise = global.Promise; -var IS_NODE = classof(process) == 'process'; -// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask` -var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask'); -var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value; - -var flush, head, last, notify, toggle, node, promise; - -// modern engines have queueMicrotask method -if (!queueMicrotask) { - flush = function () { - var parent, fn; - if (IS_NODE && (parent = process.domain)) parent.exit(); - while (head) { - fn = head.fn; - head = head.next; - try { - fn(); - } catch (error) { - if (head) notify(); - else last = undefined; - throw error; - } - } last = undefined; - if (parent) parent.enter(); - }; - - // Node.js - if (IS_NODE) { - notify = function () { - process.nextTick(flush); - }; - // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339 - } else if (MutationObserver && !/(iphone|ipod|ipad).*applewebkit/i.test(userAgent)) { - toggle = true; - node = document.createTextNode(''); - new MutationObserver(flush).observe(node, { characterData: true }); // eslint-disable-line no-new - notify = function () { - node.data = toggle = !toggle; - }; - // environments with maybe non-completely correct, but existent Promise - } else if (Promise && Promise.resolve) { - // Promise.resolve without an argument throws an error in LG WebOS 2 - promise = Promise.resolve(undefined); - notify = function () { - promise.then(flush); - }; - // for other environments - macrotask based on: - // - setImmediate - // - MessageChannel - // - window.postMessag - // - onreadystatechange - // - setTimeout - } else { - notify = function () { - // strange IE + webpack dev server bug - use .call(global) - macrotask.call(global, flush); - }; - } -} - -module.exports = queueMicrotask || function (fn) { - var task = { fn: fn, next: undefined }; - if (last) last.next = task; - if (!head) { - head = task; - notify(); - } last = task; -}; - - -/***/ }), -/* 192 */ -/*!**************************************************************!*\ - !*** ./node_modules/core-js/internals/host-report-errors.js ***! - \**************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ 28); - -module.exports = function (a, b) { - var console = global.console; - if (console && console.error) { - arguments.length === 1 ? console.error(a) : console.error(a, b); - } -}; - - -/***/ }), -/* 193 */, -/* 194 */, -/* 195 */, -/* 196 */, -/* 197 */, -/* 198 */, -/* 199 */, -/* 200 */, -/* 201 */, -/* 202 */, -/* 203 */, -/* 204 */, -/* 205 */, -/* 206 */, -/* 207 */, -/* 208 */, -/* 209 */, -/* 210 */, -/* 211 */, -/* 212 */ -/*!*******************************************************!*\ - !*** ./node_modules/core-js/internals/object-keys.js ***! - \*******************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var internalObjectKeys = __webpack_require__(/*! ../internals/object-keys-internal */ 139); -var enumBugKeys = __webpack_require__(/*! ../internals/enum-bug-keys */ 110); - -// `Object.keys` method -// https://tc39.github.io/ecma262/#sec-object.keys -module.exports = Object.keys || function keys(O) { - return internalObjectKeys(O, enumBugKeys); -}; - - -/***/ }), -/* 213 */ -/*!**************************************************************!*\ - !*** ./node_modules/core-js/internals/add-to-unscopables.js ***! - \**************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ 32); -var create = __webpack_require__(/*! ../internals/object-create */ 148); -var hide = __webpack_require__(/*! ../internals/hide */ 45); - -var UNSCOPABLES = wellKnownSymbol('unscopables'); -var ArrayPrototype = Array.prototype; - -// Array.prototype[@@unscopables] -// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables -if (ArrayPrototype[UNSCOPABLES] == undefined) { - hide(ArrayPrototype, UNSCOPABLES, create(null)); -} - -// add a key to Array.prototype[@@unscopables] -module.exports = function (key) { - ArrayPrototype[UNSCOPABLES][key] = true; -}; - - -/***/ }), -/* 214 */ -/*!***********************************************************!*\ - !*** ./node_modules/core-js/internals/define-iterator.js ***! - \***********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var $ = __webpack_require__(/*! ../internals/export */ 43); -var createIteratorConstructor = __webpack_require__(/*! ../internals/create-iterator-constructor */ 223); -var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ 149); -var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ 215); -var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ 111); -var hide = __webpack_require__(/*! ../internals/hide */ 45); -var redefine = __webpack_require__(/*! ../internals/redefine */ 54); -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ 32); -var IS_PURE = __webpack_require__(/*! ../internals/is-pure */ 83); -var Iterators = __webpack_require__(/*! ../internals/iterators */ 73); -var IteratorsCore = __webpack_require__(/*! ../internals/iterators-core */ 164); - -var IteratorPrototype = IteratorsCore.IteratorPrototype; -var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS; -var ITERATOR = wellKnownSymbol('iterator'); -var KEYS = 'keys'; -var VALUES = 'values'; -var ENTRIES = 'entries'; - -var returnThis = function () { return this; }; - -module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) { - createIteratorConstructor(IteratorConstructor, NAME, next); - - var getIterationMethod = function (KIND) { - if (KIND === DEFAULT && defaultIterator) return defaultIterator; - if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND]; - switch (KIND) { - case KEYS: return function keys() { return new IteratorConstructor(this, KIND); }; - case VALUES: return function values() { return new IteratorConstructor(this, KIND); }; - case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); }; - } return function () { return new IteratorConstructor(this); }; - }; - - var TO_STRING_TAG = NAME + ' Iterator'; - var INCORRECT_VALUES_NAME = false; - var IterablePrototype = Iterable.prototype; - var nativeIterator = IterablePrototype[ITERATOR] - || IterablePrototype['@@iterator'] - || DEFAULT && IterablePrototype[DEFAULT]; - var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT); - var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator; - var CurrentIteratorPrototype, methods, KEY; - - // fix native - if (anyNativeIterator) { - CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable())); - if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) { - if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) { - if (setPrototypeOf) { - setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype); - } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') { - hide(CurrentIteratorPrototype, ITERATOR, returnThis); - } - } - // Set @@toStringTag to native iterators - setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true); - if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis; - } - } - - // fix Array#{values, @@iterator}.name in V8 / FF - if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) { - INCORRECT_VALUES_NAME = true; - defaultIterator = function values() { return nativeIterator.call(this); }; - } - - // define iterator - if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) { - hide(IterablePrototype, ITERATOR, defaultIterator); - } - Iterators[NAME] = defaultIterator; - - // export additional methods - if (DEFAULT) { - methods = { - values: getIterationMethod(VALUES), - keys: IS_SET ? defaultIterator : getIterationMethod(KEYS), - entries: getIterationMethod(ENTRIES) - }; - if (FORCED) for (KEY in methods) { - if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) { - redefine(IterablePrototype, KEY, methods[KEY]); - } - } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods); - } - - return methods; -}; - - -/***/ }), -/* 215 */ -/*!*******************************************************************!*\ - !*** ./node_modules/core-js/internals/object-set-prototype-of.js ***! - \*******************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var anObject = __webpack_require__(/*! ../internals/an-object */ 36); -var aPossiblePrototype = __webpack_require__(/*! ../internals/a-possible-prototype */ 225); - -// `Object.setPrototypeOf` method -// https://tc39.github.io/ecma262/#sec-object.setprototypeof -// Works with __proto__ only. Old v8 can't work with null proto objects. -/* eslint-disable no-proto */ -module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () { - var CORRECT_SETTER = false; - var test = {}; - var setter; - try { - setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set; - setter.call(test, []); - CORRECT_SETTER = test instanceof Array; - } catch (error) { /* empty */ } - return function setPrototypeOf(O, proto) { - anObject(O); - aPossiblePrototype(proto); - if (CORRECT_SETTER) setter.call(O, proto); - else O.__proto__ = proto; - return O; - }; -}() : undefined); - - -/***/ }), -/* 216 */, -/* 217 */, -/* 218 */, -/* 219 */, -/* 220 */, -/* 221 */ -/*!********************************************************************!*\ - !*** ./node_modules/core-js/internals/object-define-properties.js ***! - \********************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ 50); -var definePropertyModule = __webpack_require__(/*! ../internals/object-define-property */ 59); -var anObject = __webpack_require__(/*! ../internals/an-object */ 36); -var objectKeys = __webpack_require__(/*! ../internals/object-keys */ 212); - -// `Object.defineProperties` method -// https://tc39.github.io/ecma262/#sec-object.defineproperties -module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) { - anObject(O); - var keys = objectKeys(Properties); - var length = keys.length; - var index = 0; - var key; - while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]); - return O; -}; - - -/***/ }), -/* 222 */ -/*!*****************************************************!*\ - !*** ./node_modules/core-js/internals/is-regexp.js ***! - \*****************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var isObject = __webpack_require__(/*! ../internals/is-object */ 44); -var classof = __webpack_require__(/*! ../internals/classof-raw */ 49); -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ 32); - -var MATCH = wellKnownSymbol('match'); - -// `IsRegExp` abstract operation -// https://tc39.github.io/ecma262/#sec-isregexp -module.exports = function (it) { - var isRegExp; - return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp'); -}; - - -/***/ }), -/* 223 */ -/*!***********************************************************************!*\ - !*** ./node_modules/core-js/internals/create-iterator-constructor.js ***! - \***********************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var IteratorPrototype = __webpack_require__(/*! ../internals/iterators-core */ 164).IteratorPrototype; -var create = __webpack_require__(/*! ../internals/object-create */ 148); -var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ 91); -var setToStringTag = __webpack_require__(/*! ../internals/set-to-string-tag */ 111); -var Iterators = __webpack_require__(/*! ../internals/iterators */ 73); - -var returnThis = function () { return this; }; - -module.exports = function (IteratorConstructor, NAME, next) { - var TO_STRING_TAG = NAME + ' Iterator'; - IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) }); - setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true); - Iterators[TO_STRING_TAG] = returnThis; - return IteratorConstructor; -}; - - -/***/ }), -/* 224 */ -/*!********************************************************************!*\ - !*** ./node_modules/core-js/internals/correct-prototype-getter.js ***! - \********************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var fails = __webpack_require__(/*! ../internals/fails */ 39); - -module.exports = !fails(function () { - function F() { /* empty */ } - F.prototype.constructor = null; - return Object.getPrototypeOf(new F()) !== F.prototype; -}); - - -/***/ }), -/* 225 */ -/*!****************************************************************!*\ - !*** ./node_modules/core-js/internals/a-possible-prototype.js ***! - \****************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var isObject = __webpack_require__(/*! ../internals/is-object */ 44); - -module.exports = function (it) { - if (!isObject(it) && it !== null) { - throw TypeError("Can't set " + String(it) + ' as a prototype'); - } return it; -}; - - -/***/ }), -/* 226 */ -/*!**********************************************************************!*\ - !*** ./node_modules/core-js/modules/web.dom-collections.iterator.js ***! - \**********************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ 28); -var DOMIterables = __webpack_require__(/*! ../internals/dom-iterables */ 227); -var ArrayIteratorMethods = __webpack_require__(/*! ../modules/es.array.iterator */ 183); -var hide = __webpack_require__(/*! ../internals/hide */ 45); -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ 32); - -var ITERATOR = wellKnownSymbol('iterator'); -var TO_STRING_TAG = wellKnownSymbol('toStringTag'); -var ArrayValues = ArrayIteratorMethods.values; - -for (var COLLECTION_NAME in DOMIterables) { - var Collection = global[COLLECTION_NAME]; - var CollectionPrototype = Collection && Collection.prototype; - if (CollectionPrototype) { - // some Chrome versions have non-configurable methods on DOMTokenList - if (CollectionPrototype[ITERATOR] !== ArrayValues) try { - hide(CollectionPrototype, ITERATOR, ArrayValues); - } catch (error) { - CollectionPrototype[ITERATOR] = ArrayValues; - } - if (!CollectionPrototype[TO_STRING_TAG]) hide(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME); - if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) { - // some Chrome versions have non-configurable methods on DOMTokenList - if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try { - hide(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]); - } catch (error) { - CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME]; - } - } - } -} - - -/***/ }), -/* 227 */ -/*!*********************************************************!*\ - !*** ./node_modules/core-js/internals/dom-iterables.js ***! - \*********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -// iterable DOM collections -// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods -module.exports = { - CSSRuleList: 0, - CSSStyleDeclaration: 0, - CSSValueList: 0, - ClientRectList: 0, - DOMRectList: 0, - DOMStringList: 0, - DOMTokenList: 1, - DataTransferItemList: 0, - FileList: 0, - HTMLAllCollection: 0, - HTMLCollection: 0, - HTMLFormElement: 0, - HTMLSelectElement: 0, - MediaList: 0, - MimeTypeArray: 0, - NamedNodeMap: 0, - NodeList: 1, - PaintRequestList: 0, - Plugin: 0, - PluginArray: 0, - SVGLengthList: 0, - SVGNumberList: 0, - SVGPathSegList: 0, - SVGPointList: 0, - SVGStringList: 0, - SVGTransformList: 0, - SourceBufferList: 0, - StyleSheetList: 0, - TextTrackCueList: 0, - TextTrackList: 0, - TouchList: 0 -}; - - -/***/ }), -/* 228 */, -/* 229 */, -/* 230 */, -/* 231 */, -/* 232 */, -/* 233 */, -/* 234 */, -/* 235 */, -/* 236 */, -/* 237 */, -/* 238 */, -/* 239 */, -/* 240 */, -/* 241 */, -/* 242 */, -/* 243 */, -/* 244 */, -/* 245 */, -/* 246 */, -/* 247 */, -/* 248 */, -/* 249 */, -/* 250 */, -/* 251 */, -/* 252 */, -/* 253 */, -/* 254 */, -/* 255 */, -/* 256 */, -/* 257 */, -/* 258 */, -/* 259 */, -/* 260 */, -/* 261 */, -/* 262 */, -/* 263 */, -/* 264 */, -/* 265 */, -/* 266 */, -/* 267 */, -/* 268 */, -/* 269 */, -/* 270 */, -/* 271 */, -/* 272 */, -/* 273 */, -/* 274 */, -/* 275 */, -/* 276 */, -/* 277 */, -/* 278 */, -/* 279 */, -/* 280 */, -/* 281 */, -/* 282 */, -/* 283 */, -/* 284 */, -/* 285 */, -/* 286 */, -/* 287 */, -/* 288 */, -/* 289 */, -/* 290 */, -/* 291 */, -/* 292 */, -/* 293 */, -/* 294 */, -/* 295 */, -/* 296 */, -/* 297 */, -/* 298 */, -/* 299 */, -/* 300 */, -/* 301 */, -/* 302 */, -/* 303 */, -/* 304 */, -/* 305 */, -/* 306 */, -/* 307 */, -/* 308 */, -/* 309 */, -/* 310 */, -/* 311 */, -/* 312 */, -/* 313 */, -/* 314 */, -/* 315 */, -/* 316 */, -/* 317 */, -/* 318 */, -/* 319 */, -/* 320 */, -/* 321 */, -/* 322 */, -/* 323 */, -/* 324 */, -/* 325 */, -/* 326 */, -/* 327 */, -/* 328 */, -/* 329 */, -/* 330 */, -/* 331 */, -/* 332 */, -/* 333 */, -/* 334 */, -/* 335 */, -/* 336 */, -/* 337 */, -/* 338 */, -/* 339 */, -/* 340 */, -/* 341 */, -/* 342 */, -/* 343 */, -/* 344 */, -/* 345 */, -/* 346 */, -/* 347 */, -/* 348 */, -/* 349 */, -/* 350 */, -/* 351 */, -/* 352 */, -/* 353 */, -/* 354 */, -/* 355 */, -/* 356 */, -/* 357 */, -/* 358 */, -/* 359 */, -/* 360 */, -/* 361 */, -/* 362 */, -/* 363 */, -/* 364 */, -/* 365 */, -/* 366 */, -/* 367 */, -/* 368 */, -/* 369 */, -/* 370 */, -/* 371 */, -/* 372 */, -/* 373 */, -/* 374 */, -/* 375 */, -/* 376 */, -/* 377 */, -/* 378 */, -/* 379 */, -/* 380 */, -/* 381 */, -/* 382 */, -/* 383 */, -/* 384 */, -/* 385 */, -/* 386 */, -/* 387 */, -/* 388 */, -/* 389 */, -/* 390 */, -/* 391 */, -/* 392 */, -/* 393 */, -/* 394 */ -/*!********************************************************!*\ - !*** ./node_modules/core-js/internals/entry-unbind.js ***! - \********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var global = __webpack_require__(/*! ../internals/global */ 28); -var bind = __webpack_require__(/*! ../internals/bind-context */ 104); - -var call = Function.call; - -module.exports = function (CONSTRUCTOR, METHOD, length) { - return bind(call, global[CONSTRUCTOR].prototype[METHOD], length); -}; - - -/***/ }), -/* 395 */, -/* 396 */, -/* 397 */, -/* 398 */, -/* 399 */, -/* 400 */, -/* 401 */, -/* 402 */, -/* 403 */, -/* 404 */, -/* 405 */, -/* 406 */, -/* 407 */, -/* 408 */, -/* 409 */, -/* 410 */, -/* 411 */, -/* 412 */, -/* 413 */, -/* 414 */, -/* 415 */, -/* 416 */, -/* 417 */, -/* 418 */, -/* 419 */, -/* 420 */, -/* 421 */, -/* 422 */, -/* 423 */, -/* 424 */, -/* 425 */, -/* 426 */, -/* 427 */, -/* 428 */, -/* 429 */, -/* 430 */, -/* 431 */, -/* 432 */, -/* 433 */, -/* 434 */, -/* 435 */, -/* 436 */, -/* 437 */, -/* 438 */, -/* 439 */, -/* 440 */, -/* 441 */, -/* 442 */, -/* 443 */, -/* 444 */, -/* 445 */, -/* 446 */, -/* 447 */, -/* 448 */, -/* 449 */, -/* 450 */, -/* 451 */, -/* 452 */, -/* 453 */, -/* 454 */, -/* 455 */, -/* 456 */, -/* 457 */, -/* 458 */, -/* 459 */, -/* 460 */, -/* 461 */ -/*!**************************!*\ - !*** ./dev/polyfills.js ***! - \**************************/ -/*! no exports provided */ -/*! all exports used */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var core_js_features_object_assign__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/features/object/assign */ 462); -/* harmony import */ var core_js_features_object_assign__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_features_object_assign__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var core_js_features_array_includes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/features/array/includes */ 466); -/* harmony import */ var core_js_features_array_includes__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_features_array_includes__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var core_js_features_string_includes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/features/string/includes */ 469); -/* harmony import */ var core_js_features_string_includes__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_features_string_includes__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var core_js_features_promise__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/features/promise */ 474); -/* harmony import */ var core_js_features_promise__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_features_promise__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var raf_polyfill__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! raf/polyfill */ 482); -/* harmony import */ var raf_polyfill__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(raf_polyfill__WEBPACK_IMPORTED_MODULE_4__); - - - - - - -/***/ }), -/* 462 */ -/*!********************************************************!*\ - !*** ./node_modules/core-js/features/object/assign.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -module.exports = __webpack_require__(/*! ../../es/object/assign */ 463); - - -/***/ }), -/* 463 */ -/*!**************************************************!*\ - !*** ./node_modules/core-js/es/object/assign.js ***! - \**************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -__webpack_require__(/*! ../../modules/es.object.assign */ 464); -var path = __webpack_require__(/*! ../../internals/path */ 109); - -module.exports = path.Object.assign; - - -/***/ }), -/* 464 */ -/*!**********************************************************!*\ - !*** ./node_modules/core-js/modules/es.object.assign.js ***! - \**********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ 43); -var assign = __webpack_require__(/*! ../internals/object-assign */ 465); - -// `Object.assign` method -// https://tc39.github.io/ecma262/#sec-object.assign -$({ target: 'Object', stat: true, forced: Object.assign !== assign }, { - assign: assign -}); - - -/***/ }), -/* 465 */ -/*!*********************************************************!*\ - !*** ./node_modules/core-js/internals/object-assign.js ***! - \*********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ 50); -var fails = __webpack_require__(/*! ../internals/fails */ 39); -var objectKeys = __webpack_require__(/*! ../internals/object-keys */ 212); -var getOwnPropertySymbolsModule = __webpack_require__(/*! ../internals/object-get-own-property-symbols */ 163); -var propertyIsEnumerableModule = __webpack_require__(/*! ../internals/object-property-is-enumerable */ 161); -var toObject = __webpack_require__(/*! ../internals/to-object */ 120); -var IndexedObject = __webpack_require__(/*! ../internals/indexed-object */ 119); - -var nativeAssign = Object.assign; - -// `Object.assign` method -// https://tc39.github.io/ecma262/#sec-object.assign -// should work with symbols and should have deterministic property order (V8 bug) -module.exports = !nativeAssign || fails(function () { - var A = {}; - var B = {}; - // eslint-disable-next-line no-undef - var symbol = Symbol(); - var alphabet = 'abcdefghijklmnopqrst'; - A[symbol] = 7; - alphabet.split('').forEach(function (chr) { B[chr] = chr; }); - return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet; -}) ? function assign(target, source) { // eslint-disable-line no-unused-vars - var T = toObject(target); - var argumentsLength = arguments.length; - var index = 1; - var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; - var propertyIsEnumerable = propertyIsEnumerableModule.f; - while (argumentsLength > index) { - var S = IndexedObject(arguments[index++]); - var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S); - var length = keys.length; - var j = 0; - var key; - while (length > j) { - key = keys[j++]; - if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key]; - } - } return T; -} : nativeAssign; - - -/***/ }), -/* 466 */ -/*!*********************************************************!*\ - !*** ./node_modules/core-js/features/array/includes.js ***! - \*********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -module.exports = __webpack_require__(/*! ../../es/array/includes */ 467); - - -/***/ }), -/* 467 */ -/*!***************************************************!*\ - !*** ./node_modules/core-js/es/array/includes.js ***! - \***************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -__webpack_require__(/*! ../../modules/es.array.includes */ 468); -var entryUnbind = __webpack_require__(/*! ../../internals/entry-unbind */ 394); - -module.exports = entryUnbind('Array', 'includes'); - - -/***/ }), -/* 468 */ -/*!***********************************************************!*\ - !*** ./node_modules/core-js/modules/es.array.includes.js ***! - \***********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var $ = __webpack_require__(/*! ../internals/export */ 43); -var $includes = __webpack_require__(/*! ../internals/array-includes */ 162).includes; -var addToUnscopables = __webpack_require__(/*! ../internals/add-to-unscopables */ 213); - -// `Array.prototype.includes` method -// https://tc39.github.io/ecma262/#sec-array.prototype.includes -$({ target: 'Array', proto: true }, { - includes: function includes(el /* , fromIndex = 0 */) { - return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); - } -}); - -// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables -addToUnscopables('includes'); - - -/***/ }), -/* 469 */ -/*!**********************************************************!*\ - !*** ./node_modules/core-js/features/string/includes.js ***! - \**********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -module.exports = __webpack_require__(/*! ../../es/string/includes */ 470); - - -/***/ }), -/* 470 */ -/*!****************************************************!*\ - !*** ./node_modules/core-js/es/string/includes.js ***! - \****************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -__webpack_require__(/*! ../../modules/es.string.includes */ 471); -var entryUnbind = __webpack_require__(/*! ../../internals/entry-unbind */ 394); - -module.exports = entryUnbind('String', 'includes'); - - -/***/ }), -/* 471 */ -/*!************************************************************!*\ - !*** ./node_modules/core-js/modules/es.string.includes.js ***! - \************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var $ = __webpack_require__(/*! ../internals/export */ 43); -var notARegExp = __webpack_require__(/*! ../internals/not-a-regexp */ 472); -var requireObjectCoercible = __webpack_require__(/*! ../internals/require-object-coercible */ 51); -var correctIsRegExpLogic = __webpack_require__(/*! ../internals/correct-is-regexp-logic */ 473); - -// `String.prototype.includes` method -// https://tc39.github.io/ecma262/#sec-string.prototype.includes -$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, { - includes: function includes(searchString /* , position = 0 */) { - return !!~String(requireObjectCoercible(this)) - .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined); - } -}); - - -/***/ }), -/* 472 */ -/*!********************************************************!*\ - !*** ./node_modules/core-js/internals/not-a-regexp.js ***! - \********************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var isRegExp = __webpack_require__(/*! ../internals/is-regexp */ 222); - -module.exports = function (it) { - if (isRegExp(it)) { - throw TypeError("The method doesn't accept regular expressions"); - } return it; -}; - - -/***/ }), -/* 473 */ -/*!*******************************************************************!*\ - !*** ./node_modules/core-js/internals/correct-is-regexp-logic.js ***! - \*******************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var wellKnownSymbol = __webpack_require__(/*! ../internals/well-known-symbol */ 32); - -var MATCH = wellKnownSymbol('match'); - -module.exports = function (METHOD_NAME) { - var regexp = /./; - try { - '/./'[METHOD_NAME](regexp); - } catch (e) { - try { - regexp[MATCH] = false; - return '/./'[METHOD_NAME](regexp); - } catch (f) { /* empty */ } - } return false; -}; - - -/***/ }), -/* 474 */ -/*!********************************************************!*\ - !*** ./node_modules/core-js/features/promise/index.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -module.exports = __webpack_require__(/*! ../../es/promise */ 475); - -__webpack_require__(/*! ../../modules/esnext.aggregate-error */ 478); -__webpack_require__(/*! ../../modules/esnext.promise.all-settled */ 479); -__webpack_require__(/*! ../../modules/esnext.promise.try */ 480); -__webpack_require__(/*! ../../modules/esnext.promise.any */ 481); - - -/***/ }), -/* 475 */ -/*!**************************************************!*\ - !*** ./node_modules/core-js/es/promise/index.js ***! - \**************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -__webpack_require__(/*! ../../modules/es.object.to-string */ 55); -__webpack_require__(/*! ../../modules/es.string.iterator */ 476); -__webpack_require__(/*! ../../modules/web.dom-collections.iterator */ 226); -__webpack_require__(/*! ../../modules/es.promise */ 121); -__webpack_require__(/*! ../../modules/es.promise.finally */ 477); -var path = __webpack_require__(/*! ../../internals/path */ 109); - -module.exports = path.Promise; - - -/***/ }), -/* 476 */ -/*!************************************************************!*\ - !*** ./node_modules/core-js/modules/es.string.iterator.js ***! - \************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var charAt = __webpack_require__(/*! ../internals/string-multibyte */ 182).charAt; -var InternalStateModule = __webpack_require__(/*! ../internals/internal-state */ 93); -var defineIterator = __webpack_require__(/*! ../internals/define-iterator */ 214); - -var STRING_ITERATOR = 'String Iterator'; -var setInternalState = InternalStateModule.set; -var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); - -// `String.prototype[@@iterator]` method -// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator -defineIterator(String, 'String', function (iterated) { - setInternalState(this, { - type: STRING_ITERATOR, - string: String(iterated), - index: 0 - }); -// `%StringIteratorPrototype%.next` method -// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next -}, function next() { - var state = getInternalState(this); - var string = state.string; - var index = state.index; - var point; - if (index >= string.length) return { value: undefined, done: true }; - point = charAt(string, index); - state.index += point.length; - return { value: point, done: false }; -}); - - -/***/ }), -/* 477 */ -/*!************************************************************!*\ - !*** ./node_modules/core-js/modules/es.promise.finally.js ***! - \************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var $ = __webpack_require__(/*! ../internals/export */ 43); -var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ 65); -var speciesConstructor = __webpack_require__(/*! ../internals/species-constructor */ 142); -var promiseResolve = __webpack_require__(/*! ../internals/promise-resolve */ 165); - -// `Promise.prototype.finally` method -// https://tc39.github.io/ecma262/#sec-promise.prototype.finally -$({ target: 'Promise', proto: true, real: true }, { - 'finally': function (onFinally) { - var C = speciesConstructor(this, getBuiltIn('Promise')); - var isFunction = typeof onFinally == 'function'; - return this.then( - isFunction ? function (x) { - return promiseResolve(C, onFinally()).then(function () { return x; }); - } : onFinally, - isFunction ? function (e) { - return promiseResolve(C, onFinally()).then(function () { throw e; }); - } : onFinally - ); - } -}); - - -/***/ }), -/* 478 */ -/*!****************************************************************!*\ - !*** ./node_modules/core-js/modules/esnext.aggregate-error.js ***! - \****************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -var $ = __webpack_require__(/*! ../internals/export */ 43); -var getPrototypeOf = __webpack_require__(/*! ../internals/object-get-prototype-of */ 149); -var setPrototypeOf = __webpack_require__(/*! ../internals/object-set-prototype-of */ 215); -var create = __webpack_require__(/*! ../internals/object-create */ 148); -var createPropertyDescriptor = __webpack_require__(/*! ../internals/create-property-descriptor */ 91); -var iterate = __webpack_require__(/*! ../internals/iterate */ 141); -var hide = __webpack_require__(/*! ../internals/hide */ 45); - -var $AggregateError = function AggregateError(errors, message) { - var that = this; - if (!(that instanceof $AggregateError)) return new $AggregateError(errors, message); - if (setPrototypeOf) { - that = setPrototypeOf(new Error(message), getPrototypeOf(that)); - } - var errorsArray = []; - iterate(errors, errorsArray.push, errorsArray); - that.errors = errorsArray; - if (message !== undefined) hide(that, 'message', String(message)); - return that; -}; - -$AggregateError.prototype = create(Error.prototype, { - constructor: createPropertyDescriptor(5, $AggregateError), - name: createPropertyDescriptor(5, 'AggregateError') -}); - -$({ global: true }, { - AggregateError: $AggregateError -}); - - -/***/ }), -/* 479 */ -/*!********************************************************************!*\ - !*** ./node_modules/core-js/modules/esnext.promise.all-settled.js ***! - \********************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var $ = __webpack_require__(/*! ../internals/export */ 43); -var aFunction = __webpack_require__(/*! ../internals/a-function */ 66); -var newPromiseCapabilityModule = __webpack_require__(/*! ../internals/new-promise-capability */ 106); -var perform = __webpack_require__(/*! ../internals/perform */ 143); -var iterate = __webpack_require__(/*! ../internals/iterate */ 141); - -// `Promise.allSettled` method -// https://github.com/tc39/proposal-promise-allSettled -$({ target: 'Promise', stat: true }, { - allSettled: function allSettled(iterable) { - var C = this; - var capability = newPromiseCapabilityModule.f(C); - var resolve = capability.resolve; - var reject = capability.reject; - var result = perform(function () { - var promiseResolve = aFunction(C.resolve); - var values = []; - var counter = 0; - var remaining = 1; - iterate(iterable, function (promise) { - var index = counter++; - var alreadyCalled = false; - values.push(undefined); - remaining++; - promiseResolve.call(C, promise).then(function (value) { - if (alreadyCalled) return; - alreadyCalled = true; - values[index] = { status: 'fulfilled', value: value }; - --remaining || resolve(values); - }, function (e) { - if (alreadyCalled) return; - alreadyCalled = true; - values[index] = { status: 'rejected', reason: e }; - --remaining || resolve(values); - }); - }); - --remaining || resolve(values); - }); - if (result.error) reject(result.value); - return capability.promise; - } -}); - - -/***/ }), -/* 480 */ -/*!************************************************************!*\ - !*** ./node_modules/core-js/modules/esnext.promise.try.js ***! - \************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var $ = __webpack_require__(/*! ../internals/export */ 43); -var newPromiseCapabilityModule = __webpack_require__(/*! ../internals/new-promise-capability */ 106); -var perform = __webpack_require__(/*! ../internals/perform */ 143); - -// `Promise.try` method -// https://github.com/tc39/proposal-promise-try -$({ target: 'Promise', stat: true }, { - 'try': function (callbackfn) { - var promiseCapability = newPromiseCapabilityModule.f(this); - var result = perform(callbackfn); - (result.error ? promiseCapability.reject : promiseCapability.resolve)(result.value); - return promiseCapability.promise; - } -}); - - -/***/ }), -/* 481 */ -/*!************************************************************!*\ - !*** ./node_modules/core-js/modules/esnext.promise.any.js ***! - \************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var $ = __webpack_require__(/*! ../internals/export */ 43); -var aFunction = __webpack_require__(/*! ../internals/a-function */ 66); -var getBuiltIn = __webpack_require__(/*! ../internals/get-built-in */ 65); -var newPromiseCapabilityModule = __webpack_require__(/*! ../internals/new-promise-capability */ 106); -var perform = __webpack_require__(/*! ../internals/perform */ 143); -var iterate = __webpack_require__(/*! ../internals/iterate */ 141); - -var PROMISE_ANY_ERROR = 'No one promise resolved'; - -// `Promise.any` method -// https://github.com/tc39/proposal-promise-any -$({ target: 'Promise', stat: true }, { - any: function any(iterable) { - var C = this; - var capability = newPromiseCapabilityModule.f(C); - var resolve = capability.resolve; - var reject = capability.reject; - var result = perform(function () { - var promiseResolve = aFunction(C.resolve); - var errors = []; - var counter = 0; - var remaining = 1; - var alreadyResolved = false; - iterate(iterable, function (promise) { - var index = counter++; - var alreadyRejected = false; - errors.push(undefined); - remaining++; - promiseResolve.call(C, promise).then(function (value) { - if (alreadyRejected || alreadyResolved) return; - alreadyResolved = true; - resolve(value); - }, function (e) { - if (alreadyRejected || alreadyResolved) return; - alreadyRejected = true; - errors[index] = e; - --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR)); - }); - }); - --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR)); - }); - if (result.error) reject(result.value); - return capability.promise; - } -}); - - -/***/ }), -/* 482 */ -/*!**************************************!*\ - !*** ./node_modules/raf/polyfill.js ***! - \**************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -__webpack_require__(/*! ./ */ 483).polyfill() - - -/***/ }), -/* 483 */ -/*!***********************************!*\ - !*** ./node_modules/raf/index.js ***! - \***********************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -/* WEBPACK VAR INJECTION */(function(global) {var now = __webpack_require__(/*! performance-now */ 484) - , root = typeof window === 'undefined' ? global : window - , vendors = ['moz', 'webkit'] - , suffix = 'AnimationFrame' - , raf = root['request' + suffix] - , caf = root['cancel' + suffix] || root['cancelRequest' + suffix] - -for(var i = 0; !raf && i < vendors.length; i++) { - raf = root[vendors[i] + 'Request' + suffix] - caf = root[vendors[i] + 'Cancel' + suffix] - || root[vendors[i] + 'CancelRequest' + suffix] -} - -// Some versions of FF have rAF but not cAF -if(!raf || !caf) { - var last = 0 - , id = 0 - , queue = [] - , frameDuration = 1000 / 60 - - raf = function(callback) { - if(queue.length === 0) { - var _now = now() - , next = Math.max(0, frameDuration - (_now - last)) - last = next + _now - setTimeout(function() { - var cp = queue.slice(0) - // Clear queue here to prevent - // callbacks from appending listeners - // to the current frame's queue - queue.length = 0 - for(var i = 0; i < cp.length; i++) { - if(!cp[i].cancelled) { - try{ - cp[i].callback(last) - } catch(e) { - setTimeout(function() { throw e }, 0) - } - } - } - }, Math.round(next)) - } - queue.push({ - handle: ++id, - callback: callback, - cancelled: false - }) - return id - } - - caf = function(handle) { - for(var i = 0; i < queue.length; i++) { - if(queue[i].handle === handle) { - queue[i].cancelled = true - } - } - } -} - -module.exports = function(fn) { - // Wrap in a new function to prevent - // `cancel` potentially being assigned - // to the native rAF function - return raf.call(root, fn) -} -module.exports.cancel = function() { - caf.apply(root, arguments) -} -module.exports.polyfill = function(object) { - if (!object) { - object = root; - } - object.requestAnimationFrame = raf - object.cancelAnimationFrame = caf -} - -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ 124))) - -/***/ }), -/* 484 */ -/*!*************************************************************!*\ - !*** ./node_modules/performance-now/lib/performance-now.js ***! - \*************************************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -/* WEBPACK VAR INJECTION */(function(process) {// Generated by CoffeeScript 1.12.2 -(function() { - var getNanoSeconds, hrtime, loadTime, moduleLoadTime, nodeLoadTime, upTime; - - if ((typeof performance !== "undefined" && performance !== null) && performance.now) { - module.exports = function() { - return performance.now(); - }; - } else if ((typeof process !== "undefined" && process !== null) && process.hrtime) { - module.exports = function() { - return (getNanoSeconds() - nodeLoadTime) / 1e6; - }; - hrtime = process.hrtime; - getNanoSeconds = function() { - var hr; - hr = hrtime(); - return hr[0] * 1e9 + hr[1]; - }; - moduleLoadTime = getNanoSeconds(); - upTime = process.uptime() * 1e9; - nodeLoadTime = moduleLoadTime - upTime; - } else if (Date.now) { - module.exports = function() { - return Date.now() - loadTime; - }; - loadTime = Date.now(); - } else { - module.exports = function() { - return new Date().getTime() - loadTime; - }; - loadTime = new Date().getTime(); - } - -}).call(this); - -//# sourceMappingURL=performance-now.js.map - -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../process/browser.js */ 485))) - -/***/ }), -/* 485 */ -/*!*****************************************!*\ - !*** ./node_modules/process/browser.js ***! - \*****************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports) { - -// shim for using process in browser -var process = module.exports = {}; - -// cached from whatever global is present so that test runners that stub it -// don't break things. But we need to wrap it in a try catch in case it is -// wrapped in strict mode code which doesn't define any globals. It's inside a -// function because try/catches deoptimize in certain engines. - -var cachedSetTimeout; -var cachedClearTimeout; - -function defaultSetTimout() { - throw new Error('setTimeout has not been defined'); -} -function defaultClearTimeout () { - throw new Error('clearTimeout has not been defined'); -} -(function () { - try { - if (typeof setTimeout === 'function') { - cachedSetTimeout = setTimeout; - } else { - cachedSetTimeout = defaultSetTimout; - } - } catch (e) { - cachedSetTimeout = defaultSetTimout; - } - try { - if (typeof clearTimeout === 'function') { - cachedClearTimeout = clearTimeout; - } else { - cachedClearTimeout = defaultClearTimeout; - } - } catch (e) { - cachedClearTimeout = defaultClearTimeout; - } -} ()) -function runTimeout(fun) { - if (cachedSetTimeout === setTimeout) { - //normal enviroments in sane situations - return setTimeout(fun, 0); - } - // if setTimeout wasn't available but was latter defined - if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { - cachedSetTimeout = setTimeout; - return setTimeout(fun, 0); - } - try { - // when when somebody has screwed with setTimeout but no I.E. maddness - return cachedSetTimeout(fun, 0); - } catch(e){ - try { - // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally - return cachedSetTimeout.call(null, fun, 0); - } catch(e){ - // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error - return cachedSetTimeout.call(this, fun, 0); - } - } - - -} -function runClearTimeout(marker) { - if (cachedClearTimeout === clearTimeout) { - //normal enviroments in sane situations - return clearTimeout(marker); - } - // if clearTimeout wasn't available but was latter defined - if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { - cachedClearTimeout = clearTimeout; - return clearTimeout(marker); - } - try { - // when when somebody has screwed with setTimeout but no I.E. maddness - return cachedClearTimeout(marker); - } catch (e){ - try { - // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally - return cachedClearTimeout.call(null, marker); - } catch (e){ - // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. - // Some versions of I.E. have different rules for clearTimeout vs setTimeout - return cachedClearTimeout.call(this, marker); - } - } - - - -} -var queue = []; -var draining = false; -var currentQueue; -var queueIndex = -1; - -function cleanUpNextTick() { - if (!draining || !currentQueue) { - return; - } - draining = false; - if (currentQueue.length) { - queue = currentQueue.concat(queue); - } else { - queueIndex = -1; - } - if (queue.length) { - drainQueue(); - } -} - -function drainQueue() { - if (draining) { - return; - } - var timeout = runTimeout(cleanUpNextTick); - draining = true; - - var len = queue.length; - while(len) { - currentQueue = queue; - queue = []; - while (++queueIndex < len) { - if (currentQueue) { - currentQueue[queueIndex].run(); - } - } - queueIndex = -1; - len = queue.length; - } - currentQueue = null; - draining = false; - runClearTimeout(timeout); -} - -process.nextTick = function (fun) { - var args = new Array(arguments.length - 1); - if (arguments.length > 1) { - for (var i = 1; i < arguments.length; i++) { - args[i - 1] = arguments[i]; - } - } - queue.push(new Item(fun, args)); - if (queue.length === 1 && !draining) { - runTimeout(drainQueue); - } -}; - -// v8 likes predictible objects -function Item(fun, array) { - this.fun = fun; - this.array = array; -} -Item.prototype.run = function () { - this.fun.apply(null, this.array); -}; -process.title = 'browser'; -process.browser = true; -process.env = {}; -process.argv = []; -process.version = ''; // empty string to avoid regexp issues -process.versions = {}; - -function noop() {} - -process.on = noop; -process.addListener = noop; -process.once = noop; -process.off = noop; -process.removeListener = noop; -process.removeAllListeners = noop; -process.emit = noop; -process.prependListener = noop; -process.prependOnceListener = noop; - -process.listeners = function (name) { return [] } - -process.binding = function (name) { - throw new Error('process.binding is not supported'); -}; - -process.cwd = function () { return '/' }; -process.chdir = function (dir) { - throw new Error('process.chdir is not supported'); -}; -process.umask = function() { return 0; }; - - -/***/ }) -/******/ ])); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvaW50ZXJuYWxzL2dsb2JhbC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9pbnRlcm5hbHMvd2VsbC1rbm93bi1zeW1ib2wuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvaW50ZXJuYWxzL2FuLW9iamVjdC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9pbnRlcm5hbHMvZmFpbHMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvaW50ZXJuYWxzL2V4cG9ydC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9pbnRlcm5hbHMvaXMtb2JqZWN0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ludGVybmFscy9oaWRlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ludGVybmFscy9oYXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvaW50ZXJuYWxzL2NsYXNzb2YtcmF3LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ludGVybmFscy9kZXNjcmlwdG9ycy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9pbnRlcm5hbHMvcmVxdWlyZS1vYmplY3QtY29lcmNpYmxlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ludGVybmFscy9yZWRlZmluZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmcuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvaW50ZXJuYWxzL29iamVjdC1kZWZpbmUtcHJvcGVydHkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvaW50ZXJuYWxzL2dldC1idWlsdC1pbi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9pbnRlcm5hbHMvYS1mdW5jdGlvbi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9pbnRlcm5hbHMvdG8taW5kZXhlZC1vYmplY3QuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvaW50ZXJuYWxzL3RvLWxlbmd0aC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9pbnRlcm5hbHMvaXRlcmF0b3JzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ludGVybmFscy9zaGFyZWQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvaW50ZXJuYWxzL3RvLWludGVnZXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvaW50ZXJuYWxzL2lzLXB1cmUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvaW50ZXJuYWxzL29iamVjdC1nZXQtb3duLXByb3BlcnR5LWRlc2NyaXB0b3IuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvaW50ZXJuYWxzL2NyZWF0ZS1wcm9wZXJ0eS1kZXNjcmlwdG9yLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ludGVybmFscy9zZXQtZ2xvYmFsLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ludGVybmFscy9pbnRlcm5hbC1zdGF0ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9pbnRlcm5hbHMvZG9jdW1lbnQtY3JlYXRlLWVsZW1lbnQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvaW50ZXJuYWxzL2hpZGRlbi1rZXlzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ludGVybmFscy9iaW5kLWNvbnRleHQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvaW50ZXJuYWxzL3VzZXItYWdlbnQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvaW50ZXJuYWxzL25ldy1wcm9taXNlLWNhcGFiaWxpdHkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvaW50ZXJuYWxzL3NoYXJlZC1rZXkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvaW50ZXJuYWxzL3BhdGguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvaW50ZXJuYWxzL2VudW0tYnVnLWtleXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvaW50ZXJuYWxzL3NldC10by1zdHJpbmctdGFnLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ludGVybmFscy9pbmRleGVkLW9iamVjdC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9pbnRlcm5hbHMvdG8tb2JqZWN0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXMucHJvbWlzZS5qcyIsIndlYnBhY2s6Ly8vKHdlYnBhY2spL2J1aWxkaW4vZ2xvYmFsLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ludGVybmFscy90by1wcmltaXRpdmUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvaW50ZXJuYWxzL2llOC1kb20tZGVmaW5lLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ludGVybmFscy9mdW5jdGlvbi10by1zdHJpbmcuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvaW50ZXJuYWxzL3VpZC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9pbnRlcm5hbHMvaXMtZm9yY2VkLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ludGVybmFscy9jbGFzc29mLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ludGVybmFscy90YXNrLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ludGVybmFscy9vYmplY3Qta2V5cy1pbnRlcm5hbC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9pbnRlcm5hbHMvaHRtbC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9pbnRlcm5hbHMvaXRlcmF0ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9pbnRlcm5hbHMvc3BlY2llcy1jb25zdHJ1Y3Rvci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9pbnRlcm5hbHMvcGVyZm9ybS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9pbnRlcm5hbHMvb2JqZWN0LWNyZWF0ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9pbnRlcm5hbHMvb2JqZWN0LWdldC1wcm90b3R5cGUtb2YuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvaW50ZXJuYWxzL29iamVjdC1wcm9wZXJ0eS1pcy1lbnVtZXJhYmxlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ludGVybmFscy9hcnJheS1pbmNsdWRlcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9pbnRlcm5hbHMvb2JqZWN0LWdldC1vd24tcHJvcGVydHktc3ltYm9scy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9pbnRlcm5hbHMvaXRlcmF0b3JzLWNvcmUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvaW50ZXJuYWxzL3Byb21pc2UtcmVzb2x2ZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9pbnRlcm5hbHMvbmF0aXZlLXdlYWstbWFwLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ludGVybmFscy9jb3B5LWNvbnN0cnVjdG9yLXByb3BlcnRpZXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvaW50ZXJuYWxzL293bi1rZXlzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ludGVybmFscy9vYmplY3QtZ2V0LW93bi1wcm9wZXJ0eS1uYW1lcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9pbnRlcm5hbHMvdG8tYWJzb2x1dGUtaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvaW50ZXJuYWxzL25hdGl2ZS1zeW1ib2wuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvaW50ZXJuYWxzL29iamVjdC10by1zdHJpbmcuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvaW50ZXJuYWxzL3N0cmluZy1tdWx0aWJ5dGUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5pdGVyYXRvci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9pbnRlcm5hbHMvcmVkZWZpbmUtYWxsLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ludGVybmFscy9zZXQtc3BlY2llcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9pbnRlcm5hbHMvYW4taW5zdGFuY2UuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvaW50ZXJuYWxzL2lzLWFycmF5LWl0ZXJhdG9yLW1ldGhvZC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9pbnRlcm5hbHMvZ2V0LWl0ZXJhdG9yLW1ldGhvZC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9pbnRlcm5hbHMvY2FsbC13aXRoLXNhZmUtaXRlcmF0aW9uLWNsb3NpbmcuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvaW50ZXJuYWxzL2NoZWNrLWNvcnJlY3RuZXNzLW9mLWl0ZXJhdGlvbi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9pbnRlcm5hbHMvbWljcm90YXNrLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ludGVybmFscy9ob3N0LXJlcG9ydC1lcnJvcnMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvaW50ZXJuYWxzL29iamVjdC1rZXlzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ludGVybmFscy9hZGQtdG8tdW5zY29wYWJsZXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvaW50ZXJuYWxzL2RlZmluZS1pdGVyYXRvci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9pbnRlcm5hbHMvb2JqZWN0LXNldC1wcm90b3R5cGUtb2YuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvaW50ZXJuYWxzL29iamVjdC1kZWZpbmUtcHJvcGVydGllcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9pbnRlcm5hbHMvaXMtcmVnZXhwLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ludGVybmFscy9jcmVhdGUtaXRlcmF0b3ItY29uc3RydWN0b3IuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvaW50ZXJuYWxzL2NvcnJlY3QtcHJvdG90eXBlLWdldHRlci5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9pbnRlcm5hbHMvYS1wb3NzaWJsZS1wcm90b3R5cGUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy93ZWIuZG9tLWNvbGxlY3Rpb25zLml0ZXJhdG9yLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ludGVybmFscy9kb20taXRlcmFibGVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ludGVybmFscy9lbnRyeS11bmJpbmQuanMiLCJ3ZWJwYWNrOi8vLy4vZGV2L3BvbHlmaWxscy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9mZWF0dXJlcy9vYmplY3QvYXNzaWduLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2VzL29iamVjdC9hc3NpZ24uanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lcy5vYmplY3QuYXNzaWduLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ludGVybmFscy9vYmplY3QtYXNzaWduLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ZlYXR1cmVzL2FycmF5L2luY2x1ZGVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2VzL2FycmF5L2luY2x1ZGVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuaW5jbHVkZXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvZmVhdHVyZXMvc3RyaW5nL2luY2x1ZGVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2VzL3N0cmluZy9pbmNsdWRlcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9tb2R1bGVzL2VzLnN0cmluZy5pbmNsdWRlcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9pbnRlcm5hbHMvbm90LWEtcmVnZXhwLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ludGVybmFscy9jb3JyZWN0LWlzLXJlZ2V4cC1sb2dpYy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9mZWF0dXJlcy9wcm9taXNlL2luZGV4LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2VzL3Byb21pc2UvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lcy5zdHJpbmcuaXRlcmF0b3IuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lcy5wcm9taXNlLmZpbmFsbHkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lc25leHQuYWdncmVnYXRlLWVycm9yLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL21vZHVsZXMvZXNuZXh0LnByb21pc2UuYWxsLXNldHRsZWQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lc25leHQucHJvbWlzZS50cnkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lc25leHQucHJvbWlzZS5hbnkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3JhZi9wb2x5ZmlsbC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcmFmL2luZGV4LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9wZXJmb3JtYW5jZS1ub3cvbGliL3BlcmZvcm1hbmNlLW5vdy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcHJvY2Vzcy9icm93c2VyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGtEQUEwQyxnQ0FBZ0M7QUFDMUU7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxnRUFBd0Qsa0JBQWtCO0FBQzFFO0FBQ0EseURBQWlELGNBQWM7QUFDL0Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlEQUF5QyxpQ0FBaUM7QUFDMUUsd0hBQWdILG1CQUFtQixFQUFFO0FBQ3JJO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsbUNBQTJCLDBCQUEwQixFQUFFO0FBQ3ZELHlDQUFpQyxlQUFlO0FBQ2hEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDhEQUFzRCwrREFBK0Q7O0FBRXJIO0FBQ0E7OztBQUdBO0FBQ0E7Ozs7Ozs7Ozs7OztBQ2xGQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7QUNiQSxhQUFhLG1CQUFPLENBQUMsNkJBQXFCO0FBQzFDLGFBQWEsbUJBQU8sQ0FBQyw2QkFBcUI7QUFDMUMsVUFBVSxtQkFBTyxDQUFDLDJCQUFrQjtBQUNwQyxvQkFBb0IsbUJBQU8sQ0FBQyxxQ0FBNEI7O0FBRXhEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7OztBQ1hBLGVBQWUsbUJBQU8sQ0FBQyxnQ0FBd0I7O0FBRS9DO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7Ozs7Ozs7Ozs7Ozs7QUNOQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7QUNOQSxhQUFhLG1CQUFPLENBQUMsNkJBQXFCO0FBQzFDLCtCQUErQixtQkFBTyxDQUFDLHlEQUFpRDtBQUN4RixXQUFXLG1CQUFPLENBQUMsMkJBQW1CO0FBQ3RDLGVBQWUsbUJBQU8sQ0FBQywrQkFBdUI7QUFDOUMsZ0JBQWdCLG1CQUFPLENBQUMsaUNBQXlCO0FBQ2pELGdDQUFnQyxtQkFBTyxDQUFDLG1EQUEwQztBQUNsRixlQUFlLG1CQUFPLENBQUMsaUNBQXdCOztBQUUvQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsbURBQW1EO0FBQ25ELEdBQUc7QUFDSCxrQ0FBa0M7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7OztBQ3JEQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7OztBQ0ZBLGtCQUFrQixtQkFBTyxDQUFDLGtDQUEwQjtBQUNwRCwyQkFBMkIsbUJBQU8sQ0FBQyw2Q0FBcUM7QUFDeEUsK0JBQStCLG1CQUFPLENBQUMsaURBQXlDOztBQUVoRjtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7OztBQ1RBLHVCQUF1Qjs7QUFFdkI7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7O0FDSkEsaUJBQWlCOztBQUVqQjtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7OztBQ0pBLFlBQVksbUJBQU8sQ0FBQyw0QkFBb0I7O0FBRXhDO0FBQ0E7QUFDQSxpQ0FBaUMsUUFBUSxtQkFBbUIsVUFBVSxFQUFFLEVBQUU7QUFDMUUsQ0FBQzs7Ozs7Ozs7Ozs7O0FDTEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7OztBQ0xBLGFBQWEsbUJBQU8sQ0FBQyw2QkFBcUI7QUFDMUMsYUFBYSxtQkFBTyxDQUFDLDZCQUFxQjtBQUMxQyxXQUFXLG1CQUFPLENBQUMsMkJBQW1CO0FBQ3RDLFVBQVUsbUJBQU8sQ0FBQywwQkFBa0I7QUFDcEMsZ0JBQWdCLG1CQUFPLENBQUMsaUNBQXlCO0FBQ2pELDZCQUE2QixtQkFBTyxDQUFDLDBDQUFpQztBQUN0RSwwQkFBMEIsbUJBQU8sQ0FBQyxxQ0FBNkI7O0FBRS9EO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBLENBQUM7Ozs7Ozs7Ozs7OztBQ3RDRCxlQUFlLG1CQUFPLENBQUMsK0JBQXVCO0FBQzlDLGVBQWUsbUJBQU8sQ0FBQyx3Q0FBK0I7O0FBRXREOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG1EQUFtRCxlQUFlO0FBQ2xFOzs7Ozs7Ozs7Ozs7Ozs7QUNUQSxrQkFBa0IsbUJBQU8sQ0FBQyxrQ0FBMEI7QUFDcEQscUJBQXFCLG1CQUFPLENBQUMsc0NBQTZCO0FBQzFELGVBQWUsbUJBQU8sQ0FBQyxnQ0FBd0I7QUFDL0Msa0JBQWtCLG1CQUFPLENBQUMsb0NBQTJCOztBQUVyRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRyxnQkFBZ0I7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDbkJBLFdBQVcsbUJBQU8sQ0FBQyw0QkFBbUI7QUFDdEMsYUFBYSxtQkFBTyxDQUFDLDZCQUFxQjs7QUFFMUM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7QUNWQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7Ozs7Ozs7Ozs7Ozs7Ozs7QUNKQTtBQUNBLG9CQUFvQixtQkFBTyxDQUFDLHNDQUE2QjtBQUN6RCw2QkFBNkIsbUJBQU8sQ0FBQywrQ0FBdUM7O0FBRTVFO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7O0FDTkEsZ0JBQWdCLG1CQUFPLENBQUMsaUNBQXlCOztBQUVqRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSx1RUFBdUU7QUFDdkU7Ozs7Ozs7Ozs7OztBQ1JBOzs7Ozs7Ozs7Ozs7QUNBQSxhQUFhLG1CQUFPLENBQUMsNkJBQXFCO0FBQzFDLGdCQUFnQixtQkFBTyxDQUFDLGlDQUF5QjtBQUNqRCxjQUFjLG1CQUFPLENBQUMsOEJBQXNCOztBQUU1QztBQUNBLGtEQUFrRDs7QUFFbEQ7QUFDQSxxRUFBcUU7QUFDckUsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDYkQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7OztBQ1BBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNBQSxrQkFBa0IsbUJBQU8sQ0FBQyxrQ0FBMEI7QUFDcEQsaUNBQWlDLG1CQUFPLENBQUMscURBQTRDO0FBQ3JGLCtCQUErQixtQkFBTyxDQUFDLGlEQUF5QztBQUNoRixzQkFBc0IsbUJBQU8sQ0FBQyx3Q0FBZ0M7QUFDOUQsa0JBQWtCLG1CQUFPLENBQUMsb0NBQTJCO0FBQ3JELFVBQVUsbUJBQU8sQ0FBQywwQkFBa0I7QUFDcEMscUJBQXFCLG1CQUFPLENBQUMsc0NBQTZCOztBQUUxRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUcsZ0JBQWdCO0FBQ25CO0FBQ0E7Ozs7Ozs7Ozs7OztBQ25CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7QUNQQSxhQUFhLG1CQUFPLENBQUMsNkJBQXFCO0FBQzFDLFdBQVcsbUJBQU8sQ0FBQywyQkFBbUI7O0FBRXRDO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDs7Ozs7Ozs7Ozs7O0FDVEEsc0JBQXNCLG1CQUFPLENBQUMsdUNBQThCO0FBQzVELGFBQWEsbUJBQU8sQ0FBQyw2QkFBcUI7QUFDMUMsZUFBZSxtQkFBTyxDQUFDLGdDQUF3QjtBQUMvQyxXQUFXLG1CQUFPLENBQUMsMkJBQW1CO0FBQ3RDLGdCQUFnQixtQkFBTyxDQUFDLDBCQUFrQjtBQUMxQyxnQkFBZ0IsbUJBQU8sQ0FBQyxrQ0FBeUI7QUFDakQsaUJBQWlCLG1CQUFPLENBQUMsbUNBQTBCOztBQUVuRDtBQUNBOztBQUVBO0FBQ0EsdUNBQXVDO0FBQ3ZDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDNURBLGFBQWEsbUJBQU8sQ0FBQyw2QkFBcUI7QUFDMUMsZUFBZSxtQkFBTyxDQUFDLGdDQUF3Qjs7QUFFL0M7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7O0FDVEE7Ozs7Ozs7Ozs7OztBQ0FBLGdCQUFnQixtQkFBTyxDQUFDLGlDQUF5Qjs7QUFFakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7OztBQ3ZCQSxpQkFBaUIsbUJBQU8sQ0FBQyxtQ0FBMkI7O0FBRXBEOzs7Ozs7Ozs7Ozs7O0FDRmE7QUFDYixnQkFBZ0IsbUJBQU8sQ0FBQyxpQ0FBeUI7O0FBRWpEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7QUNqQkEsYUFBYSxtQkFBTyxDQUFDLDZCQUFxQjtBQUMxQyxVQUFVLG1CQUFPLENBQUMsMkJBQWtCOztBQUVwQzs7QUFFQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7OztBQ1BBLGlCQUFpQixtQkFBTyxDQUFDLDZCQUFxQjs7Ozs7Ozs7Ozs7O0FDQTlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7QUNUQSxxQkFBcUIsbUJBQU8sQ0FBQyw2Q0FBcUM7QUFDbEUsVUFBVSxtQkFBTyxDQUFDLDBCQUFrQjtBQUNwQyxzQkFBc0IsbUJBQU8sQ0FBQyx3Q0FBZ0M7O0FBRTlEOztBQUVBO0FBQ0E7QUFDQSx1Q0FBdUMsaUNBQWlDO0FBQ3hFO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNWQSxZQUFZLG1CQUFPLENBQUMsNEJBQW9CO0FBQ3hDLGNBQWMsbUJBQU8sQ0FBQyxrQ0FBMEI7O0FBRWhEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQSxDQUFDOzs7Ozs7Ozs7Ozs7QUNaRCw2QkFBNkIsbUJBQU8sQ0FBQywrQ0FBdUM7O0FBRTVFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7QUNOYTtBQUNiLFFBQVEsbUJBQU8sQ0FBQyw2QkFBcUI7QUFDckMsY0FBYyxtQkFBTyxDQUFDLDhCQUFzQjtBQUM1QyxhQUFhLG1CQUFPLENBQUMsNkJBQXFCO0FBQzFDLFdBQVcsbUJBQU8sQ0FBQyw0QkFBbUI7QUFDdEMsa0JBQWtCLG1CQUFPLENBQUMsb0NBQTJCO0FBQ3JELHFCQUFxQixtQkFBTyxDQUFDLHlDQUFnQztBQUM3RCxpQkFBaUIsbUJBQU8sQ0FBQyxtQ0FBMEI7QUFDbkQsZUFBZSxtQkFBTyxDQUFDLGdDQUF3QjtBQUMvQyxnQkFBZ0IsbUJBQU8sQ0FBQyxpQ0FBeUI7QUFDakQsaUJBQWlCLG1CQUFPLENBQUMsbUNBQTBCO0FBQ25ELGNBQWMsbUJBQU8sQ0FBQyxrQ0FBMEI7QUFDaEQsY0FBYyxtQkFBTyxDQUFDLCtCQUFzQjtBQUM1QyxrQ0FBa0MsbUJBQU8sQ0FBQyxzREFBNkM7QUFDdkYseUJBQXlCLG1CQUFPLENBQUMsMkNBQWtDO0FBQ25FLFdBQVcsbUJBQU8sQ0FBQyw0QkFBbUI7QUFDdEMsZ0JBQWdCLG1CQUFPLENBQUMsaUNBQXdCO0FBQ2hELHFCQUFxQixtQkFBTyxDQUFDLHVDQUE4QjtBQUMzRCx1QkFBdUIsbUJBQU8sQ0FBQywwQ0FBaUM7QUFDaEUsaUNBQWlDLG1CQUFPLENBQUMsOENBQXFDO0FBQzlFLGNBQWMsbUJBQU8sQ0FBQywrQkFBc0I7QUFDNUMsZ0JBQWdCLG1CQUFPLENBQUMsa0NBQXlCO0FBQ2pELDBCQUEwQixtQkFBTyxDQUFDLHFDQUE2QjtBQUMvRCxlQUFlLG1CQUFPLENBQUMsaUNBQXdCO0FBQy9DLHNCQUFzQixtQkFBTyxDQUFDLHdDQUFnQzs7QUFFOUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQiw2Q0FBNkM7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQSx5REFBeUQsY0FBYztBQUN2RSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQ0FBb0M7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQSxXQUFXO0FBQ1gsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRyxlQUFlO0FBQ2xCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILDZCQUE2QixjQUFjO0FBQzNDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esa0RBQWtELCtDQUErQztBQUNqRztBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQSxHQUFHLDJDQUEyQztBQUM5QztBQUNBLENBQUM7O0FBRUQ7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLEdBQUcsOENBQThDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRCxHQUFHLHlEQUF5RDtBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRCxHQUFHLDJEQUEyRDtBQUM5RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1A7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUNwV0Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw0Q0FBNEM7O0FBRTVDOzs7Ozs7Ozs7Ozs7QUNuQkEsZUFBZSxtQkFBTyxDQUFDLGdDQUF3Qjs7QUFFL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7QUNiQSxrQkFBa0IsbUJBQU8sQ0FBQyxrQ0FBMEI7QUFDcEQsWUFBWSxtQkFBTyxDQUFDLDRCQUFvQjtBQUN4QyxvQkFBb0IsbUJBQU8sQ0FBQywrQ0FBc0M7O0FBRWxFO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixVQUFVO0FBQ2hDLEdBQUc7QUFDSCxDQUFDOzs7Ozs7Ozs7Ozs7QUNURCxhQUFhLG1CQUFPLENBQUMsNkJBQXFCOztBQUUxQzs7Ozs7Ozs7Ozs7O0FDRkE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7OztBQ0xBLFlBQVksbUJBQU8sQ0FBQyw0QkFBb0I7O0FBRXhDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7Ozs7Ozs7OztBQ3BCQSxpQkFBaUIsbUJBQU8sQ0FBQyxrQ0FBMEI7QUFDbkQsc0JBQXNCLG1CQUFPLENBQUMsd0NBQWdDOztBQUU5RDtBQUNBO0FBQ0EsZ0RBQWdELGtCQUFrQixFQUFFOztBQUVwRTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUcsZ0JBQWdCO0FBQ25COztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7OztBQ3hCQSxhQUFhLG1CQUFPLENBQUMsNkJBQXFCO0FBQzFDLFlBQVksbUJBQU8sQ0FBQyw0QkFBb0I7QUFDeEMsY0FBYyxtQkFBTyxDQUFDLGtDQUEwQjtBQUNoRCxXQUFXLG1CQUFPLENBQUMsb0NBQTJCO0FBQzlDLFdBQVcsbUJBQU8sQ0FBQyw0QkFBbUI7QUFDdEMsb0JBQW9CLG1CQUFPLENBQUMsK0NBQXNDOztBQUVsRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ2xHQSxVQUFVLG1CQUFPLENBQUMsMEJBQWtCO0FBQ3BDLHNCQUFzQixtQkFBTyxDQUFDLHdDQUFnQztBQUM5RCxjQUFjLG1CQUFPLENBQUMsc0NBQTZCO0FBQ25ELGlCQUFpQixtQkFBTyxDQUFDLG1DQUEwQjs7QUFFbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7QUNoQkEsaUJBQWlCLG1CQUFPLENBQUMsbUNBQTJCOztBQUVwRDs7Ozs7Ozs7Ozs7O0FDRkEsZUFBZSxtQkFBTyxDQUFDLGdDQUF3QjtBQUMvQyw0QkFBNEIsbUJBQU8sQ0FBQyxnREFBdUM7QUFDM0UsZUFBZSxtQkFBTyxDQUFDLGdDQUF3QjtBQUMvQyxXQUFXLG1CQUFPLENBQUMsb0NBQTJCO0FBQzlDLHdCQUF3QixtQkFBTyxDQUFDLDJDQUFrQztBQUNsRSxtQ0FBbUMsbUJBQU8sQ0FBQyx3REFBK0M7O0FBRTFGO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseURBQXlELGdCQUFnQjtBQUN6RTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7O0FDekNBLGVBQWUsbUJBQU8sQ0FBQyxnQ0FBd0I7QUFDL0MsZ0JBQWdCLG1CQUFPLENBQUMsaUNBQXlCO0FBQ2pELHNCQUFzQixtQkFBTyxDQUFDLHdDQUFnQzs7QUFFOUQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7OztBQ1pBO0FBQ0E7QUFDQSxZQUFZO0FBQ1osR0FBRztBQUNILFlBQVk7QUFDWjtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7O0FDTkEsZUFBZSxtQkFBTyxDQUFDLGdDQUF3QjtBQUMvQyx1QkFBdUIsbUJBQU8sQ0FBQyxnREFBdUM7QUFDdEUsa0JBQWtCLG1CQUFPLENBQUMscUNBQTRCO0FBQ3RELGlCQUFpQixtQkFBTyxDQUFDLG1DQUEwQjtBQUNuRCxXQUFXLG1CQUFPLENBQUMsNEJBQW1CO0FBQ3RDLDRCQUE0QixtQkFBTyxDQUFDLCtDQUFzQztBQUMxRSxnQkFBZ0IsbUJBQU8sQ0FBQyxrQ0FBeUI7QUFDakQ7O0FBRUE7QUFDQSx5QkFBeUI7O0FBRXpCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBOzs7Ozs7Ozs7Ozs7QUNoREEsVUFBVSxtQkFBTyxDQUFDLDBCQUFrQjtBQUNwQyxlQUFlLG1CQUFPLENBQUMsaUNBQXdCO0FBQy9DLGdCQUFnQixtQkFBTyxDQUFDLGtDQUF5QjtBQUNqRCwrQkFBK0IsbUJBQU8sQ0FBQyxnREFBdUM7O0FBRTlFO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ2hCYTtBQUNiLG1DQUFtQztBQUNuQzs7QUFFQTtBQUNBLGdGQUFnRixPQUFPOztBQUV2RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7Ozs7Ozs7Ozs7O0FDWkQsc0JBQXNCLG1CQUFPLENBQUMsd0NBQWdDO0FBQzlELGVBQWUsbUJBQU8sQ0FBQyxnQ0FBd0I7QUFDL0Msc0JBQXNCLG1CQUFPLENBQUMseUNBQWdDOztBQUU5RCxxQkFBcUIsb0JBQW9CO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxZQUFZLGVBQWU7QUFDaEM7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7QUMvQkE7Ozs7Ozs7Ozs7Ozs7QUNBYTtBQUNiLHFCQUFxQixtQkFBTyxDQUFDLCtDQUFzQztBQUNuRSxXQUFXLG1CQUFPLENBQUMsMkJBQW1CO0FBQ3RDLFVBQVUsbUJBQU8sQ0FBQywwQkFBa0I7QUFDcEMsc0JBQXNCLG1CQUFPLENBQUMsd0NBQWdDO0FBQzlELGNBQWMsbUJBQU8sQ0FBQyw4QkFBc0I7O0FBRTVDO0FBQ0E7O0FBRUEsOEJBQThCLGFBQWE7O0FBRTNDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7O0FDbENBLGVBQWUsbUJBQU8sQ0FBQyxnQ0FBd0I7QUFDL0MsZUFBZSxtQkFBTyxDQUFDLGdDQUF3QjtBQUMvQywyQkFBMkIsbUJBQU8sQ0FBQyw4Q0FBcUM7O0FBRXhFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ1hBLGFBQWEsbUJBQU8sQ0FBQyw2QkFBcUI7QUFDMUMsNkJBQTZCLG1CQUFPLENBQUMsMENBQWlDOztBQUV0RTs7QUFFQTs7Ozs7Ozs7Ozs7O0FDTEEsVUFBVSxtQkFBTyxDQUFDLDBCQUFrQjtBQUNwQyxjQUFjLG1CQUFPLENBQUMsZ0NBQXVCO0FBQzdDLHFDQUFxQyxtQkFBTyxDQUFDLHlEQUFpRDtBQUM5RiwyQkFBMkIsbUJBQU8sQ0FBQyw2Q0FBcUM7O0FBRXhFO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLGlCQUFpQjtBQUNsQztBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7O0FDYkEsaUJBQWlCLG1CQUFPLENBQUMsbUNBQTJCO0FBQ3BELGdDQUFnQyxtQkFBTyxDQUFDLHFEQUE0QztBQUNwRixrQ0FBa0MsbUJBQU8sQ0FBQyx1REFBOEM7QUFDeEYsZUFBZSxtQkFBTyxDQUFDLGdDQUF3Qjs7QUFFL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7QUNWQSx5QkFBeUIsbUJBQU8sQ0FBQyw0Q0FBbUM7QUFDcEUsa0JBQWtCLG1CQUFPLENBQUMscUNBQTRCOztBQUV0RDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7QUNUQSxnQkFBZ0IsbUJBQU8sQ0FBQyxpQ0FBeUI7O0FBRWpEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDREQUE0RDtBQUM1RDtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7O0FDWEEsWUFBWSxtQkFBTyxDQUFDLDRCQUFvQjs7QUFFeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOzs7Ozs7Ozs7Ozs7O0FDTlk7QUFDYixjQUFjLG1CQUFPLENBQUMsK0JBQXNCO0FBQzVDLHNCQUFzQixtQkFBTyxDQUFDLHdDQUFnQzs7QUFFOUQ7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7Ozs7Ozs7Ozs7OztBQ2JELGdCQUFnQixtQkFBTyxDQUFDLGlDQUF5QjtBQUNqRCw2QkFBNkIsbUJBQU8sQ0FBQywrQ0FBdUM7O0FBRTVFLHNCQUFzQixrQkFBa0I7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7O0FDMUJhO0FBQ2Isc0JBQXNCLG1CQUFPLENBQUMsd0NBQWdDO0FBQzlELHVCQUF1QixtQkFBTyxDQUFDLDBDQUFpQztBQUNoRSxnQkFBZ0IsbUJBQU8sQ0FBQyxnQ0FBd0I7QUFDaEQsMEJBQTBCLG1CQUFPLENBQUMscUNBQTZCO0FBQy9ELHFCQUFxQixtQkFBTyxDQUFDLHVDQUE4Qjs7QUFFM0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0EsOEJBQThCO0FBQzlCLGdDQUFnQztBQUNoQyxVQUFVO0FBQ1YsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7O0FDcERBLGVBQWUsbUJBQU8sQ0FBQywrQkFBdUI7O0FBRTlDO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7O0FDTGE7QUFDYixpQkFBaUIsbUJBQU8sQ0FBQyxtQ0FBMkI7QUFDcEQsMkJBQTJCLG1CQUFPLENBQUMsNkNBQXFDO0FBQ3hFLHNCQUFzQixtQkFBTyxDQUFDLHdDQUFnQztBQUM5RCxrQkFBa0IsbUJBQU8sQ0FBQyxrQ0FBMEI7O0FBRXBEOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsYUFBYTtBQUNyQyxLQUFLO0FBQ0w7QUFDQTs7Ozs7Ozs7Ozs7O0FDbEJBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7Ozs7Ozs7Ozs7O0FDSkEsc0JBQXNCLG1CQUFPLENBQUMsd0NBQWdDO0FBQzlELGdCQUFnQixtQkFBTyxDQUFDLGdDQUF3Qjs7QUFFaEQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7O0FDVEEsY0FBYyxtQkFBTyxDQUFDLCtCQUFzQjtBQUM1QyxnQkFBZ0IsbUJBQU8sQ0FBQyxnQ0FBd0I7QUFDaEQsc0JBQXNCLG1CQUFPLENBQUMsd0NBQWdDOztBQUU5RDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7QUNWQSxlQUFlLG1CQUFPLENBQUMsZ0NBQXdCOztBQUUvQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7OztBQ1pBLHNCQUFzQixtQkFBTyxDQUFDLHdDQUFnQzs7QUFFOUQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhDQUE4QyxTQUFTLEVBQUU7QUFDekQsQ0FBQyxnQkFBZ0I7O0FBRWpCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHLGdCQUFnQjtBQUNuQjtBQUNBOzs7Ozs7Ozs7Ozs7QUNyQ0EsYUFBYSxtQkFBTyxDQUFDLDZCQUFxQjtBQUMxQywrQkFBK0IsbUJBQU8sQ0FBQyx5REFBaUQ7QUFDeEYsY0FBYyxtQkFBTyxDQUFDLGtDQUEwQjtBQUNoRCxnQkFBZ0IsbUJBQU8sQ0FBQyw0QkFBbUI7QUFDM0MsZ0JBQWdCLG1CQUFPLENBQUMsa0NBQXlCOztBQUVqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsK0NBQStDLHNCQUFzQixFQUFFO0FBQ3ZFO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOzs7Ozs7Ozs7Ozs7QUM1RUEsYUFBYSxtQkFBTyxDQUFDLDZCQUFxQjs7QUFFMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDUEEseUJBQXlCLG1CQUFPLENBQUMsNENBQW1DO0FBQ3BFLGtCQUFrQixtQkFBTyxDQUFDLHFDQUE0Qjs7QUFFdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7O0FDUEEsc0JBQXNCLG1CQUFPLENBQUMsd0NBQWdDO0FBQzlELGFBQWEsbUJBQU8sQ0FBQyxxQ0FBNEI7QUFDakQsV0FBVyxtQkFBTyxDQUFDLDJCQUFtQjs7QUFFdEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7O0FDaEJhO0FBQ2IsUUFBUSxtQkFBTyxDQUFDLDZCQUFxQjtBQUNyQyxnQ0FBZ0MsbUJBQU8sQ0FBQyxtREFBMEM7QUFDbEYscUJBQXFCLG1CQUFPLENBQUMsK0NBQXNDO0FBQ25FLHFCQUFxQixtQkFBTyxDQUFDLCtDQUFzQztBQUNuRSxxQkFBcUIsbUJBQU8sQ0FBQyx5Q0FBZ0M7QUFDN0QsV0FBVyxtQkFBTyxDQUFDLDJCQUFtQjtBQUN0QyxlQUFlLG1CQUFPLENBQUMsK0JBQXVCO0FBQzlDLHNCQUFzQixtQkFBTyxDQUFDLHdDQUFnQztBQUM5RCxjQUFjLG1CQUFPLENBQUMsOEJBQXNCO0FBQzVDLGdCQUFnQixtQkFBTyxDQUFDLGdDQUF3QjtBQUNoRCxvQkFBb0IsbUJBQU8sQ0FBQyxzQ0FBNkI7O0FBRXpEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSw4QkFBOEIsYUFBYTs7QUFFM0M7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlDQUF5Qyw0Q0FBNEM7QUFDckYsNkNBQTZDLDRDQUE0QztBQUN6RiwrQ0FBK0MsNENBQTRDO0FBQzNGLEtBQUsscUJBQXFCLHNDQUFzQztBQUNoRTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxnQkFBZ0IsbUJBQW1CO0FBQ25DO0FBQ0E7QUFDQSx5Q0FBeUMsa0NBQWtDO0FBQzNFOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssU0FBUyxxRkFBcUY7QUFDbkc7O0FBRUE7QUFDQTs7Ozs7Ozs7Ozs7O0FDekZBLGVBQWUsbUJBQU8sQ0FBQyxnQ0FBd0I7QUFDL0MseUJBQXlCLG1CQUFPLENBQUMsNENBQW1DOztBQUVwRTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDREQUE0RDtBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUcsZ0JBQWdCO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUN2QkQsa0JBQWtCLG1CQUFPLENBQUMsa0NBQTBCO0FBQ3BELDJCQUEyQixtQkFBTyxDQUFDLDZDQUFxQztBQUN4RSxlQUFlLG1CQUFPLENBQUMsZ0NBQXdCO0FBQy9DLGlCQUFpQixtQkFBTyxDQUFDLG1DQUEwQjs7QUFFbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7O0FDZkEsZUFBZSxtQkFBTyxDQUFDLGdDQUF3QjtBQUMvQyxjQUFjLG1CQUFPLENBQUMsa0NBQTBCO0FBQ2hELHNCQUFzQixtQkFBTyxDQUFDLHdDQUFnQzs7QUFFOUQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7O0FDWGE7QUFDYix3QkFBd0IsbUJBQU8sQ0FBQyxzQ0FBNkI7QUFDN0QsYUFBYSxtQkFBTyxDQUFDLHFDQUE0QjtBQUNqRCwrQkFBK0IsbUJBQU8sQ0FBQyxpREFBeUM7QUFDaEYscUJBQXFCLG1CQUFPLENBQUMseUNBQWdDO0FBQzdELGdCQUFnQixtQkFBTyxDQUFDLGdDQUF3Qjs7QUFFaEQsOEJBQThCLGFBQWE7O0FBRTNDO0FBQ0E7QUFDQSw2REFBNkQsMENBQTBDO0FBQ3ZHO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7QUNmQSxZQUFZLG1CQUFPLENBQUMsNEJBQW9COztBQUV4QztBQUNBLGdCQUFnQjtBQUNoQjtBQUNBO0FBQ0EsQ0FBQzs7Ozs7Ozs7Ozs7O0FDTkQsZUFBZSxtQkFBTyxDQUFDLGdDQUF3Qjs7QUFFL0M7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOzs7Ozs7Ozs7Ozs7QUNOQSxhQUFhLG1CQUFPLENBQUMsNkJBQXFCO0FBQzFDLG1CQUFtQixtQkFBTyxDQUFDLHFDQUE0QjtBQUN2RCwyQkFBMkIsbUJBQU8sQ0FBQyx1Q0FBOEI7QUFDakUsV0FBVyxtQkFBTyxDQUFDLDJCQUFtQjtBQUN0QyxzQkFBc0IsbUJBQU8sQ0FBQyx3Q0FBZ0M7O0FBRTlEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7QUM5QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ2xDQSxhQUFhLG1CQUFPLENBQUMsNkJBQXFCO0FBQzFDLFdBQVcsbUJBQU8sQ0FBQyxvQ0FBMkI7O0FBRTlDOztBQUVBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ1BBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7QUNIQSxpQkFBaUIsbUJBQU8sQ0FBQyxpQ0FBd0I7Ozs7Ozs7Ozs7OztBQ0FqRCxtQkFBTyxDQUFDLHlDQUFnQztBQUN4QyxXQUFXLG1CQUFPLENBQUMsK0JBQXNCOztBQUV6Qzs7Ozs7Ozs7Ozs7O0FDSEEsUUFBUSxtQkFBTyxDQUFDLDZCQUFxQjtBQUNyQyxhQUFhLG1CQUFPLENBQUMscUNBQTRCOztBQUVqRDtBQUNBO0FBQ0EsR0FBRyxpRUFBaUU7QUFDcEU7QUFDQSxDQUFDOzs7Ozs7Ozs7Ozs7O0FDUFk7QUFDYixrQkFBa0IsbUJBQU8sQ0FBQyxrQ0FBMEI7QUFDcEQsWUFBWSxtQkFBTyxDQUFDLDRCQUFvQjtBQUN4QyxpQkFBaUIsbUJBQU8sQ0FBQyxtQ0FBMEI7QUFDbkQsa0NBQWtDLG1CQUFPLENBQUMsdURBQThDO0FBQ3hGLGlDQUFpQyxtQkFBTyxDQUFDLHFEQUE0QztBQUNyRixlQUFlLG1CQUFPLENBQUMsaUNBQXdCO0FBQy9DLG9CQUFvQixtQkFBTyxDQUFDLHNDQUE2Qjs7QUFFekQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2Q0FBNkMsY0FBYyxFQUFFO0FBQzdELHdCQUF3QiwrQ0FBK0M7QUFDdkUsQ0FBQyxxQ0FBcUM7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7Ozs7Ozs7Ozs7O0FDeENELGlCQUFpQixtQkFBTyxDQUFDLGtDQUF5Qjs7Ozs7Ozs7Ozs7O0FDQWxELG1CQUFPLENBQUMsMENBQWlDO0FBQ3pDLGtCQUFrQixtQkFBTyxDQUFDLHVDQUE4Qjs7QUFFeEQ7Ozs7Ozs7Ozs7Ozs7QUNIYTtBQUNiLFFBQVEsbUJBQU8sQ0FBQyw2QkFBcUI7QUFDckMsZ0JBQWdCLG1CQUFPLENBQUMsc0NBQTZCO0FBQ3JELHVCQUF1QixtQkFBTyxDQUFDLDBDQUFpQzs7QUFFaEU7QUFDQTtBQUNBLEdBQUcsK0JBQStCO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTs7Ozs7Ozs7Ozs7QUNkQSxpQkFBaUIsbUJBQU8sQ0FBQyxtQ0FBMEI7Ozs7Ozs7Ozs7OztBQ0FuRCxtQkFBTyxDQUFDLDJDQUFrQztBQUMxQyxrQkFBa0IsbUJBQU8sQ0FBQyx1Q0FBOEI7O0FBRXhEOzs7Ozs7Ozs7Ozs7O0FDSGE7QUFDYixRQUFRLG1CQUFPLENBQUMsNkJBQXFCO0FBQ3JDLGlCQUFpQixtQkFBTyxDQUFDLG9DQUEyQjtBQUNwRCw2QkFBNkIsbUJBQU8sQ0FBQywrQ0FBdUM7QUFDNUUsMkJBQTJCLG1CQUFPLENBQUMsK0NBQXNDOztBQUV6RTtBQUNBO0FBQ0EsR0FBRywyRUFBMkU7QUFDOUU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOzs7Ozs7Ozs7Ozs7QUNiRCxlQUFlLG1CQUFPLENBQUMsaUNBQXdCOztBQUUvQztBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7Ozs7Ozs7Ozs7OztBQ05BLHNCQUFzQixtQkFBTyxDQUFDLHdDQUFnQzs7QUFFOUQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsS0FBSyxZQUFZO0FBQ2pCLEdBQUc7QUFDSDs7Ozs7Ozs7Ozs7QUNkQSxpQkFBaUIsbUJBQU8sQ0FBQywyQkFBa0I7O0FBRTNDLG1CQUFPLENBQUMsK0NBQXNDO0FBQzlDLG1CQUFPLENBQUMsbURBQTBDO0FBQ2xELG1CQUFPLENBQUMsMkNBQWtDO0FBQzFDLG1CQUFPLENBQUMsMkNBQWtDOzs7Ozs7Ozs7Ozs7QUNMMUMsbUJBQU8sQ0FBQywyQ0FBbUM7QUFDM0MsbUJBQU8sQ0FBQywyQ0FBa0M7QUFDMUMsbUJBQU8sQ0FBQyxxREFBNEM7QUFDcEQsbUJBQU8sQ0FBQyxtQ0FBMEI7QUFDbEMsbUJBQU8sQ0FBQywyQ0FBa0M7QUFDMUMsV0FBVyxtQkFBTyxDQUFDLCtCQUFzQjs7QUFFekM7Ozs7Ozs7Ozs7Ozs7QUNQYTtBQUNiLGFBQWEsbUJBQU8sQ0FBQyx3Q0FBK0I7QUFDcEQsMEJBQTBCLG1CQUFPLENBQUMscUNBQTZCO0FBQy9ELHFCQUFxQixtQkFBTyxDQUFDLHVDQUE4Qjs7QUFFM0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBLFVBQVU7QUFDVixDQUFDOzs7Ozs7Ozs7Ozs7O0FDNUJZO0FBQ2IsUUFBUSxtQkFBTyxDQUFDLDZCQUFxQjtBQUNyQyxpQkFBaUIsbUJBQU8sQ0FBQyxtQ0FBMkI7QUFDcEQseUJBQXlCLG1CQUFPLENBQUMsMkNBQWtDO0FBQ25FLHFCQUFxQixtQkFBTyxDQUFDLHVDQUE4Qjs7QUFFM0Q7QUFDQTtBQUNBLEdBQUcsNkNBQTZDO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnRUFBZ0UsVUFBVSxFQUFFO0FBQzVFLE9BQU87QUFDUDtBQUNBLGdFQUFnRSxTQUFTLEVBQUU7QUFDM0UsT0FBTztBQUNQO0FBQ0E7QUFDQSxDQUFDOzs7Ozs7Ozs7Ozs7QUNyQkQsUUFBUSxtQkFBTyxDQUFDLDZCQUFxQjtBQUNyQyxxQkFBcUIsbUJBQU8sQ0FBQywrQ0FBc0M7QUFDbkUscUJBQXFCLG1CQUFPLENBQUMsK0NBQXNDO0FBQ25FLGFBQWEsbUJBQU8sQ0FBQyxxQ0FBNEI7QUFDakQsK0JBQStCLG1CQUFPLENBQUMsaURBQXlDO0FBQ2hGLGNBQWMsbUJBQU8sQ0FBQywrQkFBc0I7QUFDNUMsV0FBVyxtQkFBTyxDQUFDLDJCQUFtQjs7QUFFdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQsR0FBRyxlQUFlO0FBQ2xCO0FBQ0EsQ0FBQzs7Ozs7Ozs7Ozs7OztBQzVCWTtBQUNiLFFBQVEsbUJBQU8sQ0FBQyw2QkFBcUI7QUFDckMsZ0JBQWdCLG1CQUFPLENBQUMsaUNBQXlCO0FBQ2pELGlDQUFpQyxtQkFBTyxDQUFDLDhDQUFxQztBQUM5RSxjQUFjLG1CQUFPLENBQUMsK0JBQXNCO0FBQzVDLGNBQWMsbUJBQU8sQ0FBQywrQkFBc0I7O0FBRTVDO0FBQ0E7QUFDQSxHQUFHLGdDQUFnQztBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1A7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7Ozs7Ozs7Ozs7OztBQzFDWTtBQUNiLFFBQVEsbUJBQU8sQ0FBQyw2QkFBcUI7QUFDckMsaUNBQWlDLG1CQUFPLENBQUMsOENBQXFDO0FBQzlFLGNBQWMsbUJBQU8sQ0FBQywrQkFBc0I7O0FBRTVDO0FBQ0E7QUFDQSxHQUFHLGdDQUFnQztBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOzs7Ozs7Ozs7Ozs7O0FDZFk7QUFDYixRQUFRLG1CQUFPLENBQUMsNkJBQXFCO0FBQ3JDLGdCQUFnQixtQkFBTyxDQUFDLGlDQUF5QjtBQUNqRCxpQkFBaUIsbUJBQU8sQ0FBQyxtQ0FBMkI7QUFDcEQsaUNBQWlDLG1CQUFPLENBQUMsOENBQXFDO0FBQzlFLGNBQWMsbUJBQU8sQ0FBQywrQkFBc0I7QUFDNUMsY0FBYyxtQkFBTyxDQUFDLCtCQUFzQjs7QUFFNUM7O0FBRUE7QUFDQTtBQUNBLEdBQUcsZ0NBQWdDO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLENBQUM7Ozs7Ozs7Ozs7O0FDN0NELG1CQUFPLENBQUMsYUFBSTs7Ozs7Ozs7Ozs7O0FDQVosd0RBQVUsbUJBQU8sQ0FBQywwQkFBaUI7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxjQUFjLDRCQUE0QjtBQUMxQztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixlQUFlO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYixxQ0FBcUMsVUFBVTtBQUMvQztBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0Esa0JBQWtCLGtCQUFrQjtBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7QUMxRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLENBQUM7O0FBRUQ7Ozs7Ozs7Ozs7Ozs7QUNuQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QixzQkFBc0I7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHFDQUFxQzs7QUFFckM7QUFDQTtBQUNBOztBQUVBLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsVUFBVSIsImZpbGUiOiJqcy9wb2x5ZmlsbHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSkge1xuIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuIFx0XHR9XG4gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbiBcdFx0XHRpOiBtb2R1bGVJZCxcbiBcdFx0XHRsOiBmYWxzZSxcbiBcdFx0XHRleHBvcnRzOiB7fVxuIFx0XHR9O1xuXG4gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcblxuIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4gXHR9XG5cblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuXG4gXHQvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9uIGZvciBoYXJtb255IGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBnZXR0ZXIgfSk7XG4gXHRcdH1cbiBcdH07XG5cbiBcdC8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uciA9IGZ1bmN0aW9uKGV4cG9ydHMpIHtcbiBcdFx0aWYodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgU3ltYm9sLnRvU3RyaW5nVGFnKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSk7XG4gXHRcdH1cbiBcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiBcdH07XG5cbiBcdC8vIGNyZWF0ZSBhIGZha2UgbmFtZXNwYWNlIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDE6IHZhbHVlIGlzIGEgbW9kdWxlIGlkLCByZXF1aXJlIGl0XG4gXHQvLyBtb2RlICYgMjogbWVyZ2UgYWxsIHByb3BlcnRpZXMgb2YgdmFsdWUgaW50byB0aGUgbnNcbiBcdC8vIG1vZGUgJiA0OiByZXR1cm4gdmFsdWUgd2hlbiBhbHJlYWR5IG5zIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDh8MTogYmVoYXZlIGxpa2UgcmVxdWlyZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy50ID0gZnVuY3Rpb24odmFsdWUsIG1vZGUpIHtcbiBcdFx0aWYobW9kZSAmIDEpIHZhbHVlID0gX193ZWJwYWNrX3JlcXVpcmVfXyh2YWx1ZSk7XG4gXHRcdGlmKG1vZGUgJiA4KSByZXR1cm4gdmFsdWU7XG4gXHRcdGlmKChtb2RlICYgNCkgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAmJiB2YWx1ZS5fX2VzTW9kdWxlKSByZXR1cm4gdmFsdWU7XG4gXHRcdHZhciBucyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18ucihucyk7XG4gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShucywgJ2RlZmF1bHQnLCB7IGVudW1lcmFibGU6IHRydWUsIHZhbHVlOiB2YWx1ZSB9KTtcbiBcdFx0aWYobW9kZSAmIDIgJiYgdHlwZW9mIHZhbHVlICE9ICdzdHJpbmcnKSBmb3IodmFyIGtleSBpbiB2YWx1ZSkgX193ZWJwYWNrX3JlcXVpcmVfXy5kKG5zLCBrZXksIGZ1bmN0aW9uKGtleSkgeyByZXR1cm4gdmFsdWVba2V5XTsgfS5iaW5kKG51bGwsIGtleSkpO1xuIFx0XHRyZXR1cm4gbnM7XG4gXHR9O1xuXG4gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4gXHRcdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgJ2EnLCBnZXR0ZXIpO1xuIFx0XHRyZXR1cm4gZ2V0dGVyO1xuIFx0fTtcblxuIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG5cbiBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcInJhaW5sb29wL3YvMC4wLjAvc3RhdGljL2pzL1wiO1xuXG5cbiBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gNDYxKTtcbiIsInZhciBPID0gJ29iamVjdCc7XG52YXIgY2hlY2sgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIGl0ICYmIGl0Lk1hdGggPT0gTWF0aCAmJiBpdDtcbn07XG5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS96bG9pcm9jay9jb3JlLWpzL2lzc3Vlcy84NiNpc3N1ZWNvbW1lbnQtMTE1NzU5MDI4XG5tb2R1bGUuZXhwb3J0cyA9XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZlxuICBjaGVjayh0eXBlb2YgZ2xvYmFsVGhpcyA9PSBPICYmIGdsb2JhbFRoaXMpIHx8XG4gIGNoZWNrKHR5cGVvZiB3aW5kb3cgPT0gTyAmJiB3aW5kb3cpIHx8XG4gIGNoZWNrKHR5cGVvZiBzZWxmID09IE8gJiYgc2VsZikgfHxcbiAgY2hlY2sodHlwZW9mIGdsb2JhbCA9PSBPICYmIGdsb2JhbCkgfHxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLW5ldy1mdW5jXG4gIEZ1bmN0aW9uKCdyZXR1cm4gdGhpcycpKCk7XG4iLCJ2YXIgZ2xvYmFsID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2dsb2JhbCcpO1xudmFyIHNoYXJlZCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9zaGFyZWQnKTtcbnZhciB1aWQgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvdWlkJyk7XG52YXIgTkFUSVZFX1NZTUJPTCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9uYXRpdmUtc3ltYm9sJyk7XG5cbnZhciBTeW1ib2wgPSBnbG9iYWwuU3ltYm9sO1xudmFyIHN0b3JlID0gc2hhcmVkKCd3a3MnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAobmFtZSkge1xuICByZXR1cm4gc3RvcmVbbmFtZV0gfHwgKHN0b3JlW25hbWVdID0gTkFUSVZFX1NZTUJPTCAmJiBTeW1ib2xbbmFtZV1cbiAgICB8fCAoTkFUSVZFX1NZTUJPTCA/IFN5bWJvbCA6IHVpZCkoJ1N5bWJvbC4nICsgbmFtZSkpO1xufTtcbiIsInZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9pcy1vYmplY3QnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgaWYgKCFpc09iamVjdChpdCkpIHtcbiAgICB0aHJvdyBUeXBlRXJyb3IoU3RyaW5nKGl0KSArICcgaXMgbm90IGFuIG9iamVjdCcpO1xuICB9IHJldHVybiBpdDtcbn07XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChleGVjKSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuICEhZXhlYygpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59O1xuIiwidmFyIGdsb2JhbCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9nbG9iYWwnKTtcbnZhciBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvb2JqZWN0LWdldC1vd24tcHJvcGVydHktZGVzY3JpcHRvcicpLmY7XG52YXIgaGlkZSA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9oaWRlJyk7XG52YXIgcmVkZWZpbmUgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvcmVkZWZpbmUnKTtcbnZhciBzZXRHbG9iYWwgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvc2V0LWdsb2JhbCcpO1xudmFyIGNvcHlDb25zdHJ1Y3RvclByb3BlcnRpZXMgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvY29weS1jb25zdHJ1Y3Rvci1wcm9wZXJ0aWVzJyk7XG52YXIgaXNGb3JjZWQgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvaXMtZm9yY2VkJyk7XG5cbi8qXG4gIG9wdGlvbnMudGFyZ2V0ICAgICAgLSBuYW1lIG9mIHRoZSB0YXJnZXQgb2JqZWN0XG4gIG9wdGlvbnMuZ2xvYmFsICAgICAgLSB0YXJnZXQgaXMgdGhlIGdsb2JhbCBvYmplY3RcbiAgb3B0aW9ucy5zdGF0ICAgICAgICAtIGV4cG9ydCBhcyBzdGF0aWMgbWV0aG9kcyBvZiB0YXJnZXRcbiAgb3B0aW9ucy5wcm90byAgICAgICAtIGV4cG9ydCBhcyBwcm90b3R5cGUgbWV0aG9kcyBvZiB0YXJnZXRcbiAgb3B0aW9ucy5yZWFsICAgICAgICAtIHJlYWwgcHJvdG90eXBlIG1ldGhvZCBmb3IgdGhlIGBwdXJlYCB2ZXJzaW9uXG4gIG9wdGlvbnMuZm9yY2VkICAgICAgLSBleHBvcnQgZXZlbiBpZiB0aGUgbmF0aXZlIGZlYXR1cmUgaXMgYXZhaWxhYmxlXG4gIG9wdGlvbnMuYmluZCAgICAgICAgLSBiaW5kIG1ldGhvZHMgdG8gdGhlIHRhcmdldCwgcmVxdWlyZWQgZm9yIHRoZSBgcHVyZWAgdmVyc2lvblxuICBvcHRpb25zLndyYXAgICAgICAgIC0gd3JhcCBjb25zdHJ1Y3RvcnMgdG8gcHJldmVudGluZyBnbG9iYWwgcG9sbHV0aW9uLCByZXF1aXJlZCBmb3IgdGhlIGBwdXJlYCB2ZXJzaW9uXG4gIG9wdGlvbnMudW5zYWZlICAgICAgLSB1c2UgdGhlIHNpbXBsZSBhc3NpZ25tZW50IG9mIHByb3BlcnR5IGluc3RlYWQgb2YgZGVsZXRlICsgZGVmaW5lUHJvcGVydHlcbiAgb3B0aW9ucy5zaGFtICAgICAgICAtIGFkZCBhIGZsYWcgdG8gbm90IGNvbXBsZXRlbHkgZnVsbCBwb2x5ZmlsbHNcbiAgb3B0aW9ucy5lbnVtZXJhYmxlICAtIGV4cG9ydCBhcyBlbnVtZXJhYmxlIHByb3BlcnR5XG4gIG9wdGlvbnMubm9UYXJnZXRHZXQgLSBwcmV2ZW50IGNhbGxpbmcgYSBnZXR0ZXIgb24gdGFyZ2V0XG4qL1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAob3B0aW9ucywgc291cmNlKSB7XG4gIHZhciBUQVJHRVQgPSBvcHRpb25zLnRhcmdldDtcbiAgdmFyIEdMT0JBTCA9IG9wdGlvbnMuZ2xvYmFsO1xuICB2YXIgU1RBVElDID0gb3B0aW9ucy5zdGF0O1xuICB2YXIgRk9SQ0VELCB0YXJnZXQsIGtleSwgdGFyZ2V0UHJvcGVydHksIHNvdXJjZVByb3BlcnR5LCBkZXNjcmlwdG9yO1xuICBpZiAoR0xPQkFMKSB7XG4gICAgdGFyZ2V0ID0gZ2xvYmFsO1xuICB9IGVsc2UgaWYgKFNUQVRJQykge1xuICAgIHRhcmdldCA9IGdsb2JhbFtUQVJHRVRdIHx8IHNldEdsb2JhbChUQVJHRVQsIHt9KTtcbiAgfSBlbHNlIHtcbiAgICB0YXJnZXQgPSAoZ2xvYmFsW1RBUkdFVF0gfHwge30pLnByb3RvdHlwZTtcbiAgfVxuICBpZiAodGFyZ2V0KSBmb3IgKGtleSBpbiBzb3VyY2UpIHtcbiAgICBzb3VyY2VQcm9wZXJ0eSA9IHNvdXJjZVtrZXldO1xuICAgIGlmIChvcHRpb25zLm5vVGFyZ2V0R2V0KSB7XG4gICAgICBkZXNjcmlwdG9yID0gZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwga2V5KTtcbiAgICAgIHRhcmdldFByb3BlcnR5ID0gZGVzY3JpcHRvciAmJiBkZXNjcmlwdG9yLnZhbHVlO1xuICAgIH0gZWxzZSB0YXJnZXRQcm9wZXJ0eSA9IHRhcmdldFtrZXldO1xuICAgIEZPUkNFRCA9IGlzRm9yY2VkKEdMT0JBTCA/IGtleSA6IFRBUkdFVCArIChTVEFUSUMgPyAnLicgOiAnIycpICsga2V5LCBvcHRpb25zLmZvcmNlZCk7XG4gICAgLy8gY29udGFpbmVkIGluIHRhcmdldFxuICAgIGlmICghRk9SQ0VEICYmIHRhcmdldFByb3BlcnR5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGlmICh0eXBlb2Ygc291cmNlUHJvcGVydHkgPT09IHR5cGVvZiB0YXJnZXRQcm9wZXJ0eSkgY29udGludWU7XG4gICAgICBjb3B5Q29uc3RydWN0b3JQcm9wZXJ0aWVzKHNvdXJjZVByb3BlcnR5LCB0YXJnZXRQcm9wZXJ0eSk7XG4gICAgfVxuICAgIC8vIGFkZCBhIGZsYWcgdG8gbm90IGNvbXBsZXRlbHkgZnVsbCBwb2x5ZmlsbHNcbiAgICBpZiAob3B0aW9ucy5zaGFtIHx8ICh0YXJnZXRQcm9wZXJ0eSAmJiB0YXJnZXRQcm9wZXJ0eS5zaGFtKSkge1xuICAgICAgaGlkZShzb3VyY2VQcm9wZXJ0eSwgJ3NoYW0nLCB0cnVlKTtcbiAgICB9XG4gICAgLy8gZXh0ZW5kIGdsb2JhbFxuICAgIHJlZGVmaW5lKHRhcmdldCwga2V5LCBzb3VyY2VQcm9wZXJ0eSwgb3B0aW9ucyk7XG4gIH1cbn07XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gdHlwZW9mIGl0ID09PSAnb2JqZWN0JyA/IGl0ICE9PSBudWxsIDogdHlwZW9mIGl0ID09PSAnZnVuY3Rpb24nO1xufTtcbiIsInZhciBERVNDUklQVE9SUyA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9kZXNjcmlwdG9ycycpO1xudmFyIGRlZmluZVByb3BlcnR5TW9kdWxlID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL29iamVjdC1kZWZpbmUtcHJvcGVydHknKTtcbnZhciBjcmVhdGVQcm9wZXJ0eURlc2NyaXB0b3IgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvY3JlYXRlLXByb3BlcnR5LWRlc2NyaXB0b3InKTtcblxubW9kdWxlLmV4cG9ydHMgPSBERVNDUklQVE9SUyA/IGZ1bmN0aW9uIChvYmplY3QsIGtleSwgdmFsdWUpIHtcbiAgcmV0dXJuIGRlZmluZVByb3BlcnR5TW9kdWxlLmYob2JqZWN0LCBrZXksIGNyZWF0ZVByb3BlcnR5RGVzY3JpcHRvcigxLCB2YWx1ZSkpO1xufSA6IGZ1bmN0aW9uIChvYmplY3QsIGtleSwgdmFsdWUpIHtcbiAgb2JqZWN0W2tleV0gPSB2YWx1ZTtcbiAgcmV0dXJuIG9iamVjdDtcbn07XG4iLCJ2YXIgaGFzT3duUHJvcGVydHkgPSB7fS5oYXNPd25Qcm9wZXJ0eTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQsIGtleSkge1xuICByZXR1cm4gaGFzT3duUHJvcGVydHkuY2FsbChpdCwga2V5KTtcbn07XG4iLCJ2YXIgdG9TdHJpbmcgPSB7fS50b1N0cmluZztcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIHRvU3RyaW5nLmNhbGwoaXQpLnNsaWNlKDgsIC0xKTtcbn07XG4iLCJ2YXIgZmFpbHMgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvZmFpbHMnKTtcblxuLy8gVGhhbmsncyBJRTggZm9yIGhpcyBmdW5ueSBkZWZpbmVQcm9wZXJ0eVxubW9kdWxlLmV4cG9ydHMgPSAhZmFpbHMoZnVuY3Rpb24gKCkge1xuICByZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCAnYScsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiA3OyB9IH0pLmEgIT0gNztcbn0pO1xuIiwiLy8gYFJlcXVpcmVPYmplY3RDb2VyY2libGVgIGFic3RyYWN0IG9wZXJhdGlvblxuLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtcmVxdWlyZW9iamVjdGNvZXJjaWJsZVxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgaWYgKGl0ID09IHVuZGVmaW5lZCkgdGhyb3cgVHlwZUVycm9yKFwiQ2FuJ3QgY2FsbCBtZXRob2Qgb24gXCIgKyBpdCk7XG4gIHJldHVybiBpdDtcbn07XG4iLCJ2YXIgZ2xvYmFsID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2dsb2JhbCcpO1xudmFyIHNoYXJlZCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9zaGFyZWQnKTtcbnZhciBoaWRlID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2hpZGUnKTtcbnZhciBoYXMgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvaGFzJyk7XG52YXIgc2V0R2xvYmFsID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL3NldC1nbG9iYWwnKTtcbnZhciBuYXRpdmVGdW5jdGlvblRvU3RyaW5nID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2Z1bmN0aW9uLXRvLXN0cmluZycpO1xudmFyIEludGVybmFsU3RhdGVNb2R1bGUgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvaW50ZXJuYWwtc3RhdGUnKTtcblxudmFyIGdldEludGVybmFsU3RhdGUgPSBJbnRlcm5hbFN0YXRlTW9kdWxlLmdldDtcbnZhciBlbmZvcmNlSW50ZXJuYWxTdGF0ZSA9IEludGVybmFsU3RhdGVNb2R1bGUuZW5mb3JjZTtcbnZhciBURU1QTEFURSA9IFN0cmluZyhuYXRpdmVGdW5jdGlvblRvU3RyaW5nKS5zcGxpdCgndG9TdHJpbmcnKTtcblxuc2hhcmVkKCdpbnNwZWN0U291cmNlJywgZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBuYXRpdmVGdW5jdGlvblRvU3RyaW5nLmNhbGwoaXQpO1xufSk7XG5cbihtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChPLCBrZXksIHZhbHVlLCBvcHRpb25zKSB7XG4gIHZhciB1bnNhZmUgPSBvcHRpb25zID8gISFvcHRpb25zLnVuc2FmZSA6IGZhbHNlO1xuICB2YXIgc2ltcGxlID0gb3B0aW9ucyA/ICEhb3B0aW9ucy5lbnVtZXJhYmxlIDogZmFsc2U7XG4gIHZhciBub1RhcmdldEdldCA9IG9wdGlvbnMgPyAhIW9wdGlvbnMubm9UYXJnZXRHZXQgOiBmYWxzZTtcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PSAnZnVuY3Rpb24nKSB7XG4gICAgaWYgKHR5cGVvZiBrZXkgPT0gJ3N0cmluZycgJiYgIWhhcyh2YWx1ZSwgJ25hbWUnKSkgaGlkZSh2YWx1ZSwgJ25hbWUnLCBrZXkpO1xuICAgIGVuZm9yY2VJbnRlcm5hbFN0YXRlKHZhbHVlKS5zb3VyY2UgPSBURU1QTEFURS5qb2luKHR5cGVvZiBrZXkgPT0gJ3N0cmluZycgPyBrZXkgOiAnJyk7XG4gIH1cbiAgaWYgKE8gPT09IGdsb2JhbCkge1xuICAgIGlmIChzaW1wbGUpIE9ba2V5XSA9IHZhbHVlO1xuICAgIGVsc2Ugc2V0R2xvYmFsKGtleSwgdmFsdWUpO1xuICAgIHJldHVybjtcbiAgfSBlbHNlIGlmICghdW5zYWZlKSB7XG4gICAgZGVsZXRlIE9ba2V5XTtcbiAgfSBlbHNlIGlmICghbm9UYXJnZXRHZXQgJiYgT1trZXldKSB7XG4gICAgc2ltcGxlID0gdHJ1ZTtcbiAgfVxuICBpZiAoc2ltcGxlKSBPW2tleV0gPSB2YWx1ZTtcbiAgZWxzZSBoaWRlKE8sIGtleSwgdmFsdWUpO1xuLy8gYWRkIGZha2UgRnVuY3Rpb24jdG9TdHJpbmcgZm9yIGNvcnJlY3Qgd29yayB3cmFwcGVkIG1ldGhvZHMgLyBjb25zdHJ1Y3RvcnMgd2l0aCBtZXRob2RzIGxpa2UgTG9EYXNoIGlzTmF0aXZlXG59KShGdW5jdGlvbi5wcm90b3R5cGUsICd0b1N0cmluZycsIGZ1bmN0aW9uIHRvU3RyaW5nKCkge1xuICByZXR1cm4gdHlwZW9mIHRoaXMgPT0gJ2Z1bmN0aW9uJyAmJiBnZXRJbnRlcm5hbFN0YXRlKHRoaXMpLnNvdXJjZSB8fCBuYXRpdmVGdW5jdGlvblRvU3RyaW5nLmNhbGwodGhpcyk7XG59KTtcbiIsInZhciByZWRlZmluZSA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9yZWRlZmluZScpO1xudmFyIHRvU3RyaW5nID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL29iamVjdC10by1zdHJpbmcnKTtcblxudmFyIE9iamVjdFByb3RvdHlwZSA9IE9iamVjdC5wcm90b3R5cGU7XG5cbi8vIGBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nYCBtZXRob2Rcbi8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLW9iamVjdC5wcm90b3R5cGUudG9zdHJpbmdcbmlmICh0b1N0cmluZyAhPT0gT2JqZWN0UHJvdG90eXBlLnRvU3RyaW5nKSB7XG4gIHJlZGVmaW5lKE9iamVjdFByb3RvdHlwZSwgJ3RvU3RyaW5nJywgdG9TdHJpbmcsIHsgdW5zYWZlOiB0cnVlIH0pO1xufVxuIiwidmFyIERFU0NSSVBUT1JTID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2Rlc2NyaXB0b3JzJyk7XG52YXIgSUU4X0RPTV9ERUZJTkUgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvaWU4LWRvbS1kZWZpbmUnKTtcbnZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9hbi1vYmplY3QnKTtcbnZhciB0b1ByaW1pdGl2ZSA9IHJlcXVpcmUoJy4uL2ludGVybmFscy90by1wcmltaXRpdmUnKTtcblxudmFyIG5hdGl2ZURlZmluZVByb3BlcnR5ID0gT2JqZWN0LmRlZmluZVByb3BlcnR5O1xuXG4vLyBgT2JqZWN0LmRlZmluZVByb3BlcnR5YCBtZXRob2Rcbi8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLW9iamVjdC5kZWZpbmVwcm9wZXJ0eVxuZXhwb3J0cy5mID0gREVTQ1JJUFRPUlMgPyBuYXRpdmVEZWZpbmVQcm9wZXJ0eSA6IGZ1bmN0aW9uIGRlZmluZVByb3BlcnR5KE8sIFAsIEF0dHJpYnV0ZXMpIHtcbiAgYW5PYmplY3QoTyk7XG4gIFAgPSB0b1ByaW1pdGl2ZShQLCB0cnVlKTtcbiAgYW5PYmplY3QoQXR0cmlidXRlcyk7XG4gIGlmIChJRThfRE9NX0RFRklORSkgdHJ5IHtcbiAgICByZXR1cm4gbmF0aXZlRGVmaW5lUHJvcGVydHkoTywgUCwgQXR0cmlidXRlcyk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7IC8qIGVtcHR5ICovIH1cbiAgaWYgKCdnZXQnIGluIEF0dHJpYnV0ZXMgfHwgJ3NldCcgaW4gQXR0cmlidXRlcykgdGhyb3cgVHlwZUVycm9yKCdBY2Nlc3NvcnMgbm90IHN1cHBvcnRlZCcpO1xuICBpZiAoJ3ZhbHVlJyBpbiBBdHRyaWJ1dGVzKSBPW1BdID0gQXR0cmlidXRlcy52YWx1ZTtcbiAgcmV0dXJuIE87XG59O1xuIiwidmFyIHBhdGggPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvcGF0aCcpO1xudmFyIGdsb2JhbCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9nbG9iYWwnKTtcblxudmFyIGFGdW5jdGlvbiA9IGZ1bmN0aW9uICh2YXJpYWJsZSkge1xuICByZXR1cm4gdHlwZW9mIHZhcmlhYmxlID09ICdmdW5jdGlvbicgPyB2YXJpYWJsZSA6IHVuZGVmaW5lZDtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKG5hbWVzcGFjZSwgbWV0aG9kKSB7XG4gIHJldHVybiBhcmd1bWVudHMubGVuZ3RoIDwgMiA/IGFGdW5jdGlvbihwYXRoW25hbWVzcGFjZV0pIHx8IGFGdW5jdGlvbihnbG9iYWxbbmFtZXNwYWNlXSlcbiAgICA6IHBhdGhbbmFtZXNwYWNlXSAmJiBwYXRoW25hbWVzcGFjZV1bbWV0aG9kXSB8fCBnbG9iYWxbbmFtZXNwYWNlXSAmJiBnbG9iYWxbbmFtZXNwYWNlXVttZXRob2RdO1xufTtcbiIsIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIGlmICh0eXBlb2YgaXQgIT0gJ2Z1bmN0aW9uJykge1xuICAgIHRocm93IFR5cGVFcnJvcihTdHJpbmcoaXQpICsgJyBpcyBub3QgYSBmdW5jdGlvbicpO1xuICB9IHJldHVybiBpdDtcbn07XG4iLCIvLyB0b09iamVjdCB3aXRoIGZhbGxiYWNrIGZvciBub24tYXJyYXktbGlrZSBFUzMgc3RyaW5nc1xudmFyIEluZGV4ZWRPYmplY3QgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvaW5kZXhlZC1vYmplY3QnKTtcbnZhciByZXF1aXJlT2JqZWN0Q29lcmNpYmxlID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL3JlcXVpcmUtb2JqZWN0LWNvZXJjaWJsZScpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gSW5kZXhlZE9iamVjdChyZXF1aXJlT2JqZWN0Q29lcmNpYmxlKGl0KSk7XG59O1xuIiwidmFyIHRvSW50ZWdlciA9IHJlcXVpcmUoJy4uL2ludGVybmFscy90by1pbnRlZ2VyJyk7XG5cbnZhciBtaW4gPSBNYXRoLm1pbjtcblxuLy8gYFRvTGVuZ3RoYCBhYnN0cmFjdCBvcGVyYXRpb25cbi8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLXRvbGVuZ3RoXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChhcmd1bWVudCkge1xuICByZXR1cm4gYXJndW1lbnQgPiAwID8gbWluKHRvSW50ZWdlcihhcmd1bWVudCksIDB4MUZGRkZGRkZGRkZGRkYpIDogMDsgLy8gMiAqKiA1MyAtIDEgPT0gOTAwNzE5OTI1NDc0MDk5MVxufTtcbiIsIm1vZHVsZS5leHBvcnRzID0ge307XG4iLCJ2YXIgZ2xvYmFsID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2dsb2JhbCcpO1xudmFyIHNldEdsb2JhbCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9zZXQtZ2xvYmFsJyk7XG52YXIgSVNfUFVSRSA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9pcy1wdXJlJyk7XG5cbnZhciBTSEFSRUQgPSAnX19jb3JlLWpzX3NoYXJlZF9fJztcbnZhciBzdG9yZSA9IGdsb2JhbFtTSEFSRURdIHx8IHNldEdsb2JhbChTSEFSRUQsIHt9KTtcblxuKG1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGtleSwgdmFsdWUpIHtcbiAgcmV0dXJuIHN0b3JlW2tleV0gfHwgKHN0b3JlW2tleV0gPSB2YWx1ZSAhPT0gdW5kZWZpbmVkID8gdmFsdWUgOiB7fSk7XG59KSgndmVyc2lvbnMnLCBbXSkucHVzaCh7XG4gIHZlcnNpb246ICczLjEuMycsXG4gIG1vZGU6IElTX1BVUkUgPyAncHVyZScgOiAnZ2xvYmFsJyxcbiAgY29weXJpZ2h0OiAnwqkgMjAxOSBEZW5pcyBQdXNoa2FyZXYgKHpsb2lyb2NrLnJ1KSdcbn0pO1xuIiwidmFyIGNlaWwgPSBNYXRoLmNlaWw7XG52YXIgZmxvb3IgPSBNYXRoLmZsb29yO1xuXG4vLyBgVG9JbnRlZ2VyYCBhYnN0cmFjdCBvcGVyYXRpb25cbi8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLXRvaW50ZWdlclxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoYXJndW1lbnQpIHtcbiAgcmV0dXJuIGlzTmFOKGFyZ3VtZW50ID0gK2FyZ3VtZW50KSA/IDAgOiAoYXJndW1lbnQgPiAwID8gZmxvb3IgOiBjZWlsKShhcmd1bWVudCk7XG59O1xuIiwibW9kdWxlLmV4cG9ydHMgPSBmYWxzZTtcbiIsInZhciBERVNDUklQVE9SUyA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9kZXNjcmlwdG9ycycpO1xudmFyIHByb3BlcnR5SXNFbnVtZXJhYmxlTW9kdWxlID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL29iamVjdC1wcm9wZXJ0eS1pcy1lbnVtZXJhYmxlJyk7XG52YXIgY3JlYXRlUHJvcGVydHlEZXNjcmlwdG9yID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2NyZWF0ZS1wcm9wZXJ0eS1kZXNjcmlwdG9yJyk7XG52YXIgdG9JbmRleGVkT2JqZWN0ID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL3RvLWluZGV4ZWQtb2JqZWN0Jyk7XG52YXIgdG9QcmltaXRpdmUgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvdG8tcHJpbWl0aXZlJyk7XG52YXIgaGFzID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2hhcycpO1xudmFyIElFOF9ET01fREVGSU5FID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2llOC1kb20tZGVmaW5lJyk7XG5cbnZhciBuYXRpdmVHZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO1xuXG4vLyBgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcmAgbWV0aG9kXG4vLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1vYmplY3QuZ2V0b3ducHJvcGVydHlkZXNjcmlwdG9yXG5leHBvcnRzLmYgPSBERVNDUklQVE9SUyA/IG5hdGl2ZUdldE93blByb3BlcnR5RGVzY3JpcHRvciA6IGZ1bmN0aW9uIGdldE93blByb3BlcnR5RGVzY3JpcHRvcihPLCBQKSB7XG4gIE8gPSB0b0luZGV4ZWRPYmplY3QoTyk7XG4gIFAgPSB0b1ByaW1pdGl2ZShQLCB0cnVlKTtcbiAgaWYgKElFOF9ET01fREVGSU5FKSB0cnkge1xuICAgIHJldHVybiBuYXRpdmVHZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTywgUCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7IC8qIGVtcHR5ICovIH1cbiAgaWYgKGhhcyhPLCBQKSkgcmV0dXJuIGNyZWF0ZVByb3BlcnR5RGVzY3JpcHRvcighcHJvcGVydHlJc0VudW1lcmFibGVNb2R1bGUuZi5jYWxsKE8sIFApLCBPW1BdKTtcbn07XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChiaXRtYXAsIHZhbHVlKSB7XG4gIHJldHVybiB7XG4gICAgZW51bWVyYWJsZTogIShiaXRtYXAgJiAxKSxcbiAgICBjb25maWd1cmFibGU6ICEoYml0bWFwICYgMiksXG4gICAgd3JpdGFibGU6ICEoYml0bWFwICYgNCksXG4gICAgdmFsdWU6IHZhbHVlXG4gIH07XG59O1xuIiwidmFyIGdsb2JhbCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9nbG9iYWwnKTtcbnZhciBoaWRlID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2hpZGUnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoa2V5LCB2YWx1ZSkge1xuICB0cnkge1xuICAgIGhpZGUoZ2xvYmFsLCBrZXksIHZhbHVlKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBnbG9iYWxba2V5XSA9IHZhbHVlO1xuICB9IHJldHVybiB2YWx1ZTtcbn07XG4iLCJ2YXIgTkFUSVZFX1dFQUtfTUFQID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL25hdGl2ZS13ZWFrLW1hcCcpO1xudmFyIGdsb2JhbCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9nbG9iYWwnKTtcbnZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9pcy1vYmplY3QnKTtcbnZhciBoaWRlID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2hpZGUnKTtcbnZhciBvYmplY3RIYXMgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvaGFzJyk7XG52YXIgc2hhcmVkS2V5ID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL3NoYXJlZC1rZXknKTtcbnZhciBoaWRkZW5LZXlzID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2hpZGRlbi1rZXlzJyk7XG5cbnZhciBXZWFrTWFwID0gZ2xvYmFsLldlYWtNYXA7XG52YXIgc2V0LCBnZXQsIGhhcztcblxudmFyIGVuZm9yY2UgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIGhhcyhpdCkgPyBnZXQoaXQpIDogc2V0KGl0LCB7fSk7XG59O1xuXG52YXIgZ2V0dGVyRm9yID0gZnVuY3Rpb24gKFRZUEUpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChpdCkge1xuICAgIHZhciBzdGF0ZTtcbiAgICBpZiAoIWlzT2JqZWN0KGl0KSB8fCAoc3RhdGUgPSBnZXQoaXQpKS50eXBlICE9PSBUWVBFKSB7XG4gICAgICB0aHJvdyBUeXBlRXJyb3IoJ0luY29tcGF0aWJsZSByZWNlaXZlciwgJyArIFRZUEUgKyAnIHJlcXVpcmVkJyk7XG4gICAgfSByZXR1cm4gc3RhdGU7XG4gIH07XG59O1xuXG5pZiAoTkFUSVZFX1dFQUtfTUFQKSB7XG4gIHZhciBzdG9yZSA9IG5ldyBXZWFrTWFwKCk7XG4gIHZhciB3bWdldCA9IHN0b3JlLmdldDtcbiAgdmFyIHdtaGFzID0gc3RvcmUuaGFzO1xuICB2YXIgd21zZXQgPSBzdG9yZS5zZXQ7XG4gIHNldCA9IGZ1bmN0aW9uIChpdCwgbWV0YWRhdGEpIHtcbiAgICB3bXNldC5jYWxsKHN0b3JlLCBpdCwgbWV0YWRhdGEpO1xuICAgIHJldHVybiBtZXRhZGF0YTtcbiAgfTtcbiAgZ2V0ID0gZnVuY3Rpb24gKGl0KSB7XG4gICAgcmV0dXJuIHdtZ2V0LmNhbGwoc3RvcmUsIGl0KSB8fCB7fTtcbiAgfTtcbiAgaGFzID0gZnVuY3Rpb24gKGl0KSB7XG4gICAgcmV0dXJuIHdtaGFzLmNhbGwoc3RvcmUsIGl0KTtcbiAgfTtcbn0gZWxzZSB7XG4gIHZhciBTVEFURSA9IHNoYXJlZEtleSgnc3RhdGUnKTtcbiAgaGlkZGVuS2V5c1tTVEFURV0gPSB0cnVlO1xuICBzZXQgPSBmdW5jdGlvbiAoaXQsIG1ldGFkYXRhKSB7XG4gICAgaGlkZShpdCwgU1RBVEUsIG1ldGFkYXRhKTtcbiAgICByZXR1cm4gbWV0YWRhdGE7XG4gIH07XG4gIGdldCA9IGZ1bmN0aW9uIChpdCkge1xuICAgIHJldHVybiBvYmplY3RIYXMoaXQsIFNUQVRFKSA/IGl0W1NUQVRFXSA6IHt9O1xuICB9O1xuICBoYXMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgICByZXR1cm4gb2JqZWN0SGFzKGl0LCBTVEFURSk7XG4gIH07XG59XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBzZXQ6IHNldCxcbiAgZ2V0OiBnZXQsXG4gIGhhczogaGFzLFxuICBlbmZvcmNlOiBlbmZvcmNlLFxuICBnZXR0ZXJGb3I6IGdldHRlckZvclxufTtcbiIsInZhciBnbG9iYWwgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvZ2xvYmFsJyk7XG52YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvaXMtb2JqZWN0Jyk7XG5cbnZhciBkb2N1bWVudCA9IGdsb2JhbC5kb2N1bWVudDtcbi8vIHR5cGVvZiBkb2N1bWVudC5jcmVhdGVFbGVtZW50IGlzICdvYmplY3QnIGluIG9sZCBJRVxudmFyIEVYSVNUUyA9IGlzT2JqZWN0KGRvY3VtZW50KSAmJiBpc09iamVjdChkb2N1bWVudC5jcmVhdGVFbGVtZW50KTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIEVYSVNUUyA/IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoaXQpIDoge307XG59O1xuIiwibW9kdWxlLmV4cG9ydHMgPSB7fTtcbiIsInZhciBhRnVuY3Rpb24gPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvYS1mdW5jdGlvbicpO1xuXG4vLyBvcHRpb25hbCAvIHNpbXBsZSBjb250ZXh0IGJpbmRpbmdcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGZuLCB0aGF0LCBsZW5ndGgpIHtcbiAgYUZ1bmN0aW9uKGZuKTtcbiAgaWYgKHRoYXQgPT09IHVuZGVmaW5lZCkgcmV0dXJuIGZuO1xuICBzd2l0Y2ggKGxlbmd0aCkge1xuICAgIGNhc2UgMDogcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBmbi5jYWxsKHRoYXQpO1xuICAgIH07XG4gICAgY2FzZSAxOiByZXR1cm4gZnVuY3Rpb24gKGEpIHtcbiAgICAgIHJldHVybiBmbi5jYWxsKHRoYXQsIGEpO1xuICAgIH07XG4gICAgY2FzZSAyOiByZXR1cm4gZnVuY3Rpb24gKGEsIGIpIHtcbiAgICAgIHJldHVybiBmbi5jYWxsKHRoYXQsIGEsIGIpO1xuICAgIH07XG4gICAgY2FzZSAzOiByZXR1cm4gZnVuY3Rpb24gKGEsIGIsIGMpIHtcbiAgICAgIHJldHVybiBmbi5jYWxsKHRoYXQsIGEsIGIsIGMpO1xuICAgIH07XG4gIH1cbiAgcmV0dXJuIGZ1bmN0aW9uICgvKiAuLi5hcmdzICovKSB7XG4gICAgcmV0dXJuIGZuLmFwcGx5KHRoYXQsIGFyZ3VtZW50cyk7XG4gIH07XG59O1xuIiwidmFyIGdldEJ1aWx0SW4gPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvZ2V0LWJ1aWx0LWluJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0QnVpbHRJbignbmF2aWdhdG9yJywgJ3VzZXJBZ2VudCcpIHx8ICcnO1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyIGFGdW5jdGlvbiA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9hLWZ1bmN0aW9uJyk7XG5cbnZhciBQcm9taXNlQ2FwYWJpbGl0eSA9IGZ1bmN0aW9uIChDKSB7XG4gIHZhciByZXNvbHZlLCByZWplY3Q7XG4gIHRoaXMucHJvbWlzZSA9IG5ldyBDKGZ1bmN0aW9uICgkJHJlc29sdmUsICQkcmVqZWN0KSB7XG4gICAgaWYgKHJlc29sdmUgIT09IHVuZGVmaW5lZCB8fCByZWplY3QgIT09IHVuZGVmaW5lZCkgdGhyb3cgVHlwZUVycm9yKCdCYWQgUHJvbWlzZSBjb25zdHJ1Y3RvcicpO1xuICAgIHJlc29sdmUgPSAkJHJlc29sdmU7XG4gICAgcmVqZWN0ID0gJCRyZWplY3Q7XG4gIH0pO1xuICB0aGlzLnJlc29sdmUgPSBhRnVuY3Rpb24ocmVzb2x2ZSk7XG4gIHRoaXMucmVqZWN0ID0gYUZ1bmN0aW9uKHJlamVjdCk7XG59O1xuXG4vLyAyNS40LjEuNSBOZXdQcm9taXNlQ2FwYWJpbGl0eShDKVxubW9kdWxlLmV4cG9ydHMuZiA9IGZ1bmN0aW9uIChDKSB7XG4gIHJldHVybiBuZXcgUHJvbWlzZUNhcGFiaWxpdHkoQyk7XG59O1xuIiwidmFyIHNoYXJlZCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9zaGFyZWQnKTtcbnZhciB1aWQgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvdWlkJyk7XG5cbnZhciBrZXlzID0gc2hhcmVkKCdrZXlzJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGtleSkge1xuICByZXR1cm4ga2V5c1trZXldIHx8IChrZXlzW2tleV0gPSB1aWQoa2V5KSk7XG59O1xuIiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvZ2xvYmFsJyk7XG4iLCIvLyBJRTgtIGRvbid0IGVudW0gYnVnIGtleXNcbm1vZHVsZS5leHBvcnRzID0gW1xuICAnY29uc3RydWN0b3InLFxuICAnaGFzT3duUHJvcGVydHknLFxuICAnaXNQcm90b3R5cGVPZicsXG4gICdwcm9wZXJ0eUlzRW51bWVyYWJsZScsXG4gICd0b0xvY2FsZVN0cmluZycsXG4gICd0b1N0cmluZycsXG4gICd2YWx1ZU9mJ1xuXTtcbiIsInZhciBkZWZpbmVQcm9wZXJ0eSA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9vYmplY3QtZGVmaW5lLXByb3BlcnR5JykuZjtcbnZhciBoYXMgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvaGFzJyk7XG52YXIgd2VsbEtub3duU3ltYm9sID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL3dlbGwta25vd24tc3ltYm9sJyk7XG5cbnZhciBUT19TVFJJTkdfVEFHID0gd2VsbEtub3duU3ltYm9sKCd0b1N0cmluZ1RhZycpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCwgVEFHLCBTVEFUSUMpIHtcbiAgaWYgKGl0ICYmICFoYXMoaXQgPSBTVEFUSUMgPyBpdCA6IGl0LnByb3RvdHlwZSwgVE9fU1RSSU5HX1RBRykpIHtcbiAgICBkZWZpbmVQcm9wZXJ0eShpdCwgVE9fU1RSSU5HX1RBRywgeyBjb25maWd1cmFibGU6IHRydWUsIHZhbHVlOiBUQUcgfSk7XG4gIH1cbn07XG4iLCJ2YXIgZmFpbHMgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvZmFpbHMnKTtcbnZhciBjbGFzc29mID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2NsYXNzb2YtcmF3Jyk7XG5cbnZhciBzcGxpdCA9ICcnLnNwbGl0O1xuXG4vLyBmYWxsYmFjayBmb3Igbm9uLWFycmF5LWxpa2UgRVMzIGFuZCBub24tZW51bWVyYWJsZSBvbGQgVjggc3RyaW5nc1xubW9kdWxlLmV4cG9ydHMgPSBmYWlscyhmdW5jdGlvbiAoKSB7XG4gIC8vIHRocm93cyBhbiBlcnJvciBpbiByaGlubywgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL3JoaW5vL2lzc3Vlcy8zNDZcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXByb3RvdHlwZS1idWlsdGluc1xuICByZXR1cm4gIU9iamVjdCgneicpLnByb3BlcnR5SXNFbnVtZXJhYmxlKDApO1xufSkgPyBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIGNsYXNzb2YoaXQpID09ICdTdHJpbmcnID8gc3BsaXQuY2FsbChpdCwgJycpIDogT2JqZWN0KGl0KTtcbn0gOiBPYmplY3Q7XG4iLCJ2YXIgcmVxdWlyZU9iamVjdENvZXJjaWJsZSA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9yZXF1aXJlLW9iamVjdC1jb2VyY2libGUnKTtcblxuLy8gYFRvT2JqZWN0YCBhYnN0cmFjdCBvcGVyYXRpb25cbi8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLXRvb2JqZWN0XG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChhcmd1bWVudCkge1xuICByZXR1cm4gT2JqZWN0KHJlcXVpcmVPYmplY3RDb2VyY2libGUoYXJndW1lbnQpKTtcbn07XG4iLCIndXNlIHN0cmljdCc7XG52YXIgJCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9leHBvcnQnKTtcbnZhciBJU19QVVJFID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2lzLXB1cmUnKTtcbnZhciBnbG9iYWwgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvZ2xvYmFsJyk7XG52YXIgcGF0aCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9wYXRoJyk7XG52YXIgcmVkZWZpbmVBbGwgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvcmVkZWZpbmUtYWxsJyk7XG52YXIgc2V0VG9TdHJpbmdUYWcgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvc2V0LXRvLXN0cmluZy10YWcnKTtcbnZhciBzZXRTcGVjaWVzID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL3NldC1zcGVjaWVzJyk7XG52YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvaXMtb2JqZWN0Jyk7XG52YXIgYUZ1bmN0aW9uID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2EtZnVuY3Rpb24nKTtcbnZhciBhbkluc3RhbmNlID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2FuLWluc3RhbmNlJyk7XG52YXIgY2xhc3NvZiA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9jbGFzc29mLXJhdycpO1xudmFyIGl0ZXJhdGUgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvaXRlcmF0ZScpO1xudmFyIGNoZWNrQ29ycmVjdG5lc3NPZkl0ZXJhdGlvbiA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9jaGVjay1jb3JyZWN0bmVzcy1vZi1pdGVyYXRpb24nKTtcbnZhciBzcGVjaWVzQ29uc3RydWN0b3IgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvc3BlY2llcy1jb25zdHJ1Y3RvcicpO1xudmFyIHRhc2sgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvdGFzaycpLnNldDtcbnZhciBtaWNyb3Rhc2sgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvbWljcm90YXNrJyk7XG52YXIgcHJvbWlzZVJlc29sdmUgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvcHJvbWlzZS1yZXNvbHZlJyk7XG52YXIgaG9zdFJlcG9ydEVycm9ycyA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9ob3N0LXJlcG9ydC1lcnJvcnMnKTtcbnZhciBuZXdQcm9taXNlQ2FwYWJpbGl0eU1vZHVsZSA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9uZXctcHJvbWlzZS1jYXBhYmlsaXR5Jyk7XG52YXIgcGVyZm9ybSA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9wZXJmb3JtJyk7XG52YXIgdXNlckFnZW50ID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL3VzZXItYWdlbnQnKTtcbnZhciBJbnRlcm5hbFN0YXRlTW9kdWxlID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2ludGVybmFsLXN0YXRlJyk7XG52YXIgaXNGb3JjZWQgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvaXMtZm9yY2VkJyk7XG52YXIgd2VsbEtub3duU3ltYm9sID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL3dlbGwta25vd24tc3ltYm9sJyk7XG5cbnZhciBTUEVDSUVTID0gd2VsbEtub3duU3ltYm9sKCdzcGVjaWVzJyk7XG52YXIgUFJPTUlTRSA9ICdQcm9taXNlJztcbnZhciBnZXRJbnRlcm5hbFN0YXRlID0gSW50ZXJuYWxTdGF0ZU1vZHVsZS5nZXQ7XG52YXIgc2V0SW50ZXJuYWxTdGF0ZSA9IEludGVybmFsU3RhdGVNb2R1bGUuc2V0O1xudmFyIGdldEludGVybmFsUHJvbWlzZVN0YXRlID0gSW50ZXJuYWxTdGF0ZU1vZHVsZS5nZXR0ZXJGb3IoUFJPTUlTRSk7XG52YXIgUHJvbWlzZUNvbnN0cnVjdG9yID0gZ2xvYmFsW1BST01JU0VdO1xudmFyIFR5cGVFcnJvciA9IGdsb2JhbC5UeXBlRXJyb3I7XG52YXIgZG9jdW1lbnQgPSBnbG9iYWwuZG9jdW1lbnQ7XG52YXIgcHJvY2VzcyA9IGdsb2JhbC5wcm9jZXNzO1xudmFyICRmZXRjaCA9IGdsb2JhbC5mZXRjaDtcbnZhciB2ZXJzaW9ucyA9IHByb2Nlc3MgJiYgcHJvY2Vzcy52ZXJzaW9ucztcbnZhciB2OCA9IHZlcnNpb25zICYmIHZlcnNpb25zLnY4IHx8ICcnO1xudmFyIG5ld1Byb21pc2VDYXBhYmlsaXR5ID0gbmV3UHJvbWlzZUNhcGFiaWxpdHlNb2R1bGUuZjtcbnZhciBuZXdHZW5lcmljUHJvbWlzZUNhcGFiaWxpdHkgPSBuZXdQcm9taXNlQ2FwYWJpbGl0eTtcbnZhciBJU19OT0RFID0gY2xhc3NvZihwcm9jZXNzKSA9PSAncHJvY2Vzcyc7XG52YXIgRElTUEFUQ0hfRVZFTlQgPSAhIShkb2N1bWVudCAmJiBkb2N1bWVudC5jcmVhdGVFdmVudCAmJiBnbG9iYWwuZGlzcGF0Y2hFdmVudCk7XG52YXIgVU5IQU5ETEVEX1JFSkVDVElPTiA9ICd1bmhhbmRsZWRyZWplY3Rpb24nO1xudmFyIFJFSkVDVElPTl9IQU5ETEVEID0gJ3JlamVjdGlvbmhhbmRsZWQnO1xudmFyIFBFTkRJTkcgPSAwO1xudmFyIEZVTEZJTExFRCA9IDE7XG52YXIgUkVKRUNURUQgPSAyO1xudmFyIEhBTkRMRUQgPSAxO1xudmFyIFVOSEFORExFRCA9IDI7XG52YXIgSW50ZXJuYWwsIE93blByb21pc2VDYXBhYmlsaXR5LCBQcm9taXNlV3JhcHBlcjtcblxudmFyIEZPUkNFRCA9IGlzRm9yY2VkKFBST01JU0UsIGZ1bmN0aW9uICgpIHtcbiAgLy8gY29ycmVjdCBzdWJjbGFzc2luZyB3aXRoIEBAc3BlY2llcyBzdXBwb3J0XG4gIHZhciBwcm9taXNlID0gUHJvbWlzZUNvbnN0cnVjdG9yLnJlc29sdmUoMSk7XG4gIHZhciBlbXB0eSA9IGZ1bmN0aW9uICgpIHsgLyogZW1wdHkgKi8gfTtcbiAgdmFyIEZha2VQcm9taXNlID0gKHByb21pc2UuY29uc3RydWN0b3IgPSB7fSlbU1BFQ0lFU10gPSBmdW5jdGlvbiAoZXhlYykge1xuICAgIGV4ZWMoZW1wdHksIGVtcHR5KTtcbiAgfTtcbiAgLy8gdW5oYW5kbGVkIHJlamVjdGlvbnMgdHJhY2tpbmcgc3VwcG9ydCwgTm9kZUpTIFByb21pc2Ugd2l0aG91dCBpdCBmYWlscyBAQHNwZWNpZXMgdGVzdFxuICByZXR1cm4gISgoSVNfTk9ERSB8fCB0eXBlb2YgUHJvbWlzZVJlamVjdGlvbkV2ZW50ID09ICdmdW5jdGlvbicpXG4gICAgJiYgKCFJU19QVVJFIHx8IHByb21pc2VbJ2ZpbmFsbHknXSlcbiAgICAmJiBwcm9taXNlLnRoZW4oZW1wdHkpIGluc3RhbmNlb2YgRmFrZVByb21pc2VcbiAgICAvLyB2OCA2LjYgKE5vZGUgMTAgYW5kIENocm9tZSA2NikgaGF2ZSBhIGJ1ZyB3aXRoIHJlc29sdmluZyBjdXN0b20gdGhlbmFibGVzXG4gICAgLy8gaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9ODMwNTY1XG4gICAgLy8gd2UgY2FuJ3QgZGV0ZWN0IGl0IHN5bmNocm9ub3VzbHksIHNvIGp1c3QgY2hlY2sgdmVyc2lvbnNcbiAgICAmJiB2OC5pbmRleE9mKCc2LjYnKSAhPT0gMFxuICAgICYmIHVzZXJBZ2VudC5pbmRleE9mKCdDaHJvbWUvNjYnKSA9PT0gLTEpO1xufSk7XG5cbnZhciBJTkNPUlJFQ1RfSVRFUkFUSU9OID0gRk9SQ0VEIHx8ICFjaGVja0NvcnJlY3RuZXNzT2ZJdGVyYXRpb24oZnVuY3Rpb24gKGl0ZXJhYmxlKSB7XG4gIFByb21pc2VDb25zdHJ1Y3Rvci5hbGwoaXRlcmFibGUpWydjYXRjaCddKGZ1bmN0aW9uICgpIHsgLyogZW1wdHkgKi8gfSk7XG59KTtcblxuLy8gaGVscGVyc1xudmFyIGlzVGhlbmFibGUgPSBmdW5jdGlvbiAoaXQpIHtcbiAgdmFyIHRoZW47XG4gIHJldHVybiBpc09iamVjdChpdCkgJiYgdHlwZW9mICh0aGVuID0gaXQudGhlbikgPT0gJ2Z1bmN0aW9uJyA/IHRoZW4gOiBmYWxzZTtcbn07XG5cbnZhciBub3RpZnkgPSBmdW5jdGlvbiAocHJvbWlzZSwgc3RhdGUsIGlzUmVqZWN0KSB7XG4gIGlmIChzdGF0ZS5ub3RpZmllZCkgcmV0dXJuO1xuICBzdGF0ZS5ub3RpZmllZCA9IHRydWU7XG4gIHZhciBjaGFpbiA9IHN0YXRlLnJlYWN0aW9ucztcbiAgbWljcm90YXNrKGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgdmFsdWUgPSBzdGF0ZS52YWx1ZTtcbiAgICB2YXIgb2sgPSBzdGF0ZS5zdGF0ZSA9PSBGVUxGSUxMRUQ7XG4gICAgdmFyIGluZGV4ID0gMDtcbiAgICAvLyB2YXJpYWJsZSBsZW5ndGggLSBjYW4ndCB1c2UgZm9yRWFjaFxuICAgIHdoaWxlIChjaGFpbi5sZW5ndGggPiBpbmRleCkge1xuICAgICAgdmFyIHJlYWN0aW9uID0gY2hhaW5baW5kZXgrK107XG4gICAgICB2YXIgaGFuZGxlciA9IG9rID8gcmVhY3Rpb24ub2sgOiByZWFjdGlvbi5mYWlsO1xuICAgICAgdmFyIHJlc29sdmUgPSByZWFjdGlvbi5yZXNvbHZlO1xuICAgICAgdmFyIHJlamVjdCA9IHJlYWN0aW9uLnJlamVjdDtcbiAgICAgIHZhciBkb21haW4gPSByZWFjdGlvbi5kb21haW47XG4gICAgICB2YXIgcmVzdWx0LCB0aGVuLCBleGl0ZWQ7XG4gICAgICB0cnkge1xuICAgICAgICBpZiAoaGFuZGxlcikge1xuICAgICAgICAgIGlmICghb2spIHtcbiAgICAgICAgICAgIGlmIChzdGF0ZS5yZWplY3Rpb24gPT09IFVOSEFORExFRCkgb25IYW5kbGVVbmhhbmRsZWQocHJvbWlzZSwgc3RhdGUpO1xuICAgICAgICAgICAgc3RhdGUucmVqZWN0aW9uID0gSEFORExFRDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGhhbmRsZXIgPT09IHRydWUpIHJlc3VsdCA9IHZhbHVlO1xuICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaWYgKGRvbWFpbikgZG9tYWluLmVudGVyKCk7XG4gICAgICAgICAgICByZXN1bHQgPSBoYW5kbGVyKHZhbHVlKTsgLy8gY2FuIHRocm93XG4gICAgICAgICAgICBpZiAoZG9tYWluKSB7XG4gICAgICAgICAgICAgIGRvbWFpbi5leGl0KCk7XG4gICAgICAgICAgICAgIGV4aXRlZCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChyZXN1bHQgPT09IHJlYWN0aW9uLnByb21pc2UpIHtcbiAgICAgICAgICAgIHJlamVjdChUeXBlRXJyb3IoJ1Byb21pc2UtY2hhaW4gY3ljbGUnKSk7XG4gICAgICAgICAgfSBlbHNlIGlmICh0aGVuID0gaXNUaGVuYWJsZShyZXN1bHQpKSB7XG4gICAgICAgICAgICB0aGVuLmNhbGwocmVzdWx0LCByZXNvbHZlLCByZWplY3QpO1xuICAgICAgICAgIH0gZWxzZSByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgIH0gZWxzZSByZWplY3QodmFsdWUpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGRvbWFpbiAmJiAhZXhpdGVkKSBkb21haW4uZXhpdCgpO1xuICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgfVxuICAgIH1cbiAgICBzdGF0ZS5yZWFjdGlvbnMgPSBbXTtcbiAgICBzdGF0ZS5ub3RpZmllZCA9IGZhbHNlO1xuICAgIGlmIChpc1JlamVjdCAmJiAhc3RhdGUucmVqZWN0aW9uKSBvblVuaGFuZGxlZChwcm9taXNlLCBzdGF0ZSk7XG4gIH0pO1xufTtcblxudmFyIGRpc3BhdGNoRXZlbnQgPSBmdW5jdGlvbiAobmFtZSwgcHJvbWlzZSwgcmVhc29uKSB7XG4gIHZhciBldmVudCwgaGFuZGxlcjtcbiAgaWYgKERJU1BBVENIX0VWRU5UKSB7XG4gICAgZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnRXZlbnQnKTtcbiAgICBldmVudC5wcm9taXNlID0gcHJvbWlzZTtcbiAgICBldmVudC5yZWFzb24gPSByZWFzb247XG4gICAgZXZlbnQuaW5pdEV2ZW50KG5hbWUsIGZhbHNlLCB0cnVlKTtcbiAgICBnbG9iYWwuZGlzcGF0Y2hFdmVudChldmVudCk7XG4gIH0gZWxzZSBldmVudCA9IHsgcHJvbWlzZTogcHJvbWlzZSwgcmVhc29uOiByZWFzb24gfTtcbiAgaWYgKGhhbmRsZXIgPSBnbG9iYWxbJ29uJyArIG5hbWVdKSBoYW5kbGVyKGV2ZW50KTtcbiAgZWxzZSBpZiAobmFtZSA9PT0gVU5IQU5ETEVEX1JFSkVDVElPTikgaG9zdFJlcG9ydEVycm9ycygnVW5oYW5kbGVkIHByb21pc2UgcmVqZWN0aW9uJywgcmVhc29uKTtcbn07XG5cbnZhciBvblVuaGFuZGxlZCA9IGZ1bmN0aW9uIChwcm9taXNlLCBzdGF0ZSkge1xuICB0YXNrLmNhbGwoZ2xvYmFsLCBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHZhbHVlID0gc3RhdGUudmFsdWU7XG4gICAgdmFyIElTX1VOSEFORExFRCA9IGlzVW5oYW5kbGVkKHN0YXRlKTtcbiAgICB2YXIgcmVzdWx0O1xuICAgIGlmIChJU19VTkhBTkRMRUQpIHtcbiAgICAgIHJlc3VsdCA9IHBlcmZvcm0oZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoSVNfTk9ERSkge1xuICAgICAgICAgIHByb2Nlc3MuZW1pdCgndW5oYW5kbGVkUmVqZWN0aW9uJywgdmFsdWUsIHByb21pc2UpO1xuICAgICAgICB9IGVsc2UgZGlzcGF0Y2hFdmVudChVTkhBTkRMRURfUkVKRUNUSU9OLCBwcm9taXNlLCB2YWx1ZSk7XG4gICAgICB9KTtcbiAgICAgIC8vIEJyb3dzZXJzIHNob3VsZCBub3QgdHJpZ2dlciBgcmVqZWN0aW9uSGFuZGxlZGAgZXZlbnQgaWYgaXQgd2FzIGhhbmRsZWQgaGVyZSwgTm9kZUpTIC0gc2hvdWxkXG4gICAgICBzdGF0ZS5yZWplY3Rpb24gPSBJU19OT0RFIHx8IGlzVW5oYW5kbGVkKHN0YXRlKSA/IFVOSEFORExFRCA6IEhBTkRMRUQ7XG4gICAgICBpZiAocmVzdWx0LmVycm9yKSB0aHJvdyByZXN1bHQudmFsdWU7XG4gICAgfVxuICB9KTtcbn07XG5cbnZhciBpc1VuaGFuZGxlZCA9IGZ1bmN0aW9uIChzdGF0ZSkge1xuICByZXR1cm4gc3RhdGUucmVqZWN0aW9uICE9PSBIQU5ETEVEICYmICFzdGF0ZS5wYXJlbnQ7XG59O1xuXG52YXIgb25IYW5kbGVVbmhhbmRsZWQgPSBmdW5jdGlvbiAocHJvbWlzZSwgc3RhdGUpIHtcbiAgdGFzay5jYWxsKGdsb2JhbCwgZnVuY3Rpb24gKCkge1xuICAgIGlmIChJU19OT0RFKSB7XG4gICAgICBwcm9jZXNzLmVtaXQoJ3JlamVjdGlvbkhhbmRsZWQnLCBwcm9taXNlKTtcbiAgICB9IGVsc2UgZGlzcGF0Y2hFdmVudChSRUpFQ1RJT05fSEFORExFRCwgcHJvbWlzZSwgc3RhdGUudmFsdWUpO1xuICB9KTtcbn07XG5cbnZhciBiaW5kID0gZnVuY3Rpb24gKGZuLCBwcm9taXNlLCBzdGF0ZSwgdW53cmFwKSB7XG4gIHJldHVybiBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICBmbihwcm9taXNlLCBzdGF0ZSwgdmFsdWUsIHVud3JhcCk7XG4gIH07XG59O1xuXG52YXIgaW50ZXJuYWxSZWplY3QgPSBmdW5jdGlvbiAocHJvbWlzZSwgc3RhdGUsIHZhbHVlLCB1bndyYXApIHtcbiAgaWYgKHN0YXRlLmRvbmUpIHJldHVybjtcbiAgc3RhdGUuZG9uZSA9IHRydWU7XG4gIGlmICh1bndyYXApIHN0YXRlID0gdW53cmFwO1xuICBzdGF0ZS52YWx1ZSA9IHZhbHVlO1xuICBzdGF0ZS5zdGF0ZSA9IFJFSkVDVEVEO1xuICBub3RpZnkocHJvbWlzZSwgc3RhdGUsIHRydWUpO1xufTtcblxudmFyIGludGVybmFsUmVzb2x2ZSA9IGZ1bmN0aW9uIChwcm9taXNlLCBzdGF0ZSwgdmFsdWUsIHVud3JhcCkge1xuICBpZiAoc3RhdGUuZG9uZSkgcmV0dXJuO1xuICBzdGF0ZS5kb25lID0gdHJ1ZTtcbiAgaWYgKHVud3JhcCkgc3RhdGUgPSB1bndyYXA7XG4gIHRyeSB7XG4gICAgaWYgKHByb21pc2UgPT09IHZhbHVlKSB0aHJvdyBUeXBlRXJyb3IoXCJQcm9taXNlIGNhbid0IGJlIHJlc29sdmVkIGl0c2VsZlwiKTtcbiAgICB2YXIgdGhlbiA9IGlzVGhlbmFibGUodmFsdWUpO1xuICAgIGlmICh0aGVuKSB7XG4gICAgICBtaWNyb3Rhc2soZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgd3JhcHBlciA9IHsgZG9uZTogZmFsc2UgfTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICB0aGVuLmNhbGwodmFsdWUsXG4gICAgICAgICAgICBiaW5kKGludGVybmFsUmVzb2x2ZSwgcHJvbWlzZSwgd3JhcHBlciwgc3RhdGUpLFxuICAgICAgICAgICAgYmluZChpbnRlcm5hbFJlamVjdCwgcHJvbWlzZSwgd3JhcHBlciwgc3RhdGUpXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBpbnRlcm5hbFJlamVjdChwcm9taXNlLCB3cmFwcGVyLCBlcnJvciwgc3RhdGUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3RhdGUudmFsdWUgPSB2YWx1ZTtcbiAgICAgIHN0YXRlLnN0YXRlID0gRlVMRklMTEVEO1xuICAgICAgbm90aWZ5KHByb21pc2UsIHN0YXRlLCBmYWxzZSk7XG4gICAgfVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGludGVybmFsUmVqZWN0KHByb21pc2UsIHsgZG9uZTogZmFsc2UgfSwgZXJyb3IsIHN0YXRlKTtcbiAgfVxufTtcblxuLy8gY29uc3RydWN0b3IgcG9seWZpbGxcbmlmIChGT1JDRUQpIHtcbiAgLy8gMjUuNC4zLjEgUHJvbWlzZShleGVjdXRvcilcbiAgUHJvbWlzZUNvbnN0cnVjdG9yID0gZnVuY3Rpb24gUHJvbWlzZShleGVjdXRvcikge1xuICAgIGFuSW5zdGFuY2UodGhpcywgUHJvbWlzZUNvbnN0cnVjdG9yLCBQUk9NSVNFKTtcbiAgICBhRnVuY3Rpb24oZXhlY3V0b3IpO1xuICAgIEludGVybmFsLmNhbGwodGhpcyk7XG4gICAgdmFyIHN0YXRlID0gZ2V0SW50ZXJuYWxTdGF0ZSh0aGlzKTtcbiAgICB0cnkge1xuICAgICAgZXhlY3V0b3IoYmluZChpbnRlcm5hbFJlc29sdmUsIHRoaXMsIHN0YXRlKSwgYmluZChpbnRlcm5hbFJlamVjdCwgdGhpcywgc3RhdGUpKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaW50ZXJuYWxSZWplY3QodGhpcywgc3RhdGUsIGVycm9yKTtcbiAgICB9XG4gIH07XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xuICBJbnRlcm5hbCA9IGZ1bmN0aW9uIFByb21pc2UoZXhlY3V0b3IpIHtcbiAgICBzZXRJbnRlcm5hbFN0YXRlKHRoaXMsIHtcbiAgICAgIHR5cGU6IFBST01JU0UsXG4gICAgICBkb25lOiBmYWxzZSxcbiAgICAgIG5vdGlmaWVkOiBmYWxzZSxcbiAgICAgIHBhcmVudDogZmFsc2UsXG4gICAgICByZWFjdGlvbnM6IFtdLFxuICAgICAgcmVqZWN0aW9uOiBmYWxzZSxcbiAgICAgIHN0YXRlOiBQRU5ESU5HLFxuICAgICAgdmFsdWU6IHVuZGVmaW5lZFxuICAgIH0pO1xuICB9O1xuICBJbnRlcm5hbC5wcm90b3R5cGUgPSByZWRlZmluZUFsbChQcm9taXNlQ29uc3RydWN0b3IucHJvdG90eXBlLCB7XG4gICAgLy8gYFByb21pc2UucHJvdG90eXBlLnRoZW5gIG1ldGhvZFxuICAgIC8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLXByb21pc2UucHJvdG90eXBlLnRoZW5cbiAgICB0aGVuOiBmdW5jdGlvbiB0aGVuKG9uRnVsZmlsbGVkLCBvblJlamVjdGVkKSB7XG4gICAgICB2YXIgc3RhdGUgPSBnZXRJbnRlcm5hbFByb21pc2VTdGF0ZSh0aGlzKTtcbiAgICAgIHZhciByZWFjdGlvbiA9IG5ld1Byb21pc2VDYXBhYmlsaXR5KHNwZWNpZXNDb25zdHJ1Y3Rvcih0aGlzLCBQcm9taXNlQ29uc3RydWN0b3IpKTtcbiAgICAgIHJlYWN0aW9uLm9rID0gdHlwZW9mIG9uRnVsZmlsbGVkID09ICdmdW5jdGlvbicgPyBvbkZ1bGZpbGxlZCA6IHRydWU7XG4gICAgICByZWFjdGlvbi5mYWlsID0gdHlwZW9mIG9uUmVqZWN0ZWQgPT0gJ2Z1bmN0aW9uJyAmJiBvblJlamVjdGVkO1xuICAgICAgcmVhY3Rpb24uZG9tYWluID0gSVNfTk9ERSA/IHByb2Nlc3MuZG9tYWluIDogdW5kZWZpbmVkO1xuICAgICAgc3RhdGUucGFyZW50ID0gdHJ1ZTtcbiAgICAgIHN0YXRlLnJlYWN0aW9ucy5wdXNoKHJlYWN0aW9uKTtcbiAgICAgIGlmIChzdGF0ZS5zdGF0ZSAhPSBQRU5ESU5HKSBub3RpZnkodGhpcywgc3RhdGUsIGZhbHNlKTtcbiAgICAgIHJldHVybiByZWFjdGlvbi5wcm9taXNlO1xuICAgIH0sXG4gICAgLy8gYFByb21pc2UucHJvdG90eXBlLmNhdGNoYCBtZXRob2RcbiAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1wcm9taXNlLnByb3RvdHlwZS5jYXRjaFxuICAgICdjYXRjaCc6IGZ1bmN0aW9uIChvblJlamVjdGVkKSB7XG4gICAgICByZXR1cm4gdGhpcy50aGVuKHVuZGVmaW5lZCwgb25SZWplY3RlZCk7XG4gICAgfVxuICB9KTtcbiAgT3duUHJvbWlzZUNhcGFiaWxpdHkgPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHByb21pc2UgPSBuZXcgSW50ZXJuYWwoKTtcbiAgICB2YXIgc3RhdGUgPSBnZXRJbnRlcm5hbFN0YXRlKHByb21pc2UpO1xuICAgIHRoaXMucHJvbWlzZSA9IHByb21pc2U7XG4gICAgdGhpcy5yZXNvbHZlID0gYmluZChpbnRlcm5hbFJlc29sdmUsIHByb21pc2UsIHN0YXRlKTtcbiAgICB0aGlzLnJlamVjdCA9IGJpbmQoaW50ZXJuYWxSZWplY3QsIHByb21pc2UsIHN0YXRlKTtcbiAgfTtcbiAgbmV3UHJvbWlzZUNhcGFiaWxpdHlNb2R1bGUuZiA9IG5ld1Byb21pc2VDYXBhYmlsaXR5ID0gZnVuY3Rpb24gKEMpIHtcbiAgICByZXR1cm4gQyA9PT0gUHJvbWlzZUNvbnN0cnVjdG9yIHx8IEMgPT09IFByb21pc2VXcmFwcGVyXG4gICAgICA/IG5ldyBPd25Qcm9taXNlQ2FwYWJpbGl0eShDKVxuICAgICAgOiBuZXdHZW5lcmljUHJvbWlzZUNhcGFiaWxpdHkoQyk7XG4gIH07XG5cbiAgLy8gd3JhcCBmZXRjaCByZXN1bHRcbiAgaWYgKCFJU19QVVJFICYmIHR5cGVvZiAkZmV0Y2ggPT0gJ2Z1bmN0aW9uJykgJCh7IGdsb2JhbDogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgZm9yY2VkOiB0cnVlIH0sIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICBmZXRjaDogZnVuY3Rpb24gZmV0Y2goaW5wdXQpIHtcbiAgICAgIHJldHVybiBwcm9taXNlUmVzb2x2ZShQcm9taXNlQ29uc3RydWN0b3IsICRmZXRjaC5hcHBseShnbG9iYWwsIGFyZ3VtZW50cykpO1xuICAgIH1cbiAgfSk7XG59XG5cbiQoeyBnbG9iYWw6IHRydWUsIHdyYXA6IHRydWUsIGZvcmNlZDogRk9SQ0VEIH0sIHtcbiAgUHJvbWlzZTogUHJvbWlzZUNvbnN0cnVjdG9yXG59KTtcblxuc2V0VG9TdHJpbmdUYWcoUHJvbWlzZUNvbnN0cnVjdG9yLCBQUk9NSVNFLCBmYWxzZSwgdHJ1ZSk7XG5zZXRTcGVjaWVzKFBST01JU0UpO1xuXG5Qcm9taXNlV3JhcHBlciA9IHBhdGhbUFJPTUlTRV07XG5cbi8vIHN0YXRpY3NcbiQoeyB0YXJnZXQ6IFBST01JU0UsIHN0YXQ6IHRydWUsIGZvcmNlZDogRk9SQ0VEIH0sIHtcbiAgLy8gYFByb21pc2UucmVqZWN0YCBtZXRob2RcbiAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtcHJvbWlzZS5yZWplY3RcbiAgcmVqZWN0OiBmdW5jdGlvbiByZWplY3Qocikge1xuICAgIHZhciBjYXBhYmlsaXR5ID0gbmV3UHJvbWlzZUNhcGFiaWxpdHkodGhpcyk7XG4gICAgY2FwYWJpbGl0eS5yZWplY3QuY2FsbCh1bmRlZmluZWQsIHIpO1xuICAgIHJldHVybiBjYXBhYmlsaXR5LnByb21pc2U7XG4gIH1cbn0pO1xuXG4kKHsgdGFyZ2V0OiBQUk9NSVNFLCBzdGF0OiB0cnVlLCBmb3JjZWQ6IElTX1BVUkUgfHwgRk9SQ0VEIH0sIHtcbiAgLy8gYFByb21pc2UucmVzb2x2ZWAgbWV0aG9kXG4gIC8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLXByb21pc2UucmVzb2x2ZVxuICByZXNvbHZlOiBmdW5jdGlvbiByZXNvbHZlKHgpIHtcbiAgICByZXR1cm4gcHJvbWlzZVJlc29sdmUoSVNfUFVSRSAmJiB0aGlzID09PSBQcm9taXNlV3JhcHBlciA/IFByb21pc2VDb25zdHJ1Y3RvciA6IHRoaXMsIHgpO1xuICB9XG59KTtcblxuJCh7IHRhcmdldDogUFJPTUlTRSwgc3RhdDogdHJ1ZSwgZm9yY2VkOiBJTkNPUlJFQ1RfSVRFUkFUSU9OIH0sIHtcbiAgLy8gYFByb21pc2UuYWxsYCBtZXRob2RcbiAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtcHJvbWlzZS5hbGxcbiAgYWxsOiBmdW5jdGlvbiBhbGwoaXRlcmFibGUpIHtcbiAgICB2YXIgQyA9IHRoaXM7XG4gICAgdmFyIGNhcGFiaWxpdHkgPSBuZXdQcm9taXNlQ2FwYWJpbGl0eShDKTtcbiAgICB2YXIgcmVzb2x2ZSA9IGNhcGFiaWxpdHkucmVzb2x2ZTtcbiAgICB2YXIgcmVqZWN0ID0gY2FwYWJpbGl0eS5yZWplY3Q7XG4gICAgdmFyIHJlc3VsdCA9IHBlcmZvcm0oZnVuY3Rpb24gKCkge1xuICAgICAgdmFyICRwcm9taXNlUmVzb2x2ZSA9IGFGdW5jdGlvbihDLnJlc29sdmUpO1xuICAgICAgdmFyIHZhbHVlcyA9IFtdO1xuICAgICAgdmFyIGNvdW50ZXIgPSAwO1xuICAgICAgdmFyIHJlbWFpbmluZyA9IDE7XG4gICAgICBpdGVyYXRlKGl0ZXJhYmxlLCBmdW5jdGlvbiAocHJvbWlzZSkge1xuICAgICAgICB2YXIgaW5kZXggPSBjb3VudGVyKys7XG4gICAgICAgIHZhciBhbHJlYWR5Q2FsbGVkID0gZmFsc2U7XG4gICAgICAgIHZhbHVlcy5wdXNoKHVuZGVmaW5lZCk7XG4gICAgICAgIHJlbWFpbmluZysrO1xuICAgICAgICAkcHJvbWlzZVJlc29sdmUuY2FsbChDLCBwcm9taXNlKS50aGVuKGZ1bmN0aW9uICh2YWx1ZSkge1xuICAgICAgICAgIGlmIChhbHJlYWR5Q2FsbGVkKSByZXR1cm47XG4gICAgICAgICAgYWxyZWFkeUNhbGxlZCA9IHRydWU7XG4gICAgICAgICAgdmFsdWVzW2luZGV4XSA9IHZhbHVlO1xuICAgICAgICAgIC0tcmVtYWluaW5nIHx8IHJlc29sdmUodmFsdWVzKTtcbiAgICAgICAgfSwgcmVqZWN0KTtcbiAgICAgIH0pO1xuICAgICAgLS1yZW1haW5pbmcgfHwgcmVzb2x2ZSh2YWx1ZXMpO1xuICAgIH0pO1xuICAgIGlmIChyZXN1bHQuZXJyb3IpIHJlamVjdChyZXN1bHQudmFsdWUpO1xuICAgIHJldHVybiBjYXBhYmlsaXR5LnByb21pc2U7XG4gIH0sXG4gIC8vIGBQcm9taXNlLnJhY2VgIG1ldGhvZFxuICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1wcm9taXNlLnJhY2VcbiAgcmFjZTogZnVuY3Rpb24gcmFjZShpdGVyYWJsZSkge1xuICAgIHZhciBDID0gdGhpcztcbiAgICB2YXIgY2FwYWJpbGl0eSA9IG5ld1Byb21pc2VDYXBhYmlsaXR5KEMpO1xuICAgIHZhciByZWplY3QgPSBjYXBhYmlsaXR5LnJlamVjdDtcbiAgICB2YXIgcmVzdWx0ID0gcGVyZm9ybShmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgJHByb21pc2VSZXNvbHZlID0gYUZ1bmN0aW9uKEMucmVzb2x2ZSk7XG4gICAgICBpdGVyYXRlKGl0ZXJhYmxlLCBmdW5jdGlvbiAocHJvbWlzZSkge1xuICAgICAgICAkcHJvbWlzZVJlc29sdmUuY2FsbChDLCBwcm9taXNlKS50aGVuKGNhcGFiaWxpdHkucmVzb2x2ZSwgcmVqZWN0KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGlmIChyZXN1bHQuZXJyb3IpIHJlamVjdChyZXN1bHQudmFsdWUpO1xuICAgIHJldHVybiBjYXBhYmlsaXR5LnByb21pc2U7XG4gIH1cbn0pO1xuIiwidmFyIGc7XG5cbi8vIFRoaXMgd29ya3MgaW4gbm9uLXN0cmljdCBtb2RlXG5nID0gKGZ1bmN0aW9uKCkge1xuXHRyZXR1cm4gdGhpcztcbn0pKCk7XG5cbnRyeSB7XG5cdC8vIFRoaXMgd29ya3MgaWYgZXZhbCBpcyBhbGxvd2VkIChzZWUgQ1NQKVxuXHRnID0gZyB8fCBuZXcgRnVuY3Rpb24oXCJyZXR1cm4gdGhpc1wiKSgpO1xufSBjYXRjaCAoZSkge1xuXHQvLyBUaGlzIHdvcmtzIGlmIHRoZSB3aW5kb3cgcmVmZXJlbmNlIGlzIGF2YWlsYWJsZVxuXHRpZiAodHlwZW9mIHdpbmRvdyA9PT0gXCJvYmplY3RcIikgZyA9IHdpbmRvdztcbn1cblxuLy8gZyBjYW4gc3RpbGwgYmUgdW5kZWZpbmVkLCBidXQgbm90aGluZyB0byBkbyBhYm91dCBpdC4uLlxuLy8gV2UgcmV0dXJuIHVuZGVmaW5lZCwgaW5zdGVhZCBvZiBub3RoaW5nIGhlcmUsIHNvIGl0J3Ncbi8vIGVhc2llciB0byBoYW5kbGUgdGhpcyBjYXNlLiBpZighZ2xvYmFsKSB7IC4uLn1cblxubW9kdWxlLmV4cG9ydHMgPSBnO1xuIiwidmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2lzLW9iamVjdCcpO1xuXG4vLyBgVG9QcmltaXRpdmVgIGFic3RyYWN0IG9wZXJhdGlvblxuLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtdG9wcmltaXRpdmVcbi8vIGluc3RlYWQgb2YgdGhlIEVTNiBzcGVjIHZlcnNpb24sIHdlIGRpZG4ndCBpbXBsZW1lbnQgQEB0b1ByaW1pdGl2ZSBjYXNlXG4vLyBhbmQgdGhlIHNlY29uZCBhcmd1bWVudCAtIGZsYWcgLSBwcmVmZXJyZWQgdHlwZSBpcyBhIHN0cmluZ1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaW5wdXQsIFBSRUZFUlJFRF9TVFJJTkcpIHtcbiAgaWYgKCFpc09iamVjdChpbnB1dCkpIHJldHVybiBpbnB1dDtcbiAgdmFyIGZuLCB2YWw7XG4gIGlmIChQUkVGRVJSRURfU1RSSU5HICYmIHR5cGVvZiAoZm4gPSBpbnB1dC50b1N0cmluZykgPT0gJ2Z1bmN0aW9uJyAmJiAhaXNPYmplY3QodmFsID0gZm4uY2FsbChpbnB1dCkpKSByZXR1cm4gdmFsO1xuICBpZiAodHlwZW9mIChmbiA9IGlucHV0LnZhbHVlT2YpID09ICdmdW5jdGlvbicgJiYgIWlzT2JqZWN0KHZhbCA9IGZuLmNhbGwoaW5wdXQpKSkgcmV0dXJuIHZhbDtcbiAgaWYgKCFQUkVGRVJSRURfU1RSSU5HICYmIHR5cGVvZiAoZm4gPSBpbnB1dC50b1N0cmluZykgPT0gJ2Z1bmN0aW9uJyAmJiAhaXNPYmplY3QodmFsID0gZm4uY2FsbChpbnB1dCkpKSByZXR1cm4gdmFsO1xuICB0aHJvdyBUeXBlRXJyb3IoXCJDYW4ndCBjb252ZXJ0IG9iamVjdCB0byBwcmltaXRpdmUgdmFsdWVcIik7XG59O1xuIiwidmFyIERFU0NSSVBUT1JTID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2Rlc2NyaXB0b3JzJyk7XG52YXIgZmFpbHMgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvZmFpbHMnKTtcbnZhciBjcmVhdGVFbGVtZW50ID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2RvY3VtZW50LWNyZWF0ZS1lbGVtZW50Jyk7XG5cbi8vIFRoYW5rJ3MgSUU4IGZvciBoaXMgZnVubnkgZGVmaW5lUHJvcGVydHlcbm1vZHVsZS5leHBvcnRzID0gIURFU0NSSVBUT1JTICYmICFmYWlscyhmdW5jdGlvbiAoKSB7XG4gIHJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoY3JlYXRlRWxlbWVudCgnZGl2JyksICdhJywge1xuICAgIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gNzsgfVxuICB9KS5hICE9IDc7XG59KTtcbiIsInZhciBzaGFyZWQgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvc2hhcmVkJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gc2hhcmVkKCduYXRpdmUtZnVuY3Rpb24tdG8tc3RyaW5nJywgRnVuY3Rpb24udG9TdHJpbmcpO1xuIiwidmFyIGlkID0gMDtcbnZhciBwb3N0Zml4ID0gTWF0aC5yYW5kb20oKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoa2V5KSB7XG4gIHJldHVybiAnU3ltYm9sKCcgKyBTdHJpbmcoa2V5ID09PSB1bmRlZmluZWQgPyAnJyA6IGtleSkgKyAnKV8nICsgKCsraWQgKyBwb3N0Zml4KS50b1N0cmluZygzNik7XG59O1xuIiwidmFyIGZhaWxzID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2ZhaWxzJyk7XG5cbnZhciByZXBsYWNlbWVudCA9IC8jfFxcLnByb3RvdHlwZVxcLi87XG5cbnZhciBpc0ZvcmNlZCA9IGZ1bmN0aW9uIChmZWF0dXJlLCBkZXRlY3Rpb24pIHtcbiAgdmFyIHZhbHVlID0gZGF0YVtub3JtYWxpemUoZmVhdHVyZSldO1xuICByZXR1cm4gdmFsdWUgPT0gUE9MWUZJTEwgPyB0cnVlXG4gICAgOiB2YWx1ZSA9PSBOQVRJVkUgPyBmYWxzZVxuICAgIDogdHlwZW9mIGRldGVjdGlvbiA9PSAnZnVuY3Rpb24nID8gZmFpbHMoZGV0ZWN0aW9uKVxuICAgIDogISFkZXRlY3Rpb247XG59O1xuXG52YXIgbm9ybWFsaXplID0gaXNGb3JjZWQubm9ybWFsaXplID0gZnVuY3Rpb24gKHN0cmluZykge1xuICByZXR1cm4gU3RyaW5nKHN0cmluZykucmVwbGFjZShyZXBsYWNlbWVudCwgJy4nKS50b0xvd2VyQ2FzZSgpO1xufTtcblxudmFyIGRhdGEgPSBpc0ZvcmNlZC5kYXRhID0ge307XG52YXIgTkFUSVZFID0gaXNGb3JjZWQuTkFUSVZFID0gJ04nO1xudmFyIFBPTFlGSUxMID0gaXNGb3JjZWQuUE9MWUZJTEwgPSAnUCc7XG5cbm1vZHVsZS5leHBvcnRzID0gaXNGb3JjZWQ7XG4iLCJ2YXIgY2xhc3NvZlJhdyA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9jbGFzc29mLXJhdycpO1xudmFyIHdlbGxLbm93blN5bWJvbCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy93ZWxsLWtub3duLXN5bWJvbCcpO1xuXG52YXIgVE9fU1RSSU5HX1RBRyA9IHdlbGxLbm93blN5bWJvbCgndG9TdHJpbmdUYWcnKTtcbi8vIEVTMyB3cm9uZyBoZXJlXG52YXIgQ09SUkVDVF9BUkdVTUVOVFMgPSBjbGFzc29mUmF3KGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSgpKSA9PSAnQXJndW1lbnRzJztcblxuLy8gZmFsbGJhY2sgZm9yIElFMTEgU2NyaXB0IEFjY2VzcyBEZW5pZWQgZXJyb3JcbnZhciB0cnlHZXQgPSBmdW5jdGlvbiAoaXQsIGtleSkge1xuICB0cnkge1xuICAgIHJldHVybiBpdFtrZXldO1xuICB9IGNhdGNoIChlcnJvcikgeyAvKiBlbXB0eSAqLyB9XG59O1xuXG4vLyBnZXR0aW5nIHRhZyBmcm9tIEVTNisgYE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmdgXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICB2YXIgTywgdGFnLCByZXN1bHQ7XG4gIHJldHVybiBpdCA9PT0gdW5kZWZpbmVkID8gJ1VuZGVmaW5lZCcgOiBpdCA9PT0gbnVsbCA/ICdOdWxsJ1xuICAgIC8vIEBAdG9TdHJpbmdUYWcgY2FzZVxuICAgIDogdHlwZW9mICh0YWcgPSB0cnlHZXQoTyA9IE9iamVjdChpdCksIFRPX1NUUklOR19UQUcpKSA9PSAnc3RyaW5nJyA/IHRhZ1xuICAgIC8vIGJ1aWx0aW5UYWcgY2FzZVxuICAgIDogQ09SUkVDVF9BUkdVTUVOVFMgPyBjbGFzc29mUmF3KE8pXG4gICAgLy8gRVMzIGFyZ3VtZW50cyBmYWxsYmFja1xuICAgIDogKHJlc3VsdCA9IGNsYXNzb2ZSYXcoTykpID09ICdPYmplY3QnICYmIHR5cGVvZiBPLmNhbGxlZSA9PSAnZnVuY3Rpb24nID8gJ0FyZ3VtZW50cycgOiByZXN1bHQ7XG59O1xuIiwidmFyIGdsb2JhbCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9nbG9iYWwnKTtcbnZhciBmYWlscyA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9mYWlscycpO1xudmFyIGNsYXNzb2YgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvY2xhc3NvZi1yYXcnKTtcbnZhciBiaW5kID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2JpbmQtY29udGV4dCcpO1xudmFyIGh0bWwgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvaHRtbCcpO1xudmFyIGNyZWF0ZUVsZW1lbnQgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvZG9jdW1lbnQtY3JlYXRlLWVsZW1lbnQnKTtcblxudmFyIGxvY2F0aW9uID0gZ2xvYmFsLmxvY2F0aW9uO1xudmFyIHNldCA9IGdsb2JhbC5zZXRJbW1lZGlhdGU7XG52YXIgY2xlYXIgPSBnbG9iYWwuY2xlYXJJbW1lZGlhdGU7XG52YXIgcHJvY2VzcyA9IGdsb2JhbC5wcm9jZXNzO1xudmFyIE1lc3NhZ2VDaGFubmVsID0gZ2xvYmFsLk1lc3NhZ2VDaGFubmVsO1xudmFyIERpc3BhdGNoID0gZ2xvYmFsLkRpc3BhdGNoO1xudmFyIGNvdW50ZXIgPSAwO1xudmFyIHF1ZXVlID0ge307XG52YXIgT05SRUFEWVNUQVRFQ0hBTkdFID0gJ29ucmVhZHlzdGF0ZWNoYW5nZSc7XG52YXIgZGVmZXIsIGNoYW5uZWwsIHBvcnQ7XG5cbnZhciBydW4gPSBmdW5jdGlvbiAoaWQpIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXByb3RvdHlwZS1idWlsdGluc1xuICBpZiAocXVldWUuaGFzT3duUHJvcGVydHkoaWQpKSB7XG4gICAgdmFyIGZuID0gcXVldWVbaWRdO1xuICAgIGRlbGV0ZSBxdWV1ZVtpZF07XG4gICAgZm4oKTtcbiAgfVxufTtcblxudmFyIHJ1bm5lciA9IGZ1bmN0aW9uIChpZCkge1xuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgIHJ1bihpZCk7XG4gIH07XG59O1xuXG52YXIgbGlzdGVuZXIgPSBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgcnVuKGV2ZW50LmRhdGEpO1xufTtcblxudmFyIHBvc3QgPSBmdW5jdGlvbiAoaWQpIHtcbiAgLy8gb2xkIGVuZ2luZXMgaGF2ZSBub3QgbG9jYXRpb24ub3JpZ2luXG4gIGdsb2JhbC5wb3N0TWVzc2FnZShpZCArICcnLCBsb2NhdGlvbi5wcm90b2NvbCArICcvLycgKyBsb2NhdGlvbi5ob3N0KTtcbn07XG5cbi8vIE5vZGUuanMgMC45KyAmIElFMTArIGhhcyBzZXRJbW1lZGlhdGUsIG90aGVyd2lzZTpcbmlmICghc2V0IHx8ICFjbGVhcikge1xuICBzZXQgPSBmdW5jdGlvbiBzZXRJbW1lZGlhdGUoZm4pIHtcbiAgICB2YXIgYXJncyA9IFtdO1xuICAgIHZhciBpID0gMTtcbiAgICB3aGlsZSAoYXJndW1lbnRzLmxlbmd0aCA+IGkpIGFyZ3MucHVzaChhcmd1bWVudHNbaSsrXSk7XG4gICAgcXVldWVbKytjb3VudGVyXSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1uZXctZnVuY1xuICAgICAgKHR5cGVvZiBmbiA9PSAnZnVuY3Rpb24nID8gZm4gOiBGdW5jdGlvbihmbikpLmFwcGx5KHVuZGVmaW5lZCwgYXJncyk7XG4gICAgfTtcbiAgICBkZWZlcihjb3VudGVyKTtcbiAgICByZXR1cm4gY291bnRlcjtcbiAgfTtcbiAgY2xlYXIgPSBmdW5jdGlvbiBjbGVhckltbWVkaWF0ZShpZCkge1xuICAgIGRlbGV0ZSBxdWV1ZVtpZF07XG4gIH07XG4gIC8vIE5vZGUuanMgMC44LVxuICBpZiAoY2xhc3NvZihwcm9jZXNzKSA9PSAncHJvY2VzcycpIHtcbiAgICBkZWZlciA9IGZ1bmN0aW9uIChpZCkge1xuICAgICAgcHJvY2Vzcy5uZXh0VGljayhydW5uZXIoaWQpKTtcbiAgICB9O1xuICAvLyBTcGhlcmUgKEpTIGdhbWUgZW5naW5lKSBEaXNwYXRjaCBBUElcbiAgfSBlbHNlIGlmIChEaXNwYXRjaCAmJiBEaXNwYXRjaC5ub3cpIHtcbiAgICBkZWZlciA9IGZ1bmN0aW9uIChpZCkge1xuICAgICAgRGlzcGF0Y2gubm93KHJ1bm5lcihpZCkpO1xuICAgIH07XG4gIC8vIEJyb3dzZXJzIHdpdGggTWVzc2FnZUNoYW5uZWwsIGluY2x1ZGVzIFdlYldvcmtlcnNcbiAgfSBlbHNlIGlmIChNZXNzYWdlQ2hhbm5lbCkge1xuICAgIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTtcbiAgICBwb3J0ID0gY2hhbm5lbC5wb3J0MjtcbiAgICBjaGFubmVsLnBvcnQxLm9ubWVzc2FnZSA9IGxpc3RlbmVyO1xuICAgIGRlZmVyID0gYmluZChwb3J0LnBvc3RNZXNzYWdlLCBwb3J0LCAxKTtcbiAgLy8gQnJvd3NlcnMgd2l0aCBwb3N0TWVzc2FnZSwgc2tpcCBXZWJXb3JrZXJzXG4gIC8vIElFOCBoYXMgcG9zdE1lc3NhZ2UsIGJ1dCBpdCdzIHN5bmMgJiB0eXBlb2YgaXRzIHBvc3RNZXNzYWdlIGlzICdvYmplY3QnXG4gIH0gZWxzZSBpZiAoZ2xvYmFsLmFkZEV2ZW50TGlzdGVuZXIgJiYgdHlwZW9mIHBvc3RNZXNzYWdlID09ICdmdW5jdGlvbicgJiYgIWdsb2JhbC5pbXBvcnRTY3JpcHRzICYmICFmYWlscyhwb3N0KSkge1xuICAgIGRlZmVyID0gcG9zdDtcbiAgICBnbG9iYWwuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIGxpc3RlbmVyLCBmYWxzZSk7XG4gIC8vIElFOC1cbiAgfSBlbHNlIGlmIChPTlJFQURZU1RBVEVDSEFOR0UgaW4gY3JlYXRlRWxlbWVudCgnc2NyaXB0JykpIHtcbiAgICBkZWZlciA9IGZ1bmN0aW9uIChpZCkge1xuICAgICAgaHRtbC5hcHBlbmRDaGlsZChjcmVhdGVFbGVtZW50KCdzY3JpcHQnKSlbT05SRUFEWVNUQVRFQ0hBTkdFXSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaHRtbC5yZW1vdmVDaGlsZCh0aGlzKTtcbiAgICAgICAgcnVuKGlkKTtcbiAgICAgIH07XG4gICAgfTtcbiAgLy8gUmVzdCBvbGQgYnJvd3NlcnNcbiAgfSBlbHNlIHtcbiAgICBkZWZlciA9IGZ1bmN0aW9uIChpZCkge1xuICAgICAgc2V0VGltZW91dChydW5uZXIoaWQpLCAwKTtcbiAgICB9O1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBzZXQ6IHNldCxcbiAgY2xlYXI6IGNsZWFyXG59O1xuIiwidmFyIGhhcyA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9oYXMnKTtcbnZhciB0b0luZGV4ZWRPYmplY3QgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvdG8taW5kZXhlZC1vYmplY3QnKTtcbnZhciBpbmRleE9mID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2FycmF5LWluY2x1ZGVzJykuaW5kZXhPZjtcbnZhciBoaWRkZW5LZXlzID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2hpZGRlbi1rZXlzJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKG9iamVjdCwgbmFtZXMpIHtcbiAgdmFyIE8gPSB0b0luZGV4ZWRPYmplY3Qob2JqZWN0KTtcbiAgdmFyIGkgPSAwO1xuICB2YXIgcmVzdWx0ID0gW107XG4gIHZhciBrZXk7XG4gIGZvciAoa2V5IGluIE8pICFoYXMoaGlkZGVuS2V5cywga2V5KSAmJiBoYXMoTywga2V5KSAmJiByZXN1bHQucHVzaChrZXkpO1xuICAvLyBEb24ndCBlbnVtIGJ1ZyAmIGhpZGRlbiBrZXlzXG4gIHdoaWxlIChuYW1lcy5sZW5ndGggPiBpKSBpZiAoaGFzKE8sIGtleSA9IG5hbWVzW2krK10pKSB7XG4gICAgfmluZGV4T2YocmVzdWx0LCBrZXkpIHx8IHJlc3VsdC5wdXNoKGtleSk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG4iLCJ2YXIgZ2V0QnVpbHRJbiA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9nZXQtYnVpbHQtaW4nKTtcblxubW9kdWxlLmV4cG9ydHMgPSBnZXRCdWlsdEluKCdkb2N1bWVudCcsICdkb2N1bWVudEVsZW1lbnQnKTtcbiIsInZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9hbi1vYmplY3QnKTtcbnZhciBpc0FycmF5SXRlcmF0b3JNZXRob2QgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvaXMtYXJyYXktaXRlcmF0b3ItbWV0aG9kJyk7XG52YXIgdG9MZW5ndGggPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvdG8tbGVuZ3RoJyk7XG52YXIgYmluZCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9iaW5kLWNvbnRleHQnKTtcbnZhciBnZXRJdGVyYXRvck1ldGhvZCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9nZXQtaXRlcmF0b3ItbWV0aG9kJyk7XG52YXIgY2FsbFdpdGhTYWZlSXRlcmF0aW9uQ2xvc2luZyA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9jYWxsLXdpdGgtc2FmZS1pdGVyYXRpb24tY2xvc2luZycpO1xuXG52YXIgUmVzdWx0ID0gZnVuY3Rpb24gKHN0b3BwZWQsIHJlc3VsdCkge1xuICB0aGlzLnN0b3BwZWQgPSBzdG9wcGVkO1xuICB0aGlzLnJlc3VsdCA9IHJlc3VsdDtcbn07XG5cbnZhciBpdGVyYXRlID0gbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXRlcmFibGUsIGZuLCB0aGF0LCBBU19FTlRSSUVTLCBJU19JVEVSQVRPUikge1xuICB2YXIgYm91bmRGdW5jdGlvbiA9IGJpbmQoZm4sIHRoYXQsIEFTX0VOVFJJRVMgPyAyIDogMSk7XG4gIHZhciBpdGVyYXRvciwgaXRlckZuLCBpbmRleCwgbGVuZ3RoLCByZXN1bHQsIHN0ZXA7XG5cbiAgaWYgKElTX0lURVJBVE9SKSB7XG4gICAgaXRlcmF0b3IgPSBpdGVyYWJsZTtcbiAgfSBlbHNlIHtcbiAgICBpdGVyRm4gPSBnZXRJdGVyYXRvck1ldGhvZChpdGVyYWJsZSk7XG4gICAgaWYgKHR5cGVvZiBpdGVyRm4gIT0gJ2Z1bmN0aW9uJykgdGhyb3cgVHlwZUVycm9yKCdUYXJnZXQgaXMgbm90IGl0ZXJhYmxlJyk7XG4gICAgLy8gb3B0aW1pc2F0aW9uIGZvciBhcnJheSBpdGVyYXRvcnNcbiAgICBpZiAoaXNBcnJheUl0ZXJhdG9yTWV0aG9kKGl0ZXJGbikpIHtcbiAgICAgIGZvciAoaW5kZXggPSAwLCBsZW5ndGggPSB0b0xlbmd0aChpdGVyYWJsZS5sZW5ndGgpOyBsZW5ndGggPiBpbmRleDsgaW5kZXgrKykge1xuICAgICAgICByZXN1bHQgPSBBU19FTlRSSUVTXG4gICAgICAgICAgPyBib3VuZEZ1bmN0aW9uKGFuT2JqZWN0KHN0ZXAgPSBpdGVyYWJsZVtpbmRleF0pWzBdLCBzdGVwWzFdKVxuICAgICAgICAgIDogYm91bmRGdW5jdGlvbihpdGVyYWJsZVtpbmRleF0pO1xuICAgICAgICBpZiAocmVzdWx0ICYmIHJlc3VsdCBpbnN0YW5jZW9mIFJlc3VsdCkgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH0gcmV0dXJuIG5ldyBSZXN1bHQoZmFsc2UpO1xuICAgIH1cbiAgICBpdGVyYXRvciA9IGl0ZXJGbi5jYWxsKGl0ZXJhYmxlKTtcbiAgfVxuXG4gIHdoaWxlICghKHN0ZXAgPSBpdGVyYXRvci5uZXh0KCkpLmRvbmUpIHtcbiAgICByZXN1bHQgPSBjYWxsV2l0aFNhZmVJdGVyYXRpb25DbG9zaW5nKGl0ZXJhdG9yLCBib3VuZEZ1bmN0aW9uLCBzdGVwLnZhbHVlLCBBU19FTlRSSUVTKTtcbiAgICBpZiAocmVzdWx0ICYmIHJlc3VsdCBpbnN0YW5jZW9mIFJlc3VsdCkgcmV0dXJuIHJlc3VsdDtcbiAgfSByZXR1cm4gbmV3IFJlc3VsdChmYWxzZSk7XG59O1xuXG5pdGVyYXRlLnN0b3AgPSBmdW5jdGlvbiAocmVzdWx0KSB7XG4gIHJldHVybiBuZXcgUmVzdWx0KHRydWUsIHJlc3VsdCk7XG59O1xuIiwidmFyIGFuT2JqZWN0ID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2FuLW9iamVjdCcpO1xudmFyIGFGdW5jdGlvbiA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9hLWZ1bmN0aW9uJyk7XG52YXIgd2VsbEtub3duU3ltYm9sID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL3dlbGwta25vd24tc3ltYm9sJyk7XG5cbnZhciBTUEVDSUVTID0gd2VsbEtub3duU3ltYm9sKCdzcGVjaWVzJyk7XG5cbi8vIGBTcGVjaWVzQ29uc3RydWN0b3JgIGFic3RyYWN0IG9wZXJhdGlvblxuLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtc3BlY2llc2NvbnN0cnVjdG9yXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChPLCBkZWZhdWx0Q29uc3RydWN0b3IpIHtcbiAgdmFyIEMgPSBhbk9iamVjdChPKS5jb25zdHJ1Y3RvcjtcbiAgdmFyIFM7XG4gIHJldHVybiBDID09PSB1bmRlZmluZWQgfHwgKFMgPSBhbk9iamVjdChDKVtTUEVDSUVTXSkgPT0gdW5kZWZpbmVkID8gZGVmYXVsdENvbnN0cnVjdG9yIDogYUZ1bmN0aW9uKFMpO1xufTtcbiIsIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGV4ZWMpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4geyBlcnJvcjogZmFsc2UsIHZhbHVlOiBleGVjKCkgfTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICByZXR1cm4geyBlcnJvcjogdHJ1ZSwgdmFsdWU6IGVycm9yIH07XG4gIH1cbn07XG4iLCJ2YXIgYW5PYmplY3QgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvYW4tb2JqZWN0Jyk7XG52YXIgZGVmaW5lUHJvcGVydGllcyA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9vYmplY3QtZGVmaW5lLXByb3BlcnRpZXMnKTtcbnZhciBlbnVtQnVnS2V5cyA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9lbnVtLWJ1Zy1rZXlzJyk7XG52YXIgaGlkZGVuS2V5cyA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9oaWRkZW4ta2V5cycpO1xudmFyIGh0bWwgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvaHRtbCcpO1xudmFyIGRvY3VtZW50Q3JlYXRlRWxlbWVudCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9kb2N1bWVudC1jcmVhdGUtZWxlbWVudCcpO1xudmFyIHNoYXJlZEtleSA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9zaGFyZWQta2V5Jyk7XG52YXIgSUVfUFJPVE8gPSBzaGFyZWRLZXkoJ0lFX1BST1RPJyk7XG5cbnZhciBQUk9UT1RZUEUgPSAncHJvdG90eXBlJztcbnZhciBFbXB0eSA9IGZ1bmN0aW9uICgpIHsgLyogZW1wdHkgKi8gfTtcblxuLy8gQ3JlYXRlIG9iamVjdCB3aXRoIGZha2UgYG51bGxgIHByb3RvdHlwZTogdXNlIGlmcmFtZSBPYmplY3Qgd2l0aCBjbGVhcmVkIHByb3RvdHlwZVxudmFyIGNyZWF0ZURpY3QgPSBmdW5jdGlvbiAoKSB7XG4gIC8vIFRocmFzaCwgd2FzdGUgYW5kIHNvZG9teTogSUUgR0MgYnVnXG4gIHZhciBpZnJhbWUgPSBkb2N1bWVudENyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpO1xuICB2YXIgbGVuZ3RoID0gZW51bUJ1Z0tleXMubGVuZ3RoO1xuICB2YXIgbHQgPSAnPCc7XG4gIHZhciBzY3JpcHQgPSAnc2NyaXB0JztcbiAgdmFyIGd0ID0gJz4nO1xuICB2YXIganMgPSAnamF2YScgKyBzY3JpcHQgKyAnOic7XG4gIHZhciBpZnJhbWVEb2N1bWVudDtcbiAgaWZyYW1lLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gIGh0bWwuYXBwZW5kQ2hpbGQoaWZyYW1lKTtcbiAgaWZyYW1lLnNyYyA9IFN0cmluZyhqcyk7XG4gIGlmcmFtZURvY3VtZW50ID0gaWZyYW1lLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7XG4gIGlmcmFtZURvY3VtZW50Lm9wZW4oKTtcbiAgaWZyYW1lRG9jdW1lbnQud3JpdGUobHQgKyBzY3JpcHQgKyBndCArICdkb2N1bWVudC5GPU9iamVjdCcgKyBsdCArICcvJyArIHNjcmlwdCArIGd0KTtcbiAgaWZyYW1lRG9jdW1lbnQuY2xvc2UoKTtcbiAgY3JlYXRlRGljdCA9IGlmcmFtZURvY3VtZW50LkY7XG4gIHdoaWxlIChsZW5ndGgtLSkgZGVsZXRlIGNyZWF0ZURpY3RbUFJPVE9UWVBFXVtlbnVtQnVnS2V5c1tsZW5ndGhdXTtcbiAgcmV0dXJuIGNyZWF0ZURpY3QoKTtcbn07XG5cbi8vIGBPYmplY3QuY3JlYXRlYCBtZXRob2Rcbi8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLW9iamVjdC5jcmVhdGVcbm1vZHVsZS5leHBvcnRzID0gT2JqZWN0LmNyZWF0ZSB8fCBmdW5jdGlvbiBjcmVhdGUoTywgUHJvcGVydGllcykge1xuICB2YXIgcmVzdWx0O1xuICBpZiAoTyAhPT0gbnVsbCkge1xuICAgIEVtcHR5W1BST1RPVFlQRV0gPSBhbk9iamVjdChPKTtcbiAgICByZXN1bHQgPSBuZXcgRW1wdHkoKTtcbiAgICBFbXB0eVtQUk9UT1RZUEVdID0gbnVsbDtcbiAgICAvLyBhZGQgXCJfX3Byb3RvX19cIiBmb3IgT2JqZWN0LmdldFByb3RvdHlwZU9mIHBvbHlmaWxsXG4gICAgcmVzdWx0W0lFX1BST1RPXSA9IE87XG4gIH0gZWxzZSByZXN1bHQgPSBjcmVhdGVEaWN0KCk7XG4gIHJldHVybiBQcm9wZXJ0aWVzID09PSB1bmRlZmluZWQgPyByZXN1bHQgOiBkZWZpbmVQcm9wZXJ0aWVzKHJlc3VsdCwgUHJvcGVydGllcyk7XG59O1xuXG5oaWRkZW5LZXlzW0lFX1BST1RPXSA9IHRydWU7XG4iLCJ2YXIgaGFzID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2hhcycpO1xudmFyIHRvT2JqZWN0ID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL3RvLW9iamVjdCcpO1xudmFyIHNoYXJlZEtleSA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9zaGFyZWQta2V5Jyk7XG52YXIgQ09SUkVDVF9QUk9UT1RZUEVfR0VUVEVSID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2NvcnJlY3QtcHJvdG90eXBlLWdldHRlcicpO1xuXG52YXIgSUVfUFJPVE8gPSBzaGFyZWRLZXkoJ0lFX1BST1RPJyk7XG52YXIgT2JqZWN0UHJvdG90eXBlID0gT2JqZWN0LnByb3RvdHlwZTtcblxuLy8gYE9iamVjdC5nZXRQcm90b3R5cGVPZmAgbWV0aG9kXG4vLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1vYmplY3QuZ2V0cHJvdG90eXBlb2Zcbm1vZHVsZS5leHBvcnRzID0gQ09SUkVDVF9QUk9UT1RZUEVfR0VUVEVSID8gT2JqZWN0LmdldFByb3RvdHlwZU9mIDogZnVuY3Rpb24gKE8pIHtcbiAgTyA9IHRvT2JqZWN0KE8pO1xuICBpZiAoaGFzKE8sIElFX1BST1RPKSkgcmV0dXJuIE9bSUVfUFJPVE9dO1xuICBpZiAodHlwZW9mIE8uY29uc3RydWN0b3IgPT0gJ2Z1bmN0aW9uJyAmJiBPIGluc3RhbmNlb2YgTy5jb25zdHJ1Y3Rvcikge1xuICAgIHJldHVybiBPLmNvbnN0cnVjdG9yLnByb3RvdHlwZTtcbiAgfSByZXR1cm4gTyBpbnN0YW5jZW9mIE9iamVjdCA/IE9iamVjdFByb3RvdHlwZSA6IG51bGw7XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyIG5hdGl2ZVByb3BlcnR5SXNFbnVtZXJhYmxlID0ge30ucHJvcGVydHlJc0VudW1lcmFibGU7XG52YXIgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtcblxuLy8gTmFzaG9ybiB+IEpESzggYnVnXG52YXIgTkFTSE9STl9CVUcgPSBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgJiYgIW5hdGl2ZVByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoeyAxOiAyIH0sIDEpO1xuXG4vLyBgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZWAgbWV0aG9kIGltcGxlbWVudGF0aW9uXG4vLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1vYmplY3QucHJvdG90eXBlLnByb3BlcnR5aXNlbnVtZXJhYmxlXG5leHBvcnRzLmYgPSBOQVNIT1JOX0JVRyA/IGZ1bmN0aW9uIHByb3BlcnR5SXNFbnVtZXJhYmxlKFYpIHtcbiAgdmFyIGRlc2NyaXB0b3IgPSBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGhpcywgVik7XG4gIHJldHVybiAhIWRlc2NyaXB0b3IgJiYgZGVzY3JpcHRvci5lbnVtZXJhYmxlO1xufSA6IG5hdGl2ZVByb3BlcnR5SXNFbnVtZXJhYmxlO1xuIiwidmFyIHRvSW5kZXhlZE9iamVjdCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy90by1pbmRleGVkLW9iamVjdCcpO1xudmFyIHRvTGVuZ3RoID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL3RvLWxlbmd0aCcpO1xudmFyIHRvQWJzb2x1dGVJbmRleCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy90by1hYnNvbHV0ZS1pbmRleCcpO1xuXG4vLyBgQXJyYXkucHJvdG90eXBlLnsgaW5kZXhPZiwgaW5jbHVkZXMgfWAgbWV0aG9kcyBpbXBsZW1lbnRhdGlvblxudmFyIGNyZWF0ZU1ldGhvZCA9IGZ1bmN0aW9uIChJU19JTkNMVURFUykge1xuICByZXR1cm4gZnVuY3Rpb24gKCR0aGlzLCBlbCwgZnJvbUluZGV4KSB7XG4gICAgdmFyIE8gPSB0b0luZGV4ZWRPYmplY3QoJHRoaXMpO1xuICAgIHZhciBsZW5ndGggPSB0b0xlbmd0aChPLmxlbmd0aCk7XG4gICAgdmFyIGluZGV4ID0gdG9BYnNvbHV0ZUluZGV4KGZyb21JbmRleCwgbGVuZ3RoKTtcbiAgICB2YXIgdmFsdWU7XG4gICAgLy8gQXJyYXkjaW5jbHVkZXMgdXNlcyBTYW1lVmFsdWVaZXJvIGVxdWFsaXR5IGFsZ29yaXRobVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWNvbXBhcmVcbiAgICBpZiAoSVNfSU5DTFVERVMgJiYgZWwgIT0gZWwpIHdoaWxlIChsZW5ndGggPiBpbmRleCkge1xuICAgICAgdmFsdWUgPSBPW2luZGV4KytdO1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNlbGYtY29tcGFyZVxuICAgICAgaWYgKHZhbHVlICE9IHZhbHVlKSByZXR1cm4gdHJ1ZTtcbiAgICAvLyBBcnJheSNpbmRleE9mIGlnbm9yZXMgaG9sZXMsIEFycmF5I2luY2x1ZGVzIC0gbm90XG4gICAgfSBlbHNlIGZvciAoO2xlbmd0aCA+IGluZGV4OyBpbmRleCsrKSB7XG4gICAgICBpZiAoKElTX0lOQ0xVREVTIHx8IGluZGV4IGluIE8pICYmIE9baW5kZXhdID09PSBlbCkgcmV0dXJuIElTX0lOQ0xVREVTIHx8IGluZGV4IHx8IDA7XG4gICAgfSByZXR1cm4gIUlTX0lOQ0xVREVTICYmIC0xO1xuICB9O1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIC8vIGBBcnJheS5wcm90b3R5cGUuaW5jbHVkZXNgIG1ldGhvZFxuICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1hcnJheS5wcm90b3R5cGUuaW5jbHVkZXNcbiAgaW5jbHVkZXM6IGNyZWF0ZU1ldGhvZCh0cnVlKSxcbiAgLy8gYEFycmF5LnByb3RvdHlwZS5pbmRleE9mYCBtZXRob2RcbiAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtYXJyYXkucHJvdG90eXBlLmluZGV4b2ZcbiAgaW5kZXhPZjogY3JlYXRlTWV0aG9kKGZhbHNlKVxufTtcbiIsImV4cG9ydHMuZiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM7XG4iLCIndXNlIHN0cmljdCc7XG52YXIgZ2V0UHJvdG90eXBlT2YgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvb2JqZWN0LWdldC1wcm90b3R5cGUtb2YnKTtcbnZhciBoaWRlID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2hpZGUnKTtcbnZhciBoYXMgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvaGFzJyk7XG52YXIgd2VsbEtub3duU3ltYm9sID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL3dlbGwta25vd24tc3ltYm9sJyk7XG52YXIgSVNfUFVSRSA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9pcy1wdXJlJyk7XG5cbnZhciBJVEVSQVRPUiA9IHdlbGxLbm93blN5bWJvbCgnaXRlcmF0b3InKTtcbnZhciBCVUdHWV9TQUZBUklfSVRFUkFUT1JTID0gZmFsc2U7XG5cbnZhciByZXR1cm5UaGlzID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfTtcblxuLy8gYCVJdGVyYXRvclByb3RvdHlwZSVgIG9iamVjdFxuLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtJWl0ZXJhdG9ycHJvdG90eXBlJS1vYmplY3RcbnZhciBJdGVyYXRvclByb3RvdHlwZSwgUHJvdG90eXBlT2ZBcnJheUl0ZXJhdG9yUHJvdG90eXBlLCBhcnJheUl0ZXJhdG9yO1xuXG5pZiAoW10ua2V5cykge1xuICBhcnJheUl0ZXJhdG9yID0gW10ua2V5cygpO1xuICAvLyBTYWZhcmkgOCBoYXMgYnVnZ3kgaXRlcmF0b3JzIHcvbyBgbmV4dGBcbiAgaWYgKCEoJ25leHQnIGluIGFycmF5SXRlcmF0b3IpKSBCVUdHWV9TQUZBUklfSVRFUkFUT1JTID0gdHJ1ZTtcbiAgZWxzZSB7XG4gICAgUHJvdG90eXBlT2ZBcnJheUl0ZXJhdG9yUHJvdG90eXBlID0gZ2V0UHJvdG90eXBlT2YoZ2V0UHJvdG90eXBlT2YoYXJyYXlJdGVyYXRvcikpO1xuICAgIGlmIChQcm90b3R5cGVPZkFycmF5SXRlcmF0b3JQcm90b3R5cGUgIT09IE9iamVjdC5wcm90b3R5cGUpIEl0ZXJhdG9yUHJvdG90eXBlID0gUHJvdG90eXBlT2ZBcnJheUl0ZXJhdG9yUHJvdG90eXBlO1xuICB9XG59XG5cbmlmIChJdGVyYXRvclByb3RvdHlwZSA9PSB1bmRlZmluZWQpIEl0ZXJhdG9yUHJvdG90eXBlID0ge307XG5cbi8vIDI1LjEuMi4xLjEgJUl0ZXJhdG9yUHJvdG90eXBlJVtAQGl0ZXJhdG9yXSgpXG5pZiAoIUlTX1BVUkUgJiYgIWhhcyhJdGVyYXRvclByb3RvdHlwZSwgSVRFUkFUT1IpKSBoaWRlKEl0ZXJhdG9yUHJvdG90eXBlLCBJVEVSQVRPUiwgcmV0dXJuVGhpcyk7XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBJdGVyYXRvclByb3RvdHlwZTogSXRlcmF0b3JQcm90b3R5cGUsXG4gIEJVR0dZX1NBRkFSSV9JVEVSQVRPUlM6IEJVR0dZX1NBRkFSSV9JVEVSQVRPUlNcbn07XG4iLCJ2YXIgYW5PYmplY3QgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvYW4tb2JqZWN0Jyk7XG52YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvaXMtb2JqZWN0Jyk7XG52YXIgbmV3UHJvbWlzZUNhcGFiaWxpdHkgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvbmV3LXByb21pc2UtY2FwYWJpbGl0eScpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChDLCB4KSB7XG4gIGFuT2JqZWN0KEMpO1xuICBpZiAoaXNPYmplY3QoeCkgJiYgeC5jb25zdHJ1Y3RvciA9PT0gQykgcmV0dXJuIHg7XG4gIHZhciBwcm9taXNlQ2FwYWJpbGl0eSA9IG5ld1Byb21pc2VDYXBhYmlsaXR5LmYoQyk7XG4gIHZhciByZXNvbHZlID0gcHJvbWlzZUNhcGFiaWxpdHkucmVzb2x2ZTtcbiAgcmVzb2x2ZSh4KTtcbiAgcmV0dXJuIHByb21pc2VDYXBhYmlsaXR5LnByb21pc2U7XG59O1xuIiwidmFyIGdsb2JhbCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9nbG9iYWwnKTtcbnZhciBuYXRpdmVGdW5jdGlvblRvU3RyaW5nID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2Z1bmN0aW9uLXRvLXN0cmluZycpO1xuXG52YXIgV2Vha01hcCA9IGdsb2JhbC5XZWFrTWFwO1xuXG5tb2R1bGUuZXhwb3J0cyA9IHR5cGVvZiBXZWFrTWFwID09PSAnZnVuY3Rpb24nICYmIC9uYXRpdmUgY29kZS8udGVzdChuYXRpdmVGdW5jdGlvblRvU3RyaW5nLmNhbGwoV2Vha01hcCkpO1xuIiwidmFyIGhhcyA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9oYXMnKTtcbnZhciBvd25LZXlzID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL293bi1rZXlzJyk7XG52YXIgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yTW9kdWxlID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL29iamVjdC1nZXQtb3duLXByb3BlcnR5LWRlc2NyaXB0b3InKTtcbnZhciBkZWZpbmVQcm9wZXJ0eU1vZHVsZSA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9vYmplY3QtZGVmaW5lLXByb3BlcnR5Jyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKHRhcmdldCwgc291cmNlKSB7XG4gIHZhciBrZXlzID0gb3duS2V5cyhzb3VyY2UpO1xuICB2YXIgZGVmaW5lUHJvcGVydHkgPSBkZWZpbmVQcm9wZXJ0eU1vZHVsZS5mO1xuICB2YXIgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yID0gZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yTW9kdWxlLmY7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBrZXkgPSBrZXlzW2ldO1xuICAgIGlmICghaGFzKHRhcmdldCwga2V5KSkgZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIGdldE93blByb3BlcnR5RGVzY3JpcHRvcihzb3VyY2UsIGtleSkpO1xuICB9XG59O1xuIiwidmFyIGdldEJ1aWx0SW4gPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvZ2V0LWJ1aWx0LWluJyk7XG52YXIgZ2V0T3duUHJvcGVydHlOYW1lc01vZHVsZSA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9vYmplY3QtZ2V0LW93bi1wcm9wZXJ0eS1uYW1lcycpO1xudmFyIGdldE93blByb3BlcnR5U3ltYm9sc01vZHVsZSA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9vYmplY3QtZ2V0LW93bi1wcm9wZXJ0eS1zeW1ib2xzJyk7XG52YXIgYW5PYmplY3QgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvYW4tb2JqZWN0Jyk7XG5cbi8vIGFsbCBvYmplY3Qga2V5cywgaW5jbHVkZXMgbm9uLWVudW1lcmFibGUgYW5kIHN5bWJvbHNcbm1vZHVsZS5leHBvcnRzID0gZ2V0QnVpbHRJbignUmVmbGVjdCcsICdvd25LZXlzJykgfHwgZnVuY3Rpb24gb3duS2V5cyhpdCkge1xuICB2YXIga2V5cyA9IGdldE93blByb3BlcnR5TmFtZXNNb2R1bGUuZihhbk9iamVjdChpdCkpO1xuICB2YXIgZ2V0T3duUHJvcGVydHlTeW1ib2xzID0gZ2V0T3duUHJvcGVydHlTeW1ib2xzTW9kdWxlLmY7XG4gIHJldHVybiBnZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPyBrZXlzLmNvbmNhdChnZXRPd25Qcm9wZXJ0eVN5bWJvbHMoaXQpKSA6IGtleXM7XG59O1xuIiwidmFyIGludGVybmFsT2JqZWN0S2V5cyA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9vYmplY3Qta2V5cy1pbnRlcm5hbCcpO1xudmFyIGVudW1CdWdLZXlzID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2VudW0tYnVnLWtleXMnKTtcblxudmFyIGhpZGRlbktleXMgPSBlbnVtQnVnS2V5cy5jb25jYXQoJ2xlbmd0aCcsICdwcm90b3R5cGUnKTtcblxuLy8gYE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzYCBtZXRob2Rcbi8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLW9iamVjdC5nZXRvd25wcm9wZXJ0eW5hbWVzXG5leHBvcnRzLmYgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyB8fCBmdW5jdGlvbiBnZXRPd25Qcm9wZXJ0eU5hbWVzKE8pIHtcbiAgcmV0dXJuIGludGVybmFsT2JqZWN0S2V5cyhPLCBoaWRkZW5LZXlzKTtcbn07XG4iLCJ2YXIgdG9JbnRlZ2VyID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL3RvLWludGVnZXInKTtcblxudmFyIG1heCA9IE1hdGgubWF4O1xudmFyIG1pbiA9IE1hdGgubWluO1xuXG4vLyBIZWxwZXIgZm9yIGEgcG9wdWxhciByZXBlYXRpbmcgY2FzZSBvZiB0aGUgc3BlYzpcbi8vIExldCBpbnRlZ2VyIGJlID8gVG9JbnRlZ2VyKGluZGV4KS5cbi8vIElmIGludGVnZXIgPCAwLCBsZXQgcmVzdWx0IGJlIG1heCgobGVuZ3RoICsgaW50ZWdlciksIDApOyBlbHNlIGxldCByZXN1bHQgYmUgbWluKGxlbmd0aCwgbGVuZ3RoKS5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGluZGV4LCBsZW5ndGgpIHtcbiAgdmFyIGludGVnZXIgPSB0b0ludGVnZXIoaW5kZXgpO1xuICByZXR1cm4gaW50ZWdlciA8IDAgPyBtYXgoaW50ZWdlciArIGxlbmd0aCwgMCkgOiBtaW4oaW50ZWdlciwgbGVuZ3RoKTtcbn07XG4iLCJ2YXIgZmFpbHMgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvZmFpbHMnKTtcblxubW9kdWxlLmV4cG9ydHMgPSAhIU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgJiYgIWZhaWxzKGZ1bmN0aW9uICgpIHtcbiAgLy8gQ2hyb21lIDM4IFN5bWJvbCBoYXMgaW5jb3JyZWN0IHRvU3RyaW5nIGNvbnZlcnNpb25cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVmXG4gIHJldHVybiAhU3RyaW5nKFN5bWJvbCgpKTtcbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyIGNsYXNzb2YgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvY2xhc3NvZicpO1xudmFyIHdlbGxLbm93blN5bWJvbCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy93ZWxsLWtub3duLXN5bWJvbCcpO1xuXG52YXIgVE9fU1RSSU5HX1RBRyA9IHdlbGxLbm93blN5bWJvbCgndG9TdHJpbmdUYWcnKTtcbnZhciB0ZXN0ID0ge307XG5cbnRlc3RbVE9fU1RSSU5HX1RBR10gPSAneic7XG5cbi8vIGBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nYCBtZXRob2QgaW1wbGVtZW50YXRpb25cbi8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLW9iamVjdC5wcm90b3R5cGUudG9zdHJpbmdcbm1vZHVsZS5leHBvcnRzID0gU3RyaW5nKHRlc3QpICE9PSAnW29iamVjdCB6XScgPyBmdW5jdGlvbiB0b1N0cmluZygpIHtcbiAgcmV0dXJuICdbb2JqZWN0ICcgKyBjbGFzc29mKHRoaXMpICsgJ10nO1xufSA6IHRlc3QudG9TdHJpbmc7XG4iLCJ2YXIgdG9JbnRlZ2VyID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL3RvLWludGVnZXInKTtcbnZhciByZXF1aXJlT2JqZWN0Q29lcmNpYmxlID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL3JlcXVpcmUtb2JqZWN0LWNvZXJjaWJsZScpO1xuXG4vLyBgU3RyaW5nLnByb3RvdHlwZS57IGNvZGVQb2ludEF0LCBhdCB9YCBtZXRob2RzIGltcGxlbWVudGF0aW9uXG52YXIgY3JlYXRlTWV0aG9kID0gZnVuY3Rpb24gKENPTlZFUlRfVE9fU1RSSU5HKSB7XG4gIHJldHVybiBmdW5jdGlvbiAoJHRoaXMsIHBvcykge1xuICAgIHZhciBTID0gU3RyaW5nKHJlcXVpcmVPYmplY3RDb2VyY2libGUoJHRoaXMpKTtcbiAgICB2YXIgcG9zaXRpb24gPSB0b0ludGVnZXIocG9zKTtcbiAgICB2YXIgc2l6ZSA9IFMubGVuZ3RoO1xuICAgIHZhciBmaXJzdCwgc2Vjb25kO1xuICAgIGlmIChwb3NpdGlvbiA8IDAgfHwgcG9zaXRpb24gPj0gc2l6ZSkgcmV0dXJuIENPTlZFUlRfVE9fU1RSSU5HID8gJycgOiB1bmRlZmluZWQ7XG4gICAgZmlyc3QgPSBTLmNoYXJDb2RlQXQocG9zaXRpb24pO1xuICAgIHJldHVybiBmaXJzdCA8IDB4RDgwMCB8fCBmaXJzdCA+IDB4REJGRiB8fCBwb3NpdGlvbiArIDEgPT09IHNpemVcbiAgICAgIHx8IChzZWNvbmQgPSBTLmNoYXJDb2RlQXQocG9zaXRpb24gKyAxKSkgPCAweERDMDAgfHwgc2Vjb25kID4gMHhERkZGXG4gICAgICAgID8gQ09OVkVSVF9UT19TVFJJTkcgPyBTLmNoYXJBdChwb3NpdGlvbikgOiBmaXJzdFxuICAgICAgICA6IENPTlZFUlRfVE9fU1RSSU5HID8gUy5zbGljZShwb3NpdGlvbiwgcG9zaXRpb24gKyAyKSA6IChmaXJzdCAtIDB4RDgwMCA8PCAxMCkgKyAoc2Vjb25kIC0gMHhEQzAwKSArIDB4MTAwMDA7XG4gIH07XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgLy8gYFN0cmluZy5wcm90b3R5cGUuY29kZVBvaW50QXRgIG1ldGhvZFxuICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1zdHJpbmcucHJvdG90eXBlLmNvZGVwb2ludGF0XG4gIGNvZGVBdDogY3JlYXRlTWV0aG9kKGZhbHNlKSxcbiAgLy8gYFN0cmluZy5wcm90b3R5cGUuYXRgIG1ldGhvZFxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vbWF0aGlhc2J5bmVucy9TdHJpbmcucHJvdG90eXBlLmF0XG4gIGNoYXJBdDogY3JlYXRlTWV0aG9kKHRydWUpXG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyIHRvSW5kZXhlZE9iamVjdCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy90by1pbmRleGVkLW9iamVjdCcpO1xudmFyIGFkZFRvVW5zY29wYWJsZXMgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvYWRkLXRvLXVuc2NvcGFibGVzJyk7XG52YXIgSXRlcmF0b3JzID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2l0ZXJhdG9ycycpO1xudmFyIEludGVybmFsU3RhdGVNb2R1bGUgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvaW50ZXJuYWwtc3RhdGUnKTtcbnZhciBkZWZpbmVJdGVyYXRvciA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9kZWZpbmUtaXRlcmF0b3InKTtcblxudmFyIEFSUkFZX0lURVJBVE9SID0gJ0FycmF5IEl0ZXJhdG9yJztcbnZhciBzZXRJbnRlcm5hbFN0YXRlID0gSW50ZXJuYWxTdGF0ZU1vZHVsZS5zZXQ7XG52YXIgZ2V0SW50ZXJuYWxTdGF0ZSA9IEludGVybmFsU3RhdGVNb2R1bGUuZ2V0dGVyRm9yKEFSUkFZX0lURVJBVE9SKTtcblxuLy8gYEFycmF5LnByb3RvdHlwZS5lbnRyaWVzYCBtZXRob2Rcbi8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLWFycmF5LnByb3RvdHlwZS5lbnRyaWVzXG4vLyBgQXJyYXkucHJvdG90eXBlLmtleXNgIG1ldGhvZFxuLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtYXJyYXkucHJvdG90eXBlLmtleXNcbi8vIGBBcnJheS5wcm90b3R5cGUudmFsdWVzYCBtZXRob2Rcbi8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLWFycmF5LnByb3RvdHlwZS52YWx1ZXNcbi8vIGBBcnJheS5wcm90b3R5cGVbQEBpdGVyYXRvcl1gIG1ldGhvZFxuLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtYXJyYXkucHJvdG90eXBlLUBAaXRlcmF0b3Jcbi8vIGBDcmVhdGVBcnJheUl0ZXJhdG9yYCBpbnRlcm5hbCBtZXRob2Rcbi8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLWNyZWF0ZWFycmF5aXRlcmF0b3Jcbm1vZHVsZS5leHBvcnRzID0gZGVmaW5lSXRlcmF0b3IoQXJyYXksICdBcnJheScsIGZ1bmN0aW9uIChpdGVyYXRlZCwga2luZCkge1xuICBzZXRJbnRlcm5hbFN0YXRlKHRoaXMsIHtcbiAgICB0eXBlOiBBUlJBWV9JVEVSQVRPUixcbiAgICB0YXJnZXQ6IHRvSW5kZXhlZE9iamVjdChpdGVyYXRlZCksIC8vIHRhcmdldFxuICAgIGluZGV4OiAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbmV4dCBpbmRleFxuICAgIGtpbmQ6IGtpbmQgICAgICAgICAgICAgICAgICAgICAgICAgLy8ga2luZFxuICB9KTtcbi8vIGAlQXJyYXlJdGVyYXRvclByb3RvdHlwZSUubmV4dGAgbWV0aG9kXG4vLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy0lYXJyYXlpdGVyYXRvcnByb3RvdHlwZSUubmV4dFxufSwgZnVuY3Rpb24gKCkge1xuICB2YXIgc3RhdGUgPSBnZXRJbnRlcm5hbFN0YXRlKHRoaXMpO1xuICB2YXIgdGFyZ2V0ID0gc3RhdGUudGFyZ2V0O1xuICB2YXIga2luZCA9IHN0YXRlLmtpbmQ7XG4gIHZhciBpbmRleCA9IHN0YXRlLmluZGV4Kys7XG4gIGlmICghdGFyZ2V0IHx8IGluZGV4ID49IHRhcmdldC5sZW5ndGgpIHtcbiAgICBzdGF0ZS50YXJnZXQgPSB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIHsgdmFsdWU6IHVuZGVmaW5lZCwgZG9uZTogdHJ1ZSB9O1xuICB9XG4gIGlmIChraW5kID09ICdrZXlzJykgcmV0dXJuIHsgdmFsdWU6IGluZGV4LCBkb25lOiBmYWxzZSB9O1xuICBpZiAoa2luZCA9PSAndmFsdWVzJykgcmV0dXJuIHsgdmFsdWU6IHRhcmdldFtpbmRleF0sIGRvbmU6IGZhbHNlIH07XG4gIHJldHVybiB7IHZhbHVlOiBbaW5kZXgsIHRhcmdldFtpbmRleF1dLCBkb25lOiBmYWxzZSB9O1xufSwgJ3ZhbHVlcycpO1xuXG4vLyBhcmd1bWVudHNMaXN0W0BAaXRlcmF0b3JdIGlzICVBcnJheVByb3RvX3ZhbHVlcyVcbi8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLWNyZWF0ZXVubWFwcGVkYXJndW1lbnRzb2JqZWN0XG4vLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1jcmVhdGVtYXBwZWRhcmd1bWVudHNvYmplY3Rcbkl0ZXJhdG9ycy5Bcmd1bWVudHMgPSBJdGVyYXRvcnMuQXJyYXk7XG5cbi8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLWFycmF5LnByb3RvdHlwZS1AQHVuc2NvcGFibGVzXG5hZGRUb1Vuc2NvcGFibGVzKCdrZXlzJyk7XG5hZGRUb1Vuc2NvcGFibGVzKCd2YWx1ZXMnKTtcbmFkZFRvVW5zY29wYWJsZXMoJ2VudHJpZXMnKTtcbiIsInZhciByZWRlZmluZSA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9yZWRlZmluZScpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uICh0YXJnZXQsIHNyYywgb3B0aW9ucykge1xuICBmb3IgKHZhciBrZXkgaW4gc3JjKSByZWRlZmluZSh0YXJnZXQsIGtleSwgc3JjW2tleV0sIG9wdGlvbnMpO1xuICByZXR1cm4gdGFyZ2V0O1xufTtcbiIsIid1c2Ugc3RyaWN0JztcbnZhciBnZXRCdWlsdEluID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2dldC1idWlsdC1pbicpO1xudmFyIGRlZmluZVByb3BlcnR5TW9kdWxlID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL29iamVjdC1kZWZpbmUtcHJvcGVydHknKTtcbnZhciB3ZWxsS25vd25TeW1ib2wgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvd2VsbC1rbm93bi1zeW1ib2wnKTtcbnZhciBERVNDUklQVE9SUyA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9kZXNjcmlwdG9ycycpO1xuXG52YXIgU1BFQ0lFUyA9IHdlbGxLbm93blN5bWJvbCgnc3BlY2llcycpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChDT05TVFJVQ1RPUl9OQU1FKSB7XG4gIHZhciBDb25zdHJ1Y3RvciA9IGdldEJ1aWx0SW4oQ09OU1RSVUNUT1JfTkFNRSk7XG4gIHZhciBkZWZpbmVQcm9wZXJ0eSA9IGRlZmluZVByb3BlcnR5TW9kdWxlLmY7XG5cbiAgaWYgKERFU0NSSVBUT1JTICYmIENvbnN0cnVjdG9yICYmICFDb25zdHJ1Y3RvcltTUEVDSUVTXSkge1xuICAgIGRlZmluZVByb3BlcnR5KENvbnN0cnVjdG9yLCBTUEVDSUVTLCB7XG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH1cbiAgICB9KTtcbiAgfVxufTtcbiIsIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0LCBDb25zdHJ1Y3RvciwgbmFtZSkge1xuICBpZiAoIShpdCBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkge1xuICAgIHRocm93IFR5cGVFcnJvcignSW5jb3JyZWN0ICcgKyAobmFtZSA/IG5hbWUgKyAnICcgOiAnJykgKyAnaW52b2NhdGlvbicpO1xuICB9IHJldHVybiBpdDtcbn07XG4iLCJ2YXIgd2VsbEtub3duU3ltYm9sID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL3dlbGwta25vd24tc3ltYm9sJyk7XG52YXIgSXRlcmF0b3JzID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2l0ZXJhdG9ycycpO1xuXG52YXIgSVRFUkFUT1IgPSB3ZWxsS25vd25TeW1ib2woJ2l0ZXJhdG9yJyk7XG52YXIgQXJyYXlQcm90b3R5cGUgPSBBcnJheS5wcm90b3R5cGU7XG5cbi8vIGNoZWNrIG9uIGRlZmF1bHQgQXJyYXkgaXRlcmF0b3Jcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiBpdCAhPT0gdW5kZWZpbmVkICYmIChJdGVyYXRvcnMuQXJyYXkgPT09IGl0IHx8IEFycmF5UHJvdG90eXBlW0lURVJBVE9SXSA9PT0gaXQpO1xufTtcbiIsInZhciBjbGFzc29mID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2NsYXNzb2YnKTtcbnZhciBJdGVyYXRvcnMgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvaXRlcmF0b3JzJyk7XG52YXIgd2VsbEtub3duU3ltYm9sID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL3dlbGwta25vd24tc3ltYm9sJyk7XG5cbnZhciBJVEVSQVRPUiA9IHdlbGxLbm93blN5bWJvbCgnaXRlcmF0b3InKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgaWYgKGl0ICE9IHVuZGVmaW5lZCkgcmV0dXJuIGl0W0lURVJBVE9SXVxuICAgIHx8IGl0WydAQGl0ZXJhdG9yJ11cbiAgICB8fCBJdGVyYXRvcnNbY2xhc3NvZihpdCldO1xufTtcbiIsInZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9hbi1vYmplY3QnKTtcblxuLy8gY2FsbCBzb21ldGhpbmcgb24gaXRlcmF0b3Igc3RlcCB3aXRoIHNhZmUgY2xvc2luZyBvbiBlcnJvclxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXRlcmF0b3IsIGZuLCB2YWx1ZSwgRU5UUklFUykge1xuICB0cnkge1xuICAgIHJldHVybiBFTlRSSUVTID8gZm4oYW5PYmplY3QodmFsdWUpWzBdLCB2YWx1ZVsxXSkgOiBmbih2YWx1ZSk7XG4gIC8vIDcuNC42IEl0ZXJhdG9yQ2xvc2UoaXRlcmF0b3IsIGNvbXBsZXRpb24pXG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgdmFyIHJldHVybk1ldGhvZCA9IGl0ZXJhdG9yWydyZXR1cm4nXTtcbiAgICBpZiAocmV0dXJuTWV0aG9kICE9PSB1bmRlZmluZWQpIGFuT2JqZWN0KHJldHVybk1ldGhvZC5jYWxsKGl0ZXJhdG9yKSk7XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG4iLCJ2YXIgd2VsbEtub3duU3ltYm9sID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL3dlbGwta25vd24tc3ltYm9sJyk7XG5cbnZhciBJVEVSQVRPUiA9IHdlbGxLbm93blN5bWJvbCgnaXRlcmF0b3InKTtcbnZhciBTQUZFX0NMT1NJTkcgPSBmYWxzZTtcblxudHJ5IHtcbiAgdmFyIGNhbGxlZCA9IDA7XG4gIHZhciBpdGVyYXRvcldpdGhSZXR1cm4gPSB7XG4gICAgbmV4dDogZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIHsgZG9uZTogISFjYWxsZWQrKyB9O1xuICAgIH0sXG4gICAgJ3JldHVybic6IGZ1bmN0aW9uICgpIHtcbiAgICAgIFNBRkVfQ0xPU0lORyA9IHRydWU7XG4gICAgfVxuICB9O1xuICBpdGVyYXRvcldpdGhSZXR1cm5bSVRFUkFUT1JdID0gZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiB0aGlzO1xuICB9O1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdGhyb3ctbGl0ZXJhbFxuICBBcnJheS5mcm9tKGl0ZXJhdG9yV2l0aFJldHVybiwgZnVuY3Rpb24gKCkgeyB0aHJvdyAyOyB9KTtcbn0gY2F0Y2ggKGVycm9yKSB7IC8qIGVtcHR5ICovIH1cblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoZXhlYywgU0tJUF9DTE9TSU5HKSB7XG4gIGlmICghU0tJUF9DTE9TSU5HICYmICFTQUZFX0NMT1NJTkcpIHJldHVybiBmYWxzZTtcbiAgdmFyIElURVJBVElPTl9TVVBQT1JUID0gZmFsc2U7XG4gIHRyeSB7XG4gICAgdmFyIG9iamVjdCA9IHt9O1xuICAgIG9iamVjdFtJVEVSQVRPUl0gPSBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBuZXh0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIHsgZG9uZTogSVRFUkFUSU9OX1NVUFBPUlQgPSB0cnVlIH07XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfTtcbiAgICBleGVjKG9iamVjdCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7IC8qIGVtcHR5ICovIH1cbiAgcmV0dXJuIElURVJBVElPTl9TVVBQT1JUO1xufTtcbiIsInZhciBnbG9iYWwgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvZ2xvYmFsJyk7XG52YXIgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL29iamVjdC1nZXQtb3duLXByb3BlcnR5LWRlc2NyaXB0b3InKS5mO1xudmFyIGNsYXNzb2YgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvY2xhc3NvZi1yYXcnKTtcbnZhciBtYWNyb3Rhc2sgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvdGFzaycpLnNldDtcbnZhciB1c2VyQWdlbnQgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvdXNlci1hZ2VudCcpO1xuXG52YXIgTXV0YXRpb25PYnNlcnZlciA9IGdsb2JhbC5NdXRhdGlvbk9ic2VydmVyIHx8IGdsb2JhbC5XZWJLaXRNdXRhdGlvbk9ic2VydmVyO1xudmFyIHByb2Nlc3MgPSBnbG9iYWwucHJvY2VzcztcbnZhciBQcm9taXNlID0gZ2xvYmFsLlByb21pc2U7XG52YXIgSVNfTk9ERSA9IGNsYXNzb2YocHJvY2VzcykgPT0gJ3Byb2Nlc3MnO1xuLy8gTm9kZS5qcyAxMSBzaG93cyBFeHBlcmltZW50YWxXYXJuaW5nIG9uIGdldHRpbmcgYHF1ZXVlTWljcm90YXNrYFxudmFyIHF1ZXVlTWljcm90YXNrRGVzY3JpcHRvciA9IGdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICdxdWV1ZU1pY3JvdGFzaycpO1xudmFyIHF1ZXVlTWljcm90YXNrID0gcXVldWVNaWNyb3Rhc2tEZXNjcmlwdG9yICYmIHF1ZXVlTWljcm90YXNrRGVzY3JpcHRvci52YWx1ZTtcblxudmFyIGZsdXNoLCBoZWFkLCBsYXN0LCBub3RpZnksIHRvZ2dsZSwgbm9kZSwgcHJvbWlzZTtcblxuLy8gbW9kZXJuIGVuZ2luZXMgaGF2ZSBxdWV1ZU1pY3JvdGFzayBtZXRob2RcbmlmICghcXVldWVNaWNyb3Rhc2spIHtcbiAgZmx1c2ggPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHBhcmVudCwgZm47XG4gICAgaWYgKElTX05PREUgJiYgKHBhcmVudCA9IHByb2Nlc3MuZG9tYWluKSkgcGFyZW50LmV4aXQoKTtcbiAgICB3aGlsZSAoaGVhZCkge1xuICAgICAgZm4gPSBoZWFkLmZuO1xuICAgICAgaGVhZCA9IGhlYWQubmV4dDtcbiAgICAgIHRyeSB7XG4gICAgICAgIGZuKCk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoaGVhZCkgbm90aWZ5KCk7XG4gICAgICAgIGVsc2UgbGFzdCA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9XG4gICAgfSBsYXN0ID0gdW5kZWZpbmVkO1xuICAgIGlmIChwYXJlbnQpIHBhcmVudC5lbnRlcigpO1xuICB9O1xuXG4gIC8vIE5vZGUuanNcbiAgaWYgKElTX05PREUpIHtcbiAgICBub3RpZnkgPSBmdW5jdGlvbiAoKSB7XG4gICAgICBwcm9jZXNzLm5leHRUaWNrKGZsdXNoKTtcbiAgICB9O1xuICAvLyBicm93c2VycyB3aXRoIE11dGF0aW9uT2JzZXJ2ZXIsIGV4Y2VwdCBpT1MgLSBodHRwczovL2dpdGh1Yi5jb20vemxvaXJvY2svY29yZS1qcy9pc3N1ZXMvMzM5XG4gIH0gZWxzZSBpZiAoTXV0YXRpb25PYnNlcnZlciAmJiAhLyhpcGhvbmV8aXBvZHxpcGFkKS4qYXBwbGV3ZWJraXQvaS50ZXN0KHVzZXJBZ2VudCkpIHtcbiAgICB0b2dnbGUgPSB0cnVlO1xuICAgIG5vZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgnJyk7XG4gICAgbmV3IE11dGF0aW9uT2JzZXJ2ZXIoZmx1c2gpLm9ic2VydmUobm9kZSwgeyBjaGFyYWN0ZXJEYXRhOiB0cnVlIH0pOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLW5ld1xuICAgIG5vdGlmeSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIG5vZGUuZGF0YSA9IHRvZ2dsZSA9ICF0b2dnbGU7XG4gICAgfTtcbiAgLy8gZW52aXJvbm1lbnRzIHdpdGggbWF5YmUgbm9uLWNvbXBsZXRlbHkgY29ycmVjdCwgYnV0IGV4aXN0ZW50IFByb21pc2VcbiAgfSBlbHNlIGlmIChQcm9taXNlICYmIFByb21pc2UucmVzb2x2ZSkge1xuICAgIC8vIFByb21pc2UucmVzb2x2ZSB3aXRob3V0IGFuIGFyZ3VtZW50IHRocm93cyBhbiBlcnJvciBpbiBMRyBXZWJPUyAyXG4gICAgcHJvbWlzZSA9IFByb21pc2UucmVzb2x2ZSh1bmRlZmluZWQpO1xuICAgIG5vdGlmeSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHByb21pc2UudGhlbihmbHVzaCk7XG4gICAgfTtcbiAgLy8gZm9yIG90aGVyIGVudmlyb25tZW50cyAtIG1hY3JvdGFzayBiYXNlZCBvbjpcbiAgLy8gLSBzZXRJbW1lZGlhdGVcbiAgLy8gLSBNZXNzYWdlQ2hhbm5lbFxuICAvLyAtIHdpbmRvdy5wb3N0TWVzc2FnXG4gIC8vIC0gb25yZWFkeXN0YXRlY2hhbmdlXG4gIC8vIC0gc2V0VGltZW91dFxuICB9IGVsc2Uge1xuICAgIG5vdGlmeSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIHN0cmFuZ2UgSUUgKyB3ZWJwYWNrIGRldiBzZXJ2ZXIgYnVnIC0gdXNlIC5jYWxsKGdsb2JhbClcbiAgICAgIG1hY3JvdGFzay5jYWxsKGdsb2JhbCwgZmx1c2gpO1xuICAgIH07XG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBxdWV1ZU1pY3JvdGFzayB8fCBmdW5jdGlvbiAoZm4pIHtcbiAgdmFyIHRhc2sgPSB7IGZuOiBmbiwgbmV4dDogdW5kZWZpbmVkIH07XG4gIGlmIChsYXN0KSBsYXN0Lm5leHQgPSB0YXNrO1xuICBpZiAoIWhlYWQpIHtcbiAgICBoZWFkID0gdGFzaztcbiAgICBub3RpZnkoKTtcbiAgfSBsYXN0ID0gdGFzaztcbn07XG4iLCJ2YXIgZ2xvYmFsID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2dsb2JhbCcpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChhLCBiKSB7XG4gIHZhciBjb25zb2xlID0gZ2xvYmFsLmNvbnNvbGU7XG4gIGlmIChjb25zb2xlICYmIGNvbnNvbGUuZXJyb3IpIHtcbiAgICBhcmd1bWVudHMubGVuZ3RoID09PSAxID8gY29uc29sZS5lcnJvcihhKSA6IGNvbnNvbGUuZXJyb3IoYSwgYik7XG4gIH1cbn07XG4iLCJ2YXIgaW50ZXJuYWxPYmplY3RLZXlzID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL29iamVjdC1rZXlzLWludGVybmFsJyk7XG52YXIgZW51bUJ1Z0tleXMgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvZW51bS1idWcta2V5cycpO1xuXG4vLyBgT2JqZWN0LmtleXNgIG1ldGhvZFxuLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtb2JqZWN0LmtleXNcbm1vZHVsZS5leHBvcnRzID0gT2JqZWN0LmtleXMgfHwgZnVuY3Rpb24ga2V5cyhPKSB7XG4gIHJldHVybiBpbnRlcm5hbE9iamVjdEtleXMoTywgZW51bUJ1Z0tleXMpO1xufTtcbiIsInZhciB3ZWxsS25vd25TeW1ib2wgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvd2VsbC1rbm93bi1zeW1ib2wnKTtcbnZhciBjcmVhdGUgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvb2JqZWN0LWNyZWF0ZScpO1xudmFyIGhpZGUgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvaGlkZScpO1xuXG52YXIgVU5TQ09QQUJMRVMgPSB3ZWxsS25vd25TeW1ib2woJ3Vuc2NvcGFibGVzJyk7XG52YXIgQXJyYXlQcm90b3R5cGUgPSBBcnJheS5wcm90b3R5cGU7XG5cbi8vIEFycmF5LnByb3RvdHlwZVtAQHVuc2NvcGFibGVzXVxuLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtYXJyYXkucHJvdG90eXBlLUBAdW5zY29wYWJsZXNcbmlmIChBcnJheVByb3RvdHlwZVtVTlNDT1BBQkxFU10gPT0gdW5kZWZpbmVkKSB7XG4gIGhpZGUoQXJyYXlQcm90b3R5cGUsIFVOU0NPUEFCTEVTLCBjcmVhdGUobnVsbCkpO1xufVxuXG4vLyBhZGQgYSBrZXkgdG8gQXJyYXkucHJvdG90eXBlW0BAdW5zY29wYWJsZXNdXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChrZXkpIHtcbiAgQXJyYXlQcm90b3R5cGVbVU5TQ09QQUJMRVNdW2tleV0gPSB0cnVlO1xufTtcbiIsIid1c2Ugc3RyaWN0JztcbnZhciAkID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2V4cG9ydCcpO1xudmFyIGNyZWF0ZUl0ZXJhdG9yQ29uc3RydWN0b3IgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvY3JlYXRlLWl0ZXJhdG9yLWNvbnN0cnVjdG9yJyk7XG52YXIgZ2V0UHJvdG90eXBlT2YgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvb2JqZWN0LWdldC1wcm90b3R5cGUtb2YnKTtcbnZhciBzZXRQcm90b3R5cGVPZiA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9vYmplY3Qtc2V0LXByb3RvdHlwZS1vZicpO1xudmFyIHNldFRvU3RyaW5nVGFnID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL3NldC10by1zdHJpbmctdGFnJyk7XG52YXIgaGlkZSA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9oaWRlJyk7XG52YXIgcmVkZWZpbmUgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvcmVkZWZpbmUnKTtcbnZhciB3ZWxsS25vd25TeW1ib2wgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvd2VsbC1rbm93bi1zeW1ib2wnKTtcbnZhciBJU19QVVJFID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2lzLXB1cmUnKTtcbnZhciBJdGVyYXRvcnMgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvaXRlcmF0b3JzJyk7XG52YXIgSXRlcmF0b3JzQ29yZSA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9pdGVyYXRvcnMtY29yZScpO1xuXG52YXIgSXRlcmF0b3JQcm90b3R5cGUgPSBJdGVyYXRvcnNDb3JlLkl0ZXJhdG9yUHJvdG90eXBlO1xudmFyIEJVR0dZX1NBRkFSSV9JVEVSQVRPUlMgPSBJdGVyYXRvcnNDb3JlLkJVR0dZX1NBRkFSSV9JVEVSQVRPUlM7XG52YXIgSVRFUkFUT1IgPSB3ZWxsS25vd25TeW1ib2woJ2l0ZXJhdG9yJyk7XG52YXIgS0VZUyA9ICdrZXlzJztcbnZhciBWQUxVRVMgPSAndmFsdWVzJztcbnZhciBFTlRSSUVTID0gJ2VudHJpZXMnO1xuXG52YXIgcmV0dXJuVGhpcyA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH07XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKEl0ZXJhYmxlLCBOQU1FLCBJdGVyYXRvckNvbnN0cnVjdG9yLCBuZXh0LCBERUZBVUxULCBJU19TRVQsIEZPUkNFRCkge1xuICBjcmVhdGVJdGVyYXRvckNvbnN0cnVjdG9yKEl0ZXJhdG9yQ29uc3RydWN0b3IsIE5BTUUsIG5leHQpO1xuXG4gIHZhciBnZXRJdGVyYXRpb25NZXRob2QgPSBmdW5jdGlvbiAoS0lORCkge1xuICAgIGlmIChLSU5EID09PSBERUZBVUxUICYmIGRlZmF1bHRJdGVyYXRvcikgcmV0dXJuIGRlZmF1bHRJdGVyYXRvcjtcbiAgICBpZiAoIUJVR0dZX1NBRkFSSV9JVEVSQVRPUlMgJiYgS0lORCBpbiBJdGVyYWJsZVByb3RvdHlwZSkgcmV0dXJuIEl0ZXJhYmxlUHJvdG90eXBlW0tJTkRdO1xuICAgIHN3aXRjaCAoS0lORCkge1xuICAgICAgY2FzZSBLRVlTOiByZXR1cm4gZnVuY3Rpb24ga2V5cygpIHsgcmV0dXJuIG5ldyBJdGVyYXRvckNvbnN0cnVjdG9yKHRoaXMsIEtJTkQpOyB9O1xuICAgICAgY2FzZSBWQUxVRVM6IHJldHVybiBmdW5jdGlvbiB2YWx1ZXMoKSB7IHJldHVybiBuZXcgSXRlcmF0b3JDb25zdHJ1Y3Rvcih0aGlzLCBLSU5EKTsgfTtcbiAgICAgIGNhc2UgRU5UUklFUzogcmV0dXJuIGZ1bmN0aW9uIGVudHJpZXMoKSB7IHJldHVybiBuZXcgSXRlcmF0b3JDb25zdHJ1Y3Rvcih0aGlzLCBLSU5EKTsgfTtcbiAgICB9IHJldHVybiBmdW5jdGlvbiAoKSB7IHJldHVybiBuZXcgSXRlcmF0b3JDb25zdHJ1Y3Rvcih0aGlzKTsgfTtcbiAgfTtcblxuICB2YXIgVE9fU1RSSU5HX1RBRyA9IE5BTUUgKyAnIEl0ZXJhdG9yJztcbiAgdmFyIElOQ09SUkVDVF9WQUxVRVNfTkFNRSA9IGZhbHNlO1xuICB2YXIgSXRlcmFibGVQcm90b3R5cGUgPSBJdGVyYWJsZS5wcm90b3R5cGU7XG4gIHZhciBuYXRpdmVJdGVyYXRvciA9IEl0ZXJhYmxlUHJvdG90eXBlW0lURVJBVE9SXVxuICAgIHx8IEl0ZXJhYmxlUHJvdG90eXBlWydAQGl0ZXJhdG9yJ11cbiAgICB8fCBERUZBVUxUICYmIEl0ZXJhYmxlUHJvdG90eXBlW0RFRkFVTFRdO1xuICB2YXIgZGVmYXVsdEl0ZXJhdG9yID0gIUJVR0dZX1NBRkFSSV9JVEVSQVRPUlMgJiYgbmF0aXZlSXRlcmF0b3IgfHwgZ2V0SXRlcmF0aW9uTWV0aG9kKERFRkFVTFQpO1xuICB2YXIgYW55TmF0aXZlSXRlcmF0b3IgPSBOQU1FID09ICdBcnJheScgPyBJdGVyYWJsZVByb3RvdHlwZS5lbnRyaWVzIHx8IG5hdGl2ZUl0ZXJhdG9yIDogbmF0aXZlSXRlcmF0b3I7XG4gIHZhciBDdXJyZW50SXRlcmF0b3JQcm90b3R5cGUsIG1ldGhvZHMsIEtFWTtcblxuICAvLyBmaXggbmF0aXZlXG4gIGlmIChhbnlOYXRpdmVJdGVyYXRvcikge1xuICAgIEN1cnJlbnRJdGVyYXRvclByb3RvdHlwZSA9IGdldFByb3RvdHlwZU9mKGFueU5hdGl2ZUl0ZXJhdG9yLmNhbGwobmV3IEl0ZXJhYmxlKCkpKTtcbiAgICBpZiAoSXRlcmF0b3JQcm90b3R5cGUgIT09IE9iamVjdC5wcm90b3R5cGUgJiYgQ3VycmVudEl0ZXJhdG9yUHJvdG90eXBlLm5leHQpIHtcbiAgICAgIGlmICghSVNfUFVSRSAmJiBnZXRQcm90b3R5cGVPZihDdXJyZW50SXRlcmF0b3JQcm90b3R5cGUpICE9PSBJdGVyYXRvclByb3RvdHlwZSkge1xuICAgICAgICBpZiAoc2V0UHJvdG90eXBlT2YpIHtcbiAgICAgICAgICBzZXRQcm90b3R5cGVPZihDdXJyZW50SXRlcmF0b3JQcm90b3R5cGUsIEl0ZXJhdG9yUHJvdG90eXBlKTtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgQ3VycmVudEl0ZXJhdG9yUHJvdG90eXBlW0lURVJBVE9SXSAhPSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgaGlkZShDdXJyZW50SXRlcmF0b3JQcm90b3R5cGUsIElURVJBVE9SLCByZXR1cm5UaGlzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy8gU2V0IEBAdG9TdHJpbmdUYWcgdG8gbmF0aXZlIGl0ZXJhdG9yc1xuICAgICAgc2V0VG9TdHJpbmdUYWcoQ3VycmVudEl0ZXJhdG9yUHJvdG90eXBlLCBUT19TVFJJTkdfVEFHLCB0cnVlLCB0cnVlKTtcbiAgICAgIGlmIChJU19QVVJFKSBJdGVyYXRvcnNbVE9fU1RSSU5HX1RBR10gPSByZXR1cm5UaGlzO1xuICAgIH1cbiAgfVxuXG4gIC8vIGZpeCBBcnJheSN7dmFsdWVzLCBAQGl0ZXJhdG9yfS5uYW1lIGluIFY4IC8gRkZcbiAgaWYgKERFRkFVTFQgPT0gVkFMVUVTICYmIG5hdGl2ZUl0ZXJhdG9yICYmIG5hdGl2ZUl0ZXJhdG9yLm5hbWUgIT09IFZBTFVFUykge1xuICAgIElOQ09SUkVDVF9WQUxVRVNfTkFNRSA9IHRydWU7XG4gICAgZGVmYXVsdEl0ZXJhdG9yID0gZnVuY3Rpb24gdmFsdWVzKCkgeyByZXR1cm4gbmF0aXZlSXRlcmF0b3IuY2FsbCh0aGlzKTsgfTtcbiAgfVxuXG4gIC8vIGRlZmluZSBpdGVyYXRvclxuICBpZiAoKCFJU19QVVJFIHx8IEZPUkNFRCkgJiYgSXRlcmFibGVQcm90b3R5cGVbSVRFUkFUT1JdICE9PSBkZWZhdWx0SXRlcmF0b3IpIHtcbiAgICBoaWRlKEl0ZXJhYmxlUHJvdG90eXBlLCBJVEVSQVRPUiwgZGVmYXVsdEl0ZXJhdG9yKTtcbiAgfVxuICBJdGVyYXRvcnNbTkFNRV0gPSBkZWZhdWx0SXRlcmF0b3I7XG5cbiAgLy8gZXhwb3J0IGFkZGl0aW9uYWwgbWV0aG9kc1xuICBpZiAoREVGQVVMVCkge1xuICAgIG1ldGhvZHMgPSB7XG4gICAgICB2YWx1ZXM6IGdldEl0ZXJhdGlvbk1ldGhvZChWQUxVRVMpLFxuICAgICAga2V5czogSVNfU0VUID8gZGVmYXVsdEl0ZXJhdG9yIDogZ2V0SXRlcmF0aW9uTWV0aG9kKEtFWVMpLFxuICAgICAgZW50cmllczogZ2V0SXRlcmF0aW9uTWV0aG9kKEVOVFJJRVMpXG4gICAgfTtcbiAgICBpZiAoRk9SQ0VEKSBmb3IgKEtFWSBpbiBtZXRob2RzKSB7XG4gICAgICBpZiAoQlVHR1lfU0FGQVJJX0lURVJBVE9SUyB8fCBJTkNPUlJFQ1RfVkFMVUVTX05BTUUgfHwgIShLRVkgaW4gSXRlcmFibGVQcm90b3R5cGUpKSB7XG4gICAgICAgIHJlZGVmaW5lKEl0ZXJhYmxlUHJvdG90eXBlLCBLRVksIG1ldGhvZHNbS0VZXSk7XG4gICAgICB9XG4gICAgfSBlbHNlICQoeyB0YXJnZXQ6IE5BTUUsIHByb3RvOiB0cnVlLCBmb3JjZWQ6IEJVR0dZX1NBRkFSSV9JVEVSQVRPUlMgfHwgSU5DT1JSRUNUX1ZBTFVFU19OQU1FIH0sIG1ldGhvZHMpO1xuICB9XG5cbiAgcmV0dXJuIG1ldGhvZHM7XG59O1xuIiwidmFyIGFuT2JqZWN0ID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2FuLW9iamVjdCcpO1xudmFyIGFQb3NzaWJsZVByb3RvdHlwZSA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9hLXBvc3NpYmxlLXByb3RvdHlwZScpO1xuXG4vLyBgT2JqZWN0LnNldFByb3RvdHlwZU9mYCBtZXRob2Rcbi8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLW9iamVjdC5zZXRwcm90b3R5cGVvZlxuLy8gV29ya3Mgd2l0aCBfX3Byb3RvX18gb25seS4gT2xkIHY4IGNhbid0IHdvcmsgd2l0aCBudWxsIHByb3RvIG9iamVjdHMuXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1wcm90byAqL1xubW9kdWxlLmV4cG9ydHMgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHwgKCdfX3Byb3RvX18nIGluIHt9ID8gZnVuY3Rpb24gKCkge1xuICB2YXIgQ09SUkVDVF9TRVRURVIgPSBmYWxzZTtcbiAgdmFyIHRlc3QgPSB7fTtcbiAgdmFyIHNldHRlcjtcbiAgdHJ5IHtcbiAgICBzZXR0ZXIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdC5wcm90b3R5cGUsICdfX3Byb3RvX18nKS5zZXQ7XG4gICAgc2V0dGVyLmNhbGwodGVzdCwgW10pO1xuICAgIENPUlJFQ1RfU0VUVEVSID0gdGVzdCBpbnN0YW5jZW9mIEFycmF5O1xuICB9IGNhdGNoIChlcnJvcikgeyAvKiBlbXB0eSAqLyB9XG4gIHJldHVybiBmdW5jdGlvbiBzZXRQcm90b3R5cGVPZihPLCBwcm90bykge1xuICAgIGFuT2JqZWN0KE8pO1xuICAgIGFQb3NzaWJsZVByb3RvdHlwZShwcm90byk7XG4gICAgaWYgKENPUlJFQ1RfU0VUVEVSKSBzZXR0ZXIuY2FsbChPLCBwcm90byk7XG4gICAgZWxzZSBPLl9fcHJvdG9fXyA9IHByb3RvO1xuICAgIHJldHVybiBPO1xuICB9O1xufSgpIDogdW5kZWZpbmVkKTtcbiIsInZhciBERVNDUklQVE9SUyA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9kZXNjcmlwdG9ycycpO1xudmFyIGRlZmluZVByb3BlcnR5TW9kdWxlID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL29iamVjdC1kZWZpbmUtcHJvcGVydHknKTtcbnZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9hbi1vYmplY3QnKTtcbnZhciBvYmplY3RLZXlzID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL29iamVjdC1rZXlzJyk7XG5cbi8vIGBPYmplY3QuZGVmaW5lUHJvcGVydGllc2AgbWV0aG9kXG4vLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1vYmplY3QuZGVmaW5lcHJvcGVydGllc1xubW9kdWxlLmV4cG9ydHMgPSBERVNDUklQVE9SUyA/IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIDogZnVuY3Rpb24gZGVmaW5lUHJvcGVydGllcyhPLCBQcm9wZXJ0aWVzKSB7XG4gIGFuT2JqZWN0KE8pO1xuICB2YXIga2V5cyA9IG9iamVjdEtleXMoUHJvcGVydGllcyk7XG4gIHZhciBsZW5ndGggPSBrZXlzLmxlbmd0aDtcbiAgdmFyIGluZGV4ID0gMDtcbiAgdmFyIGtleTtcbiAgd2hpbGUgKGxlbmd0aCA+IGluZGV4KSBkZWZpbmVQcm9wZXJ0eU1vZHVsZS5mKE8sIGtleSA9IGtleXNbaW5kZXgrK10sIFByb3BlcnRpZXNba2V5XSk7XG4gIHJldHVybiBPO1xufTtcbiIsInZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9pcy1vYmplY3QnKTtcbnZhciBjbGFzc29mID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2NsYXNzb2YtcmF3Jyk7XG52YXIgd2VsbEtub3duU3ltYm9sID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL3dlbGwta25vd24tc3ltYm9sJyk7XG5cbnZhciBNQVRDSCA9IHdlbGxLbm93blN5bWJvbCgnbWF0Y2gnKTtcblxuLy8gYElzUmVnRXhwYCBhYnN0cmFjdCBvcGVyYXRpb25cbi8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLWlzcmVnZXhwXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICB2YXIgaXNSZWdFeHA7XG4gIHJldHVybiBpc09iamVjdChpdCkgJiYgKChpc1JlZ0V4cCA9IGl0W01BVENIXSkgIT09IHVuZGVmaW5lZCA/ICEhaXNSZWdFeHAgOiBjbGFzc29mKGl0KSA9PSAnUmVnRXhwJyk7XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyIEl0ZXJhdG9yUHJvdG90eXBlID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2l0ZXJhdG9ycy1jb3JlJykuSXRlcmF0b3JQcm90b3R5cGU7XG52YXIgY3JlYXRlID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL29iamVjdC1jcmVhdGUnKTtcbnZhciBjcmVhdGVQcm9wZXJ0eURlc2NyaXB0b3IgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvY3JlYXRlLXByb3BlcnR5LWRlc2NyaXB0b3InKTtcbnZhciBzZXRUb1N0cmluZ1RhZyA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9zZXQtdG8tc3RyaW5nLXRhZycpO1xudmFyIEl0ZXJhdG9ycyA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9pdGVyYXRvcnMnKTtcblxudmFyIHJldHVyblRoaXMgPSBmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9O1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChJdGVyYXRvckNvbnN0cnVjdG9yLCBOQU1FLCBuZXh0KSB7XG4gIHZhciBUT19TVFJJTkdfVEFHID0gTkFNRSArICcgSXRlcmF0b3InO1xuICBJdGVyYXRvckNvbnN0cnVjdG9yLnByb3RvdHlwZSA9IGNyZWF0ZShJdGVyYXRvclByb3RvdHlwZSwgeyBuZXh0OiBjcmVhdGVQcm9wZXJ0eURlc2NyaXB0b3IoMSwgbmV4dCkgfSk7XG4gIHNldFRvU3RyaW5nVGFnKEl0ZXJhdG9yQ29uc3RydWN0b3IsIFRPX1NUUklOR19UQUcsIGZhbHNlLCB0cnVlKTtcbiAgSXRlcmF0b3JzW1RPX1NUUklOR19UQUddID0gcmV0dXJuVGhpcztcbiAgcmV0dXJuIEl0ZXJhdG9yQ29uc3RydWN0b3I7XG59O1xuIiwidmFyIGZhaWxzID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2ZhaWxzJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gIWZhaWxzKGZ1bmN0aW9uICgpIHtcbiAgZnVuY3Rpb24gRigpIHsgLyogZW1wdHkgKi8gfVxuICBGLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IG51bGw7XG4gIHJldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2YobmV3IEYoKSkgIT09IEYucHJvdG90eXBlO1xufSk7XG4iLCJ2YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvaXMtb2JqZWN0Jyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIGlmICghaXNPYmplY3QoaXQpICYmIGl0ICE9PSBudWxsKSB7XG4gICAgdGhyb3cgVHlwZUVycm9yKFwiQ2FuJ3Qgc2V0IFwiICsgU3RyaW5nKGl0KSArICcgYXMgYSBwcm90b3R5cGUnKTtcbiAgfSByZXR1cm4gaXQ7XG59O1xuIiwidmFyIGdsb2JhbCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9nbG9iYWwnKTtcbnZhciBET01JdGVyYWJsZXMgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvZG9tLWl0ZXJhYmxlcycpO1xudmFyIEFycmF5SXRlcmF0b3JNZXRob2RzID0gcmVxdWlyZSgnLi4vbW9kdWxlcy9lcy5hcnJheS5pdGVyYXRvcicpO1xudmFyIGhpZGUgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvaGlkZScpO1xudmFyIHdlbGxLbm93blN5bWJvbCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy93ZWxsLWtub3duLXN5bWJvbCcpO1xuXG52YXIgSVRFUkFUT1IgPSB3ZWxsS25vd25TeW1ib2woJ2l0ZXJhdG9yJyk7XG52YXIgVE9fU1RSSU5HX1RBRyA9IHdlbGxLbm93blN5bWJvbCgndG9TdHJpbmdUYWcnKTtcbnZhciBBcnJheVZhbHVlcyA9IEFycmF5SXRlcmF0b3JNZXRob2RzLnZhbHVlcztcblxuZm9yICh2YXIgQ09MTEVDVElPTl9OQU1FIGluIERPTUl0ZXJhYmxlcykge1xuICB2YXIgQ29sbGVjdGlvbiA9IGdsb2JhbFtDT0xMRUNUSU9OX05BTUVdO1xuICB2YXIgQ29sbGVjdGlvblByb3RvdHlwZSA9IENvbGxlY3Rpb24gJiYgQ29sbGVjdGlvbi5wcm90b3R5cGU7XG4gIGlmIChDb2xsZWN0aW9uUHJvdG90eXBlKSB7XG4gICAgLy8gc29tZSBDaHJvbWUgdmVyc2lvbnMgaGF2ZSBub24tY29uZmlndXJhYmxlIG1ldGhvZHMgb24gRE9NVG9rZW5MaXN0XG4gICAgaWYgKENvbGxlY3Rpb25Qcm90b3R5cGVbSVRFUkFUT1JdICE9PSBBcnJheVZhbHVlcykgdHJ5IHtcbiAgICAgIGhpZGUoQ29sbGVjdGlvblByb3RvdHlwZSwgSVRFUkFUT1IsIEFycmF5VmFsdWVzKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgQ29sbGVjdGlvblByb3RvdHlwZVtJVEVSQVRPUl0gPSBBcnJheVZhbHVlcztcbiAgICB9XG4gICAgaWYgKCFDb2xsZWN0aW9uUHJvdG90eXBlW1RPX1NUUklOR19UQUddKSBoaWRlKENvbGxlY3Rpb25Qcm90b3R5cGUsIFRPX1NUUklOR19UQUcsIENPTExFQ1RJT05fTkFNRSk7XG4gICAgaWYgKERPTUl0ZXJhYmxlc1tDT0xMRUNUSU9OX05BTUVdKSBmb3IgKHZhciBNRVRIT0RfTkFNRSBpbiBBcnJheUl0ZXJhdG9yTWV0aG9kcykge1xuICAgICAgLy8gc29tZSBDaHJvbWUgdmVyc2lvbnMgaGF2ZSBub24tY29uZmlndXJhYmxlIG1ldGhvZHMgb24gRE9NVG9rZW5MaXN0XG4gICAgICBpZiAoQ29sbGVjdGlvblByb3RvdHlwZVtNRVRIT0RfTkFNRV0gIT09IEFycmF5SXRlcmF0b3JNZXRob2RzW01FVEhPRF9OQU1FXSkgdHJ5IHtcbiAgICAgICAgaGlkZShDb2xsZWN0aW9uUHJvdG90eXBlLCBNRVRIT0RfTkFNRSwgQXJyYXlJdGVyYXRvck1ldGhvZHNbTUVUSE9EX05BTUVdKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIENvbGxlY3Rpb25Qcm90b3R5cGVbTUVUSE9EX05BTUVdID0gQXJyYXlJdGVyYXRvck1ldGhvZHNbTUVUSE9EX05BTUVdO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gaXRlcmFibGUgRE9NIGNvbGxlY3Rpb25zXG4vLyBmbGFnIC0gYGl0ZXJhYmxlYCBpbnRlcmZhY2UgLSAnZW50cmllcycsICdrZXlzJywgJ3ZhbHVlcycsICdmb3JFYWNoJyBtZXRob2RzXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgQ1NTUnVsZUxpc3Q6IDAsXG4gIENTU1N0eWxlRGVjbGFyYXRpb246IDAsXG4gIENTU1ZhbHVlTGlzdDogMCxcbiAgQ2xpZW50UmVjdExpc3Q6IDAsXG4gIERPTVJlY3RMaXN0OiAwLFxuICBET01TdHJpbmdMaXN0OiAwLFxuICBET01Ub2tlbkxpc3Q6IDEsXG4gIERhdGFUcmFuc2Zlckl0ZW1MaXN0OiAwLFxuICBGaWxlTGlzdDogMCxcbiAgSFRNTEFsbENvbGxlY3Rpb246IDAsXG4gIEhUTUxDb2xsZWN0aW9uOiAwLFxuICBIVE1MRm9ybUVsZW1lbnQ6IDAsXG4gIEhUTUxTZWxlY3RFbGVtZW50OiAwLFxuICBNZWRpYUxpc3Q6IDAsXG4gIE1pbWVUeXBlQXJyYXk6IDAsXG4gIE5hbWVkTm9kZU1hcDogMCxcbiAgTm9kZUxpc3Q6IDEsXG4gIFBhaW50UmVxdWVzdExpc3Q6IDAsXG4gIFBsdWdpbjogMCxcbiAgUGx1Z2luQXJyYXk6IDAsXG4gIFNWR0xlbmd0aExpc3Q6IDAsXG4gIFNWR051bWJlckxpc3Q6IDAsXG4gIFNWR1BhdGhTZWdMaXN0OiAwLFxuICBTVkdQb2ludExpc3Q6IDAsXG4gIFNWR1N0cmluZ0xpc3Q6IDAsXG4gIFNWR1RyYW5zZm9ybUxpc3Q6IDAsXG4gIFNvdXJjZUJ1ZmZlckxpc3Q6IDAsXG4gIFN0eWxlU2hlZXRMaXN0OiAwLFxuICBUZXh0VHJhY2tDdWVMaXN0OiAwLFxuICBUZXh0VHJhY2tMaXN0OiAwLFxuICBUb3VjaExpc3Q6IDBcbn07XG4iLCJ2YXIgZ2xvYmFsID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2dsb2JhbCcpO1xudmFyIGJpbmQgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvYmluZC1jb250ZXh0Jyk7XG5cbnZhciBjYWxsID0gRnVuY3Rpb24uY2FsbDtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoQ09OU1RSVUNUT1IsIE1FVEhPRCwgbGVuZ3RoKSB7XG4gIHJldHVybiBiaW5kKGNhbGwsIGdsb2JhbFtDT05TVFJVQ1RPUl0ucHJvdG90eXBlW01FVEhPRF0sIGxlbmd0aCk7XG59O1xuIiwiaW1wb3J0ICdjb3JlLWpzL2ZlYXR1cmVzL29iamVjdC9hc3NpZ24nO1xuaW1wb3J0ICdjb3JlLWpzL2ZlYXR1cmVzL2FycmF5L2luY2x1ZGVzJztcbmltcG9ydCAnY29yZS1qcy9mZWF0dXJlcy9zdHJpbmcvaW5jbHVkZXMnO1xuaW1wb3J0ICdjb3JlLWpzL2ZlYXR1cmVzL3Byb21pc2UnO1xuaW1wb3J0ICdyYWYvcG9seWZpbGwnO1xuIiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuLi8uLi9lcy9vYmplY3QvYXNzaWduJyk7XG4iLCJyZXF1aXJlKCcuLi8uLi9tb2R1bGVzL2VzLm9iamVjdC5hc3NpZ24nKTtcbnZhciBwYXRoID0gcmVxdWlyZSgnLi4vLi4vaW50ZXJuYWxzL3BhdGgnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBwYXRoLk9iamVjdC5hc3NpZ247XG4iLCJ2YXIgJCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9leHBvcnQnKTtcbnZhciBhc3NpZ24gPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvb2JqZWN0LWFzc2lnbicpO1xuXG4vLyBgT2JqZWN0LmFzc2lnbmAgbWV0aG9kXG4vLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1vYmplY3QuYXNzaWduXG4kKHsgdGFyZ2V0OiAnT2JqZWN0Jywgc3RhdDogdHJ1ZSwgZm9yY2VkOiBPYmplY3QuYXNzaWduICE9PSBhc3NpZ24gfSwge1xuICBhc3NpZ246IGFzc2lnblxufSk7XG4iLCIndXNlIHN0cmljdCc7XG52YXIgREVTQ1JJUFRPUlMgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvZGVzY3JpcHRvcnMnKTtcbnZhciBmYWlscyA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9mYWlscycpO1xudmFyIG9iamVjdEtleXMgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvb2JqZWN0LWtleXMnKTtcbnZhciBnZXRPd25Qcm9wZXJ0eVN5bWJvbHNNb2R1bGUgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvb2JqZWN0LWdldC1vd24tcHJvcGVydHktc3ltYm9scycpO1xudmFyIHByb3BlcnR5SXNFbnVtZXJhYmxlTW9kdWxlID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL29iamVjdC1wcm9wZXJ0eS1pcy1lbnVtZXJhYmxlJyk7XG52YXIgdG9PYmplY3QgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvdG8tb2JqZWN0Jyk7XG52YXIgSW5kZXhlZE9iamVjdCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9pbmRleGVkLW9iamVjdCcpO1xuXG52YXIgbmF0aXZlQXNzaWduID0gT2JqZWN0LmFzc2lnbjtcblxuLy8gYE9iamVjdC5hc3NpZ25gIG1ldGhvZFxuLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtb2JqZWN0LmFzc2lnblxuLy8gc2hvdWxkIHdvcmsgd2l0aCBzeW1ib2xzIGFuZCBzaG91bGQgaGF2ZSBkZXRlcm1pbmlzdGljIHByb3BlcnR5IG9yZGVyIChWOCBidWcpXG5tb2R1bGUuZXhwb3J0cyA9ICFuYXRpdmVBc3NpZ24gfHwgZmFpbHMoZnVuY3Rpb24gKCkge1xuICB2YXIgQSA9IHt9O1xuICB2YXIgQiA9IHt9O1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZWZcbiAgdmFyIHN5bWJvbCA9IFN5bWJvbCgpO1xuICB2YXIgYWxwaGFiZXQgPSAnYWJjZGVmZ2hpamtsbW5vcHFyc3QnO1xuICBBW3N5bWJvbF0gPSA3O1xuICBhbHBoYWJldC5zcGxpdCgnJykuZm9yRWFjaChmdW5jdGlvbiAoY2hyKSB7IEJbY2hyXSA9IGNocjsgfSk7XG4gIHJldHVybiBuYXRpdmVBc3NpZ24oe30sIEEpW3N5bWJvbF0gIT0gNyB8fCBvYmplY3RLZXlzKG5hdGl2ZUFzc2lnbih7fSwgQikpLmpvaW4oJycpICE9IGFscGhhYmV0O1xufSkgPyBmdW5jdGlvbiBhc3NpZ24odGFyZ2V0LCBzb3VyY2UpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFyc1xuICB2YXIgVCA9IHRvT2JqZWN0KHRhcmdldCk7XG4gIHZhciBhcmd1bWVudHNMZW5ndGggPSBhcmd1bWVudHMubGVuZ3RoO1xuICB2YXIgaW5kZXggPSAxO1xuICB2YXIgZ2V0T3duUHJvcGVydHlTeW1ib2xzID0gZ2V0T3duUHJvcGVydHlTeW1ib2xzTW9kdWxlLmY7XG4gIHZhciBwcm9wZXJ0eUlzRW51bWVyYWJsZSA9IHByb3BlcnR5SXNFbnVtZXJhYmxlTW9kdWxlLmY7XG4gIHdoaWxlIChhcmd1bWVudHNMZW5ndGggPiBpbmRleCkge1xuICAgIHZhciBTID0gSW5kZXhlZE9iamVjdChhcmd1bWVudHNbaW5kZXgrK10pO1xuICAgIHZhciBrZXlzID0gZ2V0T3duUHJvcGVydHlTeW1ib2xzID8gb2JqZWN0S2V5cyhTKS5jb25jYXQoZ2V0T3duUHJvcGVydHlTeW1ib2xzKFMpKSA6IG9iamVjdEtleXMoUyk7XG4gICAgdmFyIGxlbmd0aCA9IGtleXMubGVuZ3RoO1xuICAgIHZhciBqID0gMDtcbiAgICB2YXIga2V5O1xuICAgIHdoaWxlIChsZW5ndGggPiBqKSB7XG4gICAgICBrZXkgPSBrZXlzW2orK107XG4gICAgICBpZiAoIURFU0NSSVBUT1JTIHx8IHByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoUywga2V5KSkgVFtrZXldID0gU1trZXldO1xuICAgIH1cbiAgfSByZXR1cm4gVDtcbn0gOiBuYXRpdmVBc3NpZ247XG4iLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4uLy4uL2VzL2FycmF5L2luY2x1ZGVzJyk7XG4iLCJyZXF1aXJlKCcuLi8uLi9tb2R1bGVzL2VzLmFycmF5LmluY2x1ZGVzJyk7XG52YXIgZW50cnlVbmJpbmQgPSByZXF1aXJlKCcuLi8uLi9pbnRlcm5hbHMvZW50cnktdW5iaW5kJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZW50cnlVbmJpbmQoJ0FycmF5JywgJ2luY2x1ZGVzJyk7XG4iLCIndXNlIHN0cmljdCc7XG52YXIgJCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9leHBvcnQnKTtcbnZhciAkaW5jbHVkZXMgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvYXJyYXktaW5jbHVkZXMnKS5pbmNsdWRlcztcbnZhciBhZGRUb1Vuc2NvcGFibGVzID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2FkZC10by11bnNjb3BhYmxlcycpO1xuXG4vLyBgQXJyYXkucHJvdG90eXBlLmluY2x1ZGVzYCBtZXRob2Rcbi8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLWFycmF5LnByb3RvdHlwZS5pbmNsdWRlc1xuJCh7IHRhcmdldDogJ0FycmF5JywgcHJvdG86IHRydWUgfSwge1xuICBpbmNsdWRlczogZnVuY3Rpb24gaW5jbHVkZXMoZWwgLyogLCBmcm9tSW5kZXggPSAwICovKSB7XG4gICAgcmV0dXJuICRpbmNsdWRlcyh0aGlzLCBlbCwgYXJndW1lbnRzLmxlbmd0aCA+IDEgPyBhcmd1bWVudHNbMV0gOiB1bmRlZmluZWQpO1xuICB9XG59KTtcblxuLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtYXJyYXkucHJvdG90eXBlLUBAdW5zY29wYWJsZXNcbmFkZFRvVW5zY29wYWJsZXMoJ2luY2x1ZGVzJyk7XG4iLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4uLy4uL2VzL3N0cmluZy9pbmNsdWRlcycpO1xuIiwicmVxdWlyZSgnLi4vLi4vbW9kdWxlcy9lcy5zdHJpbmcuaW5jbHVkZXMnKTtcbnZhciBlbnRyeVVuYmluZCA9IHJlcXVpcmUoJy4uLy4uL2ludGVybmFscy9lbnRyeS11bmJpbmQnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBlbnRyeVVuYmluZCgnU3RyaW5nJywgJ2luY2x1ZGVzJyk7XG4iLCIndXNlIHN0cmljdCc7XG52YXIgJCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9leHBvcnQnKTtcbnZhciBub3RBUmVnRXhwID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL25vdC1hLXJlZ2V4cCcpO1xudmFyIHJlcXVpcmVPYmplY3RDb2VyY2libGUgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvcmVxdWlyZS1vYmplY3QtY29lcmNpYmxlJyk7XG52YXIgY29ycmVjdElzUmVnRXhwTG9naWMgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvY29ycmVjdC1pcy1yZWdleHAtbG9naWMnKTtcblxuLy8gYFN0cmluZy5wcm90b3R5cGUuaW5jbHVkZXNgIG1ldGhvZFxuLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtc3RyaW5nLnByb3RvdHlwZS5pbmNsdWRlc1xuJCh7IHRhcmdldDogJ1N0cmluZycsIHByb3RvOiB0cnVlLCBmb3JjZWQ6ICFjb3JyZWN0SXNSZWdFeHBMb2dpYygnaW5jbHVkZXMnKSB9LCB7XG4gIGluY2x1ZGVzOiBmdW5jdGlvbiBpbmNsdWRlcyhzZWFyY2hTdHJpbmcgLyogLCBwb3NpdGlvbiA9IDAgKi8pIHtcbiAgICByZXR1cm4gISF+U3RyaW5nKHJlcXVpcmVPYmplY3RDb2VyY2libGUodGhpcykpXG4gICAgICAuaW5kZXhPZihub3RBUmVnRXhwKHNlYXJjaFN0cmluZyksIGFyZ3VtZW50cy5sZW5ndGggPiAxID8gYXJndW1lbnRzWzFdIDogdW5kZWZpbmVkKTtcbiAgfVxufSk7XG4iLCJ2YXIgaXNSZWdFeHAgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvaXMtcmVnZXhwJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIGlmIChpc1JlZ0V4cChpdCkpIHtcbiAgICB0aHJvdyBUeXBlRXJyb3IoXCJUaGUgbWV0aG9kIGRvZXNuJ3QgYWNjZXB0IHJlZ3VsYXIgZXhwcmVzc2lvbnNcIik7XG4gIH0gcmV0dXJuIGl0O1xufTtcbiIsInZhciB3ZWxsS25vd25TeW1ib2wgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvd2VsbC1rbm93bi1zeW1ib2wnKTtcblxudmFyIE1BVENIID0gd2VsbEtub3duU3ltYm9sKCdtYXRjaCcpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChNRVRIT0RfTkFNRSkge1xuICB2YXIgcmVnZXhwID0gLy4vO1xuICB0cnkge1xuICAgICcvLi8nW01FVEhPRF9OQU1FXShyZWdleHApO1xuICB9IGNhdGNoIChlKSB7XG4gICAgdHJ5IHtcbiAgICAgIHJlZ2V4cFtNQVRDSF0gPSBmYWxzZTtcbiAgICAgIHJldHVybiAnLy4vJ1tNRVRIT0RfTkFNRV0ocmVnZXhwKTtcbiAgICB9IGNhdGNoIChmKSB7IC8qIGVtcHR5ICovIH1cbiAgfSByZXR1cm4gZmFsc2U7XG59O1xuIiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuLi8uLi9lcy9wcm9taXNlJyk7XG5cbnJlcXVpcmUoJy4uLy4uL21vZHVsZXMvZXNuZXh0LmFnZ3JlZ2F0ZS1lcnJvcicpO1xucmVxdWlyZSgnLi4vLi4vbW9kdWxlcy9lc25leHQucHJvbWlzZS5hbGwtc2V0dGxlZCcpO1xucmVxdWlyZSgnLi4vLi4vbW9kdWxlcy9lc25leHQucHJvbWlzZS50cnknKTtcbnJlcXVpcmUoJy4uLy4uL21vZHVsZXMvZXNuZXh0LnByb21pc2UuYW55Jyk7XG4iLCJyZXF1aXJlKCcuLi8uLi9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmcnKTtcbnJlcXVpcmUoJy4uLy4uL21vZHVsZXMvZXMuc3RyaW5nLml0ZXJhdG9yJyk7XG5yZXF1aXJlKCcuLi8uLi9tb2R1bGVzL3dlYi5kb20tY29sbGVjdGlvbnMuaXRlcmF0b3InKTtcbnJlcXVpcmUoJy4uLy4uL21vZHVsZXMvZXMucHJvbWlzZScpO1xucmVxdWlyZSgnLi4vLi4vbW9kdWxlcy9lcy5wcm9taXNlLmZpbmFsbHknKTtcbnZhciBwYXRoID0gcmVxdWlyZSgnLi4vLi4vaW50ZXJuYWxzL3BhdGgnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBwYXRoLlByb21pc2U7XG4iLCIndXNlIHN0cmljdCc7XG52YXIgY2hhckF0ID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL3N0cmluZy1tdWx0aWJ5dGUnKS5jaGFyQXQ7XG52YXIgSW50ZXJuYWxTdGF0ZU1vZHVsZSA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9pbnRlcm5hbC1zdGF0ZScpO1xudmFyIGRlZmluZUl0ZXJhdG9yID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2RlZmluZS1pdGVyYXRvcicpO1xuXG52YXIgU1RSSU5HX0lURVJBVE9SID0gJ1N0cmluZyBJdGVyYXRvcic7XG52YXIgc2V0SW50ZXJuYWxTdGF0ZSA9IEludGVybmFsU3RhdGVNb2R1bGUuc2V0O1xudmFyIGdldEludGVybmFsU3RhdGUgPSBJbnRlcm5hbFN0YXRlTW9kdWxlLmdldHRlckZvcihTVFJJTkdfSVRFUkFUT1IpO1xuXG4vLyBgU3RyaW5nLnByb3RvdHlwZVtAQGl0ZXJhdG9yXWAgbWV0aG9kXG4vLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1zdHJpbmcucHJvdG90eXBlLUBAaXRlcmF0b3JcbmRlZmluZUl0ZXJhdG9yKFN0cmluZywgJ1N0cmluZycsIGZ1bmN0aW9uIChpdGVyYXRlZCkge1xuICBzZXRJbnRlcm5hbFN0YXRlKHRoaXMsIHtcbiAgICB0eXBlOiBTVFJJTkdfSVRFUkFUT1IsXG4gICAgc3RyaW5nOiBTdHJpbmcoaXRlcmF0ZWQpLFxuICAgIGluZGV4OiAwXG4gIH0pO1xuLy8gYCVTdHJpbmdJdGVyYXRvclByb3RvdHlwZSUubmV4dGAgbWV0aG9kXG4vLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy0lc3RyaW5naXRlcmF0b3Jwcm90b3R5cGUlLm5leHRcbn0sIGZ1bmN0aW9uIG5leHQoKSB7XG4gIHZhciBzdGF0ZSA9IGdldEludGVybmFsU3RhdGUodGhpcyk7XG4gIHZhciBzdHJpbmcgPSBzdGF0ZS5zdHJpbmc7XG4gIHZhciBpbmRleCA9IHN0YXRlLmluZGV4O1xuICB2YXIgcG9pbnQ7XG4gIGlmIChpbmRleCA+PSBzdHJpbmcubGVuZ3RoKSByZXR1cm4geyB2YWx1ZTogdW5kZWZpbmVkLCBkb25lOiB0cnVlIH07XG4gIHBvaW50ID0gY2hhckF0KHN0cmluZywgaW5kZXgpO1xuICBzdGF0ZS5pbmRleCArPSBwb2ludC5sZW5ndGg7XG4gIHJldHVybiB7IHZhbHVlOiBwb2ludCwgZG9uZTogZmFsc2UgfTtcbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyICQgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvZXhwb3J0Jyk7XG52YXIgZ2V0QnVpbHRJbiA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9nZXQtYnVpbHQtaW4nKTtcbnZhciBzcGVjaWVzQ29uc3RydWN0b3IgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvc3BlY2llcy1jb25zdHJ1Y3RvcicpO1xudmFyIHByb21pc2VSZXNvbHZlID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL3Byb21pc2UtcmVzb2x2ZScpO1xuXG4vLyBgUHJvbWlzZS5wcm90b3R5cGUuZmluYWxseWAgbWV0aG9kXG4vLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1wcm9taXNlLnByb3RvdHlwZS5maW5hbGx5XG4kKHsgdGFyZ2V0OiAnUHJvbWlzZScsIHByb3RvOiB0cnVlLCByZWFsOiB0cnVlIH0sIHtcbiAgJ2ZpbmFsbHknOiBmdW5jdGlvbiAob25GaW5hbGx5KSB7XG4gICAgdmFyIEMgPSBzcGVjaWVzQ29uc3RydWN0b3IodGhpcywgZ2V0QnVpbHRJbignUHJvbWlzZScpKTtcbiAgICB2YXIgaXNGdW5jdGlvbiA9IHR5cGVvZiBvbkZpbmFsbHkgPT0gJ2Z1bmN0aW9uJztcbiAgICByZXR1cm4gdGhpcy50aGVuKFxuICAgICAgaXNGdW5jdGlvbiA/IGZ1bmN0aW9uICh4KSB7XG4gICAgICAgIHJldHVybiBwcm9taXNlUmVzb2x2ZShDLCBvbkZpbmFsbHkoKSkudGhlbihmdW5jdGlvbiAoKSB7IHJldHVybiB4OyB9KTtcbiAgICAgIH0gOiBvbkZpbmFsbHksXG4gICAgICBpc0Z1bmN0aW9uID8gZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgcmV0dXJuIHByb21pc2VSZXNvbHZlKEMsIG9uRmluYWxseSgpKS50aGVuKGZ1bmN0aW9uICgpIHsgdGhyb3cgZTsgfSk7XG4gICAgICB9IDogb25GaW5hbGx5XG4gICAgKTtcbiAgfVxufSk7XG4iLCJ2YXIgJCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9leHBvcnQnKTtcbnZhciBnZXRQcm90b3R5cGVPZiA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9vYmplY3QtZ2V0LXByb3RvdHlwZS1vZicpO1xudmFyIHNldFByb3RvdHlwZU9mID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL29iamVjdC1zZXQtcHJvdG90eXBlLW9mJyk7XG52YXIgY3JlYXRlID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL29iamVjdC1jcmVhdGUnKTtcbnZhciBjcmVhdGVQcm9wZXJ0eURlc2NyaXB0b3IgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvY3JlYXRlLXByb3BlcnR5LWRlc2NyaXB0b3InKTtcbnZhciBpdGVyYXRlID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2l0ZXJhdGUnKTtcbnZhciBoaWRlID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2hpZGUnKTtcblxudmFyICRBZ2dyZWdhdGVFcnJvciA9IGZ1bmN0aW9uIEFnZ3JlZ2F0ZUVycm9yKGVycm9ycywgbWVzc2FnZSkge1xuICB2YXIgdGhhdCA9IHRoaXM7XG4gIGlmICghKHRoYXQgaW5zdGFuY2VvZiAkQWdncmVnYXRlRXJyb3IpKSByZXR1cm4gbmV3ICRBZ2dyZWdhdGVFcnJvcihlcnJvcnMsIG1lc3NhZ2UpO1xuICBpZiAoc2V0UHJvdG90eXBlT2YpIHtcbiAgICB0aGF0ID0gc2V0UHJvdG90eXBlT2YobmV3IEVycm9yKG1lc3NhZ2UpLCBnZXRQcm90b3R5cGVPZih0aGF0KSk7XG4gIH1cbiAgdmFyIGVycm9yc0FycmF5ID0gW107XG4gIGl0ZXJhdGUoZXJyb3JzLCBlcnJvcnNBcnJheS5wdXNoLCBlcnJvcnNBcnJheSk7XG4gIHRoYXQuZXJyb3JzID0gZXJyb3JzQXJyYXk7XG4gIGlmIChtZXNzYWdlICE9PSB1bmRlZmluZWQpIGhpZGUodGhhdCwgJ21lc3NhZ2UnLCBTdHJpbmcobWVzc2FnZSkpO1xuICByZXR1cm4gdGhhdDtcbn07XG5cbiRBZ2dyZWdhdGVFcnJvci5wcm90b3R5cGUgPSBjcmVhdGUoRXJyb3IucHJvdG90eXBlLCB7XG4gIGNvbnN0cnVjdG9yOiBjcmVhdGVQcm9wZXJ0eURlc2NyaXB0b3IoNSwgJEFnZ3JlZ2F0ZUVycm9yKSxcbiAgbmFtZTogY3JlYXRlUHJvcGVydHlEZXNjcmlwdG9yKDUsICdBZ2dyZWdhdGVFcnJvcicpXG59KTtcblxuJCh7IGdsb2JhbDogdHJ1ZSB9LCB7XG4gIEFnZ3JlZ2F0ZUVycm9yOiAkQWdncmVnYXRlRXJyb3Jcbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyICQgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvZXhwb3J0Jyk7XG52YXIgYUZ1bmN0aW9uID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2EtZnVuY3Rpb24nKTtcbnZhciBuZXdQcm9taXNlQ2FwYWJpbGl0eU1vZHVsZSA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9uZXctcHJvbWlzZS1jYXBhYmlsaXR5Jyk7XG52YXIgcGVyZm9ybSA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9wZXJmb3JtJyk7XG52YXIgaXRlcmF0ZSA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9pdGVyYXRlJyk7XG5cbi8vIGBQcm9taXNlLmFsbFNldHRsZWRgIG1ldGhvZFxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3RjMzkvcHJvcG9zYWwtcHJvbWlzZS1hbGxTZXR0bGVkXG4kKHsgdGFyZ2V0OiAnUHJvbWlzZScsIHN0YXQ6IHRydWUgfSwge1xuICBhbGxTZXR0bGVkOiBmdW5jdGlvbiBhbGxTZXR0bGVkKGl0ZXJhYmxlKSB7XG4gICAgdmFyIEMgPSB0aGlzO1xuICAgIHZhciBjYXBhYmlsaXR5ID0gbmV3UHJvbWlzZUNhcGFiaWxpdHlNb2R1bGUuZihDKTtcbiAgICB2YXIgcmVzb2x2ZSA9IGNhcGFiaWxpdHkucmVzb2x2ZTtcbiAgICB2YXIgcmVqZWN0ID0gY2FwYWJpbGl0eS5yZWplY3Q7XG4gICAgdmFyIHJlc3VsdCA9IHBlcmZvcm0oZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIHByb21pc2VSZXNvbHZlID0gYUZ1bmN0aW9uKEMucmVzb2x2ZSk7XG4gICAgICB2YXIgdmFsdWVzID0gW107XG4gICAgICB2YXIgY291bnRlciA9IDA7XG4gICAgICB2YXIgcmVtYWluaW5nID0gMTtcbiAgICAgIGl0ZXJhdGUoaXRlcmFibGUsIGZ1bmN0aW9uIChwcm9taXNlKSB7XG4gICAgICAgIHZhciBpbmRleCA9IGNvdW50ZXIrKztcbiAgICAgICAgdmFyIGFscmVhZHlDYWxsZWQgPSBmYWxzZTtcbiAgICAgICAgdmFsdWVzLnB1c2godW5kZWZpbmVkKTtcbiAgICAgICAgcmVtYWluaW5nKys7XG4gICAgICAgIHByb21pc2VSZXNvbHZlLmNhbGwoQywgcHJvbWlzZSkudGhlbihmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgICBpZiAoYWxyZWFkeUNhbGxlZCkgcmV0dXJuO1xuICAgICAgICAgIGFscmVhZHlDYWxsZWQgPSB0cnVlO1xuICAgICAgICAgIHZhbHVlc1tpbmRleF0gPSB7IHN0YXR1czogJ2Z1bGZpbGxlZCcsIHZhbHVlOiB2YWx1ZSB9O1xuICAgICAgICAgIC0tcmVtYWluaW5nIHx8IHJlc29sdmUodmFsdWVzKTtcbiAgICAgICAgfSwgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgICBpZiAoYWxyZWFkeUNhbGxlZCkgcmV0dXJuO1xuICAgICAgICAgIGFscmVhZHlDYWxsZWQgPSB0cnVlO1xuICAgICAgICAgIHZhbHVlc1tpbmRleF0gPSB7IHN0YXR1czogJ3JlamVjdGVkJywgcmVhc29uOiBlIH07XG4gICAgICAgICAgLS1yZW1haW5pbmcgfHwgcmVzb2x2ZSh2YWx1ZXMpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgICAgLS1yZW1haW5pbmcgfHwgcmVzb2x2ZSh2YWx1ZXMpO1xuICAgIH0pO1xuICAgIGlmIChyZXN1bHQuZXJyb3IpIHJlamVjdChyZXN1bHQudmFsdWUpO1xuICAgIHJldHVybiBjYXBhYmlsaXR5LnByb21pc2U7XG4gIH1cbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyICQgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvZXhwb3J0Jyk7XG52YXIgbmV3UHJvbWlzZUNhcGFiaWxpdHlNb2R1bGUgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvbmV3LXByb21pc2UtY2FwYWJpbGl0eScpO1xudmFyIHBlcmZvcm0gPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvcGVyZm9ybScpO1xuXG4vLyBgUHJvbWlzZS50cnlgIG1ldGhvZFxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3RjMzkvcHJvcG9zYWwtcHJvbWlzZS10cnlcbiQoeyB0YXJnZXQ6ICdQcm9taXNlJywgc3RhdDogdHJ1ZSB9LCB7XG4gICd0cnknOiBmdW5jdGlvbiAoY2FsbGJhY2tmbikge1xuICAgIHZhciBwcm9taXNlQ2FwYWJpbGl0eSA9IG5ld1Byb21pc2VDYXBhYmlsaXR5TW9kdWxlLmYodGhpcyk7XG4gICAgdmFyIHJlc3VsdCA9IHBlcmZvcm0oY2FsbGJhY2tmbik7XG4gICAgKHJlc3VsdC5lcnJvciA/IHByb21pc2VDYXBhYmlsaXR5LnJlamVjdCA6IHByb21pc2VDYXBhYmlsaXR5LnJlc29sdmUpKHJlc3VsdC52YWx1ZSk7XG4gICAgcmV0dXJuIHByb21pc2VDYXBhYmlsaXR5LnByb21pc2U7XG4gIH1cbn0pO1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyICQgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvZXhwb3J0Jyk7XG52YXIgYUZ1bmN0aW9uID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2EtZnVuY3Rpb24nKTtcbnZhciBnZXRCdWlsdEluID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2dldC1idWlsdC1pbicpO1xudmFyIG5ld1Byb21pc2VDYXBhYmlsaXR5TW9kdWxlID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL25ldy1wcm9taXNlLWNhcGFiaWxpdHknKTtcbnZhciBwZXJmb3JtID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL3BlcmZvcm0nKTtcbnZhciBpdGVyYXRlID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2l0ZXJhdGUnKTtcblxudmFyIFBST01JU0VfQU5ZX0VSUk9SID0gJ05vIG9uZSBwcm9taXNlIHJlc29sdmVkJztcblxuLy8gYFByb21pc2UuYW55YCBtZXRob2Rcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90YzM5L3Byb3Bvc2FsLXByb21pc2UtYW55XG4kKHsgdGFyZ2V0OiAnUHJvbWlzZScsIHN0YXQ6IHRydWUgfSwge1xuICBhbnk6IGZ1bmN0aW9uIGFueShpdGVyYWJsZSkge1xuICAgIHZhciBDID0gdGhpcztcbiAgICB2YXIgY2FwYWJpbGl0eSA9IG5ld1Byb21pc2VDYXBhYmlsaXR5TW9kdWxlLmYoQyk7XG4gICAgdmFyIHJlc29sdmUgPSBjYXBhYmlsaXR5LnJlc29sdmU7XG4gICAgdmFyIHJlamVjdCA9IGNhcGFiaWxpdHkucmVqZWN0O1xuICAgIHZhciByZXN1bHQgPSBwZXJmb3JtKGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBwcm9taXNlUmVzb2x2ZSA9IGFGdW5jdGlvbihDLnJlc29sdmUpO1xuICAgICAgdmFyIGVycm9ycyA9IFtdO1xuICAgICAgdmFyIGNvdW50ZXIgPSAwO1xuICAgICAgdmFyIHJlbWFpbmluZyA9IDE7XG4gICAgICB2YXIgYWxyZWFkeVJlc29sdmVkID0gZmFsc2U7XG4gICAgICBpdGVyYXRlKGl0ZXJhYmxlLCBmdW5jdGlvbiAocHJvbWlzZSkge1xuICAgICAgICB2YXIgaW5kZXggPSBjb3VudGVyKys7XG4gICAgICAgIHZhciBhbHJlYWR5UmVqZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgZXJyb3JzLnB1c2godW5kZWZpbmVkKTtcbiAgICAgICAgcmVtYWluaW5nKys7XG4gICAgICAgIHByb21pc2VSZXNvbHZlLmNhbGwoQywgcHJvbWlzZSkudGhlbihmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgICBpZiAoYWxyZWFkeVJlamVjdGVkIHx8IGFscmVhZHlSZXNvbHZlZCkgcmV0dXJuO1xuICAgICAgICAgIGFscmVhZHlSZXNvbHZlZCA9IHRydWU7XG4gICAgICAgICAgcmVzb2x2ZSh2YWx1ZSk7XG4gICAgICAgIH0sIGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgaWYgKGFscmVhZHlSZWplY3RlZCB8fCBhbHJlYWR5UmVzb2x2ZWQpIHJldHVybjtcbiAgICAgICAgICBhbHJlYWR5UmVqZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgIGVycm9yc1tpbmRleF0gPSBlO1xuICAgICAgICAgIC0tcmVtYWluaW5nIHx8IHJlamVjdChuZXcgKGdldEJ1aWx0SW4oJ0FnZ3JlZ2F0ZUVycm9yJykpKGVycm9ycywgUFJPTUlTRV9BTllfRVJST1IpKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICAgIC0tcmVtYWluaW5nIHx8IHJlamVjdChuZXcgKGdldEJ1aWx0SW4oJ0FnZ3JlZ2F0ZUVycm9yJykpKGVycm9ycywgUFJPTUlTRV9BTllfRVJST1IpKTtcbiAgICB9KTtcbiAgICBpZiAocmVzdWx0LmVycm9yKSByZWplY3QocmVzdWx0LnZhbHVlKTtcbiAgICByZXR1cm4gY2FwYWJpbGl0eS5wcm9taXNlO1xuICB9XG59KTtcbiIsInJlcXVpcmUoJy4vJykucG9seWZpbGwoKVxuIiwidmFyIG5vdyA9IHJlcXVpcmUoJ3BlcmZvcm1hbmNlLW5vdycpXG4gICwgcm9vdCA9IHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnID8gZ2xvYmFsIDogd2luZG93XG4gICwgdmVuZG9ycyA9IFsnbW96JywgJ3dlYmtpdCddXG4gICwgc3VmZml4ID0gJ0FuaW1hdGlvbkZyYW1lJ1xuICAsIHJhZiA9IHJvb3RbJ3JlcXVlc3QnICsgc3VmZml4XVxuICAsIGNhZiA9IHJvb3RbJ2NhbmNlbCcgKyBzdWZmaXhdIHx8IHJvb3RbJ2NhbmNlbFJlcXVlc3QnICsgc3VmZml4XVxuXG5mb3IodmFyIGkgPSAwOyAhcmFmICYmIGkgPCB2ZW5kb3JzLmxlbmd0aDsgaSsrKSB7XG4gIHJhZiA9IHJvb3RbdmVuZG9yc1tpXSArICdSZXF1ZXN0JyArIHN1ZmZpeF1cbiAgY2FmID0gcm9vdFt2ZW5kb3JzW2ldICsgJ0NhbmNlbCcgKyBzdWZmaXhdXG4gICAgICB8fCByb290W3ZlbmRvcnNbaV0gKyAnQ2FuY2VsUmVxdWVzdCcgKyBzdWZmaXhdXG59XG5cbi8vIFNvbWUgdmVyc2lvbnMgb2YgRkYgaGF2ZSByQUYgYnV0IG5vdCBjQUZcbmlmKCFyYWYgfHwgIWNhZikge1xuICB2YXIgbGFzdCA9IDBcbiAgICAsIGlkID0gMFxuICAgICwgcXVldWUgPSBbXVxuICAgICwgZnJhbWVEdXJhdGlvbiA9IDEwMDAgLyA2MFxuXG4gIHJhZiA9IGZ1bmN0aW9uKGNhbGxiYWNrKSB7XG4gICAgaWYocXVldWUubGVuZ3RoID09PSAwKSB7XG4gICAgICB2YXIgX25vdyA9IG5vdygpXG4gICAgICAgICwgbmV4dCA9IE1hdGgubWF4KDAsIGZyYW1lRHVyYXRpb24gLSAoX25vdyAtIGxhc3QpKVxuICAgICAgbGFzdCA9IG5leHQgKyBfbm93XG4gICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgY3AgPSBxdWV1ZS5zbGljZSgwKVxuICAgICAgICAvLyBDbGVhciBxdWV1ZSBoZXJlIHRvIHByZXZlbnRcbiAgICAgICAgLy8gY2FsbGJhY2tzIGZyb20gYXBwZW5kaW5nIGxpc3RlbmVyc1xuICAgICAgICAvLyB0byB0aGUgY3VycmVudCBmcmFtZSdzIHF1ZXVlXG4gICAgICAgIHF1ZXVlLmxlbmd0aCA9IDBcbiAgICAgICAgZm9yKHZhciBpID0gMDsgaSA8IGNwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgaWYoIWNwW2ldLmNhbmNlbGxlZCkge1xuICAgICAgICAgICAgdHJ5e1xuICAgICAgICAgICAgICBjcFtpXS5jYWxsYmFjayhsYXN0KVxuICAgICAgICAgICAgfSBjYXRjaChlKSB7XG4gICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IHRocm93IGUgfSwgMClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sIE1hdGgucm91bmQobmV4dCkpXG4gICAgfVxuICAgIHF1ZXVlLnB1c2goe1xuICAgICAgaGFuZGxlOiArK2lkLFxuICAgICAgY2FsbGJhY2s6IGNhbGxiYWNrLFxuICAgICAgY2FuY2VsbGVkOiBmYWxzZVxuICAgIH0pXG4gICAgcmV0dXJuIGlkXG4gIH1cblxuICBjYWYgPSBmdW5jdGlvbihoYW5kbGUpIHtcbiAgICBmb3IodmFyIGkgPSAwOyBpIDwgcXVldWUubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmKHF1ZXVlW2ldLmhhbmRsZSA9PT0gaGFuZGxlKSB7XG4gICAgICAgIHF1ZXVlW2ldLmNhbmNlbGxlZCA9IHRydWVcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbihmbikge1xuICAvLyBXcmFwIGluIGEgbmV3IGZ1bmN0aW9uIHRvIHByZXZlbnRcbiAgLy8gYGNhbmNlbGAgcG90ZW50aWFsbHkgYmVpbmcgYXNzaWduZWRcbiAgLy8gdG8gdGhlIG5hdGl2ZSByQUYgZnVuY3Rpb25cbiAgcmV0dXJuIHJhZi5jYWxsKHJvb3QsIGZuKVxufVxubW9kdWxlLmV4cG9ydHMuY2FuY2VsID0gZnVuY3Rpb24oKSB7XG4gIGNhZi5hcHBseShyb290LCBhcmd1bWVudHMpXG59XG5tb2R1bGUuZXhwb3J0cy5wb2x5ZmlsbCA9IGZ1bmN0aW9uKG9iamVjdCkge1xuICBpZiAoIW9iamVjdCkge1xuICAgIG9iamVjdCA9IHJvb3Q7XG4gIH1cbiAgb2JqZWN0LnJlcXVlc3RBbmltYXRpb25GcmFtZSA9IHJhZlxuICBvYmplY3QuY2FuY2VsQW5pbWF0aW9uRnJhbWUgPSBjYWZcbn1cbiIsIi8vIEdlbmVyYXRlZCBieSBDb2ZmZWVTY3JpcHQgMS4xMi4yXG4oZnVuY3Rpb24oKSB7XG4gIHZhciBnZXROYW5vU2Vjb25kcywgaHJ0aW1lLCBsb2FkVGltZSwgbW9kdWxlTG9hZFRpbWUsIG5vZGVMb2FkVGltZSwgdXBUaW1lO1xuXG4gIGlmICgodHlwZW9mIHBlcmZvcm1hbmNlICE9PSBcInVuZGVmaW5lZFwiICYmIHBlcmZvcm1hbmNlICE9PSBudWxsKSAmJiBwZXJmb3JtYW5jZS5ub3cpIHtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIHBlcmZvcm1hbmNlLm5vdygpO1xuICAgIH07XG4gIH0gZWxzZSBpZiAoKHR5cGVvZiBwcm9jZXNzICE9PSBcInVuZGVmaW5lZFwiICYmIHByb2Nlc3MgIT09IG51bGwpICYmIHByb2Nlc3MuaHJ0aW1lKSB7XG4gICAgbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiAoZ2V0TmFub1NlY29uZHMoKSAtIG5vZGVMb2FkVGltZSkgLyAxZTY7XG4gICAgfTtcbiAgICBocnRpbWUgPSBwcm9jZXNzLmhydGltZTtcbiAgICBnZXROYW5vU2Vjb25kcyA9IGZ1bmN0aW9uKCkge1xuICAgICAgdmFyIGhyO1xuICAgICAgaHIgPSBocnRpbWUoKTtcbiAgICAgIHJldHVybiBoclswXSAqIDFlOSArIGhyWzFdO1xuICAgIH07XG4gICAgbW9kdWxlTG9hZFRpbWUgPSBnZXROYW5vU2Vjb25kcygpO1xuICAgIHVwVGltZSA9IHByb2Nlc3MudXB0aW1lKCkgKiAxZTk7XG4gICAgbm9kZUxvYWRUaW1lID0gbW9kdWxlTG9hZFRpbWUgLSB1cFRpbWU7XG4gIH0gZWxzZSBpZiAoRGF0ZS5ub3cpIHtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIERhdGUubm93KCkgLSBsb2FkVGltZTtcbiAgICB9O1xuICAgIGxvYWRUaW1lID0gRGF0ZS5ub3coKTtcbiAgfSBlbHNlIHtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIG5ldyBEYXRlKCkuZ2V0VGltZSgpIC0gbG9hZFRpbWU7XG4gICAgfTtcbiAgICBsb2FkVGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICB9XG5cbn0pLmNhbGwodGhpcyk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBlcmZvcm1hbmNlLW5vdy5qcy5tYXBcbiIsIi8vIHNoaW0gZm9yIHVzaW5nIHByb2Nlc3MgaW4gYnJvd3NlclxudmFyIHByb2Nlc3MgPSBtb2R1bGUuZXhwb3J0cyA9IHt9O1xuXG4vLyBjYWNoZWQgZnJvbSB3aGF0ZXZlciBnbG9iYWwgaXMgcHJlc2VudCBzbyB0aGF0IHRlc3QgcnVubmVycyB0aGF0IHN0dWIgaXRcbi8vIGRvbid0IGJyZWFrIHRoaW5ncy4gIEJ1dCB3ZSBuZWVkIHRvIHdyYXAgaXQgaW4gYSB0cnkgY2F0Y2ggaW4gY2FzZSBpdCBpc1xuLy8gd3JhcHBlZCBpbiBzdHJpY3QgbW9kZSBjb2RlIHdoaWNoIGRvZXNuJ3QgZGVmaW5lIGFueSBnbG9iYWxzLiAgSXQncyBpbnNpZGUgYVxuLy8gZnVuY3Rpb24gYmVjYXVzZSB0cnkvY2F0Y2hlcyBkZW9wdGltaXplIGluIGNlcnRhaW4gZW5naW5lcy5cblxudmFyIGNhY2hlZFNldFRpbWVvdXQ7XG52YXIgY2FjaGVkQ2xlYXJUaW1lb3V0O1xuXG5mdW5jdGlvbiBkZWZhdWx0U2V0VGltb3V0KCkge1xuICAgIHRocm93IG5ldyBFcnJvcignc2V0VGltZW91dCBoYXMgbm90IGJlZW4gZGVmaW5lZCcpO1xufVxuZnVuY3Rpb24gZGVmYXVsdENsZWFyVGltZW91dCAoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdjbGVhclRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWQnKTtcbn1cbihmdW5jdGlvbiAoKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgaWYgKHR5cGVvZiBzZXRUaW1lb3V0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBjYWNoZWRTZXRUaW1lb3V0ID0gc2V0VGltZW91dDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNhY2hlZFNldFRpbWVvdXQgPSBkZWZhdWx0U2V0VGltb3V0O1xuICAgICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjYWNoZWRTZXRUaW1lb3V0ID0gZGVmYXVsdFNldFRpbW91dDtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgaWYgKHR5cGVvZiBjbGVhclRpbWVvdXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGNhY2hlZENsZWFyVGltZW91dCA9IGNsZWFyVGltZW91dDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNhY2hlZENsZWFyVGltZW91dCA9IGRlZmF1bHRDbGVhclRpbWVvdXQ7XG4gICAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNhY2hlZENsZWFyVGltZW91dCA9IGRlZmF1bHRDbGVhclRpbWVvdXQ7XG4gICAgfVxufSAoKSlcbmZ1bmN0aW9uIHJ1blRpbWVvdXQoZnVuKSB7XG4gICAgaWYgKGNhY2hlZFNldFRpbWVvdXQgPT09IHNldFRpbWVvdXQpIHtcbiAgICAgICAgLy9ub3JtYWwgZW52aXJvbWVudHMgaW4gc2FuZSBzaXR1YXRpb25zXG4gICAgICAgIHJldHVybiBzZXRUaW1lb3V0KGZ1biwgMCk7XG4gICAgfVxuICAgIC8vIGlmIHNldFRpbWVvdXQgd2Fzbid0IGF2YWlsYWJsZSBidXQgd2FzIGxhdHRlciBkZWZpbmVkXG4gICAgaWYgKChjYWNoZWRTZXRUaW1lb3V0ID09PSBkZWZhdWx0U2V0VGltb3V0IHx8ICFjYWNoZWRTZXRUaW1lb3V0KSAmJiBzZXRUaW1lb3V0KSB7XG4gICAgICAgIGNhY2hlZFNldFRpbWVvdXQgPSBzZXRUaW1lb3V0O1xuICAgICAgICByZXR1cm4gc2V0VGltZW91dChmdW4sIDApO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgICAvLyB3aGVuIHdoZW4gc29tZWJvZHkgaGFzIHNjcmV3ZWQgd2l0aCBzZXRUaW1lb3V0IGJ1dCBubyBJLkUuIG1hZGRuZXNzXG4gICAgICAgIHJldHVybiBjYWNoZWRTZXRUaW1lb3V0KGZ1biwgMCk7XG4gICAgfSBjYXRjaChlKXtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIFdoZW4gd2UgYXJlIGluIEkuRS4gYnV0IHRoZSBzY3JpcHQgaGFzIGJlZW4gZXZhbGVkIHNvIEkuRS4gZG9lc24ndCB0cnVzdCB0aGUgZ2xvYmFsIG9iamVjdCB3aGVuIGNhbGxlZCBub3JtYWxseVxuICAgICAgICAgICAgcmV0dXJuIGNhY2hlZFNldFRpbWVvdXQuY2FsbChudWxsLCBmdW4sIDApO1xuICAgICAgICB9IGNhdGNoKGUpe1xuICAgICAgICAgICAgLy8gc2FtZSBhcyBhYm92ZSBidXQgd2hlbiBpdCdzIGEgdmVyc2lvbiBvZiBJLkUuIHRoYXQgbXVzdCBoYXZlIHRoZSBnbG9iYWwgb2JqZWN0IGZvciAndGhpcycsIGhvcGZ1bGx5IG91ciBjb250ZXh0IGNvcnJlY3Qgb3RoZXJ3aXNlIGl0IHdpbGwgdGhyb3cgYSBnbG9iYWwgZXJyb3JcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWRTZXRUaW1lb3V0LmNhbGwodGhpcywgZnVuLCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG59XG5mdW5jdGlvbiBydW5DbGVhclRpbWVvdXQobWFya2VyKSB7XG4gICAgaWYgKGNhY2hlZENsZWFyVGltZW91dCA9PT0gY2xlYXJUaW1lb3V0KSB7XG4gICAgICAgIC8vbm9ybWFsIGVudmlyb21lbnRzIGluIHNhbmUgc2l0dWF0aW9uc1xuICAgICAgICByZXR1cm4gY2xlYXJUaW1lb3V0KG1hcmtlcik7XG4gICAgfVxuICAgIC8vIGlmIGNsZWFyVGltZW91dCB3YXNuJ3QgYXZhaWxhYmxlIGJ1dCB3YXMgbGF0dGVyIGRlZmluZWRcbiAgICBpZiAoKGNhY2hlZENsZWFyVGltZW91dCA9PT0gZGVmYXVsdENsZWFyVGltZW91dCB8fCAhY2FjaGVkQ2xlYXJUaW1lb3V0KSAmJiBjbGVhclRpbWVvdXQpIHtcbiAgICAgICAgY2FjaGVkQ2xlYXJUaW1lb3V0ID0gY2xlYXJUaW1lb3V0O1xuICAgICAgICByZXR1cm4gY2xlYXJUaW1lb3V0KG1hcmtlcik7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAgIC8vIHdoZW4gd2hlbiBzb21lYm9keSBoYXMgc2NyZXdlZCB3aXRoIHNldFRpbWVvdXQgYnV0IG5vIEkuRS4gbWFkZG5lc3NcbiAgICAgICAgcmV0dXJuIGNhY2hlZENsZWFyVGltZW91dChtYXJrZXIpO1xuICAgIH0gY2F0Y2ggKGUpe1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gV2hlbiB3ZSBhcmUgaW4gSS5FLiBidXQgdGhlIHNjcmlwdCBoYXMgYmVlbiBldmFsZWQgc28gSS5FLiBkb2Vzbid0ICB0cnVzdCB0aGUgZ2xvYmFsIG9iamVjdCB3aGVuIGNhbGxlZCBub3JtYWxseVxuICAgICAgICAgICAgcmV0dXJuIGNhY2hlZENsZWFyVGltZW91dC5jYWxsKG51bGwsIG1hcmtlcik7XG4gICAgICAgIH0gY2F0Y2ggKGUpe1xuICAgICAgICAgICAgLy8gc2FtZSBhcyBhYm92ZSBidXQgd2hlbiBpdCdzIGEgdmVyc2lvbiBvZiBJLkUuIHRoYXQgbXVzdCBoYXZlIHRoZSBnbG9iYWwgb2JqZWN0IGZvciAndGhpcycsIGhvcGZ1bGx5IG91ciBjb250ZXh0IGNvcnJlY3Qgb3RoZXJ3aXNlIGl0IHdpbGwgdGhyb3cgYSBnbG9iYWwgZXJyb3IuXG4gICAgICAgICAgICAvLyBTb21lIHZlcnNpb25zIG9mIEkuRS4gaGF2ZSBkaWZmZXJlbnQgcnVsZXMgZm9yIGNsZWFyVGltZW91dCB2cyBzZXRUaW1lb3V0XG4gICAgICAgICAgICByZXR1cm4gY2FjaGVkQ2xlYXJUaW1lb3V0LmNhbGwodGhpcywgbWFya2VyKTtcbiAgICAgICAgfVxuICAgIH1cblxuXG5cbn1cbnZhciBxdWV1ZSA9IFtdO1xudmFyIGRyYWluaW5nID0gZmFsc2U7XG52YXIgY3VycmVudFF1ZXVlO1xudmFyIHF1ZXVlSW5kZXggPSAtMTtcblxuZnVuY3Rpb24gY2xlYW5VcE5leHRUaWNrKCkge1xuICAgIGlmICghZHJhaW5pbmcgfHwgIWN1cnJlbnRRdWV1ZSkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGRyYWluaW5nID0gZmFsc2U7XG4gICAgaWYgKGN1cnJlbnRRdWV1ZS5sZW5ndGgpIHtcbiAgICAgICAgcXVldWUgPSBjdXJyZW50UXVldWUuY29uY2F0KHF1ZXVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBxdWV1ZUluZGV4ID0gLTE7XG4gICAgfVxuICAgIGlmIChxdWV1ZS5sZW5ndGgpIHtcbiAgICAgICAgZHJhaW5RdWV1ZSgpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gZHJhaW5RdWV1ZSgpIHtcbiAgICBpZiAoZHJhaW5pbmcpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB2YXIgdGltZW91dCA9IHJ1blRpbWVvdXQoY2xlYW5VcE5leHRUaWNrKTtcbiAgICBkcmFpbmluZyA9IHRydWU7XG5cbiAgICB2YXIgbGVuID0gcXVldWUubGVuZ3RoO1xuICAgIHdoaWxlKGxlbikge1xuICAgICAgICBjdXJyZW50UXVldWUgPSBxdWV1ZTtcbiAgICAgICAgcXVldWUgPSBbXTtcbiAgICAgICAgd2hpbGUgKCsrcXVldWVJbmRleCA8IGxlbikge1xuICAgICAgICAgICAgaWYgKGN1cnJlbnRRdWV1ZSkge1xuICAgICAgICAgICAgICAgIGN1cnJlbnRRdWV1ZVtxdWV1ZUluZGV4XS5ydW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBxdWV1ZUluZGV4ID0gLTE7XG4gICAgICAgIGxlbiA9IHF1ZXVlLmxlbmd0aDtcbiAgICB9XG4gICAgY3VycmVudFF1ZXVlID0gbnVsbDtcbiAgICBkcmFpbmluZyA9IGZhbHNlO1xuICAgIHJ1bkNsZWFyVGltZW91dCh0aW1lb3V0KTtcbn1cblxucHJvY2Vzcy5uZXh0VGljayA9IGZ1bmN0aW9uIChmdW4pIHtcbiAgICB2YXIgYXJncyA9IG5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoIC0gMSk7XG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPiAxKSB7XG4gICAgICAgIGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBhcmdzW2kgLSAxXSA9IGFyZ3VtZW50c1tpXTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBxdWV1ZS5wdXNoKG5ldyBJdGVtKGZ1biwgYXJncykpO1xuICAgIGlmIChxdWV1ZS5sZW5ndGggPT09IDEgJiYgIWRyYWluaW5nKSB7XG4gICAgICAgIHJ1blRpbWVvdXQoZHJhaW5RdWV1ZSk7XG4gICAgfVxufTtcblxuLy8gdjggbGlrZXMgcHJlZGljdGlibGUgb2JqZWN0c1xuZnVuY3Rpb24gSXRlbShmdW4sIGFycmF5KSB7XG4gICAgdGhpcy5mdW4gPSBmdW47XG4gICAgdGhpcy5hcnJheSA9IGFycmF5O1xufVxuSXRlbS5wcm90b3R5cGUucnVuID0gZnVuY3Rpb24gKCkge1xuICAgIHRoaXMuZnVuLmFwcGx5KG51bGwsIHRoaXMuYXJyYXkpO1xufTtcbnByb2Nlc3MudGl0bGUgPSAnYnJvd3Nlcic7XG5wcm9jZXNzLmJyb3dzZXIgPSB0cnVlO1xucHJvY2Vzcy5lbnYgPSB7fTtcbnByb2Nlc3MuYXJndiA9IFtdO1xucHJvY2Vzcy52ZXJzaW9uID0gJyc7IC8vIGVtcHR5IHN0cmluZyB0byBhdm9pZCByZWdleHAgaXNzdWVzXG5wcm9jZXNzLnZlcnNpb25zID0ge307XG5cbmZ1bmN0aW9uIG5vb3AoKSB7fVxuXG5wcm9jZXNzLm9uID0gbm9vcDtcbnByb2Nlc3MuYWRkTGlzdGVuZXIgPSBub29wO1xucHJvY2Vzcy5vbmNlID0gbm9vcDtcbnByb2Nlc3Mub2ZmID0gbm9vcDtcbnByb2Nlc3MucmVtb3ZlTGlzdGVuZXIgPSBub29wO1xucHJvY2Vzcy5yZW1vdmVBbGxMaXN0ZW5lcnMgPSBub29wO1xucHJvY2Vzcy5lbWl0ID0gbm9vcDtcbnByb2Nlc3MucHJlcGVuZExpc3RlbmVyID0gbm9vcDtcbnByb2Nlc3MucHJlcGVuZE9uY2VMaXN0ZW5lciA9IG5vb3A7XG5cbnByb2Nlc3MubGlzdGVuZXJzID0gZnVuY3Rpb24gKG5hbWUpIHsgcmV0dXJuIFtdIH1cblxucHJvY2Vzcy5iaW5kaW5nID0gZnVuY3Rpb24gKG5hbWUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3Byb2Nlc3MuYmluZGluZyBpcyBub3Qgc3VwcG9ydGVkJyk7XG59O1xuXG5wcm9jZXNzLmN3ZCA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuICcvJyB9O1xucHJvY2Vzcy5jaGRpciA9IGZ1bmN0aW9uIChkaXIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3Byb2Nlc3MuY2hkaXIgaXMgbm90IHN1cHBvcnRlZCcpO1xufTtcbnByb2Nlc3MudW1hc2sgPSBmdW5jdGlvbigpIHsgcmV0dXJuIDA7IH07XG4iXSwic291cmNlUm9vdCI6IiJ9 \ No newline at end of file diff --git a/rainloop/app/rainloop/v/1.13.0/app/domains/default.ini.dist b/rainloop/app/rainloop/v/1.14.0/app/domains/default.ini.dist similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/domains/default.ini.dist rename to rainloop/app/rainloop/v/1.14.0/app/domains/default.ini.dist diff --git a/rainloop/app/rainloop/v/1.13.0/app/domains/disabled b/rainloop/app/rainloop/v/1.14.0/app/domains/disabled similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/domains/disabled rename to rainloop/app/rainloop/v/1.14.0/app/domains/disabled diff --git a/rainloop/app/rainloop/v/1.13.0/app/domains/gmail.com.ini b/rainloop/app/rainloop/v/1.14.0/app/domains/gmail.com.ini similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/domains/gmail.com.ini rename to rainloop/app/rainloop/v/1.14.0/app/domains/gmail.com.ini diff --git a/rainloop/app/rainloop/v/1.13.0/app/domains/outlook.com.ini b/rainloop/app/rainloop/v/1.14.0/app/domains/outlook.com.ini similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/domains/outlook.com.ini rename to rainloop/app/rainloop/v/1.14.0/app/domains/outlook.com.ini diff --git a/rainloop/app/rainloop/v/1.13.0/app/domains/qq.com.ini b/rainloop/app/rainloop/v/1.14.0/app/domains/qq.com.ini similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/domains/qq.com.ini rename to rainloop/app/rainloop/v/1.14.0/app/domains/qq.com.ini diff --git a/rainloop/app/rainloop/v/1.13.0/app/domains/yahoo.com.ini b/rainloop/app/rainloop/v/1.14.0/app/domains/yahoo.com.ini similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/domains/yahoo.com.ini rename to rainloop/app/rainloop/v/1.14.0/app/domains/yahoo.com.ini diff --git a/rainloop/app/rainloop/v/1.13.0/app/handle.php b/rainloop/app/rainloop/v/1.14.0/app/handle.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/handle.php rename to rainloop/app/rainloop/v/1.14.0/app/handle.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Authentication/AccessToken.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Authentication/AccessToken.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Authentication/AccessToken.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Authentication/AccessToken.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Authentication/AccessTokenMetadata.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Authentication/AccessTokenMetadata.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Authentication/AccessTokenMetadata.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Authentication/AccessTokenMetadata.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Authentication/OAuth2Client.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Authentication/OAuth2Client.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Authentication/OAuth2Client.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Authentication/OAuth2Client.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Exceptions/FacebookAuthenticationException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Exceptions/FacebookAuthenticationException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Exceptions/FacebookAuthenticationException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Exceptions/FacebookAuthenticationException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Exceptions/FacebookAuthorizationException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Exceptions/FacebookAuthorizationException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Exceptions/FacebookAuthorizationException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Exceptions/FacebookAuthorizationException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Exceptions/FacebookClientException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Exceptions/FacebookClientException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Exceptions/FacebookClientException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Exceptions/FacebookClientException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Exceptions/FacebookOtherException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Exceptions/FacebookOtherException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Exceptions/FacebookOtherException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Exceptions/FacebookOtherException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Exceptions/FacebookResponseException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Exceptions/FacebookResponseException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Exceptions/FacebookResponseException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Exceptions/FacebookResponseException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Exceptions/FacebookSDKException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Exceptions/FacebookSDKException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Exceptions/FacebookSDKException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Exceptions/FacebookSDKException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Exceptions/FacebookServerException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Exceptions/FacebookServerException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Exceptions/FacebookServerException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Exceptions/FacebookServerException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Exceptions/FacebookThrottleException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Exceptions/FacebookThrottleException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Exceptions/FacebookThrottleException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Exceptions/FacebookThrottleException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Facebook.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Facebook.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Facebook.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Facebook.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/FacebookApp.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/FacebookApp.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/FacebookApp.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/FacebookApp.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/FacebookBatchRequest.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/FacebookBatchRequest.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/FacebookBatchRequest.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/FacebookBatchRequest.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/FacebookBatchResponse.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/FacebookBatchResponse.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/FacebookBatchResponse.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/FacebookBatchResponse.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/FacebookClient.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/FacebookClient.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/FacebookClient.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/FacebookClient.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/FacebookRequest.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/FacebookRequest.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/FacebookRequest.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/FacebookRequest.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/FacebookResponse.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/FacebookResponse.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/FacebookResponse.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/FacebookResponse.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/FileUpload/FacebookFile.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/FileUpload/FacebookFile.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/FileUpload/FacebookFile.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/FileUpload/FacebookFile.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/FileUpload/FacebookVideo.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/FileUpload/FacebookVideo.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/FileUpload/FacebookVideo.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/FileUpload/FacebookVideo.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/FileUpload/Mimetypes.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/FileUpload/Mimetypes.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/FileUpload/Mimetypes.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/FileUpload/Mimetypes.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/GraphNodes/Collection.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/GraphNodes/Collection.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/GraphNodes/Collection.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/GraphNodes/Collection.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/GraphNodes/GraphAchievement.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/GraphNodes/GraphAchievement.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/GraphNodes/GraphAchievement.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/GraphNodes/GraphAchievement.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/GraphNodes/GraphAlbum.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/GraphNodes/GraphAlbum.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/GraphNodes/GraphAlbum.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/GraphNodes/GraphAlbum.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/GraphNodes/GraphApplication.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/GraphNodes/GraphApplication.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/GraphNodes/GraphApplication.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/GraphNodes/GraphApplication.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/GraphNodes/GraphCoverPhoto.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/GraphNodes/GraphCoverPhoto.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/GraphNodes/GraphCoverPhoto.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/GraphNodes/GraphCoverPhoto.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/GraphNodes/GraphEdge.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/GraphNodes/GraphEdge.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/GraphNodes/GraphEdge.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/GraphNodes/GraphEdge.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/GraphNodes/GraphEvent.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/GraphNodes/GraphEvent.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/GraphNodes/GraphEvent.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/GraphNodes/GraphEvent.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/GraphNodes/GraphGroup.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/GraphNodes/GraphGroup.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/GraphNodes/GraphGroup.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/GraphNodes/GraphGroup.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/GraphNodes/GraphList.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/GraphNodes/GraphList.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/GraphNodes/GraphList.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/GraphNodes/GraphList.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/GraphNodes/GraphLocation.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/GraphNodes/GraphLocation.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/GraphNodes/GraphLocation.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/GraphNodes/GraphLocation.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/GraphNodes/GraphNode.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/GraphNodes/GraphNode.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/GraphNodes/GraphNode.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/GraphNodes/GraphNode.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/GraphNodes/GraphNodeFactory.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/GraphNodes/GraphNodeFactory.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/GraphNodes/GraphNodeFactory.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/GraphNodes/GraphNodeFactory.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/GraphNodes/GraphObject.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/GraphNodes/GraphObject.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/GraphNodes/GraphObject.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/GraphNodes/GraphObject.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/GraphNodes/GraphObjectFactory.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/GraphNodes/GraphObjectFactory.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/GraphNodes/GraphObjectFactory.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/GraphNodes/GraphObjectFactory.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/GraphNodes/GraphPage.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/GraphNodes/GraphPage.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/GraphNodes/GraphPage.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/GraphNodes/GraphPage.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/GraphNodes/GraphPicture.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/GraphNodes/GraphPicture.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/GraphNodes/GraphPicture.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/GraphNodes/GraphPicture.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/GraphNodes/GraphSessionInfo.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/GraphNodes/GraphSessionInfo.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/GraphNodes/GraphSessionInfo.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/GraphNodes/GraphSessionInfo.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/GraphNodes/GraphUser.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/GraphNodes/GraphUser.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/GraphNodes/GraphUser.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/GraphNodes/GraphUser.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Helpers/FacebookCanvasHelper.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Helpers/FacebookCanvasHelper.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Helpers/FacebookCanvasHelper.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Helpers/FacebookCanvasHelper.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Helpers/FacebookJavaScriptHelper.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Helpers/FacebookJavaScriptHelper.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Helpers/FacebookJavaScriptHelper.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Helpers/FacebookJavaScriptHelper.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Helpers/FacebookPageTabHelper.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Helpers/FacebookPageTabHelper.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Helpers/FacebookPageTabHelper.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Helpers/FacebookPageTabHelper.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Helpers/FacebookRedirectLoginHelper.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Helpers/FacebookRedirectLoginHelper.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Helpers/FacebookRedirectLoginHelper.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Helpers/FacebookRedirectLoginHelper.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Helpers/FacebookSignedRequestFromInputHelper.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Helpers/FacebookSignedRequestFromInputHelper.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Helpers/FacebookSignedRequestFromInputHelper.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Helpers/FacebookSignedRequestFromInputHelper.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Http/GraphRawResponse.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Http/GraphRawResponse.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Http/GraphRawResponse.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Http/GraphRawResponse.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Http/RequestBodyInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Http/RequestBodyInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Http/RequestBodyInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Http/RequestBodyInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Http/RequestBodyMultipart.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Http/RequestBodyMultipart.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Http/RequestBodyMultipart.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Http/RequestBodyMultipart.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Http/RequestBodyUrlEncoded.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Http/RequestBodyUrlEncoded.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Http/RequestBodyUrlEncoded.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Http/RequestBodyUrlEncoded.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/HttpClients/FacebookCurl.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/HttpClients/FacebookCurl.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/HttpClients/FacebookCurl.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/HttpClients/FacebookCurl.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/HttpClients/FacebookCurlHttpClient.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/HttpClients/FacebookCurlHttpClient.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/HttpClients/FacebookCurlHttpClient.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/HttpClients/FacebookCurlHttpClient.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/HttpClients/FacebookGuzzleHttpClient.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/HttpClients/FacebookGuzzleHttpClient.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/HttpClients/FacebookGuzzleHttpClient.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/HttpClients/FacebookGuzzleHttpClient.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/HttpClients/FacebookHttpClientInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/HttpClients/FacebookHttpClientInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/HttpClients/FacebookHttpClientInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/HttpClients/FacebookHttpClientInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/HttpClients/FacebookStream.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/HttpClients/FacebookStream.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/HttpClients/FacebookStream.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/HttpClients/FacebookStream.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/HttpClients/FacebookStreamHttpClient.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/HttpClients/FacebookStreamHttpClient.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/HttpClients/FacebookStreamHttpClient.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/HttpClients/FacebookStreamHttpClient.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/HttpClients/certs/DigiCertHighAssuranceEVRootCA.pem b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/HttpClients/certs/DigiCertHighAssuranceEVRootCA.pem similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/HttpClients/certs/DigiCertHighAssuranceEVRootCA.pem rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/HttpClients/certs/DigiCertHighAssuranceEVRootCA.pem diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/PersistentData/FacebookMemoryPersistentDataHandler.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/PersistentData/FacebookMemoryPersistentDataHandler.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/PersistentData/FacebookMemoryPersistentDataHandler.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/PersistentData/FacebookMemoryPersistentDataHandler.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/PersistentData/FacebookSessionPersistentDataHandler.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/PersistentData/FacebookSessionPersistentDataHandler.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/PersistentData/FacebookSessionPersistentDataHandler.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/PersistentData/FacebookSessionPersistentDataHandler.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/PersistentData/PersistentDataInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/PersistentData/PersistentDataInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/PersistentData/PersistentDataInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/PersistentData/PersistentDataInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/PseudoRandomString/McryptPseudoRandomStringGenerator.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/PseudoRandomString/McryptPseudoRandomStringGenerator.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/PseudoRandomString/McryptPseudoRandomStringGenerator.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/PseudoRandomString/McryptPseudoRandomStringGenerator.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/PseudoRandomString/OpenSslPseudoRandomStringGenerator.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/PseudoRandomString/OpenSslPseudoRandomStringGenerator.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/PseudoRandomString/OpenSslPseudoRandomStringGenerator.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/PseudoRandomString/OpenSslPseudoRandomStringGenerator.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/PseudoRandomString/PseudoRandomStringGeneratorInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/PseudoRandomString/PseudoRandomStringGeneratorInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/PseudoRandomString/PseudoRandomStringGeneratorInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/PseudoRandomString/PseudoRandomStringGeneratorInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/PseudoRandomString/PseudoRandomStringGeneratorTrait.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/PseudoRandomString/PseudoRandomStringGeneratorTrait.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/PseudoRandomString/PseudoRandomStringGeneratorTrait.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/PseudoRandomString/PseudoRandomStringGeneratorTrait.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/PseudoRandomString/UrandomPseudoRandomStringGenerator.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/PseudoRandomString/UrandomPseudoRandomStringGenerator.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/PseudoRandomString/UrandomPseudoRandomStringGenerator.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/PseudoRandomString/UrandomPseudoRandomStringGenerator.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/SignedRequest.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/SignedRequest.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/SignedRequest.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/SignedRequest.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Url/FacebookUrlDetectionHandler.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Url/FacebookUrlDetectionHandler.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Url/FacebookUrlDetectionHandler.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Url/FacebookUrlDetectionHandler.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Url/FacebookUrlManipulator.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Url/FacebookUrlManipulator.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Url/FacebookUrlManipulator.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Url/FacebookUrlManipulator.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Url/UrlDetectionInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Url/UrlDetectionInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/Url/UrlDetectionInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/Url/UrlDetectionInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/autoload.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/autoload.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Facebook/autoload.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Facebook/autoload.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Draw/DrawerInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Draw/DrawerInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Draw/DrawerInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Draw/DrawerInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Effects/EffectsInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Effects/EffectsInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Effects/EffectsInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Effects/EffectsInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Exception/Exception.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Exception/Exception.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Exception/Exception.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Exception/Exception.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Exception/InvalidArgumentException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Exception/InvalidArgumentException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Exception/InvalidArgumentException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Exception/InvalidArgumentException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Exception/NotSupportedException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Exception/NotSupportedException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Exception/NotSupportedException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Exception/NotSupportedException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Exception/OutOfBoundsException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Exception/OutOfBoundsException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Exception/OutOfBoundsException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Exception/OutOfBoundsException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Exception/RuntimeException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Exception/RuntimeException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Exception/RuntimeException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Exception/RuntimeException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Advanced/Border.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Advanced/Border.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Advanced/Border.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Advanced/Border.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Advanced/Canvas.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Advanced/Canvas.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Advanced/Canvas.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Advanced/Canvas.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Advanced/Grayscale.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Advanced/Grayscale.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Advanced/Grayscale.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Advanced/Grayscale.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Advanced/OnPixelBased.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Advanced/OnPixelBased.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Advanced/OnPixelBased.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Advanced/OnPixelBased.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Advanced/RelativeResize.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Advanced/RelativeResize.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Advanced/RelativeResize.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Advanced/RelativeResize.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Basic/ApplyMask.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Basic/ApplyMask.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Basic/ApplyMask.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Basic/ApplyMask.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Basic/Autorotate.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Basic/Autorotate.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Basic/Autorotate.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Basic/Autorotate.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Basic/Copy.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Basic/Copy.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Basic/Copy.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Basic/Copy.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Basic/Crop.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Basic/Crop.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Basic/Crop.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Basic/Crop.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Basic/Fill.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Basic/Fill.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Basic/Fill.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Basic/Fill.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Basic/FlipHorizontally.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Basic/FlipHorizontally.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Basic/FlipHorizontally.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Basic/FlipHorizontally.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Basic/FlipVertically.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Basic/FlipVertically.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Basic/FlipVertically.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Basic/FlipVertically.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Basic/Paste.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Basic/Paste.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Basic/Paste.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Basic/Paste.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Basic/Resize.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Basic/Resize.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Basic/Resize.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Basic/Resize.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Basic/Rotate.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Basic/Rotate.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Basic/Rotate.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Basic/Rotate.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Basic/Save.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Basic/Save.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Basic/Save.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Basic/Save.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Basic/Show.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Basic/Show.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Basic/Show.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Basic/Show.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Basic/Strip.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Basic/Strip.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Basic/Strip.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Basic/Strip.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Basic/Thumbnail.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Basic/Thumbnail.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Basic/Thumbnail.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Basic/Thumbnail.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Basic/WebOptimization.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Basic/WebOptimization.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Basic/WebOptimization.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Basic/WebOptimization.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/FilterInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/FilterInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/FilterInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/FilterInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/ImagineAware.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/ImagineAware.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/ImagineAware.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/ImagineAware.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Transformation.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Transformation.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Filter/Transformation.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Filter/Transformation.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Gd/Drawer.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Gd/Drawer.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Gd/Drawer.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Gd/Drawer.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Gd/Effects.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Gd/Effects.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Gd/Effects.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Gd/Effects.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Gd/Font.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Gd/Font.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Gd/Font.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Gd/Font.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Gd/Image.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Gd/Image.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Gd/Image.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Gd/Image.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Gd/Imagine.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Gd/Imagine.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Gd/Imagine.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Gd/Imagine.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Gd/Layers.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Gd/Layers.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Gd/Layers.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Gd/Layers.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Gmagick/Drawer.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Gmagick/Drawer.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Gmagick/Drawer.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Gmagick/Drawer.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Gmagick/Effects.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Gmagick/Effects.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Gmagick/Effects.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Gmagick/Effects.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Gmagick/Font.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Gmagick/Font.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Gmagick/Font.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Gmagick/Font.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Gmagick/Image.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Gmagick/Image.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Gmagick/Image.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Gmagick/Image.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Gmagick/Imagine.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Gmagick/Imagine.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Gmagick/Imagine.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Gmagick/Imagine.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Gmagick/Layers.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Gmagick/Layers.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Gmagick/Layers.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Gmagick/Layers.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/AbstractFont.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/AbstractFont.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/AbstractFont.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/AbstractFont.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/AbstractImage.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/AbstractImage.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/AbstractImage.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/AbstractImage.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/AbstractImagine.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/AbstractImagine.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/AbstractImagine.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/AbstractImagine.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/AbstractLayers.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/AbstractLayers.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/AbstractLayers.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/AbstractLayers.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Box.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Box.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Box.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Box.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/BoxInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/BoxInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/BoxInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/BoxInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Fill/FillInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Fill/FillInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Fill/FillInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Fill/FillInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Fill/Gradient/Horizontal.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Fill/Gradient/Horizontal.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Fill/Gradient/Horizontal.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Fill/Gradient/Horizontal.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Fill/Gradient/Linear.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Fill/Gradient/Linear.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Fill/Gradient/Linear.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Fill/Gradient/Linear.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Fill/Gradient/Vertical.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Fill/Gradient/Vertical.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Fill/Gradient/Vertical.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Fill/Gradient/Vertical.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/FontInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/FontInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/FontInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/FontInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Histogram/Bucket.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Histogram/Bucket.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Histogram/Bucket.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Histogram/Bucket.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Histogram/Range.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Histogram/Range.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Histogram/Range.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Histogram/Range.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/ImageInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/ImageInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/ImageInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/ImageInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/ImagineInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/ImagineInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/ImagineInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/ImagineInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/LayersInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/LayersInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/LayersInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/LayersInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/ManipulatorInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/ManipulatorInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/ManipulatorInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/ManipulatorInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Metadata/AbstractMetadataReader.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Metadata/AbstractMetadataReader.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Metadata/AbstractMetadataReader.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Metadata/AbstractMetadataReader.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Metadata/DefaultMetadataReader.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Metadata/DefaultMetadataReader.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Metadata/DefaultMetadataReader.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Metadata/DefaultMetadataReader.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Metadata/ExifMetadataReader.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Metadata/ExifMetadataReader.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Metadata/ExifMetadataReader.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Metadata/ExifMetadataReader.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Metadata/MetadataBag.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Metadata/MetadataBag.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Metadata/MetadataBag.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Metadata/MetadataBag.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Metadata/MetadataReaderInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Metadata/MetadataReaderInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Metadata/MetadataReaderInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Metadata/MetadataReaderInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Palette/CMYK.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Palette/CMYK.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Palette/CMYK.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Palette/CMYK.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Palette/Color/CMYK.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Palette/Color/CMYK.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Palette/Color/CMYK.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Palette/Color/CMYK.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Palette/Color/ColorInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Palette/Color/ColorInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Palette/Color/ColorInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Palette/Color/ColorInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Palette/Color/Gray.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Palette/Color/Gray.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Palette/Color/Gray.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Palette/Color/Gray.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Palette/Color/RGB.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Palette/Color/RGB.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Palette/Color/RGB.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Palette/Color/RGB.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Palette/ColorParser.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Palette/ColorParser.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Palette/ColorParser.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Palette/ColorParser.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Palette/Grayscale.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Palette/Grayscale.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Palette/Grayscale.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Palette/Grayscale.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Palette/PaletteInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Palette/PaletteInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Palette/PaletteInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Palette/PaletteInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Palette/RGB.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Palette/RGB.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Palette/RGB.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Palette/RGB.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Point.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Point.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Point.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Point.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Point/Center.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Point/Center.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Point/Center.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Point/Center.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/PointInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/PointInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/PointInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/PointInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Profile.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Profile.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/Profile.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/Profile.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/ProfileInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/ProfileInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Image/ProfileInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Image/ProfileInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Imagick/Drawer.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Imagick/Drawer.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Imagick/Drawer.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Imagick/Drawer.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Imagick/Effects.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Imagick/Effects.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Imagick/Effects.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Imagick/Effects.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Imagick/Font.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Imagick/Font.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Imagick/Font.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Imagick/Font.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Imagick/Image.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Imagick/Image.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Imagick/Image.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Imagick/Image.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Imagick/Imagine.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Imagick/Imagine.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Imagick/Imagine.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Imagick/Imagine.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Imagick/Layers.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Imagick/Layers.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Imagine/Imagick/Layers.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Imagine/Imagick/Layers.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/Collection.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/Collection.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/Collection.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/Collection.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/Crypt.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/Crypt.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/Crypt.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/Crypt.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/DateTimeHelper.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/DateTimeHelper.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/DateTimeHelper.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/DateTimeHelper.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/Enumerations/Charset.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/Enumerations/Charset.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/Enumerations/Charset.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/Enumerations/Charset.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/Enumerations/Encoding.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/Enumerations/Encoding.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/Enumerations/Encoding.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/Enumerations/Encoding.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/Exceptions/Exception.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/Exceptions/Exception.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/Exceptions/Exception.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/Exceptions/Exception.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/Exceptions/InvalidArgumentException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/Exceptions/InvalidArgumentException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/Exceptions/InvalidArgumentException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/Exceptions/InvalidArgumentException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/HtmlUtils.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/HtmlUtils.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/HtmlUtils.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/HtmlUtils.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/Http.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/Http.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/Http.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/Http.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/LinkFinder.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/LinkFinder.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/LinkFinder.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/LinkFinder.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/Loader.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/Loader.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/Loader.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/Loader.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/ResourceRegistry.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/ResourceRegistry.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/ResourceRegistry.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/ResourceRegistry.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/StreamWrappers/Binary.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/StreamWrappers/Binary.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/StreamWrappers/Binary.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/StreamWrappers/Binary.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/StreamWrappers/Literal.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/StreamWrappers/Literal.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/StreamWrappers/Literal.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/StreamWrappers/Literal.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/StreamWrappers/SubStreams.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/StreamWrappers/SubStreams.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/StreamWrappers/SubStreams.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/StreamWrappers/SubStreams.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/StreamWrappers/TempFile.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/StreamWrappers/TempFile.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/StreamWrappers/TempFile.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/StreamWrappers/TempFile.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/StreamWrappers/Test.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/StreamWrappers/Test.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/StreamWrappers/Test.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/StreamWrappers/Test.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/Utils.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/Utils.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/Utils.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/Utils.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/Validator.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/Validator.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Base/Validator.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Base/Validator.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Cache/CacheClient.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Cache/CacheClient.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Cache/CacheClient.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Cache/CacheClient.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Cache/DriverInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Cache/DriverInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Cache/DriverInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Cache/DriverInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Cache/Drivers/APC.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Cache/Drivers/APC.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Cache/Drivers/APC.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Cache/Drivers/APC.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Cache/Drivers/File.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Cache/Drivers/File.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Cache/Drivers/File.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Cache/Drivers/File.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Cache/Drivers/Memcache.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Cache/Drivers/Memcache.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Cache/Drivers/Memcache.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Cache/Drivers/Memcache.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Cache/Drivers/Redis.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Cache/Drivers/Redis.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Cache/Drivers/Redis.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Cache/Drivers/Redis.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Config.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Config.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Config.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Config.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Hooks.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Hooks.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Hooks.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Hooks.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/BodyStructure.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/BodyStructure.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/BodyStructure.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/BodyStructure.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Enumerations/FetchType.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Enumerations/FetchType.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Enumerations/FetchType.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Enumerations/FetchType.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Enumerations/FolderResponseStatus.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Enumerations/FolderResponseStatus.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Enumerations/FolderResponseStatus.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Enumerations/FolderResponseStatus.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Enumerations/FolderStatus.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Enumerations/FolderStatus.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Enumerations/FolderStatus.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Enumerations/FolderStatus.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Enumerations/FolderType.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Enumerations/FolderType.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Enumerations/FolderType.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Enumerations/FolderType.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Enumerations/MessageFlag.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Enumerations/MessageFlag.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Enumerations/MessageFlag.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Enumerations/MessageFlag.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Enumerations/ResponseStatus.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Enumerations/ResponseStatus.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Enumerations/ResponseStatus.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Enumerations/ResponseStatus.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Enumerations/ResponseType.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Enumerations/ResponseType.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Enumerations/ResponseType.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Enumerations/ResponseType.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Enumerations/StoreAction.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Enumerations/StoreAction.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Enumerations/StoreAction.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Enumerations/StoreAction.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Exceptions/Exception.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Exceptions/Exception.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Exceptions/Exception.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Exceptions/Exception.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Exceptions/InvalidResponseException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Exceptions/InvalidResponseException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Exceptions/InvalidResponseException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Exceptions/InvalidResponseException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Exceptions/LoginBadCredentialsException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Exceptions/LoginBadCredentialsException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Exceptions/LoginBadCredentialsException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Exceptions/LoginBadCredentialsException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Exceptions/LoginBadMethodException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Exceptions/LoginBadMethodException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Exceptions/LoginBadMethodException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Exceptions/LoginBadMethodException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Exceptions/LoginException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Exceptions/LoginException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Exceptions/LoginException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Exceptions/LoginException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Exceptions/NegativeResponseException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Exceptions/NegativeResponseException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Exceptions/NegativeResponseException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Exceptions/NegativeResponseException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Exceptions/ResponseException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Exceptions/ResponseException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Exceptions/ResponseException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Exceptions/ResponseException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Exceptions/ResponseNotFoundException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Exceptions/ResponseNotFoundException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Exceptions/ResponseNotFoundException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Exceptions/ResponseNotFoundException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Exceptions/RuntimeException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Exceptions/RuntimeException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Exceptions/RuntimeException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Exceptions/RuntimeException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/FetchResponse.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/FetchResponse.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/FetchResponse.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/FetchResponse.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Folder.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Folder.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Folder.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Folder.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/FolderInformation.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/FolderInformation.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/FolderInformation.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/FolderInformation.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/ImapClient.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/ImapClient.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/ImapClient.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/ImapClient.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/NamespaceResult.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/NamespaceResult.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/NamespaceResult.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/NamespaceResult.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Response.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Response.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Imap/Response.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Imap/Response.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/LICENSE b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/LICENSE similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/LICENSE rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/LICENSE diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Log/Driver.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Log/Driver.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Log/Driver.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Log/Driver.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Log/Drivers/Callback.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Log/Drivers/Callback.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Log/Drivers/Callback.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Log/Drivers/Callback.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Log/Drivers/File.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Log/Drivers/File.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Log/Drivers/File.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Log/Drivers/File.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Log/Drivers/Inline.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Log/Drivers/Inline.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Log/Drivers/Inline.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Log/Drivers/Inline.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Log/Drivers/Syslog.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Log/Drivers/Syslog.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Log/Drivers/Syslog.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Log/Drivers/Syslog.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Log/Enumerations/Type.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Log/Enumerations/Type.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Log/Enumerations/Type.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Log/Enumerations/Type.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Log/Logger.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Log/Logger.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Log/Logger.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Log/Logger.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mail/Attachment.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mail/Attachment.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mail/Attachment.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mail/Attachment.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mail/AttachmentCollection.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mail/AttachmentCollection.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mail/AttachmentCollection.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mail/AttachmentCollection.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mail/Exceptions/Exception.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mail/Exceptions/Exception.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mail/Exceptions/Exception.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mail/Exceptions/Exception.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mail/Exceptions/NonEmptyFolder.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mail/Exceptions/NonEmptyFolder.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mail/Exceptions/NonEmptyFolder.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mail/Exceptions/NonEmptyFolder.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mail/Exceptions/RuntimeException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mail/Exceptions/RuntimeException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mail/Exceptions/RuntimeException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mail/Exceptions/RuntimeException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mail/Folder.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mail/Folder.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mail/Folder.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mail/Folder.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mail/FolderCollection.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mail/FolderCollection.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mail/FolderCollection.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mail/FolderCollection.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mail/MailClient.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mail/MailClient.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mail/MailClient.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mail/MailClient.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mail/Message.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mail/Message.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mail/Message.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mail/Message.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mail/MessageCollection.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mail/MessageCollection.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mail/MessageCollection.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mail/MessageCollection.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/MailSo.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/MailSo.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/MailSo.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/MailSo.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/Attachment.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/Attachment.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/Attachment.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/Attachment.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/AttachmentCollection.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/AttachmentCollection.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/AttachmentCollection.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/AttachmentCollection.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/Email.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/Email.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/Email.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/Email.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/EmailCollection.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/EmailCollection.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/EmailCollection.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/EmailCollection.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/EmailDep.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/EmailDep.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/EmailDep.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/EmailDep.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/Enumerations/Constants.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/Enumerations/Constants.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/Enumerations/Constants.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/Enumerations/Constants.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/Enumerations/DkimStatus.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/Enumerations/DkimStatus.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/Enumerations/DkimStatus.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/Enumerations/DkimStatus.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/Enumerations/Header.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/Enumerations/Header.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/Enumerations/Header.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/Enumerations/Header.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/Enumerations/MessagePriority.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/Enumerations/MessagePriority.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/Enumerations/MessagePriority.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/Enumerations/MessagePriority.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/Enumerations/MimeType.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/Enumerations/MimeType.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/Enumerations/MimeType.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/Enumerations/MimeType.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/Enumerations/Parameter.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/Enumerations/Parameter.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/Enumerations/Parameter.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/Enumerations/Parameter.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/Enumerations/Sensitivity.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/Enumerations/Sensitivity.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/Enumerations/Sensitivity.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/Enumerations/Sensitivity.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/Header.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/Header.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/Header.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/Header.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/HeaderCollection.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/HeaderCollection.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/HeaderCollection.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/HeaderCollection.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/Message.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/Message.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/Message.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/Message.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/Parameter.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/Parameter.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/Parameter.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/Parameter.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/ParameterCollection.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/ParameterCollection.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/ParameterCollection.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/ParameterCollection.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/Parser/ParserEmpty.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/Parser/ParserEmpty.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/Parser/ParserEmpty.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/Parser/ParserEmpty.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/Parser/ParserInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/Parser/ParserInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/Parser/ParserInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/Parser/ParserInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/Parser/ParserMemory.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/Parser/ParserMemory.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/Parser/ParserMemory.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/Parser/ParserMemory.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/Part.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/Part.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/Part.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/Part.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/PartCollection.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/PartCollection.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Mime/PartCollection.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Mime/PartCollection.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Net/Enumerations/ConnectionSecurityType.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Net/Enumerations/ConnectionSecurityType.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Net/Enumerations/ConnectionSecurityType.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Net/Enumerations/ConnectionSecurityType.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Net/Exceptions/ConnectionException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Net/Exceptions/ConnectionException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Net/Exceptions/ConnectionException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Net/Exceptions/ConnectionException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Net/Exceptions/Exception.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Net/Exceptions/Exception.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Net/Exceptions/Exception.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Net/Exceptions/Exception.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Net/Exceptions/InvalidArgumentException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Net/Exceptions/InvalidArgumentException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Net/Exceptions/InvalidArgumentException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Net/Exceptions/InvalidArgumentException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Net/Exceptions/SocketAlreadyConnectedException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Net/Exceptions/SocketAlreadyConnectedException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Net/Exceptions/SocketAlreadyConnectedException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Net/Exceptions/SocketAlreadyConnectedException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Net/Exceptions/SocketCanNotConnectToHostException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Net/Exceptions/SocketCanNotConnectToHostException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Net/Exceptions/SocketCanNotConnectToHostException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Net/Exceptions/SocketCanNotConnectToHostException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Net/Exceptions/SocketConnectionDoesNotAvailableException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Net/Exceptions/SocketConnectionDoesNotAvailableException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Net/Exceptions/SocketConnectionDoesNotAvailableException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Net/Exceptions/SocketConnectionDoesNotAvailableException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Net/Exceptions/SocketReadException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Net/Exceptions/SocketReadException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Net/Exceptions/SocketReadException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Net/Exceptions/SocketReadException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Net/Exceptions/SocketReadTimeoutException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Net/Exceptions/SocketReadTimeoutException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Net/Exceptions/SocketReadTimeoutException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Net/Exceptions/SocketReadTimeoutException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Net/Exceptions/SocketUnreadBufferException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Net/Exceptions/SocketUnreadBufferException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Net/Exceptions/SocketUnreadBufferException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Net/Exceptions/SocketUnreadBufferException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Net/Exceptions/SocketUnsuppoterdSecureConnectionException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Net/Exceptions/SocketUnsuppoterdSecureConnectionException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Net/Exceptions/SocketUnsuppoterdSecureConnectionException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Net/Exceptions/SocketUnsuppoterdSecureConnectionException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Net/Exceptions/SocketWriteException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Net/Exceptions/SocketWriteException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Net/Exceptions/SocketWriteException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Net/Exceptions/SocketWriteException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Net/NetClient.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Net/NetClient.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Net/NetClient.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Net/NetClient.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Pop3/Exceptions/Exception.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Pop3/Exceptions/Exception.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Pop3/Exceptions/Exception.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Pop3/Exceptions/Exception.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Pop3/Exceptions/LoginBadCredentialsException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Pop3/Exceptions/LoginBadCredentialsException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Pop3/Exceptions/LoginBadCredentialsException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Pop3/Exceptions/LoginBadCredentialsException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Pop3/Exceptions/NegativeResponseException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Pop3/Exceptions/NegativeResponseException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Pop3/Exceptions/NegativeResponseException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Pop3/Exceptions/NegativeResponseException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Pop3/Exceptions/ResponseException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Pop3/Exceptions/ResponseException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Pop3/Exceptions/ResponseException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Pop3/Exceptions/ResponseException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Pop3/Exceptions/RuntimeException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Pop3/Exceptions/RuntimeException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Pop3/Exceptions/RuntimeException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Pop3/Exceptions/RuntimeException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Pop3/Pop3Client.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Pop3/Pop3Client.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Pop3/Pop3Client.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Pop3/Pop3Client.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Poppassd/Exceptions/Exception.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Poppassd/Exceptions/Exception.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Poppassd/Exceptions/Exception.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Poppassd/Exceptions/Exception.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Poppassd/Exceptions/LoginBadCredentialsException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Poppassd/Exceptions/LoginBadCredentialsException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Poppassd/Exceptions/LoginBadCredentialsException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Poppassd/Exceptions/LoginBadCredentialsException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Poppassd/Exceptions/NegativeResponseException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Poppassd/Exceptions/NegativeResponseException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Poppassd/Exceptions/NegativeResponseException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Poppassd/Exceptions/NegativeResponseException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Poppassd/Exceptions/ResponseException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Poppassd/Exceptions/ResponseException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Poppassd/Exceptions/ResponseException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Poppassd/Exceptions/ResponseException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Poppassd/Exceptions/RuntimeException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Poppassd/Exceptions/RuntimeException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Poppassd/Exceptions/RuntimeException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Poppassd/Exceptions/RuntimeException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Poppassd/PoppassdClient.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Poppassd/PoppassdClient.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Poppassd/PoppassdClient.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Poppassd/PoppassdClient.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Sieve/Exceptions/Exception.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Sieve/Exceptions/Exception.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Sieve/Exceptions/Exception.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Sieve/Exceptions/Exception.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Sieve/Exceptions/LoginBadCredentialsException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Sieve/Exceptions/LoginBadCredentialsException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Sieve/Exceptions/LoginBadCredentialsException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Sieve/Exceptions/LoginBadCredentialsException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Sieve/Exceptions/LoginBadMethodException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Sieve/Exceptions/LoginBadMethodException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Sieve/Exceptions/LoginBadMethodException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Sieve/Exceptions/LoginBadMethodException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Sieve/Exceptions/LoginException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Sieve/Exceptions/LoginException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Sieve/Exceptions/LoginException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Sieve/Exceptions/LoginException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Sieve/Exceptions/NegativeResponseException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Sieve/Exceptions/NegativeResponseException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Sieve/Exceptions/NegativeResponseException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Sieve/Exceptions/NegativeResponseException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Sieve/Exceptions/ResponseException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Sieve/Exceptions/ResponseException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Sieve/Exceptions/ResponseException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Sieve/Exceptions/ResponseException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Sieve/Exceptions/RuntimeException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Sieve/Exceptions/RuntimeException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Sieve/Exceptions/RuntimeException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Sieve/Exceptions/RuntimeException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Sieve/ManageSieveClient.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Sieve/ManageSieveClient.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Sieve/ManageSieveClient.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Sieve/ManageSieveClient.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Smtp/Exceptions/Exception.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Smtp/Exceptions/Exception.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Smtp/Exceptions/Exception.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Smtp/Exceptions/Exception.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Smtp/Exceptions/LoginBadCredentialsException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Smtp/Exceptions/LoginBadCredentialsException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Smtp/Exceptions/LoginBadCredentialsException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Smtp/Exceptions/LoginBadCredentialsException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Smtp/Exceptions/LoginBadMethodException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Smtp/Exceptions/LoginBadMethodException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Smtp/Exceptions/LoginBadMethodException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Smtp/Exceptions/LoginBadMethodException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Smtp/Exceptions/LoginException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Smtp/Exceptions/LoginException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Smtp/Exceptions/LoginException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Smtp/Exceptions/LoginException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Smtp/Exceptions/NegativeResponseException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Smtp/Exceptions/NegativeResponseException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Smtp/Exceptions/NegativeResponseException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Smtp/Exceptions/NegativeResponseException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Smtp/Exceptions/ResponseException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Smtp/Exceptions/ResponseException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Smtp/Exceptions/ResponseException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Smtp/Exceptions/ResponseException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Smtp/Exceptions/RuntimeException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Smtp/Exceptions/RuntimeException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Smtp/Exceptions/RuntimeException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Smtp/Exceptions/RuntimeException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Smtp/SmtpClient.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Smtp/SmtpClient.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Smtp/SmtpClient.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Smtp/SmtpClient.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Vendors/Net/IDNA2.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Vendors/Net/IDNA2.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Vendors/Net/IDNA2.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Vendors/Net/IDNA2.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Vendors/Net/IDNA2CustomExceptions.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Vendors/Net/IDNA2CustomExceptions.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Vendors/Net/IDNA2CustomExceptions.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Vendors/Net/IDNA2CustomExceptions.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Version.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Version.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/MailSo/Version.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/MailSo/Version.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Mobile_Detect/LICENSE.txt b/rainloop/app/rainloop/v/1.14.0/app/libraries/Mobile_Detect/LICENSE.txt similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Mobile_Detect/LICENSE.txt rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Mobile_Detect/LICENSE.txt diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Mobile_Detect/Mobile_Detect.json b/rainloop/app/rainloop/v/1.14.0/app/libraries/Mobile_Detect/Mobile_Detect.json similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Mobile_Detect/Mobile_Detect.json rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Mobile_Detect/Mobile_Detect.json diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Mobile_Detect/Mobile_Detect.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Mobile_Detect/Mobile_Detect.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Mobile_Detect/Mobile_Detect.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Mobile_Detect/Mobile_Detect.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Mobile_Detect/README.md b/rainloop/app/rainloop/v/1.14.0/app/libraries/Mobile_Detect/README.md similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Mobile_Detect/README.md rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Mobile_Detect/README.md diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Mobile_Detect/composer.json b/rainloop/app/rainloop/v/1.14.0/app/libraries/Mobile_Detect/composer.json similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Mobile_Detect/composer.json rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Mobile_Detect/composer.json diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Mobile_Detect/namespaced/Detection/MobileDetect.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Mobile_Detect/namespaced/Detection/MobileDetect.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Mobile_Detect/namespaced/Detection/MobileDetect.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Mobile_Detect/namespaced/Detection/MobileDetect.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Mobile_Detect/ruleset.xml b/rainloop/app/rainloop/v/1.14.0/app/libraries/Mobile_Detect/ruleset.xml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Mobile_Detect/ruleset.xml rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Mobile_Detect/ruleset.xml diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/PHP-OAuth2/Client.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/PHP-OAuth2/Client.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/PHP-OAuth2/Client.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/PHP-OAuth2/Client.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/PHP-OAuth2/GrantType/AuthorizationCode.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/PHP-OAuth2/GrantType/AuthorizationCode.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/PHP-OAuth2/GrantType/AuthorizationCode.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/PHP-OAuth2/GrantType/AuthorizationCode.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/PHP-OAuth2/GrantType/ClientCredentials.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/PHP-OAuth2/GrantType/ClientCredentials.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/PHP-OAuth2/GrantType/ClientCredentials.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/PHP-OAuth2/GrantType/ClientCredentials.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/PHP-OAuth2/GrantType/IGrantType.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/PHP-OAuth2/GrantType/IGrantType.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/PHP-OAuth2/GrantType/IGrantType.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/PHP-OAuth2/GrantType/IGrantType.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/PHP-OAuth2/GrantType/Password.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/PHP-OAuth2/GrantType/Password.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/PHP-OAuth2/GrantType/Password.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/PHP-OAuth2/GrantType/Password.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/PHP-OAuth2/GrantType/RefreshToken.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/PHP-OAuth2/GrantType/RefreshToken.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/PHP-OAuth2/GrantType/RefreshToken.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/PHP-OAuth2/GrantType/RefreshToken.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/PHP-OAuth2/README b/rainloop/app/rainloop/v/1.14.0/app/libraries/PHP-OAuth2/README similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/PHP-OAuth2/README rename to rainloop/app/rainloop/v/1.14.0/app/libraries/PHP-OAuth2/README diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/PHPGangsta/GoogleAuthenticator.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/PHPGangsta/GoogleAuthenticator.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/PHPGangsta/GoogleAuthenticator.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/PHPGangsta/GoogleAuthenticator.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/PHPThumb/GD.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/PHPThumb/GD.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/PHPThumb/GD.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/PHPThumb/GD.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/PHPThumb/PHPThumb.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/PHPThumb/PHPThumb.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/PHPThumb/PHPThumb.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/PHPThumb/PHPThumb.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/PHPThumb/PluginInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/PHPThumb/PluginInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/PHPThumb/PluginInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/PHPThumb/PluginInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/PHPThumb/Plugins/Reflection.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/PHPThumb/Plugins/Reflection.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/PHPThumb/Plugins/Reflection.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/PHPThumb/Plugins/Reflection.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Autoloader.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Autoloader.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Autoloader.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Autoloader.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Client.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Client.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Client.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Client.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/ClientContextInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/ClientContextInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/ClientContextInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/ClientContextInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/ClientException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/ClientException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/ClientException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/ClientException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/ClientInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/ClientInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/ClientInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/ClientInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Cluster/ClusterStrategy.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Cluster/ClusterStrategy.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Cluster/ClusterStrategy.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Cluster/ClusterStrategy.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Cluster/Distributor/DistributorInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Cluster/Distributor/DistributorInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Cluster/Distributor/DistributorInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Cluster/Distributor/DistributorInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Cluster/Distributor/EmptyRingException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Cluster/Distributor/EmptyRingException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Cluster/Distributor/EmptyRingException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Cluster/Distributor/EmptyRingException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Cluster/Distributor/HashRing.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Cluster/Distributor/HashRing.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Cluster/Distributor/HashRing.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Cluster/Distributor/HashRing.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Cluster/Distributor/KetamaRing.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Cluster/Distributor/KetamaRing.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Cluster/Distributor/KetamaRing.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Cluster/Distributor/KetamaRing.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Cluster/Hash/CRC16.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Cluster/Hash/CRC16.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Cluster/Hash/CRC16.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Cluster/Hash/CRC16.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Cluster/Hash/HashGeneratorInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Cluster/Hash/HashGeneratorInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Cluster/Hash/HashGeneratorInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Cluster/Hash/HashGeneratorInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Cluster/PredisStrategy.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Cluster/PredisStrategy.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Cluster/PredisStrategy.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Cluster/PredisStrategy.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Cluster/RedisStrategy.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Cluster/RedisStrategy.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Cluster/RedisStrategy.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Cluster/RedisStrategy.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Cluster/StrategyInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Cluster/StrategyInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Cluster/StrategyInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Cluster/StrategyInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Collection/Iterator/CursorBasedIterator.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Collection/Iterator/CursorBasedIterator.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Collection/Iterator/CursorBasedIterator.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Collection/Iterator/CursorBasedIterator.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Collection/Iterator/HashKey.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Collection/Iterator/HashKey.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Collection/Iterator/HashKey.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Collection/Iterator/HashKey.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Collection/Iterator/Keyspace.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Collection/Iterator/Keyspace.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Collection/Iterator/Keyspace.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Collection/Iterator/Keyspace.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Collection/Iterator/ListKey.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Collection/Iterator/ListKey.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Collection/Iterator/ListKey.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Collection/Iterator/ListKey.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Collection/Iterator/SetKey.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Collection/Iterator/SetKey.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Collection/Iterator/SetKey.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Collection/Iterator/SetKey.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Collection/Iterator/SortedSetKey.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Collection/Iterator/SortedSetKey.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Collection/Iterator/SortedSetKey.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Collection/Iterator/SortedSetKey.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/Command.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/Command.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/Command.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/Command.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/CommandInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/CommandInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/CommandInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/CommandInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ConnectionAuth.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ConnectionAuth.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ConnectionAuth.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ConnectionAuth.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ConnectionEcho.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ConnectionEcho.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ConnectionEcho.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ConnectionEcho.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ConnectionPing.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ConnectionPing.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ConnectionPing.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ConnectionPing.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ConnectionQuit.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ConnectionQuit.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ConnectionQuit.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ConnectionQuit.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ConnectionSelect.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ConnectionSelect.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ConnectionSelect.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ConnectionSelect.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/HashDelete.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/HashDelete.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/HashDelete.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/HashDelete.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/HashExists.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/HashExists.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/HashExists.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/HashExists.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/HashGet.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/HashGet.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/HashGet.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/HashGet.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/HashGetAll.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/HashGetAll.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/HashGetAll.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/HashGetAll.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/HashGetMultiple.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/HashGetMultiple.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/HashGetMultiple.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/HashGetMultiple.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/HashIncrementBy.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/HashIncrementBy.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/HashIncrementBy.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/HashIncrementBy.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/HashIncrementByFloat.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/HashIncrementByFloat.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/HashIncrementByFloat.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/HashIncrementByFloat.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/HashKeys.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/HashKeys.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/HashKeys.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/HashKeys.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/HashLength.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/HashLength.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/HashLength.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/HashLength.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/HashScan.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/HashScan.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/HashScan.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/HashScan.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/HashSet.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/HashSet.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/HashSet.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/HashSet.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/HashSetMultiple.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/HashSetMultiple.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/HashSetMultiple.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/HashSetMultiple.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/HashSetPreserve.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/HashSetPreserve.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/HashSetPreserve.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/HashSetPreserve.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/HashStringLength.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/HashStringLength.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/HashStringLength.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/HashStringLength.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/HashValues.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/HashValues.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/HashValues.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/HashValues.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/HyperLogLogAdd.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/HyperLogLogAdd.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/HyperLogLogAdd.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/HyperLogLogAdd.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/HyperLogLogCount.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/HyperLogLogCount.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/HyperLogLogCount.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/HyperLogLogCount.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/HyperLogLogMerge.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/HyperLogLogMerge.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/HyperLogLogMerge.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/HyperLogLogMerge.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyDelete.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyDelete.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyDelete.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyDelete.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyDump.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyDump.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyDump.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyDump.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyExists.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyExists.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyExists.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyExists.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyExpire.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyExpire.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyExpire.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyExpire.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyExpireAt.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyExpireAt.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyExpireAt.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyExpireAt.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyKeys.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyKeys.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyKeys.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyKeys.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyMigrate.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyMigrate.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyMigrate.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyMigrate.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyMove.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyMove.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyMove.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyMove.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyPersist.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyPersist.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyPersist.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyPersist.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyPreciseExpire.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyPreciseExpire.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyPreciseExpire.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyPreciseExpire.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyPreciseExpireAt.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyPreciseExpireAt.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyPreciseExpireAt.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyPreciseExpireAt.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyPreciseTimeToLive.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyPreciseTimeToLive.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyPreciseTimeToLive.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyPreciseTimeToLive.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyRandom.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyRandom.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyRandom.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyRandom.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyRename.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyRename.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyRename.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyRename.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyRenamePreserve.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyRenamePreserve.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyRenamePreserve.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyRenamePreserve.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyRestore.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyRestore.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyRestore.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyRestore.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyScan.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyScan.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyScan.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyScan.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeySort.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeySort.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeySort.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeySort.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyTimeToLive.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyTimeToLive.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyTimeToLive.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyTimeToLive.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyType.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyType.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/KeyType.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/KeyType.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ListIndex.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ListIndex.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ListIndex.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ListIndex.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ListInsert.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ListInsert.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ListInsert.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ListInsert.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ListLength.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ListLength.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ListLength.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ListLength.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ListPopFirst.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ListPopFirst.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ListPopFirst.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ListPopFirst.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ListPopFirstBlocking.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ListPopFirstBlocking.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ListPopFirstBlocking.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ListPopFirstBlocking.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ListPopLast.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ListPopLast.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ListPopLast.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ListPopLast.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ListPopLastBlocking.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ListPopLastBlocking.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ListPopLastBlocking.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ListPopLastBlocking.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ListPopLastPushHead.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ListPopLastPushHead.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ListPopLastPushHead.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ListPopLastPushHead.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ListPopLastPushHeadBlocking.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ListPopLastPushHeadBlocking.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ListPopLastPushHeadBlocking.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ListPopLastPushHeadBlocking.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ListPushHead.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ListPushHead.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ListPushHead.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ListPushHead.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ListPushHeadX.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ListPushHeadX.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ListPushHeadX.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ListPushHeadX.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ListPushTail.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ListPushTail.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ListPushTail.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ListPushTail.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ListPushTailX.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ListPushTailX.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ListPushTailX.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ListPushTailX.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ListRange.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ListRange.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ListRange.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ListRange.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ListRemove.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ListRemove.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ListRemove.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ListRemove.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ListSet.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ListSet.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ListSet.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ListSet.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ListTrim.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ListTrim.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ListTrim.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ListTrim.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/PrefixableCommandInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/PrefixableCommandInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/PrefixableCommandInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/PrefixableCommandInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/Processor/KeyPrefixProcessor.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/Processor/KeyPrefixProcessor.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/Processor/KeyPrefixProcessor.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/Processor/KeyPrefixProcessor.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/Processor/ProcessorChain.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/Processor/ProcessorChain.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/Processor/ProcessorChain.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/Processor/ProcessorChain.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/Processor/ProcessorInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/Processor/ProcessorInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/Processor/ProcessorInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/Processor/ProcessorInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/PubSubPublish.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/PubSubPublish.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/PubSubPublish.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/PubSubPublish.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/PubSubPubsub.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/PubSubPubsub.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/PubSubPubsub.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/PubSubPubsub.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/PubSubSubscribe.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/PubSubSubscribe.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/PubSubSubscribe.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/PubSubSubscribe.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/PubSubSubscribeByPattern.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/PubSubSubscribeByPattern.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/PubSubSubscribeByPattern.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/PubSubSubscribeByPattern.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/PubSubUnsubscribe.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/PubSubUnsubscribe.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/PubSubUnsubscribe.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/PubSubUnsubscribe.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/PubSubUnsubscribeByPattern.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/PubSubUnsubscribeByPattern.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/PubSubUnsubscribeByPattern.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/PubSubUnsubscribeByPattern.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/RawCommand.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/RawCommand.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/RawCommand.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/RawCommand.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ScriptCommand.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ScriptCommand.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ScriptCommand.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ScriptCommand.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerBackgroundRewriteAOF.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerBackgroundRewriteAOF.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerBackgroundRewriteAOF.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerBackgroundRewriteAOF.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerBackgroundSave.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerBackgroundSave.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerBackgroundSave.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerBackgroundSave.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerClient.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerClient.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerClient.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerClient.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerCommand.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerCommand.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerCommand.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerCommand.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerConfig.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerConfig.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerConfig.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerConfig.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerDatabaseSize.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerDatabaseSize.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerDatabaseSize.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerDatabaseSize.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerEval.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerEval.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerEval.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerEval.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerEvalSHA.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerEvalSHA.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerEvalSHA.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerEvalSHA.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerFlushAll.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerFlushAll.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerFlushAll.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerFlushAll.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerFlushDatabase.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerFlushDatabase.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerFlushDatabase.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerFlushDatabase.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerInfo.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerInfo.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerInfo.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerInfo.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerInfoV26x.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerInfoV26x.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerInfoV26x.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerInfoV26x.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerLastSave.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerLastSave.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerLastSave.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerLastSave.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerMonitor.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerMonitor.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerMonitor.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerMonitor.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerObject.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerObject.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerObject.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerObject.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerSave.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerSave.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerSave.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerSave.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerScript.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerScript.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerScript.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerScript.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerSentinel.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerSentinel.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerSentinel.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerSentinel.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerShutdown.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerShutdown.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerShutdown.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerShutdown.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerSlaveOf.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerSlaveOf.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerSlaveOf.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerSlaveOf.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerSlowlog.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerSlowlog.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerSlowlog.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerSlowlog.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerTime.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerTime.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ServerTime.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ServerTime.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/SetAdd.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/SetAdd.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/SetAdd.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/SetAdd.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/SetCardinality.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/SetCardinality.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/SetCardinality.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/SetCardinality.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/SetDifference.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/SetDifference.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/SetDifference.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/SetDifference.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/SetDifferenceStore.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/SetDifferenceStore.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/SetDifferenceStore.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/SetDifferenceStore.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/SetIntersection.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/SetIntersection.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/SetIntersection.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/SetIntersection.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/SetIntersectionStore.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/SetIntersectionStore.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/SetIntersectionStore.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/SetIntersectionStore.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/SetIsMember.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/SetIsMember.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/SetIsMember.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/SetIsMember.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/SetMembers.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/SetMembers.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/SetMembers.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/SetMembers.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/SetMove.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/SetMove.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/SetMove.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/SetMove.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/SetPop.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/SetPop.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/SetPop.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/SetPop.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/SetRandomMember.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/SetRandomMember.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/SetRandomMember.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/SetRandomMember.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/SetRemove.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/SetRemove.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/SetRemove.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/SetRemove.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/SetScan.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/SetScan.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/SetScan.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/SetScan.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/SetUnion.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/SetUnion.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/SetUnion.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/SetUnion.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/SetUnionStore.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/SetUnionStore.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/SetUnionStore.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/SetUnionStore.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringAppend.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringAppend.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringAppend.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringAppend.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringBitCount.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringBitCount.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringBitCount.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringBitCount.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringBitOp.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringBitOp.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringBitOp.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringBitOp.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringBitPos.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringBitPos.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringBitPos.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringBitPos.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringDecrement.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringDecrement.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringDecrement.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringDecrement.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringDecrementBy.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringDecrementBy.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringDecrementBy.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringDecrementBy.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringGet.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringGet.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringGet.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringGet.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringGetBit.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringGetBit.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringGetBit.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringGetBit.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringGetMultiple.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringGetMultiple.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringGetMultiple.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringGetMultiple.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringGetRange.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringGetRange.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringGetRange.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringGetRange.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringGetSet.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringGetSet.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringGetSet.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringGetSet.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringIncrement.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringIncrement.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringIncrement.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringIncrement.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringIncrementBy.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringIncrementBy.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringIncrementBy.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringIncrementBy.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringIncrementByFloat.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringIncrementByFloat.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringIncrementByFloat.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringIncrementByFloat.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringPreciseSetExpire.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringPreciseSetExpire.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringPreciseSetExpire.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringPreciseSetExpire.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringSet.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringSet.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringSet.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringSet.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringSetBit.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringSetBit.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringSetBit.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringSetBit.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringSetExpire.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringSetExpire.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringSetExpire.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringSetExpire.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringSetMultiple.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringSetMultiple.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringSetMultiple.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringSetMultiple.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringSetMultiplePreserve.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringSetMultiplePreserve.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringSetMultiplePreserve.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringSetMultiplePreserve.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringSetPreserve.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringSetPreserve.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringSetPreserve.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringSetPreserve.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringSetRange.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringSetRange.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringSetRange.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringSetRange.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringStrlen.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringStrlen.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringStrlen.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringStrlen.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringSubstr.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringSubstr.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/StringSubstr.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/StringSubstr.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/TransactionDiscard.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/TransactionDiscard.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/TransactionDiscard.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/TransactionDiscard.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/TransactionExec.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/TransactionExec.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/TransactionExec.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/TransactionExec.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/TransactionMulti.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/TransactionMulti.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/TransactionMulti.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/TransactionMulti.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/TransactionUnwatch.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/TransactionUnwatch.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/TransactionUnwatch.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/TransactionUnwatch.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/TransactionWatch.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/TransactionWatch.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/TransactionWatch.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/TransactionWatch.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetAdd.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetAdd.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetAdd.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetAdd.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetCardinality.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetCardinality.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetCardinality.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetCardinality.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetCount.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetCount.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetCount.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetCount.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetIncrementBy.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetIncrementBy.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetIncrementBy.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetIncrementBy.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetIntersectionStore.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetIntersectionStore.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetIntersectionStore.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetIntersectionStore.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetLexCount.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetLexCount.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetLexCount.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetLexCount.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetRange.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetRange.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetRange.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetRange.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetRangeByLex.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetRangeByLex.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetRangeByLex.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetRangeByLex.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetRangeByScore.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetRangeByScore.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetRangeByScore.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetRangeByScore.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetRank.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetRank.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetRank.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetRank.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetRemove.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetRemove.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetRemove.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetRemove.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetRemoveRangeByLex.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetRemoveRangeByLex.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetRemoveRangeByLex.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetRemoveRangeByLex.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetRemoveRangeByRank.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetRemoveRangeByRank.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetRemoveRangeByRank.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetRemoveRangeByRank.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetRemoveRangeByScore.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetRemoveRangeByScore.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetRemoveRangeByScore.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetRemoveRangeByScore.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetReverseRange.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetReverseRange.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetReverseRange.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetReverseRange.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetReverseRangeByLex.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetReverseRangeByLex.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetReverseRangeByLex.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetReverseRangeByLex.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetReverseRangeByScore.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetReverseRangeByScore.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetReverseRangeByScore.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetReverseRangeByScore.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetReverseRank.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetReverseRank.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetReverseRank.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetReverseRank.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetScan.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetScan.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetScan.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetScan.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetScore.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetScore.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetScore.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetScore.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetUnionStore.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetUnionStore.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Command/ZSetUnionStore.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Command/ZSetUnionStore.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/CommunicationException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/CommunicationException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/CommunicationException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/CommunicationException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Configuration/ClusterOption.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Configuration/ClusterOption.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Configuration/ClusterOption.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Configuration/ClusterOption.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Configuration/ConnectionFactoryOption.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Configuration/ConnectionFactoryOption.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Configuration/ConnectionFactoryOption.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Configuration/ConnectionFactoryOption.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Configuration/ExceptionsOption.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Configuration/ExceptionsOption.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Configuration/ExceptionsOption.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Configuration/ExceptionsOption.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Configuration/OptionInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Configuration/OptionInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Configuration/OptionInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Configuration/OptionInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Configuration/Options.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Configuration/Options.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Configuration/Options.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Configuration/Options.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Configuration/OptionsInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Configuration/OptionsInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Configuration/OptionsInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Configuration/OptionsInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Configuration/PrefixOption.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Configuration/PrefixOption.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Configuration/PrefixOption.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Configuration/PrefixOption.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Configuration/ProfileOption.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Configuration/ProfileOption.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Configuration/ProfileOption.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Configuration/ProfileOption.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Configuration/ReplicationOption.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Configuration/ReplicationOption.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Configuration/ReplicationOption.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Configuration/ReplicationOption.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/AbstractConnection.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/AbstractConnection.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/AbstractConnection.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/AbstractConnection.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/Aggregate/ClusterInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/Aggregate/ClusterInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/Aggregate/ClusterInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/Aggregate/ClusterInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/Aggregate/MasterSlaveReplication.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/Aggregate/MasterSlaveReplication.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/Aggregate/MasterSlaveReplication.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/Aggregate/MasterSlaveReplication.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/Aggregate/PredisCluster.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/Aggregate/PredisCluster.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/Aggregate/PredisCluster.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/Aggregate/PredisCluster.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/Aggregate/RedisCluster.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/Aggregate/RedisCluster.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/Aggregate/RedisCluster.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/Aggregate/RedisCluster.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/Aggregate/ReplicationInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/Aggregate/ReplicationInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/Aggregate/ReplicationInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/Aggregate/ReplicationInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/AggregateConnectionInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/AggregateConnectionInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/AggregateConnectionInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/AggregateConnectionInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/CompositeConnectionInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/CompositeConnectionInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/CompositeConnectionInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/CompositeConnectionInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/CompositeStreamConnection.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/CompositeStreamConnection.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/CompositeStreamConnection.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/CompositeStreamConnection.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/ConnectionException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/ConnectionException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/ConnectionException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/ConnectionException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/ConnectionInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/ConnectionInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/ConnectionInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/ConnectionInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/Factory.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/Factory.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/Factory.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/Factory.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/FactoryInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/FactoryInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/FactoryInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/FactoryInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/NodeConnectionInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/NodeConnectionInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/NodeConnectionInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/NodeConnectionInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/Parameters.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/Parameters.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/Parameters.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/Parameters.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/ParametersInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/ParametersInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/ParametersInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/ParametersInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/PhpiredisSocketConnection.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/PhpiredisSocketConnection.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/PhpiredisSocketConnection.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/PhpiredisSocketConnection.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/PhpiredisStreamConnection.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/PhpiredisStreamConnection.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/PhpiredisStreamConnection.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/PhpiredisStreamConnection.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/StreamConnection.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/StreamConnection.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/StreamConnection.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/StreamConnection.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/WebdisConnection.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/WebdisConnection.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Connection/WebdisConnection.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Connection/WebdisConnection.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Monitor/Consumer.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Monitor/Consumer.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Monitor/Consumer.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Monitor/Consumer.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/NotSupportedException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/NotSupportedException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/NotSupportedException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/NotSupportedException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Pipeline/Atomic.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Pipeline/Atomic.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Pipeline/Atomic.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Pipeline/Atomic.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Pipeline/ConnectionErrorProof.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Pipeline/ConnectionErrorProof.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Pipeline/ConnectionErrorProof.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Pipeline/ConnectionErrorProof.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Pipeline/FireAndForget.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Pipeline/FireAndForget.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Pipeline/FireAndForget.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Pipeline/FireAndForget.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Pipeline/Pipeline.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Pipeline/Pipeline.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Pipeline/Pipeline.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Pipeline/Pipeline.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/PredisException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/PredisException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/PredisException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/PredisException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Profile/Factory.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Profile/Factory.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Profile/Factory.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Profile/Factory.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Profile/ProfileInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Profile/ProfileInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Profile/ProfileInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Profile/ProfileInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Profile/RedisProfile.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Profile/RedisProfile.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Profile/RedisProfile.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Profile/RedisProfile.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Profile/RedisUnstable.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Profile/RedisUnstable.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Profile/RedisUnstable.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Profile/RedisUnstable.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Profile/RedisVersion200.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Profile/RedisVersion200.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Profile/RedisVersion200.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Profile/RedisVersion200.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Profile/RedisVersion220.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Profile/RedisVersion220.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Profile/RedisVersion220.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Profile/RedisVersion220.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Profile/RedisVersion240.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Profile/RedisVersion240.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Profile/RedisVersion240.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Profile/RedisVersion240.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Profile/RedisVersion260.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Profile/RedisVersion260.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Profile/RedisVersion260.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Profile/RedisVersion260.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Profile/RedisVersion280.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Profile/RedisVersion280.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Profile/RedisVersion280.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Profile/RedisVersion280.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Profile/RedisVersion300.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Profile/RedisVersion300.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Profile/RedisVersion300.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Profile/RedisVersion300.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Protocol/ProtocolException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Protocol/ProtocolException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Protocol/ProtocolException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Protocol/ProtocolException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Protocol/ProtocolProcessorInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Protocol/ProtocolProcessorInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Protocol/ProtocolProcessorInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Protocol/ProtocolProcessorInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Protocol/RequestSerializerInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Protocol/RequestSerializerInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Protocol/RequestSerializerInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Protocol/RequestSerializerInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Protocol/ResponseReaderInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Protocol/ResponseReaderInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Protocol/ResponseReaderInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Protocol/ResponseReaderInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Protocol/Text/CompositeProtocolProcessor.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Protocol/Text/CompositeProtocolProcessor.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Protocol/Text/CompositeProtocolProcessor.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Protocol/Text/CompositeProtocolProcessor.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Protocol/Text/Handler/BulkResponse.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Protocol/Text/Handler/BulkResponse.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Protocol/Text/Handler/BulkResponse.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Protocol/Text/Handler/BulkResponse.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Protocol/Text/Handler/ErrorResponse.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Protocol/Text/Handler/ErrorResponse.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Protocol/Text/Handler/ErrorResponse.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Protocol/Text/Handler/ErrorResponse.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Protocol/Text/Handler/IntegerResponse.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Protocol/Text/Handler/IntegerResponse.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Protocol/Text/Handler/IntegerResponse.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Protocol/Text/Handler/IntegerResponse.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Protocol/Text/Handler/MultiBulkResponse.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Protocol/Text/Handler/MultiBulkResponse.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Protocol/Text/Handler/MultiBulkResponse.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Protocol/Text/Handler/MultiBulkResponse.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Protocol/Text/Handler/ResponseHandlerInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Protocol/Text/Handler/ResponseHandlerInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Protocol/Text/Handler/ResponseHandlerInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Protocol/Text/Handler/ResponseHandlerInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Protocol/Text/Handler/StatusResponse.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Protocol/Text/Handler/StatusResponse.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Protocol/Text/Handler/StatusResponse.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Protocol/Text/Handler/StatusResponse.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Protocol/Text/Handler/StreamableMultiBulkResponse.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Protocol/Text/Handler/StreamableMultiBulkResponse.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Protocol/Text/Handler/StreamableMultiBulkResponse.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Protocol/Text/Handler/StreamableMultiBulkResponse.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Protocol/Text/ProtocolProcessor.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Protocol/Text/ProtocolProcessor.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Protocol/Text/ProtocolProcessor.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Protocol/Text/ProtocolProcessor.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Protocol/Text/RequestSerializer.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Protocol/Text/RequestSerializer.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Protocol/Text/RequestSerializer.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Protocol/Text/RequestSerializer.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Protocol/Text/ResponseReader.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Protocol/Text/ResponseReader.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Protocol/Text/ResponseReader.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Protocol/Text/ResponseReader.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/PubSub/AbstractConsumer.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/PubSub/AbstractConsumer.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/PubSub/AbstractConsumer.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/PubSub/AbstractConsumer.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/PubSub/Consumer.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/PubSub/Consumer.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/PubSub/Consumer.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/PubSub/Consumer.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/PubSub/DispatcherLoop.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/PubSub/DispatcherLoop.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/PubSub/DispatcherLoop.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/PubSub/DispatcherLoop.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Replication/ReplicationStrategy.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Replication/ReplicationStrategy.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Replication/ReplicationStrategy.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Replication/ReplicationStrategy.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Response/Error.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Response/Error.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Response/Error.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Response/Error.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Response/ErrorInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Response/ErrorInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Response/ErrorInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Response/ErrorInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Response/Iterator/MultiBulk.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Response/Iterator/MultiBulk.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Response/Iterator/MultiBulk.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Response/Iterator/MultiBulk.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Response/Iterator/MultiBulkIterator.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Response/Iterator/MultiBulkIterator.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Response/Iterator/MultiBulkIterator.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Response/Iterator/MultiBulkIterator.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Response/Iterator/MultiBulkTuple.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Response/Iterator/MultiBulkTuple.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Response/Iterator/MultiBulkTuple.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Response/Iterator/MultiBulkTuple.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Response/ResponseInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Response/ResponseInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Response/ResponseInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Response/ResponseInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Response/ServerException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Response/ServerException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Response/ServerException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Response/ServerException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Response/Status.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Response/Status.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Response/Status.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Response/Status.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Session/Handler.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Session/Handler.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Session/Handler.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Session/Handler.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Transaction/AbortedMultiExecException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Transaction/AbortedMultiExecException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Transaction/AbortedMultiExecException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Transaction/AbortedMultiExecException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Transaction/MultiExec.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Transaction/MultiExec.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Transaction/MultiExec.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Transaction/MultiExec.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Transaction/MultiExecState.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Transaction/MultiExecState.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/Predis/Transaction/MultiExecState.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/Predis/Transaction/MultiExecState.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Actions.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Actions.php similarity index 98% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Actions.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Actions.php index 1e1263eca4667682677f301409c82d977c55d197..4af4cdb87ffef2650804a974a7635c7d39db21fd 100644 --- a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Actions.php +++ b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Actions.php @@ -126,6 +126,11 @@ class Actions */ private $sSpecAuthToken; + /** + * @var string + */ + private $sUpdateAuthToken; + /** * @access private */ @@ -155,6 +160,8 @@ class Actions $this->oPremProvider = null; $this->sSpecAuthToken = ''; + $this->sUpdateAuthToken = ''; + $this->bIsAjax = false; $oConfig = $this->Config(); $this->Plugins()->RunHook('filter.application-config', array(&$oConfig)); @@ -182,6 +189,30 @@ class Actions return $this; } + /** + * @param string $sUpdateAuthToken + * + * @return \RainLoop\Application + */ + public function SetUpdateAuthToken($sUpdateAuthToken) + { + $this->sUpdateAuthToken = $sUpdateAuthToken; + + return $this; + } + + /** + * @param string $bIsAjax + * + * @return \RainLoop\Application + */ + public function SetIsAjax($bIsAjax) + { + $this->bIsAjax = $bIsAjax; + + return $this; + } + /** * @return string */ @@ -190,6 +221,22 @@ class Actions return $this->sSpecAuthToken; } + /** + * @return string + */ + public function GetUpdateAuthToken() + { + return $this->sUpdateAuthToken; + } + + /** + * @return boolean + */ + public function GetIsAjax() + { + return $this->bIsAjax; + } + /** * @return string */ @@ -341,22 +388,6 @@ class Actions return $mResult; } - /** - * @return void - */ - public function BootStart() - { - if (defined('APP_INSTALLED_START') && defined('APP_INSTALLED_VERSION') && - APP_INSTALLED_START && !APP_INSTALLED_VERSION) - { - try - { - $this->KeenIO('Install'); - } - catch (\Exception $oException) { unset($oException); } - } - } - /** * @return void */ @@ -1663,7 +1694,7 @@ NewThemeLink IncludeCss LoadingDescriptionEsc TemplatesLink LangLink IncludeBack $aResult['AllowGoogleSocial'] = (bool) $oConfig->Get('social', 'google_enable', false); $aResult['AllowGoogleSocialAuth'] = (bool) $oConfig->Get('social', 'google_enable_auth', true); - $aResult['AllowGoogleSocialAuthFast'] = (bool) $oConfig->Get('social', 'google_enable_auth_fast', true); + $aResult['AllowGoogleSocialAuthGmail'] = (bool) $oConfig->Get('social', 'google_enable_auth_gmail', true); $aResult['AllowGoogleSocialDrive'] = (bool) $oConfig->Get('social', 'google_enable_drive', true); $aResult['AllowGoogleSocialPreview'] = (bool) $oConfig->Get('social', 'google_enable_preview', true); @@ -1674,7 +1705,7 @@ NewThemeLink IncludeCss LoadingDescriptionEsc TemplatesLink LangLink IncludeBack '' === \trim($oConfig->Get('social', 'google_client_id', '')) || '' === \trim($oConfig->Get('social', 'google_client_secret', ''))))) { $aResult['AllowGoogleSocialAuth'] = false; - $aResult['AllowGoogleSocialAuthFast'] = false; + $aResult['AllowGoogleSocialAuthGmail'] = false; $aResult['AllowGoogleSocialDrive'] = false; $aResult['GoogleClientID'] = ''; $aResult['GoogleApiKey'] = ''; @@ -1686,7 +1717,7 @@ NewThemeLink IncludeCss LoadingDescriptionEsc TemplatesLink LangLink IncludeBack } if ($aResult['AllowGoogleSocial'] && - !$aResult['AllowGoogleSocialAuth'] && !$aResult['AllowGoogleSocialAuthFast'] && + !$aResult['AllowGoogleSocialAuth'] && !$aResult['AllowGoogleSocialAuthGmail'] && !$aResult['AllowGoogleSocialDrive'] && !$aResult['AllowGoogleSocialPreview']) { $aResult['AllowGoogleSocial'] = false; @@ -1762,7 +1793,7 @@ NewThemeLink IncludeCss LoadingDescriptionEsc TemplatesLink LangLink IncludeBack $aResult['AllowGoogleSocial'] = (bool) $oConfig->Get('social', 'google_enable', false); $aResult['AllowGoogleSocialAuth'] = (bool) $oConfig->Get('social', 'google_enable_auth', true); - $aResult['AllowGoogleSocialAuthFast'] = (bool) $oConfig->Get('social', 'google_enable_auth_fast', true); + $aResult['AllowGoogleSocialAuthGmail'] = (bool) $oConfig->Get('social', 'google_enable_auth_gmail', true); $aResult['AllowGoogleSocialDrive'] = (bool) $oConfig->Get('social', 'google_enable_drive', true); $aResult['AllowGoogleSocialPreview'] = (bool) $oConfig->Get('social', 'google_enable_preview', true); @@ -2002,6 +2033,51 @@ NewThemeLink IncludeCss LoadingDescriptionEsc TemplatesLink LangLink IncludeBack return $aResult; } + public function googleStoreTokens($oCache, $sAccessToken, $sRefreshToken) + { + $sCacheKey = 'tokens='.\md5($sRefreshToken); + $oCache->Set($sCacheKey, $sAccessToken); + $oCache->SetTimer($sCacheKey); + } + + /** + * @return string + */ + public function googleRefreshTokenCallback($sAccessToken, $sRefreshToken) + { + $oAccount = $this->getAccountFromToken(false); + if ($oAccount && $this->GetIsAjax()) + { + $oCache = $this->Cacher($oAccount); + $sCacheKey = 'tokens='.\md5($sRefreshToken); + + $sCachedAccessToken = $oCache->Get($sCacheKey); + $iTime = $oCache->GetTimer($sCacheKey); + + if ($sCachedAccessToken === '' || $iTime === 0) + { + $this->googleStoreTokens($oCache, $sAccessToken, $sRefreshToken); + } + else if (\time() - 60 * 10 * 2 > $iTime) // 20min + { + $sCachedAccessToken = $this->Social()->GoogleRefreshToken($sAccessToken, $sRefreshToken); + if ($sCachedAccessToken !== $sAccessToken) { + $this->googleStoreTokens($oCache, $sCachedAccessToken, $sRefreshToken); + + $oAccount->SetPassword(\RainLoop\Model\Account::GenerateTokensPassword($sCachedAccessToken, $sRefreshToken)); + $this->AuthToken($oAccount); + $this->SetUpdateAuthToken($this->GetSpecAuthToken()); + } + } + + if ($sCachedAccessToken) { + return $sCachedAccessToken; + } + } + + return $sAccessToken; + } + /** * @return string */ @@ -2075,7 +2151,7 @@ NewThemeLink IncludeCss LoadingDescriptionEsc TemplatesLink LangLink IncludeBack { try { - $oAccount->IncConnectAndLoginHelper($this->Plugins(), $this->MailClient(), $this->Config()); + $oAccount->IncConnectAndLoginHelper($this->Plugins(), $this->MailClient(), $this->Config(), array($this, 'googleRefreshTokenCallback')); } catch (\RainLoop\Exceptions\ClientException $oException) { @@ -3382,7 +3458,7 @@ NewThemeLink IncludeCss LoadingDescriptionEsc TemplatesLink LangLink IncludeBack * * @throws \MailSo\Base\Exceptions\Exception */ - public function getAccountUnredCountFromHash($sHash) + public function getAccountUnreadCountFromHash($sHash) { $iResult = 0; @@ -3394,7 +3470,7 @@ NewThemeLink IncludeCss LoadingDescriptionEsc TemplatesLink LangLink IncludeBack $oMailClient = \MailSo\Mail\MailClient::NewInstance(); $oMailClient->SetLogger($this->Logger()); - $oAccount->IncConnectAndLoginHelper($this->Plugins(),$oMailClient, $this->Config()); + $oAccount->IncConnectAndLoginHelper($this->Plugins(), $oMailClient, $this->Config(), array($this, 'googleRefreshTokenCallback')); $iResult = $oMailClient->InboxUnreadCount(); @@ -3441,7 +3517,7 @@ NewThemeLink IncludeCss LoadingDescriptionEsc TemplatesLink LangLink IncludeBack foreach ($mAccounts as $sEmail => $sHash) { $aCounts[] = array(\MailSo\Base\Utils::IdnToUtf8($sEmail), - $oAccount->Email() === $sEmail ? 0 : $this->getAccountUnredCountFromHash($sHash)); + $oAccount->Email() === $sEmail ? 0 : $this->getAccountUnreadCountFromHash($sHash)); } } } @@ -3791,7 +3867,7 @@ NewThemeLink IncludeCss LoadingDescriptionEsc TemplatesLink LangLink IncludeBack $this->setConfigFromParams($oConfig, 'GoogleEnable', 'social', 'google_enable', 'bool'); $this->setConfigFromParams($oConfig, 'GoogleEnableAuth', 'social', 'google_enable_auth', 'bool'); - $this->setConfigFromParams($oConfig, 'GoogleEnableAuthFast', 'social', 'google_enable_auth_fast', 'bool'); + $this->setConfigFromParams($oConfig, 'GoogleEnableAuthGmail', 'social', 'google_enable_auth_gmail', 'bool'); $this->setConfigFromParams($oConfig, 'GoogleEnableDrive', 'social', 'google_enable_drive', 'bool'); $this->setConfigFromParams($oConfig, 'GoogleEnablePreview', 'social', 'google_enable_preview', 'bool'); $this->setConfigFromParams($oConfig, 'GoogleClientID', 'social', 'google_client_id', 'string'); @@ -4309,7 +4385,7 @@ NewThemeLink IncludeCss LoadingDescriptionEsc TemplatesLink LangLink IncludeBack $iRepTime = $this->Cacher()->GetTimer($sCacheKey); } - if ('' === $sRep || 0 === $iRepTime || time() - 3600 > $iRepTime) + if ('' === $sRep || 0 === $iRepTime || \time() - 3600 > $iRepTime) { $iCode = 0; $sContentType = ''; @@ -4409,7 +4485,7 @@ NewThemeLink IncludeCss LoadingDescriptionEsc TemplatesLink LangLink IncludeBack $iRepTime = $this->Cacher()->GetTimer($sCacheKey); } - if ('' === $sRep || 0 === $iRepTime || time() - 3600 > $iRepTime) + if ('' === $sRep || 0 === $iRepTime || \time() - 3600 > $iRepTime) { $iCode = 0; $sContentType = ''; @@ -5081,20 +5157,6 @@ NewThemeLink IncludeCss LoadingDescriptionEsc TemplatesLink LangLink IncludeBack return $this->DefaultResponse(__FUNCTION__, $mResult); } - /** - * @return array - */ - public function DoJsInfo() - { - $bIsError = '1' === (string) $this->GetActionParam('IsError', '0'); - $mData = $this->GetActionParam('Data', null); - - $this->Logger()->WriteDump(is_array($mData) ? $mData : array(), - $bIsError ? \MailSo\Log\Enumerations\Type::ERROR : \MailSo\Log\Enumerations\Type::INFO, 'JS-INFO'); - - return $this->DefaultResponse(__FUNCTION__, true); - } - /** * @return array */ @@ -5123,36 +5185,6 @@ NewThemeLink IncludeCss LoadingDescriptionEsc TemplatesLink LangLink IncludeBack APP_VERSION === (string) $this->GetActionParam('Version', '')); } - /** - * @return array - */ - public function DoJsError() - { - $sMessage = $this->GetActionParam('Message', ''); - if (0 < strlen($sMessage)) - { - $sFileName = $this->GetActionParam('FileName', ''); - $sLineNo = $this->GetActionParam('LineNo', ''); - $sLocation = $this->GetActionParam('Location', ''); - $sHtmlCapa = $this->GetActionParam('HtmlCapa', ''); - $sTimeOnPage = $this->GetActionParam('TimeOnPage', ''); - - $oHttp = $this->Http(); - - $this->Logger()->Write($sMessage.' ('.$sFileName.' ~ '.$sLineNo.')', \MailSo\Log\Enumerations\Type::ERROR, 'JS'); - $this->Logger()->WriteDump(array( - 'Location' => $sLocation, - 'Capability' => $sHtmlCapa, - 'TimeOnPage' => $sTimeOnPage, - 'HTTP_USER_AGENT' => $oHttp->GetServer('HTTP_USER_AGENT', ''), - 'HTTP_ACCEPT_ENCODING' => $oHttp->GetServer('HTTP_ACCEPT_ENCODING', ''), - 'HTTP_ACCEPT_LANGUAGE' => $oHttp->GetServer('HTTP_ACCEPT_LANGUAGE', '') - )); - } - - return $this->DefaultResponse(__FUNCTION__, true); - } - /** * @param \MailSo\Mail\FolderCollection $oFolders * @return array @@ -6232,7 +6264,9 @@ NewThemeLink IncludeCss LoadingDescriptionEsc TemplatesLink LangLink IncludeBack $oSmtpClient = \MailSo\Smtp\SmtpClient::NewInstance()->SetLogger($this->Logger()); $oSmtpClient->SetTimeOuts(10, (int) \RainLoop\Api::Config()->Get('labs', 'smtp_timeout', 60)); - $bLoggined = $oAccount->OutConnectAndLoginHelper($this->Plugins(), $oSmtpClient, $this->Config(), $bUsePhpMail); + $bLoggined = $oAccount->OutConnectAndLoginHelper( + $this->Plugins(), $oSmtpClient, $this->Config(), array($this, 'googleRefreshTokenCallback'), $bUsePhpMail + ); if ($bUsePhpMail) { @@ -8375,7 +8409,7 @@ NewThemeLink IncludeCss LoadingDescriptionEsc TemplatesLink LangLink IncludeBack $iExpires = $this->Config()->Get('cache', 'http_expires', 3600); if (0 < $iExpires) { - $this->oHttp->ServerUseCache($this->etag($sKey), 1382478804, time() + $iExpires); + $this->oHttp->ServerUseCache($this->etag($sKey), 1382478804, \time() + $iExpires); $bResult = true; } } @@ -9024,7 +9058,7 @@ NewThemeLink IncludeCss LoadingDescriptionEsc TemplatesLink LangLink IncludeBack try { - $oAccount->IncConnectAndLoginHelper($this->Plugins(), $this->MailClient(), $this->Config()); + $oAccount->IncConnectAndLoginHelper($this->Plugins(), $this->MailClient(), $this->Config(), array($this, 'googleRefreshTokenCallback')); } catch (\MailSo\Net\Exceptions\ConnectionException $oException) { @@ -9345,80 +9379,6 @@ NewThemeLink IncludeCss LoadingDescriptionEsc TemplatesLink LangLink IncludeBack return \RainLoop\Utils::ClearHtmlOutput($sHtml); } - /** - * @staticvar bool $bOnce - * @param string $sName - * @param array $aData = array() - * - * @return bool - */ - public function KeenIO($sName, $aData = array()) - { - static $bOnce = null; - if (false === $bOnce) - { - return false; - } - - if (APP_VERSION === APP_DEV_VERSION || - \in_array(APP_SITE, \explode(' ', \base64_decode('bG9jYWxob3N0IHJhaW5sb29wLmRlIHJhaW5sb29wLm5ldCBkZW1vLnJhaW5sb29wLm5ldCBkZW1vLnJhaW5sb29wLmRl')))) - { - return true; - } - - if (null === $bOnce && (!\MailSo\Base\Utils::FunctionExistsAndEnabled('curl_init') || - !\MailSo\Base\Utils::FunctionExistsAndEnabled('json_encode'))) - { - $bOnce = false; - return false; - } - - $aOptions = array( - CURLOPT_URL => \base64_decode('aHR0cHM6Ly9hcGkua2Vlbi5pby8zLjAvcHJvamVjdHMvNTE2NmRmOGUzODQzMzE3Y2QzMDAwMDA2L2V2ZW50cy8=').$sName, - CURLOPT_HEADER => false, - CURLOPT_FAILONERROR => true, - CURLOPT_SSL_VERIFYPEER => false, - CURLOPT_RETURNTRANSFER => true, - CURLOPT_HTTPHEADER => array( - 'Content-Type: application/json' - ), - CURLOPT_POST => true, - CURLOPT_POSTFIELDS => \json_encode(\array_merge($aData, array( - 'version' => APP_VERSION, - 'uid' => \md5(APP_SITE.APP_SALT), - 'site' => APP_SITE, - 'date' => array( - 'month' => \gmdate('m.Y'), - 'day' => \gmdate('d.m.Y') - ) - ))), - CURLOPT_TIMEOUT => 10 - ); - - $sProxy = $this->Config()->Get('labs', 'curl_proxy', ''); - if (0 < \strlen($sProxy)) - { - $aOptions[CURLOPT_PROXY] = $sProxy; - - $sProxyAuth = $this->Config()->Get('labs', 'curl_proxy_auth', ''); - if (0 < \strlen($sProxyAuth)) - { - $aOptions[CURLOPT_PROXYUSERPWD] = $sProxyAuth; - } - } - - $oCurl = \curl_init(); - \curl_setopt_array($oCurl, $aOptions); - $mResult = \curl_exec($oCurl); - - if (\is_resource($oCurl)) - { - \curl_close($oCurl); - } - - return !!$mResult; - } - /** * @param string $sActionName * @param mixed $mResult = false diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Api.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Api.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Api.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Api.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Common/BackwardCapability/Account.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Common/BackwardCapability/Account.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Common/BackwardCapability/Account.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Common/BackwardCapability/Account.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Common/FacebookRainLoopPersistentDataHandler.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Common/FacebookRainLoopPersistentDataHandler.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Common/FacebookRainLoopPersistentDataHandler.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Common/FacebookRainLoopPersistentDataHandler.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Common/MbStringFix.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Common/MbStringFix.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Common/MbStringFix.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Common/MbStringFix.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Common/PdoAbstract.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Common/PdoAbstract.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Common/PdoAbstract.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Common/PdoAbstract.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Common/RainLoopFacebookRedirectLoginHelper.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Common/RainLoopFacebookRedirectLoginHelper.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Common/RainLoopFacebookRedirectLoginHelper.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Common/RainLoopFacebookRedirectLoginHelper.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Config/AbstractConfig.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Config/AbstractConfig.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Config/AbstractConfig.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Config/AbstractConfig.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Config/Application.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Config/Application.php similarity index 96% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Config/Application.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Config/Application.php index c4316703b7897111eb828e07e9436c88d6795911..d190475e6e879a4ad5a1d9d13f07478e6f37644e 100644 --- a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Config/Application.php +++ b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Config/Application.php @@ -341,7 +341,7 @@ Examples: 'social' => array( 'google_enable' => array(false, 'Google'), 'google_enable_auth' => array(false), - 'google_enable_auth_fast' => array(false), + 'google_enable_auth_gmail' => array(false), 'google_enable_drive' => array(false), 'google_enable_preview' => array(false), 'google_client_id' => array(''), diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Config/Plugin.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Config/Plugin.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Config/Plugin.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Config/Plugin.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Enumerations/Capa.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Enumerations/Capa.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Enumerations/Capa.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Enumerations/Capa.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Enumerations/Layout.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Enumerations/Layout.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Enumerations/Layout.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Enumerations/Layout.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Enumerations/PluginPropertyType.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Enumerations/PluginPropertyType.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Enumerations/PluginPropertyType.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Enumerations/PluginPropertyType.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Enumerations/SignMeType.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Enumerations/SignMeType.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Enumerations/SignMeType.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Enumerations/SignMeType.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Enumerations/TimeFormat.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Enumerations/TimeFormat.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Enumerations/TimeFormat.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Enumerations/TimeFormat.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Enumerations/UploadClientError.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Enumerations/UploadClientError.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Enumerations/UploadClientError.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Enumerations/UploadClientError.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Enumerations/UploadError.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Enumerations/UploadError.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Enumerations/UploadError.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Enumerations/UploadError.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Exceptions/ClientException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Exceptions/ClientException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Exceptions/ClientException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Exceptions/ClientException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Exceptions/Exception.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Exceptions/Exception.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Exceptions/Exception.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Exceptions/Exception.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Exceptions/InvalidArgumentException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Exceptions/InvalidArgumentException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Exceptions/InvalidArgumentException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Exceptions/InvalidArgumentException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Exceptions/RuntimeException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Exceptions/RuntimeException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Exceptions/RuntimeException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Exceptions/RuntimeException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/KeyPathHelper.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/KeyPathHelper.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/KeyPathHelper.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/KeyPathHelper.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Model/Account.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Model/Account.php similarity index 81% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Model/Account.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Model/Account.php index c8575d7815576716286b714a42c8c552b8f4537a..b0e446c4a0f01603142ab5b141ec0d971af533f8 100644 --- a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Model/Account.php +++ b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Model/Account.php @@ -91,6 +91,35 @@ class Account extends \RainLoop\Account // for backward compatibility return new self($sEmail, $sLogin, $sPassword, $oDomain, $sSignMeToken, $sProxyAuthUser, $sProxyAuthPassword, $sClientCert); } + /** + * @return string + */ + public static function GenerateTokensPassword($sAccessToken, $sRefreshToken) + { + return APP_GOOGLE_ACCESS_TOKEN_PREFIX.\json_encode(array($sAccessToken, $sRefreshToken)); + } + + /** + * @return array + */ + public static function ParseTokensPassword($sPassword) + { + $iGatLen = \strlen(APP_GOOGLE_ACCESS_TOKEN_PREFIX); + if ($sPassword && APP_GOOGLE_ACCESS_TOKEN_PREFIX === \substr($sPassword, 0, $iGatLen)) + { + $aTokens = @\json_decode(\substr($sPassword, $iGatLen)); + $sAccessToken = !empty($aTokens[0]) ? $aTokens[0] : ''; + $sRefreshToken = !empty($aTokens[1]) ? $aTokens[1] : ''; + + if ($sAccessToken && $sRefreshToken) + { + return array($sAccessToken, $sRefreshToken); + } + } + + return array('', ''); + } + /** * @return string */ @@ -366,18 +395,18 @@ class Account extends \RainLoop\Account // for backward compatibility public function GetAuthToken() { return \RainLoop\Utils::EncodeKeyValues(array( - 'token', // 0 - $this->sEmail, // 1 - $this->sLogin, // 2 - $this->sPassword, // 3 + 'token', // 0 + $this->sEmail, // 1 + $this->sLogin, // 2 + $this->sPassword, // 3 \RainLoop\Utils::Fingerprint(), // 4 - $this->sSignMeToken, // 5 - $this->sParentEmail, // 6 + $this->sSignMeToken, // 5 + $this->sParentEmail, // 6 \RainLoop\Utils::GetShortToken(), // 7 - $this->sProxyAuthUser, // 8 - $this->sProxyAuthPassword, // 9 - 0, // 10 // timelife - $this->sClientCert // 11 + $this->sProxyAuthUser, // 8 + $this->sProxyAuthPassword, // 9 + 0, // 10 // lifetime + $this->sClientCert // 11 )); } @@ -387,18 +416,18 @@ class Account extends \RainLoop\Account // for backward compatibility public function GetAuthTokenQ() { return \RainLoop\Utils::EncodeKeyValuesQ(array( - 'token', // 0 - $this->sEmail, // 1 - $this->sLogin, // 2 - $this->sPassword, // 3 + 'token', // 0 + $this->sEmail, // 1 + $this->sLogin, // 2 + $this->sPassword, // 3 \RainLoop\Utils::Fingerprint(), // 4 - $this->sSignMeToken, // 5 - $this->sParentEmail, // 6 + $this->sSignMeToken, // 5 + $this->sParentEmail, // 6 \RainLoop\Utils::GetShortToken(), // 7 - $this->sProxyAuthUser, // 8 - $this->sProxyAuthPassword, // 9 - 0, // 10 // timelife - $this->sClientCert // 11 + $this->sProxyAuthUser, // 8 + $this->sProxyAuthPassword, // 9 + 0, // 10 // lifetime + $this->sClientCert // 11 )); } @@ -406,10 +435,11 @@ class Account extends \RainLoop\Account // for backward compatibility * @param \RainLoop\Plugins\Manager $oPlugins * @param \MailSo\Mail\MailClient $oMailClient * @param \RainLoop\Application $oConfig + * @param callback|null $refreshTokenCallback = null * * @return bool */ - public function IncConnectAndLoginHelper($oPlugins, $oMailClient, $oConfig) + public function IncConnectAndLoginHelper($oPlugins, $oMailClient, $oConfig, $refreshTokenCallback = null) { $bLogin = false; @@ -456,12 +486,21 @@ class Account extends \RainLoop\Account // for backward compatibility } else { - $iGatLen = \strlen(APP_GOOGLE_ACCESS_TOKEN_PREFIX); $sPassword = $aImapCredentials['Password']; - if (APP_GOOGLE_ACCESS_TOKEN_PREFIX === \substr($sPassword, 0, $iGatLen)) + $aTokens = self::ParseTokensPassword($sPassword); + + $sAccessToken = $aTokens[0]; + $sRefreshToken = $aTokens[1]; + + if ($sAccessToken && $sRefreshToken) { + if ($refreshTokenCallback && \is_callable($refreshTokenCallback)) + { + $sAccessToken = \call_user_func($refreshTokenCallback, $sAccessToken, $sRefreshToken); + } + $oMailClient->LoginWithXOauth2( - \base64_encode('user='.$aImapCredentials['Login']."\1".'auth=Bearer '.\substr($sPassword, $iGatLen)."\1\1")); + \base64_encode('user='.$aImapCredentials['Login']."\1".'auth=Bearer '.$sAccessToken."\1\1")); } else { @@ -482,11 +521,12 @@ class Account extends \RainLoop\Account // for backward compatibility * @param \RainLoop\Plugins\Manager $oPlugins * @param \MailSo\Smtp\SmtpClient|null $oSmtpClient * @param \RainLoop\Application $oConfig + * @param callback|null $refreshTokenCallback = null * @param bool $bUsePhpMail = false * * @return bool */ - public function OutConnectAndLoginHelper($oPlugins, $oSmtpClient, $oConfig, &$bUsePhpMail = false) + public function OutConnectAndLoginHelper($oPlugins, $oSmtpClient, $oConfig, $refreshTokenCallback = null, &$bUsePhpMail = false) { $bLogin = false; @@ -526,12 +566,21 @@ class Account extends \RainLoop\Account // for backward compatibility if ($aSmtpCredentials['UseAuth'] && !$aSmtpCredentials['UsePhpMail'] && $oSmtpClient) { - $iGatLen = \strlen(APP_GOOGLE_ACCESS_TOKEN_PREFIX); $sPassword = $aSmtpCredentials['Password']; - if (APP_GOOGLE_ACCESS_TOKEN_PREFIX === \substr($sPassword, 0, $iGatLen)) + $aTokens = self::ParseTokensPassword($sPassword); + + $sAccessToken = $aTokens[0]; + $sRefreshToken = $aTokens[1]; + + if ($sAccessToken && $sRefreshToken) { + if ($refreshTokenCallback && \is_callable($refreshTokenCallback)) + { + $sAccessToken = \call_user_func($refreshTokenCallback, $sAccessToken, $sRefreshToken); + } + $oSmtpClient->LoginWithXOauth2( - \base64_encode('user='.$aSmtpCredentials['Login']."\1".'auth=Bearer '.\substr($sPassword, $iGatLen)."\1\1")); + \base64_encode('user='.$aSmtpCredentials['Login']."\1".'auth=Bearer '.$sAccessToken."\1\1")); } else { diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Model/Domain.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Model/Domain.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Model/Domain.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Model/Domain.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Model/Identity.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Model/Identity.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Model/Identity.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Model/Identity.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Model/Template.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Model/Template.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Model/Template.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Model/Template.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Notifications.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Notifications.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Notifications.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Notifications.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Plugins/AbstractPlugin.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Plugins/AbstractPlugin.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Plugins/AbstractPlugin.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Plugins/AbstractPlugin.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Plugins/Helper.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Plugins/Helper.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Plugins/Helper.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Plugins/Helper.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Plugins/Manager.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Plugins/Manager.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Plugins/Manager.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Plugins/Manager.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Plugins/Property.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Plugins/Property.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Plugins/Property.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Plugins/Property.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/AbstractProvider.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/AbstractProvider.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/AbstractProvider.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/AbstractProvider.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/AddressBook.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/AddressBook.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/AddressBook.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/AddressBook.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/AddressBook/AddressBookInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/AddressBook/AddressBookInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/AddressBook/AddressBookInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/AddressBook/AddressBookInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/AddressBook/Classes/Contact.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/AddressBook/Classes/Contact.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/AddressBook/Classes/Contact.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/AddressBook/Classes/Contact.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/AddressBook/Classes/Property.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/AddressBook/Classes/Property.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/AddressBook/Classes/Property.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/AddressBook/Classes/Property.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/AddressBook/Classes/Tag.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/AddressBook/Classes/Tag.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/AddressBook/Classes/Tag.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/AddressBook/Classes/Tag.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/AddressBook/Enumerations/PropertyType.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/AddressBook/Enumerations/PropertyType.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/AddressBook/Enumerations/PropertyType.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/AddressBook/Enumerations/PropertyType.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/AddressBook/PdoAddressBook.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/AddressBook/PdoAddressBook.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/AddressBook/PdoAddressBook.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/AddressBook/PdoAddressBook.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/ChangePassword.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/ChangePassword.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/ChangePassword.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/ChangePassword.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/ChangePassword/ChangePasswordInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/ChangePassword/ChangePasswordInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/ChangePassword/ChangePasswordInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/ChangePassword/ChangePasswordInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Domain.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Domain.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Domain.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Domain.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Domain/DefaultDomain.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Domain/DefaultDomain.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Domain/DefaultDomain.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Domain/DefaultDomain.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Domain/DomainAdminInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Domain/DomainAdminInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Domain/DomainAdminInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Domain/DomainAdminInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Domain/DomainInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Domain/DomainInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Domain/DomainInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Domain/DomainInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Files.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Files.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Files.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Files.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Files/FileStorage.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Files/FileStorage.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Files/FileStorage.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Files/FileStorage.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Files/IFiles.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Files/IFiles.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Files/IFiles.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Files/IFiles.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Filters.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Filters.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Filters.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Filters.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Filters/Classes/Filter.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Filters/Classes/Filter.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Filters/Classes/Filter.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Filters/Classes/Filter.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Filters/Classes/FilterCondition.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Filters/Classes/FilterCondition.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Filters/Classes/FilterCondition.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Filters/Classes/FilterCondition.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Filters/Enumerations/ActionType.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Filters/Enumerations/ActionType.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Filters/Enumerations/ActionType.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Filters/Enumerations/ActionType.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Filters/Enumerations/ConditionField.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Filters/Enumerations/ConditionField.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Filters/Enumerations/ConditionField.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Filters/Enumerations/ConditionField.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Filters/Enumerations/ConditionType.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Filters/Enumerations/ConditionType.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Filters/Enumerations/ConditionType.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Filters/Enumerations/ConditionType.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Filters/Enumerations/ConditionsType.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Filters/Enumerations/ConditionsType.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Filters/Enumerations/ConditionsType.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Filters/Enumerations/ConditionsType.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Filters/FiltersInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Filters/FiltersInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Filters/FiltersInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Filters/FiltersInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Filters/SieveStorage.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Filters/SieveStorage.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Filters/SieveStorage.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Filters/SieveStorage.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Settings.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Settings.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Settings.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Settings.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Settings/DefaultSettings.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Settings/DefaultSettings.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Settings/DefaultSettings.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Settings/DefaultSettings.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Settings/ISettings.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Settings/ISettings.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Settings/ISettings.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Settings/ISettings.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Storage.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Storage.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Storage.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Storage.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Storage/Enumerations/StorageType.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Storage/Enumerations/StorageType.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Storage/Enumerations/StorageType.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Storage/Enumerations/StorageType.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Storage/FileStorage.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Storage/FileStorage.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Storage/FileStorage.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Storage/FileStorage.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Storage/IStorage.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Storage/IStorage.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Storage/IStorage.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Storage/IStorage.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Storage/TemproryApcStorage.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Storage/TemproryApcStorage.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Storage/TemproryApcStorage.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Storage/TemproryApcStorage.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Suggestions.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Suggestions.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Suggestions.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Suggestions.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Suggestions/ISuggestions.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Suggestions/ISuggestions.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Suggestions/ISuggestions.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Suggestions/ISuggestions.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Suggestions/OwnCloudSuggestions.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Suggestions/OwnCloudSuggestions.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Suggestions/OwnCloudSuggestions.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Suggestions/OwnCloudSuggestions.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Suggestions/TestSuggestions.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Suggestions/TestSuggestions.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/Suggestions/TestSuggestions.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/Suggestions/TestSuggestions.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/TwoFactorAuth.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/TwoFactorAuth.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/TwoFactorAuth.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/TwoFactorAuth.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/TwoFactorAuth/AbstractTwoFactorAuth.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/TwoFactorAuth/AbstractTwoFactorAuth.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/TwoFactorAuth/AbstractTwoFactorAuth.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/TwoFactorAuth/AbstractTwoFactorAuth.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/TwoFactorAuth/GoogleTwoFactorAuth.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/TwoFactorAuth/GoogleTwoFactorAuth.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/TwoFactorAuth/GoogleTwoFactorAuth.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/TwoFactorAuth/GoogleTwoFactorAuth.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/TwoFactorAuth/TwoFactorAuthInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/TwoFactorAuth/TwoFactorAuthInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Providers/TwoFactorAuth/TwoFactorAuthInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Providers/TwoFactorAuth/TwoFactorAuthInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Service.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Service.php similarity index 96% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Service.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Service.php index a167e3ab2cce22290c5c3191d9849c54ff4a731e..9d80121a19ec0414d9836ad8c7a39bd26057060a 100644 --- a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Service.php +++ b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Service.php @@ -101,8 +101,6 @@ class Service return $this; } - $this->oActions->BootStart(); - $sResult = ''; $bCached = false; diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/ServiceActions.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/ServiceActions.php similarity index 95% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/ServiceActions.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/ServiceActions.php index 711b95dcf4e4de33aeb2fb2326e3621cec605fbc..873934e81098d4f81717da1996f7237cb47ab52d 100644 --- a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/ServiceActions.php +++ b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/ServiceActions.php @@ -124,9 +124,11 @@ class ServiceActions $sAction = $this->aPaths[2]; } + $this->oActions->SetIsAjax(true); + try { - if ($this->oHttp->IsPost() && !in_array($sAction, array('JsInfo', 'JsError')) && + if ($this->oHttp->IsPost() && $this->Config()->Get('security', 'csrf_protection', false) && $this->oHttp->GetPost('XToken', '') !== \RainLoop\Utils::GetCsrfToken()) { @@ -211,6 +213,12 @@ class ServiceActions if (\is_array($aResponseItem)) { $aResponseItem['Time'] = (int) ((\microtime(true) - APP_START) * 1000); + + $sUpdateToken = $this->oActions->GetUpdateAuthToken(); + if ($sUpdateToken) + { + $aResponseItem['UpdateToken'] = $sUpdateToken; + } } $this->Plugins()->RunHook('filter.ajax-response', array($sAction, &$aResponseItem)); @@ -498,7 +506,7 @@ class ServiceActions if (\method_exists($this->oActions, $sMethodName)) { @\header('X-Raw-Action: '.$sMethodName, true); - @\header('Content-Security-Policy: default-src \'self\'; script-src \'none\'; style-src \'none\'; frame-src \'none\'; child-src \'none\'', true); + @\header('Content-Security-Policy: script-src \'none\'; frame-src \'none\'; child-src \'none\'', true); $sRawError = ''; $this->oActions->SetActionParams(array( diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Settings.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Settings.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Settings.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Settings.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Social.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Social.php similarity index 91% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Social.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Social.php index a1363756bd77c05b9cb622b665dd9f09b491f7d1..42e5a9148602be68c274e1db9a1393c8dc57a237 100644 --- a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Social.php +++ b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Social.php @@ -168,6 +168,24 @@ class Social return $sResult; } + /** + * @return string + */ + public function GoogleRefreshToken($sAccessToken, $sRefreshToken) + { + $oGoogle = $this->GoogleConnector(); + if ($oGoogle) + { + $aRefreshTokenResponse = $oGoogle->getAccessToken('https://accounts.google.com/o/oauth2/token', 'refresh_token', array( + 'refresh_token' => $sRefreshToken + )); + + return !empty($aRefreshTokenResponse['result']['access_token']) ? $aRefreshTokenResponse['result']['access_token'] : ''; + } + + return $sAccessToken; + } + /** * @return string */ @@ -221,11 +239,11 @@ class Social 'response_type' => 'code' ); -// if ($bGmail) -// { -// $aParams['access_type'] = 'offline'; -// $aParams['approval_prompt'] = 'force'; -// } + if ($bGmail) + { + $aParams['access_type'] = 'offline'; + // $aParams['prompt'] = 'consent'; + } $sLoginUrl = $oGoogle->getAuthenticationUrl('https://accounts.google.com/o/oauth2/auth', $sRedirectUrl, $aParams); } @@ -238,12 +256,17 @@ class Social $bLogin = !$oAccount; } - $aParams = array('code' => $this->oHttp->GetQuery('code'), 'redirect_uri' => $sRedirectUrl); - $aAuthorizationResponse = $oGoogle->getAccessToken('https://accounts.google.com/o/oauth2/token', 'authorization_code', $aParams); + $aAuthorizationCodeResponse = $oGoogle->getAccessToken('https://accounts.google.com/o/oauth2/token', 'authorization_code', array( + 'code' => $this->oHttp->GetQuery('code'), + 'redirect_uri' => $sRedirectUrl + )); - if (!empty($aAuthorizationResponse['result']['access_token'])) + $sAccessToken = !empty($aAuthorizationCodeResponse['result']['access_token']) ? $aAuthorizationCodeResponse['result']['access_token'] : ''; + $sRefreshToken = !empty($aAuthorizationCodeResponse['result']['refresh_token']) ? $aAuthorizationCodeResponse['result']['refresh_token'] : ''; + + if (!empty($sAccessToken)) { - $oGoogle->setAccessToken($aAuthorizationResponse['result']['access_token']); + $oGoogle->setAccessToken($sAccessToken); $aUserInfoResponse = $oGoogle->fetch('https://www.googleapis.com/oauth2/v2/userinfo'); if (!empty($aUserInfoResponse['result']['id'])) @@ -257,7 +280,7 @@ class Social { $aUserData = array( 'Email' => $aUserInfoResponse['result']['email'], - 'Password' => APP_GOOGLE_ACCESS_TOKEN_PREFIX.$aAuthorizationResponse['result']['access_token'] + 'Password' => \RainLoop\Model\Account::GenerateTokensPassword($sAccessToken, $sRefreshToken) ); } } diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Utils.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Utils.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/RainLoop/Utils.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/RainLoop/Utils.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Backend/AbstractBackend.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Backend/AbstractBackend.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Backend/AbstractBackend.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Backend/AbstractBackend.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Backend/BackendInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Backend/BackendInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Backend/BackendInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Backend/BackendInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Backend/NotificationSupport.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Backend/NotificationSupport.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Backend/NotificationSupport.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Backend/NotificationSupport.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Backend/PDO.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Backend/PDO.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Backend/PDO.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Backend/PDO.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Backend/SharingSupport.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Backend/SharingSupport.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Backend/SharingSupport.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Backend/SharingSupport.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Calendar.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Calendar.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Calendar.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Calendar.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/CalendarObject.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/CalendarObject.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/CalendarObject.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/CalendarObject.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/CalendarQueryParser.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/CalendarQueryParser.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/CalendarQueryParser.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/CalendarQueryParser.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/CalendarQueryValidator.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/CalendarQueryValidator.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/CalendarQueryValidator.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/CalendarQueryValidator.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/CalendarRootNode.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/CalendarRootNode.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/CalendarRootNode.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/CalendarRootNode.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Exception/InvalidComponentType.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Exception/InvalidComponentType.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Exception/InvalidComponentType.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Exception/InvalidComponentType.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/ICSExportPlugin.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/ICSExportPlugin.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/ICSExportPlugin.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/ICSExportPlugin.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/ICalendar.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/ICalendar.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/ICalendar.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/ICalendar.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/ICalendarObject.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/ICalendarObject.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/ICalendarObject.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/ICalendarObject.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/IShareableCalendar.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/IShareableCalendar.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/IShareableCalendar.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/IShareableCalendar.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/ISharedCalendar.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/ISharedCalendar.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/ISharedCalendar.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/ISharedCalendar.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Notifications/Collection.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Notifications/Collection.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Notifications/Collection.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Notifications/Collection.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Notifications/ICollection.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Notifications/ICollection.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Notifications/ICollection.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Notifications/ICollection.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Notifications/INode.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Notifications/INode.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Notifications/INode.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Notifications/INode.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Notifications/INotificationType.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Notifications/INotificationType.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Notifications/INotificationType.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Notifications/INotificationType.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Notifications/Node.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Notifications/Node.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Notifications/Node.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Notifications/Node.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Notifications/Notification/Invite.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Notifications/Notification/Invite.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Notifications/Notification/Invite.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Notifications/Notification/Invite.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Notifications/Notification/InviteReply.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Notifications/Notification/InviteReply.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Notifications/Notification/InviteReply.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Notifications/Notification/InviteReply.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Notifications/Notification/SystemStatus.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Notifications/Notification/SystemStatus.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Notifications/Notification/SystemStatus.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Notifications/Notification/SystemStatus.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Plugin.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Plugin.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Plugin.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Plugin.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Principal/Collection.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Principal/Collection.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Principal/Collection.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Principal/Collection.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Principal/IProxyRead.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Principal/IProxyRead.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Principal/IProxyRead.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Principal/IProxyRead.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Principal/IProxyWrite.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Principal/IProxyWrite.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Principal/IProxyWrite.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Principal/IProxyWrite.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Principal/ProxyRead.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Principal/ProxyRead.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Principal/ProxyRead.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Principal/ProxyRead.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Principal/ProxyWrite.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Principal/ProxyWrite.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Principal/ProxyWrite.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Principal/ProxyWrite.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Principal/User.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Principal/User.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Principal/User.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Principal/User.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Property/AllowedSharingModes.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Property/AllowedSharingModes.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Property/AllowedSharingModes.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Property/AllowedSharingModes.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Property/Invite.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Property/Invite.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Property/Invite.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Property/Invite.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Property/ScheduleCalendarTransp.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Property/ScheduleCalendarTransp.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Property/ScheduleCalendarTransp.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Property/ScheduleCalendarTransp.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Property/SupportedCalendarComponentSet.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Property/SupportedCalendarComponentSet.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Property/SupportedCalendarComponentSet.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Property/SupportedCalendarComponentSet.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Property/SupportedCalendarData.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Property/SupportedCalendarData.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Property/SupportedCalendarData.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Property/SupportedCalendarData.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Property/SupportedCollationSet.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Property/SupportedCollationSet.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Property/SupportedCollationSet.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Property/SupportedCollationSet.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Schedule/IMip.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Schedule/IMip.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Schedule/IMip.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Schedule/IMip.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Schedule/IOutbox.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Schedule/IOutbox.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Schedule/IOutbox.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Schedule/IOutbox.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Schedule/Outbox.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Schedule/Outbox.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Schedule/Outbox.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Schedule/Outbox.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/ShareableCalendar.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/ShareableCalendar.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/ShareableCalendar.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/ShareableCalendar.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/SharedCalendar.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/SharedCalendar.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/SharedCalendar.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/SharedCalendar.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/SharingPlugin.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/SharingPlugin.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/SharingPlugin.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/SharingPlugin.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/UserCalendars.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/UserCalendars.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/UserCalendars.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/UserCalendars.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Version.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Version.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CalDAV/Version.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CalDAV/Version.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CardDAV/AddressBook.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CardDAV/AddressBook.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CardDAV/AddressBook.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CardDAV/AddressBook.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CardDAV/AddressBookQueryParser.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CardDAV/AddressBookQueryParser.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CardDAV/AddressBookQueryParser.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CardDAV/AddressBookQueryParser.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CardDAV/AddressBookRoot.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CardDAV/AddressBookRoot.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CardDAV/AddressBookRoot.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CardDAV/AddressBookRoot.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CardDAV/Backend/AbstractBackend.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CardDAV/Backend/AbstractBackend.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CardDAV/Backend/AbstractBackend.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CardDAV/Backend/AbstractBackend.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CardDAV/Backend/BackendInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CardDAV/Backend/BackendInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CardDAV/Backend/BackendInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CardDAV/Backend/BackendInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CardDAV/Backend/PDO.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CardDAV/Backend/PDO.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CardDAV/Backend/PDO.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CardDAV/Backend/PDO.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CardDAV/Card.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CardDAV/Card.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CardDAV/Card.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CardDAV/Card.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CardDAV/IAddressBook.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CardDAV/IAddressBook.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CardDAV/IAddressBook.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CardDAV/IAddressBook.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CardDAV/ICard.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CardDAV/ICard.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CardDAV/ICard.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CardDAV/ICard.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CardDAV/IDirectory.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CardDAV/IDirectory.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CardDAV/IDirectory.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CardDAV/IDirectory.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CardDAV/Plugin.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CardDAV/Plugin.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CardDAV/Plugin.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CardDAV/Plugin.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CardDAV/Property/SupportedAddressData.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CardDAV/Property/SupportedAddressData.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CardDAV/Property/SupportedAddressData.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CardDAV/Property/SupportedAddressData.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CardDAV/UserAddressBooks.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CardDAV/UserAddressBooks.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CardDAV/UserAddressBooks.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CardDAV/UserAddressBooks.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CardDAV/VCFExportPlugin.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CardDAV/VCFExportPlugin.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CardDAV/VCFExportPlugin.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CardDAV/VCFExportPlugin.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CardDAV/Version.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CardDAV/Version.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/CardDAV/Version.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/CardDAV/Version.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Auth/Backend/AbstractBasic.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Auth/Backend/AbstractBasic.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Auth/Backend/AbstractBasic.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Auth/Backend/AbstractBasic.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Auth/Backend/AbstractDigest.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Auth/Backend/AbstractDigest.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Auth/Backend/AbstractDigest.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Auth/Backend/AbstractDigest.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Auth/Backend/Apache.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Auth/Backend/Apache.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Auth/Backend/Apache.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Auth/Backend/Apache.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Auth/Backend/BackendInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Auth/Backend/BackendInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Auth/Backend/BackendInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Auth/Backend/BackendInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Auth/Backend/File.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Auth/Backend/File.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Auth/Backend/File.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Auth/Backend/File.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Auth/Backend/PDO.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Auth/Backend/PDO.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Auth/Backend/PDO.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Auth/Backend/PDO.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Auth/Plugin.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Auth/Plugin.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Auth/Plugin.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Auth/Plugin.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Browser/GuessContentType.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Browser/GuessContentType.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Browser/GuessContentType.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Browser/GuessContentType.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Browser/MapGetToPropFind.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Browser/MapGetToPropFind.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Browser/MapGetToPropFind.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Browser/MapGetToPropFind.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Browser/Plugin.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Browser/Plugin.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Browser/Plugin.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Browser/Plugin.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Browser/assets/favicon.ico b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Browser/assets/favicon.ico similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Browser/assets/favicon.ico rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Browser/assets/favicon.ico diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Browser/assets/icons/addressbook.png b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Browser/assets/icons/addressbook.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Browser/assets/icons/addressbook.png rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Browser/assets/icons/addressbook.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Browser/assets/icons/calendar.png b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Browser/assets/icons/calendar.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Browser/assets/icons/calendar.png rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Browser/assets/icons/calendar.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Browser/assets/icons/card.png b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Browser/assets/icons/card.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Browser/assets/icons/card.png rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Browser/assets/icons/card.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Browser/assets/icons/collection.png b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Browser/assets/icons/collection.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Browser/assets/icons/collection.png rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Browser/assets/icons/collection.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Browser/assets/icons/file.png b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Browser/assets/icons/file.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Browser/assets/icons/file.png rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Browser/assets/icons/file.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Browser/assets/icons/parent.png b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Browser/assets/icons/parent.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Browser/assets/icons/parent.png rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Browser/assets/icons/parent.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Browser/assets/icons/principal.png b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Browser/assets/icons/principal.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Browser/assets/icons/principal.png rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Browser/assets/icons/principal.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Client.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Client.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Client.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Client.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Collection.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Collection.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Collection.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Collection.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/BadRequest.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/BadRequest.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/BadRequest.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/BadRequest.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/Conflict.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/Conflict.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/Conflict.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/Conflict.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/ConflictingLock.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/ConflictingLock.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/ConflictingLock.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/ConflictingLock.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/FileNotFound.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/FileNotFound.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/FileNotFound.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/FileNotFound.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/Forbidden.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/Forbidden.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/Forbidden.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/Forbidden.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/InsufficientStorage.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/InsufficientStorage.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/InsufficientStorage.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/InsufficientStorage.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/InvalidResourceType.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/InvalidResourceType.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/InvalidResourceType.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/InvalidResourceType.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/LockTokenMatchesRequestUri.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/LockTokenMatchesRequestUri.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/LockTokenMatchesRequestUri.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/LockTokenMatchesRequestUri.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/Locked.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/Locked.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/Locked.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/Locked.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/MethodNotAllowed.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/MethodNotAllowed.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/MethodNotAllowed.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/MethodNotAllowed.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/NotAuthenticated.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/NotAuthenticated.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/NotAuthenticated.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/NotAuthenticated.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/NotFound.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/NotFound.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/NotFound.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/NotFound.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/NotImplemented.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/NotImplemented.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/NotImplemented.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/NotImplemented.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/PaymentRequired.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/PaymentRequired.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/PaymentRequired.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/PaymentRequired.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/PreconditionFailed.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/PreconditionFailed.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/PreconditionFailed.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/PreconditionFailed.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/ReportNotSupported.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/ReportNotSupported.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/ReportNotSupported.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/ReportNotSupported.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/RequestedRangeNotSatisfiable.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/RequestedRangeNotSatisfiable.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/RequestedRangeNotSatisfiable.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/RequestedRangeNotSatisfiable.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/ServiceUnavailable.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/ServiceUnavailable.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/ServiceUnavailable.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/ServiceUnavailable.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/UnsupportedMediaType.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/UnsupportedMediaType.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Exception/UnsupportedMediaType.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Exception/UnsupportedMediaType.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/FS/Directory.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/FS/Directory.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/FS/Directory.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/FS/Directory.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/FS/File.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/FS/File.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/FS/File.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/FS/File.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/FS/Node.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/FS/Node.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/FS/Node.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/FS/Node.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/FSExt/Directory.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/FSExt/Directory.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/FSExt/Directory.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/FSExt/Directory.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/FSExt/File.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/FSExt/File.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/FSExt/File.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/FSExt/File.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/FSExt/Node.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/FSExt/Node.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/FSExt/Node.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/FSExt/Node.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/File.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/File.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/File.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/File.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/ICollection.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/ICollection.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/ICollection.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/ICollection.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/IExtendedCollection.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/IExtendedCollection.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/IExtendedCollection.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/IExtendedCollection.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/IFile.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/IFile.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/IFile.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/IFile.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/INode.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/INode.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/INode.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/INode.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/IProperties.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/IProperties.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/IProperties.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/IProperties.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/IQuota.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/IQuota.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/IQuota.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/IQuota.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Locks/Backend/AbstractBackend.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Locks/Backend/AbstractBackend.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Locks/Backend/AbstractBackend.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Locks/Backend/AbstractBackend.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Locks/Backend/BackendInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Locks/Backend/BackendInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Locks/Backend/BackendInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Locks/Backend/BackendInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Locks/Backend/FS.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Locks/Backend/FS.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Locks/Backend/FS.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Locks/Backend/FS.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Locks/Backend/File.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Locks/Backend/File.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Locks/Backend/File.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Locks/Backend/File.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Locks/Backend/PDO.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Locks/Backend/PDO.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Locks/Backend/PDO.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Locks/Backend/PDO.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Locks/LockInfo.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Locks/LockInfo.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Locks/LockInfo.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Locks/LockInfo.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Locks/Plugin.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Locks/Plugin.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Locks/Plugin.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Locks/Plugin.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Mount/Plugin.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Mount/Plugin.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Mount/Plugin.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Mount/Plugin.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Node.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Node.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Node.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Node.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/ObjectTree.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/ObjectTree.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/ObjectTree.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/ObjectTree.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/PartialUpdate/IFile.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/PartialUpdate/IFile.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/PartialUpdate/IFile.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/PartialUpdate/IFile.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/PartialUpdate/Plugin.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/PartialUpdate/Plugin.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/PartialUpdate/Plugin.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/PartialUpdate/Plugin.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Property.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Property.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Property.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Property.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Property/GetLastModified.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Property/GetLastModified.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Property/GetLastModified.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Property/GetLastModified.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Property/Href.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Property/Href.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Property/Href.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Property/Href.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Property/HrefList.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Property/HrefList.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Property/HrefList.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Property/HrefList.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Property/IHref.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Property/IHref.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Property/IHref.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Property/IHref.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Property/LockDiscovery.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Property/LockDiscovery.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Property/LockDiscovery.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Property/LockDiscovery.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Property/ResourceType.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Property/ResourceType.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Property/ResourceType.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Property/ResourceType.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Property/Response.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Property/Response.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Property/Response.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Property/Response.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Property/ResponseList.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Property/ResponseList.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Property/ResponseList.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Property/ResponseList.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Property/SupportedLock.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Property/SupportedLock.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Property/SupportedLock.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Property/SupportedLock.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Property/SupportedReportSet.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Property/SupportedReportSet.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Property/SupportedReportSet.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Property/SupportedReportSet.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/PropertyInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/PropertyInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/PropertyInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/PropertyInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Server.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Server.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Server.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Server.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/ServerPlugin.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/ServerPlugin.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/ServerPlugin.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/ServerPlugin.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/SimpleCollection.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/SimpleCollection.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/SimpleCollection.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/SimpleCollection.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/SimpleFile.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/SimpleFile.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/SimpleFile.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/SimpleFile.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/StringUtil.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/StringUtil.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/StringUtil.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/StringUtil.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/TemporaryFileFilterPlugin.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/TemporaryFileFilterPlugin.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/TemporaryFileFilterPlugin.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/TemporaryFileFilterPlugin.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Tree.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Tree.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Tree.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Tree.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Tree/Filesystem.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Tree/Filesystem.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Tree/Filesystem.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Tree/Filesystem.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/URLUtil.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/URLUtil.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/URLUtil.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/URLUtil.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/UUIDUtil.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/UUIDUtil.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/UUIDUtil.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/UUIDUtil.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Version.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Version.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/Version.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/Version.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/XMLUtil.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/XMLUtil.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAV/XMLUtil.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAV/XMLUtil.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/AbstractPrincipalCollection.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/AbstractPrincipalCollection.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/AbstractPrincipalCollection.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/AbstractPrincipalCollection.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/Exception/AceConflict.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/Exception/AceConflict.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/Exception/AceConflict.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/Exception/AceConflict.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/Exception/NeedPrivileges.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/Exception/NeedPrivileges.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/Exception/NeedPrivileges.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/Exception/NeedPrivileges.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/Exception/NoAbstract.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/Exception/NoAbstract.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/Exception/NoAbstract.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/Exception/NoAbstract.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/Exception/NotRecognizedPrincipal.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/Exception/NotRecognizedPrincipal.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/Exception/NotRecognizedPrincipal.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/Exception/NotRecognizedPrincipal.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/Exception/NotSupportedPrivilege.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/Exception/NotSupportedPrivilege.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/Exception/NotSupportedPrivilege.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/Exception/NotSupportedPrivilege.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/IACL.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/IACL.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/IACL.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/IACL.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/IPrincipal.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/IPrincipal.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/IPrincipal.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/IPrincipal.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/IPrincipalCollection.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/IPrincipalCollection.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/IPrincipalCollection.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/IPrincipalCollection.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/Plugin.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/Plugin.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/Plugin.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/Plugin.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/Principal.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/Principal.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/Principal.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/Principal.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/PrincipalBackend/AbstractBackend.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/PrincipalBackend/AbstractBackend.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/PrincipalBackend/AbstractBackend.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/PrincipalBackend/AbstractBackend.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/PrincipalBackend/BackendInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/PrincipalBackend/BackendInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/PrincipalBackend/BackendInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/PrincipalBackend/BackendInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/PrincipalBackend/PDO.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/PrincipalBackend/PDO.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/PrincipalBackend/PDO.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/PrincipalBackend/PDO.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/PrincipalCollection.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/PrincipalCollection.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/PrincipalCollection.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/PrincipalCollection.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/Property/Acl.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/Property/Acl.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/Property/Acl.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/Property/Acl.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/Property/AclRestrictions.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/Property/AclRestrictions.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/Property/AclRestrictions.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/Property/AclRestrictions.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/Property/CurrentUserPrivilegeSet.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/Property/CurrentUserPrivilegeSet.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/Property/CurrentUserPrivilegeSet.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/Property/CurrentUserPrivilegeSet.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/Property/Principal.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/Property/Principal.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/Property/Principal.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/Property/Principal.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/Property/SupportedPrivilegeSet.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/Property/SupportedPrivilegeSet.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/Property/SupportedPrivilegeSet.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/Property/SupportedPrivilegeSet.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/Version.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/Version.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/DAVACL/Version.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/DAVACL/Version.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/HTTP/AWSAuth.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/HTTP/AWSAuth.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/HTTP/AWSAuth.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/HTTP/AWSAuth.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/HTTP/AbstractAuth.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/HTTP/AbstractAuth.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/HTTP/AbstractAuth.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/HTTP/AbstractAuth.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/HTTP/BasicAuth.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/HTTP/BasicAuth.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/HTTP/BasicAuth.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/HTTP/BasicAuth.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/HTTP/DigestAuth.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/HTTP/DigestAuth.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/HTTP/DigestAuth.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/HTTP/DigestAuth.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/HTTP/Request.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/HTTP/Request.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/HTTP/Request.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/HTTP/Request.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/HTTP/Response.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/HTTP/Response.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/HTTP/Response.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/HTTP/Response.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/HTTP/Util.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/HTTP/Util.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/HTTP/Util.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/HTTP/Util.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/HTTP/Version.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/HTTP/Version.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/HTTP/Version.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/HTTP/Version.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Cli.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Cli.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Cli.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Cli.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Component.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Component.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Component.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Component.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Component/VAlarm.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Component/VAlarm.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Component/VAlarm.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Component/VAlarm.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Component/VCalendar.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Component/VCalendar.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Component/VCalendar.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Component/VCalendar.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Component/VCard.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Component/VCard.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Component/VCard.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Component/VCard.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Component/VEvent.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Component/VEvent.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Component/VEvent.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Component/VEvent.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Component/VFreeBusy.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Component/VFreeBusy.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Component/VFreeBusy.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Component/VFreeBusy.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Component/VJournal.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Component/VJournal.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Component/VJournal.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Component/VJournal.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Component/VTodo.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Component/VTodo.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Component/VTodo.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Component/VTodo.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/DateTimeParser.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/DateTimeParser.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/DateTimeParser.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/DateTimeParser.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Document.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Document.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Document.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Document.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/ElementList.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/ElementList.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/ElementList.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/ElementList.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/EofException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/EofException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/EofException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/EofException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/FreeBusyGenerator.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/FreeBusyGenerator.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/FreeBusyGenerator.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/FreeBusyGenerator.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Node.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Node.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Node.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Node.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Parameter.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Parameter.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Parameter.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Parameter.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/ParseException.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/ParseException.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/ParseException.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/ParseException.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Parser/Json.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Parser/Json.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Parser/Json.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Parser/Json.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Parser/MimeDir.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Parser/MimeDir.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Parser/MimeDir.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Parser/MimeDir.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Parser/Parser.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Parser/Parser.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Parser/Parser.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Parser/Parser.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/Binary.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/Binary.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/Binary.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/Binary.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/Boolean.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/Boolean.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/Boolean.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/Boolean.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/FlatText.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/FlatText.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/FlatText.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/FlatText.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/Float.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/Float.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/Float.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/Float.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/ICalendar/CalAddress.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/ICalendar/CalAddress.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/ICalendar/CalAddress.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/ICalendar/CalAddress.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/ICalendar/Date.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/ICalendar/Date.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/ICalendar/Date.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/ICalendar/Date.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/ICalendar/DateTime.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/ICalendar/DateTime.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/ICalendar/DateTime.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/ICalendar/DateTime.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/ICalendar/Duration.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/ICalendar/Duration.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/ICalendar/Duration.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/ICalendar/Duration.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/ICalendar/Period.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/ICalendar/Period.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/ICalendar/Period.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/ICalendar/Period.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/ICalendar/Recur.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/ICalendar/Recur.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/ICalendar/Recur.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/ICalendar/Recur.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/Integer.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/Integer.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/Integer.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/Integer.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/Text.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/Text.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/Text.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/Text.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/Time.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/Time.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/Time.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/Time.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/Unknown.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/Unknown.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/Unknown.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/Unknown.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/Uri.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/Uri.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/Uri.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/Uri.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/UtcOffset.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/UtcOffset.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/UtcOffset.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/UtcOffset.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/VCard/Date.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/VCard/Date.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/VCard/Date.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/VCard/Date.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/VCard/DateAndOrTime.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/VCard/DateAndOrTime.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/VCard/DateAndOrTime.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/VCard/DateAndOrTime.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/VCard/DateTime.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/VCard/DateTime.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/VCard/DateTime.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/VCard/DateTime.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/VCard/LanguageTag.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/VCard/LanguageTag.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/VCard/LanguageTag.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/VCard/LanguageTag.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/VCard/TimeStamp.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/VCard/TimeStamp.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Property/VCard/TimeStamp.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Property/VCard/TimeStamp.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Reader.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Reader.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Reader.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Reader.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/RecurrenceIterator.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/RecurrenceIterator.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/RecurrenceIterator.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/RecurrenceIterator.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Splitter/ICalendar.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Splitter/ICalendar.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Splitter/ICalendar.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Splitter/ICalendar.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Splitter/SplitterInterface.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Splitter/SplitterInterface.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Splitter/SplitterInterface.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Splitter/SplitterInterface.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Splitter/VCard.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Splitter/VCard.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Splitter/VCard.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Splitter/VCard.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/StringUtil.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/StringUtil.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/StringUtil.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/StringUtil.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/TimeZoneUtil.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/TimeZoneUtil.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/TimeZoneUtil.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/TimeZoneUtil.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/VCardConverter.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/VCardConverter.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/VCardConverter.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/VCardConverter.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Version.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Version.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/Version.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/Version.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/includes.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/includes.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/SabreForRainLoop/VObject/includes.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/SabreForRainLoop/VObject/includes.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/lessphp/LICENSE b/rainloop/app/rainloop/v/1.14.0/app/libraries/lessphp/LICENSE similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/lessphp/LICENSE rename to rainloop/app/rainloop/v/1.14.0/app/libraries/lessphp/LICENSE diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/lessphp/README.md b/rainloop/app/rainloop/v/1.14.0/app/libraries/lessphp/README.md similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/lessphp/README.md rename to rainloop/app/rainloop/v/1.14.0/app/libraries/lessphp/README.md diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/lessphp/ctype.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/lessphp/ctype.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/lessphp/ctype.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/lessphp/ctype.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/lessphp/lessc.inc.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/lessphp/lessc.inc.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/lessphp/lessc.inc.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/lessphp/lessc.inc.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/pclzip/_pclzip.lib.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/pclzip/_pclzip.lib.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/pclzip/_pclzip.lib.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/pclzip/_pclzip.lib.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/pclzip/gnu-lgpl.txt b/rainloop/app/rainloop/v/1.14.0/app/libraries/pclzip/gnu-lgpl.txt similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/pclzip/gnu-lgpl.txt rename to rainloop/app/rainloop/v/1.14.0/app/libraries/pclzip/gnu-lgpl.txt diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/pclzip/pclzip.lib.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/pclzip/pclzip.lib.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/pclzip/pclzip.lib.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/pclzip/pclzip.lib.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/pclzip/readme.txt b/rainloop/app/rainloop/v/1.14.0/app/libraries/pclzip/readme.txt similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/pclzip/readme.txt rename to rainloop/app/rainloop/v/1.14.0/app/libraries/pclzip/readme.txt diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/spyc/COPYING b/rainloop/app/rainloop/v/1.14.0/app/libraries/spyc/COPYING similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/spyc/COPYING rename to rainloop/app/rainloop/v/1.14.0/app/libraries/spyc/COPYING diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/spyc/README.md b/rainloop/app/rainloop/v/1.14.0/app/libraries/spyc/README.md similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/spyc/README.md rename to rainloop/app/rainloop/v/1.14.0/app/libraries/spyc/README.md diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/spyc/Spyc.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/spyc/Spyc.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/spyc/Spyc.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/spyc/Spyc.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/spyc/composer.json b/rainloop/app/rainloop/v/1.14.0/app/libraries/spyc/composer.json similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/spyc/composer.json rename to rainloop/app/rainloop/v/1.14.0/app/libraries/spyc/composer.json diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/tmhOAuth/LICENSE b/rainloop/app/rainloop/v/1.14.0/app/libraries/tmhOAuth/LICENSE similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/tmhOAuth/LICENSE rename to rainloop/app/rainloop/v/1.14.0/app/libraries/tmhOAuth/LICENSE diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/tmhOAuth/README.md b/rainloop/app/rainloop/v/1.14.0/app/libraries/tmhOAuth/README.md similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/tmhOAuth/README.md rename to rainloop/app/rainloop/v/1.14.0/app/libraries/tmhOAuth/README.md diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/tmhOAuth/cacert.pem b/rainloop/app/rainloop/v/1.14.0/app/libraries/tmhOAuth/cacert.pem similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/tmhOAuth/cacert.pem rename to rainloop/app/rainloop/v/1.14.0/app/libraries/tmhOAuth/cacert.pem diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/tmhOAuth/tmhOAuth.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/tmhOAuth/tmhOAuth.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/tmhOAuth/tmhOAuth.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/tmhOAuth/tmhOAuth.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/libraries/tmhOAuth/tmhUtilities.php b/rainloop/app/rainloop/v/1.14.0/app/libraries/tmhOAuth/tmhUtilities.php similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/libraries/tmhOAuth/tmhUtilities.php rename to rainloop/app/rainloop/v/1.14.0/app/libraries/tmhOAuth/tmhUtilities.php diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/README b/rainloop/app/rainloop/v/1.14.0/app/localization/README similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/README rename to rainloop/app/rainloop/v/1.14.0/app/localization/README diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/admin/README b/rainloop/app/rainloop/v/1.14.0/app/localization/admin/README similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/admin/README rename to rainloop/app/rainloop/v/1.14.0/app/localization/admin/README diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/admin/_source.en.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/admin/_source.en.yml similarity index 99% rename from rainloop/app/rainloop/v/1.13.0/app/localization/admin/_source.en.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/admin/_source.en.yml index ed6cbed2600188a1743856a2216422c20f15616e..7419b5d316f149a9b57fd6d74bb08579bc983f34 100644 --- a/rainloop/app/rainloop/v/1.13.0/app/localization/admin/_source.en.yml +++ b/rainloop/app/rainloop/v/1.14.0/app/localization/admin/_source.en.yml @@ -117,6 +117,7 @@ en: LEGEND_GOOGLE: "Google" LABEL_ENABLE_GOOGLE: "Enable Google Integration" LABEL_GOOGLE_AUTH: "Authorization" + LABEL_GOOGLE_AUTH_GMAIL: "Authorization (Gmail)" LABEL_GOOGLE_DRIVE: "Google Drive Integration (Compose view)" LABEL_GOOGLE_PREVIEW: "Google Viewer Integration (Preview for Microsoft Word, Excel and PowerPoint files)" LABEL_GOOGLE_CLIENT_ID: "Client ID" diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/admin/cs_CZ.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/admin/cs_CZ.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/admin/cs_CZ.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/admin/cs_CZ.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/admin/da_DK.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/admin/da_DK.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/admin/da_DK.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/admin/da_DK.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/admin/de_DE.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/admin/de_DE.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/admin/de_DE.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/admin/de_DE.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/admin/en_US.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/admin/en_US.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/admin/en_US.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/admin/en_US.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/admin/es_ES.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/admin/es_ES.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/admin/es_ES.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/admin/es_ES.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/admin/fa_IR.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/admin/fa_IR.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/admin/fa_IR.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/admin/fa_IR.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/admin/fi_FI.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/admin/fi_FI.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/admin/fi_FI.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/admin/fi_FI.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/admin/fr_FR.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/admin/fr_FR.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/admin/fr_FR.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/admin/fr_FR.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/admin/hu_HU.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/admin/hu_HU.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/admin/hu_HU.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/admin/hu_HU.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/admin/id_ID.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/admin/id_ID.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/admin/id_ID.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/admin/id_ID.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/admin/it_IT.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/admin/it_IT.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/admin/it_IT.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/admin/it_IT.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/admin/ja_JP.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/admin/ja_JP.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/admin/ja_JP.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/admin/ja_JP.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/admin/lt_LT.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/admin/lt_LT.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/admin/lt_LT.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/admin/lt_LT.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/admin/nb_NO.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/admin/nb_NO.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/admin/nb_NO.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/admin/nb_NO.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/admin/nl_NL.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/admin/nl_NL.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/admin/nl_NL.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/admin/nl_NL.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/admin/pl_PL.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/admin/pl_PL.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/admin/pl_PL.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/admin/pl_PL.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/admin/pt_BR.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/admin/pt_BR.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/admin/pt_BR.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/admin/pt_BR.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/admin/ru_RU.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/admin/ru_RU.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/admin/ru_RU.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/admin/ru_RU.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/admin/sk_SK.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/admin/sk_SK.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/admin/sk_SK.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/admin/sk_SK.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/admin/sl_SI.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/admin/sl_SI.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/admin/sl_SI.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/admin/sl_SI.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/admin/sv_SE.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/admin/sv_SE.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/admin/sv_SE.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/admin/sv_SE.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/admin/zh_CN.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/admin/zh_CN.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/admin/zh_CN.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/admin/zh_CN.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/langs.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/langs.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/langs.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/langs.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/af.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/af.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/af.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/af.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/ar-dz.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/ar-dz.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/ar-dz.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/ar-dz.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/ar-kw.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/ar-kw.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/ar-kw.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/ar-kw.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/ar-ly.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/ar-ly.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/ar-ly.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/ar-ly.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/ar-ma.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/ar-ma.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/ar-ma.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/ar-ma.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/ar-sa.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/ar-sa.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/ar-sa.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/ar-sa.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/ar-tn.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/ar-tn.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/ar-tn.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/ar-tn.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/ar.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/ar.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/ar.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/ar.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/az.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/az.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/az.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/az.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/be.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/be.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/be.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/be.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/bg.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/bg.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/bg.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/bg.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/bm.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/bm.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/bm.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/bm.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/bn.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/bn.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/bn.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/bn.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/bo.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/bo.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/bo.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/bo.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/br.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/br.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/br.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/br.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/bs.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/bs.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/bs.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/bs.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/ca.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/ca.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/ca.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/ca.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/cs.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/cs.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/cs.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/cs.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/cv.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/cv.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/cv.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/cv.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/cy.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/cy.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/cy.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/cy.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/da.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/da.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/da.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/da.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/de-at.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/de-at.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/de-at.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/de-at.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/de-ch.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/de-ch.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/de-ch.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/de-ch.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/de.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/de.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/de.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/de.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/dv.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/dv.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/dv.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/dv.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/el.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/el.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/el.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/el.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/en-SG.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/en-SG.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/en-SG.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/en-SG.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/en-au.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/en-au.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/en-au.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/en-au.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/en-ca.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/en-ca.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/en-ca.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/en-ca.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/en-gb.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/en-gb.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/en-gb.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/en-gb.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/en-ie.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/en-ie.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/en-ie.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/en-ie.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/en-il.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/en-il.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/en-il.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/en-il.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/en-nz.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/en-nz.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/en-nz.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/en-nz.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/eo.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/eo.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/eo.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/eo.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/es-do.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/es-do.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/es-do.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/es-do.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/es-us.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/es-us.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/es-us.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/es-us.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/es.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/es.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/es.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/es.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/et.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/et.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/et.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/et.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/eu.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/eu.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/eu.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/eu.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/fa.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/fa.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/fa.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/fa.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/fi.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/fi.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/fi.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/fi.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/fo.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/fo.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/fo.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/fo.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/fr-ca.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/fr-ca.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/fr-ca.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/fr-ca.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/fr-ch.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/fr-ch.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/fr-ch.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/fr-ch.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/fr.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/fr.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/fr.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/fr.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/fy.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/fy.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/fy.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/fy.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/ga.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/ga.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/ga.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/ga.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/gd.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/gd.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/gd.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/gd.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/gl.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/gl.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/gl.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/gl.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/gom-latn.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/gom-latn.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/gom-latn.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/gom-latn.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/gu.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/gu.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/gu.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/gu.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/he.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/he.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/he.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/he.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/hi.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/hi.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/hi.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/hi.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/hr.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/hr.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/hr.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/hr.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/hu.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/hu.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/hu.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/hu.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/hy-am.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/hy-am.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/hy-am.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/hy-am.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/id.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/id.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/id.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/id.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/is.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/is.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/is.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/is.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/it-ch.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/it-ch.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/it-ch.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/it-ch.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/it.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/it.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/it.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/it.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/ja.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/ja.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/ja.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/ja.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/jv.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/jv.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/jv.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/jv.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/ka.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/ka.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/ka.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/ka.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/kk.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/kk.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/kk.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/kk.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/km.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/km.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/km.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/km.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/kn.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/kn.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/kn.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/kn.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/ko.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/ko.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/ko.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/ko.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/ku.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/ku.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/ku.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/ku.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/ky.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/ky.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/ky.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/ky.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/lb.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/lb.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/lb.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/lb.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/lo.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/lo.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/lo.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/lo.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/lt.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/lt.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/lt.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/lt.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/lv.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/lv.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/lv.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/lv.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/me.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/me.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/me.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/me.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/mi.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/mi.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/mi.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/mi.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/mk.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/mk.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/mk.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/mk.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/ml.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/ml.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/ml.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/ml.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/mn.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/mn.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/mn.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/mn.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/mr.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/mr.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/mr.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/mr.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/ms-my.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/ms-my.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/ms-my.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/ms-my.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/ms.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/ms.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/ms.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/ms.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/mt.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/mt.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/mt.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/mt.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/my.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/my.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/my.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/my.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/nb.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/nb.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/nb.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/nb.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/ne.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/ne.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/ne.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/ne.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/nl-be.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/nl-be.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/nl-be.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/nl-be.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/nl.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/nl.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/nl.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/nl.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/nn.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/nn.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/nn.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/nn.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/pa-in.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/pa-in.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/pa-in.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/pa-in.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/pl.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/pl.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/pl.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/pl.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/pt-br.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/pt-br.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/pt-br.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/pt-br.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/pt.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/pt.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/pt.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/pt.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/ro.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/ro.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/ro.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/ro.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/ru.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/ru.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/ru.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/ru.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/sd.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/sd.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/sd.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/sd.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/se.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/se.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/se.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/se.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/si.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/si.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/si.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/si.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/sk.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/sk.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/sk.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/sk.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/sl.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/sl.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/sl.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/sl.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/sq.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/sq.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/sq.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/sq.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/sr-cyrl.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/sr-cyrl.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/sr-cyrl.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/sr-cyrl.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/sr.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/sr.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/sr.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/sr.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/ss.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/ss.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/ss.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/ss.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/sv.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/sv.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/sv.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/sv.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/sw.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/sw.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/sw.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/sw.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/ta.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/ta.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/ta.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/ta.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/te.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/te.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/te.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/te.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/tet.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/tet.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/tet.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/tet.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/tg.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/tg.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/tg.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/tg.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/th.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/th.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/th.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/th.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/tl-ph.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/tl-ph.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/tl-ph.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/tl-ph.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/tlh.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/tlh.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/tlh.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/tlh.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/tr.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/tr.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/tr.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/tr.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/tzl.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/tzl.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/tzl.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/tzl.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/tzm-latn.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/tzm-latn.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/tzm-latn.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/tzm-latn.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/tzm.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/tzm.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/tzm.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/tzm.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/ug-cn.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/ug-cn.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/ug-cn.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/ug-cn.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/uk.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/uk.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/uk.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/uk.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/ur.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/ur.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/ur.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/ur.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/uz-latn.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/uz-latn.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/uz-latn.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/uz-latn.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/uz.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/uz.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/uz.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/uz.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/vi.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/vi.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/vi.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/vi.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/x-pseudo.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/x-pseudo.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/x-pseudo.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/x-pseudo.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/yo.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/yo.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/yo.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/yo.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/zh-cn.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/zh-cn.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/zh-cn.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/zh-cn.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/zh-hk.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/zh-hk.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/zh-hk.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/zh-hk.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/moment/zh-tw.js b/rainloop/app/rainloop/v/1.14.0/app/localization/moment/zh-tw.js similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/moment/zh-tw.js rename to rainloop/app/rainloop/v/1.14.0/app/localization/moment/zh-tw.js diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/README b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/README similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/webmail/README rename to rainloop/app/rainloop/v/1.14.0/app/localization/webmail/README diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/_source.en.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/_source.en.yml similarity index 97% rename from rainloop/app/rainloop/v/1.13.0/app/localization/webmail/_source.en.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/webmail/_source.en.yml index f4f17c6092f93012db7ba2c2a40c5a6e36b95328..8f3f9a6bc606a55569ab019819a494f98780f6bd 100644 --- a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/_source.en.yml +++ b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/_source.en.yml @@ -8,6 +8,7 @@ en: LABEL_DONT_ASK_VERIFICATION_CODE: "Don't ask for the code for 2 weeks" BUTTON_SIGN_IN: "Sign In" TITLE_SIGN_IN_GOOGLE: "Sign In using Google" + TITLE_SIGN_IN_GMAIL: "Sign In using Gmail" TITLE_SIGN_IN_FACEBOOK: "Sign In using Facebook" TITLE_SIGN_IN_TWITTER: "Sign In using Twitter" LABEL_FORGOT_PASSWORD: "Forgot password" @@ -155,11 +156,11 @@ en: LINK_SAVE_TO_DROPBOX: "Save to Dropbox" READ_RECEIPT: SUBJECT: "Return Receipt (displayed) - %SUBJECT%" - BODY: | - This is a Return Receipt for the mail that you sent to %READ-RECEIPT%. - - Note: "This Return Receipt only acknowledges that the message was displayed on the recipient's computer." - There is no guarantee that the recipient has read or understood the message contents. + BODY: | + This is a Return Receipt for the mail that you sent to %READ-RECEIPT%. + + Note: "This Return Receipt only acknowledges that the message was displayed on the recipient's computer." + There is no guarantee that the recipient has read or understood the message contents. SUGGESTIONS: SEARCHING_DESC: "Searching..." CONTACTS: @@ -365,16 +366,16 @@ en: LABEL_ARCHIVE: "Archive" BUTTON_CANCEL: "Cancel" BUTTON_CLOSE: "Close" - NOTIFICATION_SENT: | - You haven't selected "Sent" system folder messages are put to after sending. - If you don't want to save sent message, please select "Do not use" option. + NOTIFICATION_SENT: | + You haven't selected "Sent" system folder messages are put to after sending. + If you don't want to save sent message, please select "Do not use" option. NOTIFICATION_DRAFTS: "You haven't selected \"Drafts\" system folder messages are saved to while composing." - NOTIFICATION_SPAM: | - You haven't selected "Spam" system folder spamed messages are placed to. - If you wish to remove messages permanently, please select "Do not use" option. - NOTIFICATION_TRASH: | - You haven't selected "Trash" system folder deleted messages are placed to. - If you wish to remove messages permanently, please select "Do not use" option. + NOTIFICATION_SPAM: | + You haven't selected "Spam" system folder spamed messages are placed to. + If you wish to remove messages permanently, please select "Do not use" option. + NOTIFICATION_TRASH: | + You haven't selected "Trash" system folder deleted messages are placed to. + If you wish to remove messages permanently, please select "Do not use" option. NOTIFICATION_ARCHIVE: "You haven't selected \"Archive\" system folder achived messages are placed to." POPUPS_TWO_FACTOR_CFG: LEGEND_TWO_FACTOR_AUTH: "2-Step Verification (TOTP)" @@ -395,13 +396,13 @@ en: TWO_FACTOR_REQUIRE_DESC: "Your account requires 2-Step verification configuration." TWO_FACTOR_SECRET_CONFIGURED_DESC: "Configured" TWO_FACTOR_SECRET_NOT_CONFIGURED_DESC: "Not configured" - TWO_FACTOR_SECRET_DESC: > - Import this info into your Google Authenticator client (or other TOTP client) - using the provided QR code below or by entering the code manually. - TWO_FACTOR_BACKUP_CODES_DESC: > - If you can't receive codes via Google Authenticator (or other TOTP client), - you can use backup codes to sign in. After you’ve used a backup code to sign - in, it will become inactive. + TWO_FACTOR_SECRET_DESC: > + Import this info into your Google Authenticator client (or other TOTP client) + using the provided QR code below or by entering the code manually. + TWO_FACTOR_BACKUP_CODES_DESC: > + If you can't receive codes via Google Authenticator (or other TOTP client), + you can use backup codes to sign in. After you’ve used a backup code to sign + in, it will become inactive. TWO_FACTOR_SECRET_TEST_BEFORE_DESC: "You can't change this setting before test." TITLES: LOADING: "Loading" @@ -642,15 +643,15 @@ en: ACCESS_ERROR: "Access error" CONNECTION_ERROR: "Can't connect to server" CAPTCHA_ERROR: "Incorrect CAPTCHA." - SOCIAL_FACEBOOK_LOGIN_ACCESS_DISABLE: > - This social ID is not assigned for any email account yet. Log in using email - credentials and enable this feature in account settings. - SOCIAL_TWITTER_LOGIN_ACCESS_DISABLE: > - This social ID is not assigned for any email account yet. Log in using email - credentials and enable this feature in account settings. - SOCIAL_GOOGLE_LOGIN_ACCESS_DISABLE: > - This social ID is not assigned for any email account yet. Log in using email - credentials and enable this feature in account settings. + SOCIAL_FACEBOOK_LOGIN_ACCESS_DISABLE: > + This social ID is not assigned for any email account yet. Log in using email + credentials and enable this feature in account settings. + SOCIAL_TWITTER_LOGIN_ACCESS_DISABLE: > + This social ID is not assigned for any email account yet. Log in using email + credentials and enable this feature in account settings. + SOCIAL_GOOGLE_LOGIN_ACCESS_DISABLE: > + This social ID is not assigned for any email account yet. Log in using email + credentials and enable this feature in account settings. DOMAIN_NOT_ALLOWED: "Domain is not allowed" ACCOUNT_NOT_ALLOWED: "Account is not allowed" ACCOUNT_TWO_FACTOR_AUTH_REQUIRED: "Two factor verification required" @@ -700,14 +701,14 @@ en: PHP_EXSTENSIONS_ERROR_DESC: "Required PHP extension are not available in your PHP configuration!" PHP_VERSION_ERROR_DESC: "Your PHP version (%VERSION%) is lower than the minimal required 5.3.0!" NO_SCRIPT_TITLE: "JavaScript is required for this application." - NO_SCRIPT_DESC: | - JavaScript support is not available in your browser. - Please enable JavaScript support in your browser settings and retry. + NO_SCRIPT_DESC: | + JavaScript support is not available in your browser. + Please enable JavaScript support in your browser settings and retry. NO_COOKIE_TITLE: "Cookies support is required for this application." - NO_COOKIE_DESC: | - Cookies support is not available in your browser. - Please enable Cookie support in your browser settings and retry. + NO_COOKIE_DESC: | + Cookies support is not available in your browser. + Please enable Cookie support in your browser settings and retry. BAD_BROWSER_TITLE: "Your browser is outdated." - BAD_BROWSER_DESC: | - To use all the features of the application, - download and install one of these browsers: + BAD_BROWSER_DESC: | + To use all the features of the application, + download and install one of these browsers: diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/ar_SA.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/ar_SA.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/webmail/ar_SA.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/webmail/ar_SA.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/bg_BG.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/bg_BG.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/webmail/bg_BG.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/webmail/bg_BG.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/cs_CZ.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/cs_CZ.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/webmail/cs_CZ.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/webmail/cs_CZ.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/da_DK.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/da_DK.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/webmail/da_DK.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/webmail/da_DK.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/de_DE.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/de_DE.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/webmail/de_DE.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/webmail/de_DE.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/el_GR.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/el_GR.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/webmail/el_GR.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/webmail/el_GR.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/en_GB.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/en_GB.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/webmail/en_GB.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/webmail/en_GB.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/en_US.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/en_US.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/webmail/en_US.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/webmail/en_US.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/es_ES.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/es_ES.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/webmail/es_ES.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/webmail/es_ES.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/et_EE.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/et_EE.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/webmail/et_EE.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/webmail/et_EE.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/fa_IR.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/fa_IR.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/webmail/fa_IR.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/webmail/fa_IR.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/fi_FI.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/fi_FI.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/webmail/fi_FI.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/webmail/fi_FI.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/fr_FR.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/fr_FR.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/webmail/fr_FR.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/webmail/fr_FR.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/hu_HU.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/hu_HU.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/webmail/hu_HU.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/webmail/hu_HU.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/id_ID.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/id_ID.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/webmail/id_ID.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/webmail/id_ID.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/is_IS.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/is_IS.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/webmail/is_IS.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/webmail/is_IS.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/it_IT.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/it_IT.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/webmail/it_IT.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/webmail/it_IT.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/ja_JP.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/ja_JP.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/webmail/ja_JP.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/webmail/ja_JP.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/ko_KR.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/ko_KR.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/webmail/ko_KR.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/webmail/ko_KR.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/lt_LT.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/lt_LT.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/webmail/lt_LT.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/webmail/lt_LT.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/lv_LV.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/lv_LV.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/webmail/lv_LV.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/webmail/lv_LV.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/nb_NO.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/nb_NO.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/webmail/nb_NO.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/webmail/nb_NO.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/nl_NL.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/nl_NL.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/webmail/nl_NL.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/webmail/nl_NL.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/pl_PL.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/pl_PL.yml similarity index 99% rename from rainloop/app/rainloop/v/1.13.0/app/localization/webmail/pl_PL.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/webmail/pl_PL.yml index 5b66598c0a8f41bb0f6bda3be7c2d4fd9ad9e8bb..b82e104474add69447b62191f5ce74d1f4c0db53 100644 --- a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/pl_PL.yml +++ b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/pl_PL.yml @@ -71,7 +71,7 @@ pl_PL: BUTTON_NOT_SPAM: "Oznacz jako pożądane" BUTTON_EMPTY_FOLDER: "Usuń zawartość folderu" BUTTON_MULTY_FORWARD: "Przekaż dalej jako załącznik(i)" - BUTTON_DELETE_WITHOUT_MOVE: "Usuń trwale" + BUTTON_DELETE_WITHOUT_MOVE: "Usuń permanentnie" BUTTON_MORE: "Więcej" MENU_SET_SEEN: "Oznacz jako przeczytane" MENU_SET_ALL_SEEN: "Oznacz wszystkie jako przeczytane" @@ -143,7 +143,7 @@ pl_PL: PRINT_LABEL_DATE: "Data" PRINT_LABEL_SUBJECT: "Temat" PRINT_LABEL_ATTACHMENTS: "Załączniki" - MESSAGE_LOADING: "Ładowanie" + MESSAGE_LOADING: "Ładowanie wiadomości..." MESSAGE_VIEW_DESC: "Wybierz wiadomość do wyświetlenia." MESSAGE_VIEW_MOVE_DESC: "Kliknij nazwę folderu w lewym panelu, aby wybrać folder docelowy." PGP_PASSWORD_INPUT_PLACEHOLDER: "Hasło" @@ -371,10 +371,10 @@ pl_PL: NOTIFICATION_DRAFTS: "Nie wybrano folderu \"Wersje robocze\", do którego są zapisywane wiadomości w trakcie ich tworzenia." NOTIFICATION_SPAM: | Nie wybrano folderu "Spam", do którego przenoszone są niepożądane wiadomości. - Jeżeli niechciane wiadomości mają być usuwane trwale, proszę o zaznaczenie opcji "Nie używaj". + Jeżeli niechciane wiadomości mają być usuwane na stałe, proszę o zaznaczenie opcji "Nie używaj". NOTIFICATION_TRASH: | Nie wybrano folderu "Kosz", do którego przenoszone są wszystkie usunięte wiadomości. - Jeżeli wiadomości mają być usuwane trwale, proszę o zaznaczenie opcji "Nie używaj". + Jeżeli wiadomości mają być usuwane na stałe, proszę o zaznaczenie opcji "Nie używaj". NOTIFICATION_ARCHIVE: "Nie został wybrany folder \"Archiwum\", zostanie użyty systemowy folder archiwizacji wiadomości." POPUPS_TWO_FACTOR_CFG: LEGEND_TWO_FACTOR_AUTH: "Autoryzacja 2-etapowa (TOTP)" diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/pt_BR.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/pt_BR.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/webmail/pt_BR.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/webmail/pt_BR.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/pt_PT.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/pt_PT.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/webmail/pt_PT.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/webmail/pt_PT.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/ro_RO.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/ro_RO.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/webmail/ro_RO.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/webmail/ro_RO.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/ru_RU.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/ru_RU.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/webmail/ru_RU.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/webmail/ru_RU.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/sk_SK.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/sk_SK.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/webmail/sk_SK.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/webmail/sk_SK.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/sl_SI.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/sl_SI.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/webmail/sl_SI.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/webmail/sl_SI.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/sv_SE.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/sv_SE.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/webmail/sv_SE.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/webmail/sv_SE.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/tr_TR.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/tr_TR.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/webmail/tr_TR.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/webmail/tr_TR.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/uk_UA.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/uk_UA.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/webmail/uk_UA.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/webmail/uk_UA.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/zh_CN.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/zh_CN.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/webmail/zh_CN.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/webmail/zh_CN.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/localization/webmail/zh_TW.yml b/rainloop/app/rainloop/v/1.14.0/app/localization/webmail/zh_TW.yml similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/localization/webmail/zh_TW.yml rename to rainloop/app/rainloop/v/1.14.0/app/localization/webmail/zh_TW.yml diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/RainLoop.asc b/rainloop/app/rainloop/v/1.14.0/app/resources/RainLoop.asc similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/RainLoop.asc rename to rainloop/app/rainloop/v/1.14.0/app/resources/RainLoop.asc diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/empty-contact.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/empty-contact.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/empty-contact.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/empty-contact.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/amazon.com.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/amazon.com.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/amazon.com.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/amazon.com.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/apple.com.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/apple.com.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/apple.com.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/apple.com.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/asana.com.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/asana.com.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/asana.com.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/asana.com.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/battle.net.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/battle.net.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/battle.net.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/battle.net.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/blizzard.com.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/blizzard.com.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/blizzard.com.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/blizzard.com.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/cnet.online.com.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/cnet.online.com.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/cnet.online.com.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/cnet.online.com.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/connect.asana.com.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/connect.asana.com.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/connect.asana.com.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/connect.asana.com.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/e.paypal.com.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/e.paypal.com.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/e.paypal.com.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/e.paypal.com.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/ea.com.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/ea.com.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/ea.com.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/ea.com.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/ebay.com.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/ebay.com.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/ebay.com.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/ebay.com.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/em.ea.com.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/em.ea.com.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/em.ea.com.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/em.ea.com.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/email.blizzard.com.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/email.blizzard.com.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/email.blizzard.com.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/email.blizzard.com.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/email.microsoft.com.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/email.microsoft.com.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/email.microsoft.com.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/email.microsoft.com.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/email.skype.com.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/email.skype.com.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/email.skype.com.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/email.skype.com.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/facebook.com.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/facebook.com.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/facebook.com.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/facebook.com.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/facebookmail.com.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/facebookmail.com.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/facebookmail.com.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/facebookmail.com.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/github.com.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/github.com.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/github.com.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/github.com.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/google.com.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/google.com.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/google.com.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/google.com.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/id.apple.com.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/id.apple.com.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/id.apple.com.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/id.apple.com.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/intl.paypal.com.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/intl.paypal.com.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/intl.paypal.com.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/intl.paypal.com.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/microsoft.com.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/microsoft.com.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/microsoft.com.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/microsoft.com.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/microsoftonline.com.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/microsoftonline.com.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/microsoftonline.com.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/microsoftonline.com.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/myspace.com.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/myspace.com.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/myspace.com.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/myspace.com.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/news.myspace.com.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/news.myspace.com.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/news.myspace.com.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/news.myspace.com.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/news.onlive.com.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/news.onlive.com.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/news.onlive.com.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/news.onlive.com.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/onlive.com.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/onlive.com.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/onlive.com.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/onlive.com.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/paypal.com.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/paypal.com.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/paypal.com.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/paypal.com.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/plus.google.com.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/plus.google.com.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/plus.google.com.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/plus.google.com.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/postmaster.twitter.com.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/postmaster.twitter.com.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/postmaster.twitter.com.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/postmaster.twitter.com.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/reply.ebay.com.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/reply.ebay.com.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/reply.ebay.com.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/reply.ebay.com.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/reply1.ebay.com.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/reply1.ebay.com.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/reply1.ebay.com.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/reply1.ebay.com.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/reply2.ebay.com.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/reply2.ebay.com.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/reply2.ebay.com.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/reply2.ebay.com.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/reply3.ebay.com.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/reply3.ebay.com.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/reply3.ebay.com.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/reply3.ebay.com.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/skype.com.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/skype.com.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/skype.com.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/skype.com.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/steampowered.com.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/steampowered.com.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/steampowered.com.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/steampowered.com.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/ted.com.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/ted.com.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/ted.com.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/ted.com.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/twitter.com.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/twitter.com.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/twitter.com.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/twitter.com.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/resources/images/services/youtube.com.png b/rainloop/app/rainloop/v/1.14.0/app/resources/images/services/youtube.com.png similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/resources/images/services/youtube.com.png rename to rainloop/app/rainloop/v/1.14.0/app/resources/images/services/youtube.com.png diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/BadBrowser.html b/rainloop/app/rainloop/v/1.14.0/app/templates/BadBrowser.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/BadBrowser.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/BadBrowser.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Error.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Error.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Error.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Error.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Index.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Index.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Index.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Index.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Social.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Social.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Social.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Social.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Themes/template.less b/rainloop/app/rainloop/v/1.14.0/app/templates/Themes/template.less similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Themes/template.less rename to rainloop/app/rainloop/v/1.14.0/app/templates/Themes/template.less diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Themes/values.less b/rainloop/app/rainloop/v/1.14.0/app/templates/Themes/values.less similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Themes/values.less rename to rainloop/app/rainloop/v/1.14.0/app/templates/Themes/values.less diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminLogin.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminLogin.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminLogin.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminLogin.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminMenu.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminMenu.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminMenu.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminMenu.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminPane.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminPane.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminPane.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminPane.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminSettingsAbout.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminSettingsAbout.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminSettingsAbout.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminSettingsAbout.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminSettingsBranding.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminSettingsBranding.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminSettingsBranding.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminSettingsBranding.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminSettingsContacts.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminSettingsContacts.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminSettingsContacts.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminSettingsContacts.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminSettingsDomainListItem.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminSettingsDomainListItem.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminSettingsDomainListItem.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminSettingsDomainListItem.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminSettingsDomains.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminSettingsDomains.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminSettingsDomains.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminSettingsDomains.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminSettingsGeneral.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminSettingsGeneral.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminSettingsGeneral.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminSettingsGeneral.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminSettingsLicensing.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminSettingsLicensing.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminSettingsLicensing.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminSettingsLicensing.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminSettingsLogin.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminSettingsLogin.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminSettingsLogin.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminSettingsLogin.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminSettingsPackages.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminSettingsPackages.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminSettingsPackages.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminSettingsPackages.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminSettingsPackagesListItem.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminSettingsPackagesListItem.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminSettingsPackagesListItem.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminSettingsPackagesListItem.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminSettingsPackagesTable.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminSettingsPackagesTable.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminSettingsPackagesTable.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminSettingsPackagesTable.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminSettingsPluginListItem.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminSettingsPluginListItem.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminSettingsPluginListItem.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminSettingsPluginListItem.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminSettingsPluginProperty.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminSettingsPluginProperty.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminSettingsPluginProperty.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminSettingsPluginProperty.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminSettingsPlugins.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminSettingsPlugins.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminSettingsPlugins.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminSettingsPlugins.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminSettingsSecurity.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminSettingsSecurity.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminSettingsSecurity.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminSettingsSecurity.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminSettingsSocial.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminSettingsSocial.html similarity index 95% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminSettingsSocial.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminSettingsSocial.html index 96bcb6532ff6326cb1266f4419ac6e96d2502cd4..7fece3d3a64bfd192ef95238a1560ce5a937b2f6 100644 --- a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/AdminSettingsSocial.html +++ b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/AdminSettingsSocial.html @@ -24,6 +24,13 @@ label: 'TAB_INTEGRATIONS/LABEL_GOOGLE_AUTH' } }"> +
- () + ()
diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/PopupsActivate.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/PopupsActivate.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/PopupsActivate.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/PopupsActivate.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/PopupsDomain.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/PopupsDomain.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/PopupsDomain.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/PopupsDomain.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/PopupsDomainAlias.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/PopupsDomainAlias.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/PopupsDomainAlias.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/PopupsDomainAlias.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/PopupsPlugin.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/PopupsPlugin.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Admin/PopupsPlugin.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Admin/PopupsPlugin.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Common/Cmd.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Common/Cmd.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Common/Cmd.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Common/Cmd.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Common/Pagenator.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Common/Pagenator.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Common/Pagenator.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Common/Pagenator.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Common/PopupsAsk.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Common/PopupsAsk.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Common/PopupsAsk.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Common/PopupsAsk.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Common/PopupsKeyboardShortcutsHelp.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Common/PopupsKeyboardShortcutsHelp.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Common/PopupsKeyboardShortcutsHelp.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Common/PopupsKeyboardShortcutsHelp.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Common/PopupsLanguages.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Common/PopupsLanguages.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Common/PopupsLanguages.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Common/PopupsLanguages.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Common/PopupsWelcomePage.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Common/PopupsWelcomePage.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Common/PopupsWelcomePage.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Common/PopupsWelcomePage.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Components/Checkbox.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Components/Checkbox.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Components/Checkbox.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Components/Checkbox.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Components/CheckboxClassic.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Components/CheckboxClassic.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Components/CheckboxClassic.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Components/CheckboxClassic.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Components/CheckboxMaterialDesign.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Components/CheckboxMaterialDesign.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Components/CheckboxMaterialDesign.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Components/CheckboxMaterialDesign.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Components/Date.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Components/Date.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Components/Date.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Components/Date.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Components/Input.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Components/Input.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Components/Input.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Components/Input.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Components/Radio.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Components/Radio.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Components/Radio.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Components/Radio.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Components/SaveTrigger.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Components/SaveTrigger.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Components/SaveTrigger.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Components/SaveTrigger.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Components/Select.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Components/Select.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Components/Select.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Components/Select.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/Components/TextArea.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/Components/TextArea.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/Components/TextArea.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/Components/TextArea.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/User/About.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/User/About.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/User/About.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/User/About.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/User/ComposeAttachment.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/User/ComposeAttachment.html similarity index 100% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/User/ComposeAttachment.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/User/ComposeAttachment.html diff --git a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/User/Login.html b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/User/Login.html similarity index 57% rename from rainloop/app/rainloop/v/1.13.0/app/templates/Views/User/Login.html rename to rainloop/app/rainloop/v/1.14.0/app/templates/Views/User/Login.html index 7aa4f869303db5950277bbf4ff45b0ea3c4d6382..daaeb1e89389d718c02bac164820752a30c32286 100644 --- a/rainloop/app/rainloop/v/1.13.0/app/templates/Views/User/Login.html +++ b/rainloop/app/rainloop/v/1.14.0/app/templates/Views/User/Login.html @@ -7,7 +7,8 @@
-
-