{"version":3,"sources":["jsdelivr-header.js","/npm/mftsccs-frontend@0.0.0/dist/bundle.js"],"names":[],"mappings":"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","file":"/npm/mftsccs-frontend@0.0.0/dist/bundle.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/mftsccs-frontend@0.0.0/dist/bundle.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","/******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ \"./src/Api/Create/CreateTheCharacter.ts\":\n/*!**********************************************!*\\\n  !*** ./src/Api/Create/CreateTheCharacter.ts ***!\n  \\**********************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   CreateTheCharacter: () => (/* binding */ CreateTheCharacter)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_CharacterRepository__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../DataStructures/CharacterRepository */ \"./src/DataStructures/CharacterRepository.ts\");\n/* harmony import */ var _DataStructures_Returner__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../DataStructures/Returner */ \"./src/DataStructures/Returner.ts\");\n/* harmony import */ var _DataStructures_TheCharacter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../DataStructures/TheCharacter */ \"./src/DataStructures/TheCharacter.ts\");\n/* harmony import */ var _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../DataStructures/BaseUrl */ \"./src/DataStructures/BaseUrl.ts\");\n/* harmony import */ var _Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../Services/Security/GetRequestHeader */ \"./src/Services/Security/GetRequestHeader.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\n\nfunction CreateTheCharacter(characterData) {\n    var characterData;\n    return __awaiter(this, void 0, void 0, function* () {\n        try {\n            characterData = _DataStructures_CharacterRepository__WEBPACK_IMPORTED_MODULE_0__.CharacterRepository.GetCharacter(characterData.data);\n            if (characterData.id == 0) {\n                var header = (0,_Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_4__.GetRequestHeader)();\n                const response = yield fetch(_DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_3__.BaseUrl.CreateTheCharacterDataUrl(), {\n                    method: 'POST',\n                    headers: header,\n                    body: JSON.stringify(characterData),\n                });\n                if (!response.ok) {\n                    throw new Error(`Error! status: ${response.status}`);\n                }\n                const resultString = yield response.json();\n                const result = resultString;\n                var savingCharacter = new _DataStructures_TheCharacter__WEBPACK_IMPORTED_MODULE_2__.TheCharacter(result.userId, characterData.data, 0, 0, 4, 4, 999, 999, \"\", false);\n                savingCharacter.id = result.id;\n                _DataStructures_CharacterRepository__WEBPACK_IMPORTED_MODULE_0__.CharacterRepository.AddCharacter(savingCharacter);\n                return result;\n            }\n            else {\n                var returningData = new _DataStructures_Returner__WEBPACK_IMPORTED_MODULE_1__.Returner(characterData.id, characterData.userId, 0, false);\n                return returningData;\n            }\n        }\n        catch (error) {\n            if (error instanceof Error) {\n                console.log('create the character error message: ', error.message);\n                return error.message;\n            }\n            else {\n                console.log('create the character unexpected error: ', error);\n                return 'An unexpected error occurred';\n            }\n        }\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Api/Create/CreateTheConceptApi.ts\":\n/*!***********************************************!*\\\n  !*** ./src/Api/Create/CreateTheConceptApi.ts ***!\n  \\***********************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   CreateTheConceptApi: () => (/* binding */ CreateTheConceptApi)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../DataStructures/BaseUrl */ \"./src/DataStructures/BaseUrl.ts\");\n/* harmony import */ var _Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Services/Security/GetRequestHeader */ \"./src/Services/Security/GetRequestHeader.ts\");\n/* harmony import */ var _app__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../app */ \"./src/app.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\nfunction CreateTheConceptApi(conceptData) {\n    return __awaiter(this, void 0, void 0, function* () {\n        let result = (0,_app__WEBPACK_IMPORTED_MODULE_2__.CreateDefaultConcept)();\n        try {\n            var header = (0,_Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_1__.GetRequestHeader)();\n            const response = yield fetch(_DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_0__.BaseUrl.CreateTheConceptUrl(), {\n                method: 'POST',\n                headers: header,\n                body: JSON.stringify(conceptData),\n            });\n            if (!response.ok) {\n                throw new Error(`Error! status: ${response.status}`);\n            }\n            const resultString = yield response.json();\n            result = resultString;\n            return result;\n        }\n        catch (error) {\n            if (error instanceof Error) {\n                console.log('Create the concept api error message: ', error.message);\n            }\n            else {\n                console.log('Create the concept api unexpected error: ', error);\n            }\n            return result;\n        }\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Api/Create/CreateTheConnectionApi.ts\":\n/*!**************************************************!*\\\n  !*** ./src/Api/Create/CreateTheConnectionApi.ts ***!\n  \\**************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   CreateTheConnectionApi: () => (/* binding */ CreateTheConnectionApi)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_Connection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../DataStructures/Connection */ \"./src/DataStructures/Connection.ts\");\n/* harmony import */ var _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../DataStructures/BaseUrl */ \"./src/DataStructures/BaseUrl.ts\");\n/* harmony import */ var _Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Services/Security/GetRequestHeader */ \"./src/Services/Security/GetRequestHeader.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\nfunction CreateTheConnectionApi(connectionData) {\n    return __awaiter(this, void 0, void 0, function* () {\n        let result = new _DataStructures_Connection__WEBPACK_IMPORTED_MODULE_0__.Connection(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);\n        try {\n            var header = (0,_Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_2__.GetRequestHeader)();\n            var jsonData = JSON.stringify(connectionData);\n            const response = yield fetch(_DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_1__.BaseUrl.CreateTheConnectionUrl(), {\n                method: 'POST',\n                headers: header,\n                body: jsonData\n            });\n            if (response.ok) {\n                const result = yield response.json();\n            }\n            else {\n                console.log('Create the connection error message: ', response.status);\n            }\n            return result;\n        }\n        catch (error) {\n            if (error instanceof Error) {\n                console.log('Create the connection error message: ', error.message);\n            }\n            else {\n                console.log(' Create the connection unexpected error: ', error);\n            }\n            return result;\n        }\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Api/Create/CreateTheGhostConceptApi.ts\":\n/*!****************************************************!*\\\n  !*** ./src/Api/Create/CreateTheGhostConceptApi.ts ***!\n  \\****************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   CreateTheGhostConceptApi: () => (/* binding */ CreateTheGhostConceptApi)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../DataStructures/BaseUrl */ \"./src/DataStructures/BaseUrl.ts\");\n/* harmony import */ var _Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Services/Security/GetRequestHeader */ \"./src/Services/Security/GetRequestHeader.ts\");\n/* harmony import */ var _DataStructures_Security_TokenStorage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../DataStructures/Security/TokenStorage */ \"./src/DataStructures/Security/TokenStorage.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\nfunction CreateTheGhostConceptApi(conceptData, connectionData) {\n    return __awaiter(this, void 0, void 0, function* () {\n        let result = {\n            \"concepts\": [],\n            \"connections\": []\n        };\n        try {\n            var header = (0,_Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_1__.GetRequestHeaderWithAuthorization)(\"application/json\", _DataStructures_Security_TokenStorage__WEBPACK_IMPORTED_MODULE_2__.TokenStorage.BearerAccessToken);\n            console.log(\"This is the header\", header);\n            let myBody = {\n                \"concepts\": conceptData,\n                \"connections\": connectionData\n            };\n            const response = yield fetch(_DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_0__.BaseUrl.CreateGhostConceptApiUrl(), {\n                method: 'POST',\n                headers: header,\n                body: JSON.stringify(myBody),\n            });\n            if (!response.ok) {\n                throw new Error(`Error! status: ${response.status}`);\n            }\n            const resultString = yield response.json();\n            result.concepts = resultString.concepts;\n            result.connections = resultString.connections;\n            return result;\n        }\n        catch (error) {\n            if (error instanceof Error) {\n                console.log('Create the concept api error message: ', error.message);\n            }\n            else {\n                console.log('Create the concept api unexpected error: ', error);\n            }\n            return result;\n        }\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Api/Create/CreateTheTextData.ts\":\n/*!*********************************************!*\\\n  !*** ./src/Api/Create/CreateTheTextData.ts ***!\n  \\*********************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   CreateTextData: () => (/* binding */ CreateTextData)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../DataStructures/BaseUrl */ \"./src/DataStructures/BaseUrl.ts\");\n/* harmony import */ var _Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Services/Security/GetRequestHeader */ \"./src/Services/Security/GetRequestHeader.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\nfunction CreateTextData(textData) {\n    return __awaiter(this, void 0, void 0, function* () {\n        try {\n            var header = (0,_Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_1__.GetRequestHeader)();\n            const response = yield fetch(_DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_0__.BaseUrl.CreateTheTextDataUrl(), {\n                method: 'POST',\n                headers: header,\n                body: JSON.stringify(textData),\n            });\n            if (!response.ok) {\n                throw new Error(`Error! status: ${response.status}`);\n            }\n            const resultString = yield response.json();\n            const result = resultString;\n            return result;\n        }\n        catch (error) {\n            if (error instanceof Error) {\n                console.log('Create the text error message: ', error.message);\n            }\n            else {\n                console.log('Create the text unexpected error: ', error);\n            }\n            return {};\n        }\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Api/DeleteTheConcept.ts\":\n/*!*************************************!*\\\n  !*** ./src/Api/DeleteTheConcept.ts ***!\n  \\*************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ DeleteTheConcept)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../DataStructures/BaseUrl */ \"./src/DataStructures/BaseUrl.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\nfunction DeleteTheConcept(id) {\n    return __awaiter(this, void 0, void 0, function* () {\n        try {\n            const formdata = new FormData();\n            formdata.append(\"id\", id.toString());\n            const response = yield fetch(_DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_0__.BaseUrl.DeleteConceptUrl(), {\n                method: 'POST',\n                body: formdata\n            });\n            if (!response.ok) {\n                throw new Error(`Error! status: ${response.status}`);\n            }\n        }\n        catch (error) {\n            if (error instanceof Error) {\n                console.log('Delete concept error message: ', error.message);\n            }\n            else {\n                console.log('Delete concept unexpected error: ', error);\n            }\n        }\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Api/DeleteTheConnection.ts\":\n/*!****************************************!*\\\n  !*** ./src/Api/DeleteTheConnection.ts ***!\n  \\****************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ DeleteTheConnection)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../DataStructures/BaseUrl */ \"./src/DataStructures/BaseUrl.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\nfunction DeleteTheConnection(id) {\n    return __awaiter(this, void 0, void 0, function* () {\n        try {\n            const formdata = new FormData();\n            formdata.append(\"id\", id.toString());\n            console.log(\"trying to delete\", id);\n            const response = yield fetch(_DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_0__.BaseUrl.DeleteTheConnectionUrl(), {\n                method: 'POST',\n                body: formdata,\n                redirect: \"follow\"\n            });\n            if (!response.ok) {\n                console.log('Delete connection error status: ', response.status);\n            }\n        }\n        catch (error) {\n            if (error instanceof Error) {\n                console.log('Delete connection error message: ', error.message);\n            }\n            else {\n                console.log('Delete connection unexpected error: ', error);\n            }\n        }\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Api/Delete/DeleteConceptInBackend.ts\":\n/*!**************************************************!*\\\n  !*** ./src/Api/Delete/DeleteConceptInBackend.ts ***!\n  \\**************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   TrashTheConcept: () => (/* binding */ TrashTheConcept)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../DataStructures/BaseUrl */ \"./src/DataStructures/BaseUrl.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\nfunction TrashTheConcept(id, token) {\n    return __awaiter(this, void 0, void 0, function* () {\n        try {\n            const myHeaders = new Headers();\n            myHeaders.append('Authorization', 'Bearer ' + token);\n            const formdata = new FormData();\n            formdata.append('id', id.toString());\n            const response = yield fetch(_DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_0__.BaseUrl.DeleteConceptUrl(), {\n                method: 'POST',\n                body: formdata,\n                headers: myHeaders,\n            });\n            if (!response.ok) {\n                throw new Error(`Delete composition Error! status: ${response.status}`);\n            }\n        }\n        catch (error) {\n            if (error instanceof Error) {\n                console.log('Delete composition error message: ', error.message);\n                return error.message;\n            }\n            else {\n                console.log('Delete composition unexpected error: ', error);\n                return 'An unexpected error occurred';\n            }\n        }\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Api/GetAiData.ts\":\n/*!******************************!*\\\n  !*** ./src/Api/GetAiData.ts ***!\n  \\******************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   GetAiData: () => (/* binding */ GetAiData)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../DataStructures/BaseUrl */ \"./src/DataStructures/BaseUrl.ts\");\n/* harmony import */ var _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../DataStructures/ConceptData */ \"./src/DataStructures/ConceptData.ts\");\n/* harmony import */ var _Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Services/Security/GetRequestHeader */ \"./src/Services/Security/GetRequestHeader.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\nfunction GetAiData() {\n    return __awaiter(this, void 0, void 0, function* () {\n        try {\n            const start = new Date().getTime();\n            var header = (0,_Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_2__.GetRequestHeader)('application/x-www-form-urlencoded');\n            const response = yield fetch(_DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_0__.BaseUrl.GetAllAiData(), {\n                method: 'GET',\n                headers: header,\n            });\n            if (!response.ok) {\n                console.log('Ai Error Message: ', \"Cannot get response\");\n            }\n            const result = yield response.json();\n            for (var i = 0; i < result.length; i++) {\n                _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_1__.ConceptsData.AddConcept(result[i]);\n            }\n            //PurgatoryDatabaseUpdated();\n            let elapsed = new Date().getTime() - start;\n            console.log(\"The time taken is \", elapsed);\n        }\n        catch (error) {\n            if (error instanceof Error) {\n                console.log('Ai Error Message: ', error.message);\n                return error.message;\n            }\n            else {\n                console.log('Ai Error Message: ', error);\n                return 'An unexpected error occurred';\n            }\n        }\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Api/GetAllConceptsByType.ts\":\n/*!*****************************************!*\\\n  !*** ./src/Api/GetAllConceptsByType.ts ***!\n  \\*****************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   GetAllConceptsByType: () => (/* binding */ GetAllConceptsByType)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../DataStructures/ConceptData */ \"./src/DataStructures/ConceptData.ts\");\n/* harmony import */ var _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../DataStructures/BaseUrl */ \"./src/DataStructures/BaseUrl.ts\");\n/* harmony import */ var _Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Services/Security/GetRequestHeader */ \"./src/Services/Security/GetRequestHeader.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\nfunction GetAllConceptsByType(type, userId) {\n    return __awaiter(this, void 0, void 0, function* () {\n        try {\n            var urlencoded = new URLSearchParams();\n            urlencoded.append(\"type\", type);\n            urlencoded.append(\"user_id\", userId.toString());\n            var header = (0,_Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_2__.GetRequestHeader)('application/x-www-form-urlencoded');\n            const response = yield fetch(_DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_1__.BaseUrl.GetAllConceptsByTypeUrl(), {\n                method: 'POST',\n                headers: header,\n                body: urlencoded\n            });\n            if (response.ok) {\n                const result = yield response.json();\n                for (var i = 0; i < result.length; i++) {\n                    _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_0__.ConceptsData.AddConcept(result[i]);\n                }\n            }\n            console.log(\"GetAllConceptsByType error\", response.status);\n        }\n        catch (error) {\n            if (error instanceof Error) {\n                console.log('GetAllConceptsByType error message: ', error.message);\n            }\n            else {\n                console.log('GetAllConceptsByType unexpected error: ', error);\n            }\n        }\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Api/GetAllConnectionsOfComposition.ts\":\n/*!***************************************************!*\\\n  !*** ./src/Api/GetAllConnectionsOfComposition.ts ***!\n  \\***************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   GetAllConnectionsOfComposition: () => (/* binding */ GetAllConnectionsOfComposition),\n/* harmony export */   GetAllConnectionsOfCompositionOnline: () => (/* binding */ GetAllConnectionsOfCompositionOnline)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_ConnectionData__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../DataStructures/ConnectionData */ \"./src/DataStructures/ConnectionData.ts\");\n/* harmony import */ var _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../DataStructures/BaseUrl */ \"./src/DataStructures/BaseUrl.ts\");\n/* harmony import */ var _Services_CheckForConnectionDeletion__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Services/CheckForConnectionDeletion */ \"./src/Services/CheckForConnectionDeletion.ts\");\n/* harmony import */ var _Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Services/Security/GetRequestHeader */ \"./src/Services/Security/GetRequestHeader.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\nfunction GetAllConnectionsOfComposition(composition_id) {\n    return __awaiter(this, void 0, void 0, function* () {\n        var connectionList = [];\n        connectionList = yield _DataStructures_ConnectionData__WEBPACK_IMPORTED_MODULE_0__.ConnectionData.GetConnectionsOfCompositionLocal(composition_id);\n        if (connectionList.length == 0) {\n            var connectionListString = yield GetAllConnectionsOfCompositionOnline(composition_id);\n            connectionList = connectionListString;\n        }\n        else {\n            var newConnectionsString = yield GetAllConnectionsOfCompositionOnline(composition_id);\n            var newConnections = newConnectionsString;\n            (0,_Services_CheckForConnectionDeletion__WEBPACK_IMPORTED_MODULE_2__.CheckForConnectionDeletion)(newConnections, connectionList);\n            connectionList = newConnections;\n        }\n        return connectionList;\n    });\n}\nfunction GetAllConnectionsOfCompositionOnline(composition_id) {\n    return __awaiter(this, void 0, void 0, function* () {\n        var connectionList = [];\n        try {\n            var header = (0,_Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_3__.GetRequestHeader)('application/x-www-form-urlencoded');\n            const response = yield fetch(_DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_1__.BaseUrl.GetAllConnectionsOfCompositionUrl(), {\n                method: 'POST',\n                headers: header,\n                body: `composition_id=${composition_id}`\n            });\n            if (!response.ok) {\n                throw new Error(`Error! status: ${response.status}`);\n            }\n            const result = yield response.json();\n            for (var i = 0; i < result.length; i++) {\n                _DataStructures_ConnectionData__WEBPACK_IMPORTED_MODULE_0__.ConnectionData.AddConnection(result[i]);\n                connectionList.push(result[i]);\n            }\n            return connectionList;\n        }\n        catch (error) {\n            if (error instanceof Error) {\n                console.log('Get all connection of composition error : ', error.message);\n            }\n            else {\n                console.log('Get all connection of composition error : ', error);\n            }\n            return connectionList;\n        }\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Api/GetAllConnectionsOfCompositionBulk.ts\":\n/*!*******************************************************!*\\\n  !*** ./src/Api/GetAllConnectionsOfCompositionBulk.ts ***!\n  \\*******************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   GetAllConnectionsOfCompositionBulk: () => (/* binding */ GetAllConnectionsOfCompositionBulk),\n/* harmony export */   GetAllConnectionsOfCompositionOnline: () => (/* binding */ GetAllConnectionsOfCompositionOnline)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_ConnectionData__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../DataStructures/ConnectionData */ \"./src/DataStructures/ConnectionData.ts\");\n/* harmony import */ var _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../DataStructures/BaseUrl */ \"./src/DataStructures/BaseUrl.ts\");\n/* harmony import */ var _Services_FindConeceptsFromConnection__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Services/FindConeceptsFromConnection */ \"./src/Services/FindConeceptsFromConnection.ts\");\n/* harmony import */ var _Services_FindConnectionsOfCompositionBulkInMemory__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Services/FindConnectionsOfCompositionBulkInMemory */ \"./src/Services/FindConnectionsOfCompositionBulkInMemory.ts\");\n/* harmony import */ var _Services_CheckForConnectionDeletion__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Services/CheckForConnectionDeletion */ \"./src/Services/CheckForConnectionDeletion.ts\");\n/* harmony import */ var _Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Services/Security/GetRequestHeader */ \"./src/Services/Security/GetRequestHeader.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\n\n\nfunction GetAllConnectionsOfCompositionBulk(composition_ids = []) {\n    return __awaiter(this, void 0, void 0, function* () {\n        var connectionList = [];\n        var conceptList = [];\n        if (composition_ids.length <= 0) {\n            return connectionList;\n        }\n        var oldConnectionList = yield (0,_Services_FindConnectionsOfCompositionBulkInMemory__WEBPACK_IMPORTED_MODULE_3__.FindConnectionsOfCompositionsBulkInMemory)(composition_ids);\n        var connectionListString = yield GetAllConnectionsOfCompositionOnline(composition_ids);\n        connectionList = connectionListString;\n        (0,_Services_CheckForConnectionDeletion__WEBPACK_IMPORTED_MODULE_4__.CheckForConnectionDeletion)(connectionList, oldConnectionList);\n        yield (0,_Services_FindConeceptsFromConnection__WEBPACK_IMPORTED_MODULE_2__.FindConceptsFromConnections)(connectionList);\n        return connectionList;\n    });\n}\nfunction GetAllConnectionsOfCompositionOnline(composition_ids = []) {\n    return __awaiter(this, void 0, void 0, function* () {\n        var connectionList = [];\n        try {\n            var header = (0,_Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_5__.GetRequestHeader)();\n            const response = yield fetch(_DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_1__.BaseUrl.GetAllConnectionsOfCompositionBulkUrl(), {\n                method: 'POST',\n                headers: header,\n                body: JSON.stringify(composition_ids)\n            });\n            if (response.ok) {\n                const result = yield response.json();\n                for (var i = 0; i < result.length; i++) {\n                    _DataStructures_ConnectionData__WEBPACK_IMPORTED_MODULE_0__.ConnectionData.AddConnection(result[i]);\n                    connectionList.push(result[i]);\n                }\n            }\n            else {\n                console.log('Get all connections of composition bulk error message: ', \"Cannot get response\");\n            }\n            return connectionList;\n        }\n        catch (error) {\n            if (error instanceof Error) {\n                console.log('Get all connections of composition bulk error message: ', error.message);\n            }\n            else {\n                console.log('Get all connections of composition bulk unexpected error: ', error);\n            }\n            return connectionList;\n        }\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Api/GetAllLinkerConnectionsFromTheConcept.ts\":\n/*!**********************************************************!*\\\n  !*** ./src/Api/GetAllLinkerConnectionsFromTheConcept.ts ***!\n  \\**********************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   GetAllLinkerConnectionsFromTheConcept: () => (/* binding */ GetAllLinkerConnectionsFromTheConcept)\n/* harmony export */ });\n/* harmony import */ var _Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Services/Security/GetRequestHeader */ \"./src/Services/Security/GetRequestHeader.ts\");\n/* harmony import */ var _app__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../app */ \"./src/app.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\nfunction GetAllLinkerConnectionsFromTheConcept(conceptId) {\n    return __awaiter(this, void 0, void 0, function* () {\n        var connections = [];\n        try {\n            const start = new Date().getTime();\n            var header = (0,_Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_0__.GetRequestHeader)('application/x-www-form-urlencoded');\n            const response = yield fetch(_app__WEBPACK_IMPORTED_MODULE_1__.BaseUrl.GetAllLinkerConnectionOfConceptUrl() + `?conceptId=${conceptId}`, {\n                method: 'GET',\n                headers: header,\n            });\n            if (response.ok) {\n                const result = yield response.json();\n                for (var i = 0; i < result.length; i++) {\n                    var connection = result[i];\n                    connections.push(connection);\n                }\n            }\n            else {\n                console.log(\"Get all linker connection from the concepts error\", \"cannot get respone\");\n            }\n            return connections;\n        }\n        catch (error) {\n            if (error instanceof Error) {\n                console.log('Get all linker connection from the concepts error: ', error.message);\n            }\n            else {\n                console.log('Get all linker connection from the concepts error(Unexpected): ', error);\n            }\n            return connections;\n        }\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Api/GetConcept.ts\":\n/*!*******************************!*\\\n  !*** ./src/Api/GetConcept.ts ***!\n  \\*******************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   GetConcept: () => (/* binding */ GetConcept)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../DataStructures/ConceptData */ \"./src/DataStructures/ConceptData.ts\");\n/* harmony import */ var _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../DataStructures/BaseUrl */ \"./src/DataStructures/BaseUrl.ts\");\n/* harmony import */ var _Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Services/Security/GetRequestHeader */ \"./src/Services/Security/GetRequestHeader.ts\");\n/* harmony import */ var _app__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../app */ \"./src/app.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\nfunction GetConcept(id) {\n    return __awaiter(this, void 0, void 0, function* () {\n        let result = (0,_app__WEBPACK_IMPORTED_MODULE_3__.CreateDefaultConcept)();\n        try {\n            var conceptUse = yield _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_0__.ConceptsData.GetConcept(id);\n            if (conceptUse.id != 0) {\n                return conceptUse;\n            }\n            else {\n                var header = (0,_Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_2__.GetRequestHeader)('application/x-www-form-urlencoded');\n                const response = yield fetch(_DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_1__.BaseUrl.GetConceptUrl(), {\n                    method: 'POST',\n                    headers: header,\n                    body: `id=${id}`\n                });\n                if (response.ok) {\n                    result = (yield response.json());\n                    if (result.id > 0) {\n                        _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_0__.ConceptsData.AddConcept(result);\n                    }\n                }\n                else {\n                    console.log(\"Get the concept error\", response.status);\n                }\n                return result;\n            }\n        }\n        catch (error) {\n            if (error instanceof Error) {\n                console.log('Get the concept error message: ', error.message);\n            }\n            else {\n                console.log('Get the concept unexpected error: ', error);\n            }\n            return result;\n        }\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Api/GetConceptBulk.ts\":\n/*!***********************************!*\\\n  !*** ./src/Api/GetConceptBulk.ts ***!\n  \\***********************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   BulkConceptGetterApi: () => (/* binding */ BulkConceptGetterApi),\n/* harmony export */   GetConceptBulk: () => (/* binding */ GetConceptBulk)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../DataStructures/ConceptData */ \"./src/DataStructures/ConceptData.ts\");\n/* harmony import */ var _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../DataStructures/BaseUrl */ \"./src/DataStructures/BaseUrl.ts\");\n/* harmony import */ var _Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Services/Security/GetRequestHeader */ \"./src/Services/Security/GetRequestHeader.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\nfunction GetConceptBulk(conceptIds) {\n    return __awaiter(this, void 0, void 0, function* () {\n        let result = [];\n        try {\n            var bulkConceptFetch = [];\n            for (let i = 0; i < conceptIds.length; i++) {\n                let conceptUse = yield _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_0__.ConceptsData.GetConcept(conceptIds[i]);\n                if (conceptUse.id == 0) {\n                    bulkConceptFetch.push(conceptIds[i]);\n                }\n            }\n            if (bulkConceptFetch.length == 0) {\n                return result;\n            }\n            else {\n                var header = (0,_Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_2__.GetRequestHeader)();\n                const response = yield fetch(_DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_1__.BaseUrl.GetConceptBulkUrl(), {\n                    method: 'POST',\n                    headers: header,\n                    body: JSON.stringify(bulkConceptFetch)\n                });\n                if (response.ok) {\n                    result = yield response.json();\n                    if (result.length > 0) {\n                        for (let i = 0; i < result.length; i++) {\n                            let concept = result[i];\n                            _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_0__.ConceptsData.AddConcept(concept);\n                        }\n                    }\n                }\n                else {\n                    console.log(\"Get Concept Bulk error\", response.status);\n                }\n                return result;\n            }\n        }\n        catch (error) {\n            if (error instanceof Error) {\n                console.log('Get Concept Bulk  error message: ', error.message);\n            }\n            else {\n                console.log('Get Concept Bulk  unexpected error: ', error);\n            }\n            return result;\n        }\n    });\n}\nfunction BulkConceptGetterApi(bulkConceptFetch) {\n    return __awaiter(this, void 0, void 0, function* () {\n        const conceptList = [];\n        if (bulkConceptFetch.length > 0) {\n            const myHeaders = {\n                'Content-Type': 'application/json',\n            };\n            try {\n                const response = yield fetch(_DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_1__.BaseUrl.GetConceptBulkUrl(), {\n                    method: 'POST',\n                    headers: myHeaders,\n                    body: JSON.stringify(bulkConceptFetch),\n                });\n                if (response.ok) {\n                    const result = yield response.json();\n                    if (result.length > 0) {\n                        for (let i = 0; i < result.length; i++) {\n                            const concept = result[i];\n                            conceptList.push(concept);\n                            _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_0__.ConceptsData.AddConcept(concept);\n                        }\n                    }\n                }\n            }\n            catch (error) {\n                if (error instanceof Error) {\n                    console.log('bulk concept getter api error: ', error.message);\n                }\n                else {\n                    console.log('bulk concept getter api error: ', error);\n                }\n            }\n        }\n        return conceptList;\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Api/GetConceptByCharacterAndType.ts\":\n/*!*************************************************!*\\\n  !*** ./src/Api/GetConceptByCharacterAndType.ts ***!\n  \\*************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   GetConceptByCharacterAndType: () => (/* binding */ GetConceptByCharacterAndType)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../DataStructures/ConceptData */ \"./src/DataStructures/ConceptData.ts\");\n/* harmony import */ var _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../DataStructures/BaseUrl */ \"./src/DataStructures/BaseUrl.ts\");\n/* harmony import */ var _Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Services/Security/GetRequestHeader */ \"./src/Services/Security/GetRequestHeader.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\nfunction GetConceptByCharacterAndType(characterValue, typeId) {\n    return __awaiter(this, void 0, void 0, function* () {\n        let concept = yield _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_0__.ConceptsData.GetConceptByCharacterAndTypeLocal(characterValue, typeId);\n        try {\n            if (concept == null || concept.id == 0) {\n                var json = {\n                    'character_value': `${characterValue}`,\n                    'type_id': typeId\n                };\n                var toSendJson = JSON.stringify(json);\n                var header = (0,_Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_2__.GetRequestHeader)();\n                const response = yield fetch(_DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_1__.BaseUrl.GetConceptByCharacterAndTypeUrl(), {\n                    method: 'POST',\n                    headers: header,\n                    body: toSendJson,\n                });\n                if (response.ok) {\n                    let conceptString = yield response.json();\n                    concept = conceptString;\n                    _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_0__.ConceptsData.AddConcept(concept);\n                }\n                else {\n                    //  throw new Error(`Error! status: ${response.status}`);\n                    console.log(\"This is the concept by type and character error\", response.status);\n                }\n            }\n            return concept;\n        }\n        catch (error) {\n            if (error instanceof Error) {\n                console.log(' This is the concept by type and character error message: ', error.message);\n            }\n            else {\n                console.log(' This is the concept by type and character unexpected error: ', error);\n            }\n            return concept;\n        }\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Api/GetConceptByCharacterValue.ts\":\n/*!***********************************************!*\\\n  !*** ./src/Api/GetConceptByCharacterValue.ts ***!\n  \\***********************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   GetConceptByCharacterValue: () => (/* binding */ GetConceptByCharacterValue)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../DataStructures/ConceptData */ \"./src/DataStructures/ConceptData.ts\");\n/* harmony import */ var _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../DataStructures/BaseUrl */ \"./src/DataStructures/BaseUrl.ts\");\n/* harmony import */ var _Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Services/Security/GetRequestHeader */ \"./src/Services/Security/GetRequestHeader.ts\");\n/* harmony import */ var _app__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../app */ \"./src/app.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\nfunction GetConceptByCharacterValue(characterValue) {\n    return __awaiter(this, void 0, void 0, function* () {\n        let result = (0,_app__WEBPACK_IMPORTED_MODULE_3__.CreateDefaultConcept)();\n        try {\n            var header = (0,_Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_2__.GetRequestHeader)('application/x-www-form-urlencoded');\n            const response = yield fetch(_DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_1__.BaseUrl.GetConceptByCharacterValueUrl(), {\n                method: 'POST',\n                headers: header,\n                body: `character_value=${characterValue}`\n            });\n            if (response.ok) {\n                result = (yield response.json());\n                if (result.id > 0) {\n                    _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_0__.ConceptsData.AddConcept(result);\n                }\n            }\n            else {\n                console.log(\"Error in Getting concept by character value Error\", response.status);\n            }\n            return result;\n        }\n        catch (error) {\n            if (error instanceof Error) {\n                console.log('Error in Getting concept by character value error message: ', error);\n            }\n            else {\n                console.log('Error in Getting concept by character value unexpected error: ', error);\n            }\n            return result;\n        }\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Api/GetConnection.ts\":\n/*!**********************************!*\\\n  !*** ./src/Api/GetConnection.ts ***!\n  \\**********************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   GetConnection: () => (/* binding */ GetConnection)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../DataStructures/BaseUrl */ \"./src/DataStructures/BaseUrl.ts\");\n/* harmony import */ var _DataStructures_ConnectionData__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../DataStructures/ConnectionData */ \"./src/DataStructures/ConnectionData.ts\");\n/* harmony import */ var _Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Services/Security/GetRequestHeader */ \"./src/Services/Security/GetRequestHeader.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\nfunction GetConnection(id) {\n    return __awaiter(this, void 0, void 0, function* () {\n        var result = yield _DataStructures_ConnectionData__WEBPACK_IMPORTED_MODULE_1__.ConnectionData.GetConnection(id);\n        try {\n            if (result.id != 0) {\n                return result;\n            }\n            else {\n                var header = (0,_Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_2__.GetRequestHeader)('application/x-www-form-urlencoded');\n                const response = yield fetch(_DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_0__.BaseUrl.GetConnectionUrl(), {\n                    method: 'POST',\n                    headers: header,\n                    body: `id=${id}`\n                });\n                if (response.ok) {\n                    result = (yield response.json());\n                    _DataStructures_ConnectionData__WEBPACK_IMPORTED_MODULE_1__.ConnectionData.AddConnection(result);\n                }\n                else {\n                    console.log(\"Get Connection Error\", response.status);\n                }\n                return result;\n            }\n        }\n        catch (error) {\n            if (error instanceof Error) {\n                console.log('Get Connection error message: ', error.message);\n            }\n            else {\n                console.log('Get Connection unexpected error: ', error);\n            }\n            return result;\n        }\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Api/GetConnectionBulk.ts\":\n/*!**************************************!*\\\n  !*** ./src/Api/GetConnectionBulk.ts ***!\n  \\**************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   GetConnectionBulk: () => (/* binding */ GetConnectionBulk)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_ConnectionData__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../DataStructures/ConnectionData */ \"./src/DataStructures/ConnectionData.ts\");\n/* harmony import */ var _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../DataStructures/BaseUrl */ \"./src/DataStructures/BaseUrl.ts\");\n/* harmony import */ var _Services_FindConeceptsFromConnection__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Services/FindConeceptsFromConnection */ \"./src/Services/FindConeceptsFromConnection.ts\");\n/* harmony import */ var _Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Services/Security/GetRequestHeader */ \"./src/Services/Security/GetRequestHeader.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\nfunction GetConnectionBulk(connectionIds = []) {\n    return __awaiter(this, void 0, void 0, function* () {\n        var connectionList = [];\n        try {\n            var bulkConnectionFetch = [];\n            for (let i = 0; i < connectionIds.length; i++) {\n                let conceptUse = yield _DataStructures_ConnectionData__WEBPACK_IMPORTED_MODULE_0__.ConnectionData.GetConnection(connectionIds[i]);\n                if (conceptUse.id == 0) {\n                    bulkConnectionFetch.push(connectionIds[i]);\n                }\n                else {\n                    connectionList.push(conceptUse);\n                }\n            }\n            if (bulkConnectionFetch.length == 0) {\n                return connectionList;\n            }\n            else {\n                var header = (0,_Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_3__.GetRequestHeader)();\n                const response = yield fetch(_DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_1__.BaseUrl.GetConnectionBulkUrl(), {\n                    method: 'POST',\n                    headers: header,\n                    body: JSON.stringify(bulkConnectionFetch)\n                });\n                if (response.ok) {\n                    const result = yield response.json();\n                    if (result.length > 0) {\n                        for (let i = 0; i < result.length; i++) {\n                            let connection = result[i];\n                            connectionList.push(connection);\n                            _DataStructures_ConnectionData__WEBPACK_IMPORTED_MODULE_0__.ConnectionData.AddConnection(connection);\n                        }\n                        yield (0,_Services_FindConeceptsFromConnection__WEBPACK_IMPORTED_MODULE_2__.FindConceptsFromConnections)(connectionList);\n                    }\n                }\n                else {\n                    console.log(\"Get Connection Bulk error\", response.status);\n                }\n                return connectionList;\n            }\n        }\n        catch (error) {\n            if (error instanceof Error) {\n                console.log('Get Connection Bulk error message: ', error.message);\n            }\n            else {\n                console.log('Get Connection Bulk unexpected error: ', error);\n            }\n            return connectionList;\n        }\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Api/GetConnectionOfTheConcept.ts\":\n/*!**********************************************!*\\\n  !*** ./src/Api/GetConnectionOfTheConcept.ts ***!\n  \\**********************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   GetConnectionOfTheConcept: () => (/* binding */ GetConnectionOfTheConcept)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../DataStructures/BaseUrl */ \"./src/DataStructures/BaseUrl.ts\");\n/* harmony import */ var _Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Services/Security/GetRequestHeader */ \"./src/Services/Security/GetRequestHeader.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\nfunction GetConnectionOfTheConcept(typeId, ofTheConceptId, userId, inpage = 10, page = 1) {\n    return __awaiter(this, void 0, void 0, function* () {\n        let connectionList = [];\n        try {\n            var urlencoded = new URLSearchParams();\n            urlencoded.append(\"typeId\", `${typeId}`);\n            urlencoded.append(\"ofTheConceptId\", `${ofTheConceptId}`);\n            urlencoded.append(\"userId\", `${userId}`);\n            urlencoded.append(\"inpage\", `${inpage}`);\n            urlencoded.append(\"page\", `${page}`);\n            var header = (0,_Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_1__.GetRequestHeader)('application/x-www-form-urlencoded');\n            const response = yield fetch(_DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_0__.BaseUrl.GetAllConnectionsOfConceptUrl(), {\n                method: 'POST',\n                headers: header,\n                body: urlencoded\n            });\n            if (response.ok) {\n                connectionList = (yield response.json());\n            }\n            else {\n                console.log(\"Get connection of concept error\", response.status);\n            }\n            return connectionList;\n        }\n        catch (error) {\n            if (error instanceof Error) {\n                console.log('Get connection of concept  error message: ', error.message);\n            }\n            else {\n                console.log('Get connection of concept unexpected error: ', error);\n            }\n            return connectionList;\n        }\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Api/GetReservedConnectionIds.ts\":\n/*!*********************************************!*\\\n  !*** ./src/Api/GetReservedConnectionIds.ts ***!\n  \\*********************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   GetReservedConnectionIds: () => (/* binding */ GetReservedConnectionIds)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_ReservedIds__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../DataStructures/ReservedIds */ \"./src/DataStructures/ReservedIds.ts\");\n/* harmony import */ var _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../DataStructures/BaseUrl */ \"./src/DataStructures/BaseUrl.ts\");\n/* harmony import */ var _Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Services/Security/GetRequestHeader */ \"./src/Services/Security/GetRequestHeader.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\nfunction GetReservedConnectionIds() {\n    return __awaiter(this, void 0, void 0, function* () {\n        try {\n            var header = (0,_Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_2__.GetRequestHeader)('application/x-www-form-urlencoded');\n            const response = yield fetch(_DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_1__.BaseUrl.GetReservedConnectionIdUrl(), {\n                method: 'GET',\n                headers: header,\n            });\n            if (!response.ok) {\n                throw new Error(`Error! status: ${response.status}`);\n            }\n            const result = yield response.json();\n            for (var i = 0; i < result.length; i++) {\n                _DataStructures_ReservedIds__WEBPACK_IMPORTED_MODULE_0__.ReservedConnectionIds.AddId(result[i]);\n            }\n        }\n        catch (error) {\n            if (error instanceof Error) {\n                console.log('get reserved connection ids error message: ', error.message);\n                return error.message;\n            }\n            else {\n                console.log('get reserved connection ids  unexpected error: ', error);\n                return 'An unexpected error occurred';\n            }\n        }\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Api/GetReservedIds.ts\":\n/*!***********************************!*\\\n  !*** ./src/Api/GetReservedIds.ts ***!\n  \\***********************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   GetReservedIds: () => (/* binding */ GetReservedIds)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_ReservedIds__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../DataStructures/ReservedIds */ \"./src/DataStructures/ReservedIds.ts\");\n/* harmony import */ var _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../DataStructures/BaseUrl */ \"./src/DataStructures/BaseUrl.ts\");\n/* harmony import */ var _Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Services/Security/GetRequestHeader */ \"./src/Services/Security/GetRequestHeader.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\nfunction GetReservedIds() {\n    return __awaiter(this, void 0, void 0, function* () {\n        try {\n            var header = (0,_Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_2__.GetRequestHeader)('application/x-www-form-urlencoded');\n            const response = yield fetch(_DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_1__.BaseUrl.GetReservedIdUrl(), {\n                method: 'GET',\n                headers: header,\n            });\n            if (!response.ok) {\n                throw new Error(`Error! status: ${response.status}`);\n            }\n            const result = yield response.json();\n            for (var i = 0; i < result.length; i++) {\n                _DataStructures_ReservedIds__WEBPACK_IMPORTED_MODULE_0__.ReservedIds.AddId(result[i]);\n            }\n        }\n        catch (error) {\n            if (error instanceof Error) {\n                console.log('get reserved ids error message: ', error.message);\n                return error.message;\n            }\n            else {\n                console.log('get reserved ids  unexpected error: ', error);\n                return 'An unexpected error occurred';\n            }\n        }\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Api/Local/GetLocalConceptByCharacterValue.ts\":\n/*!**********************************************************!*\\\n  !*** ./src/Api/Local/GetLocalConceptByCharacterValue.ts ***!\n  \\**********************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   GetLocalConceptByCharacterValue: () => (/* binding */ GetLocalConceptByCharacterValue)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_Local_LocalConceptData__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../../DataStructures/Local/LocalConceptData */ \"./src/DataStructures/Local/LocalConceptData.ts\");\n/* harmony import */ var _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../DataStructures/BaseUrl */ \"./src/DataStructures/BaseUrl.ts\");\n/* harmony import */ var _Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Services/Security/GetRequestHeader */ \"./src/Services/Security/GetRequestHeader.ts\");\n/* harmony import */ var _app__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../app */ \"./src/app.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\nfunction GetLocalConceptByCharacterValue(characterValue) {\n    return __awaiter(this, void 0, void 0, function* () {\n        let result = (0,_app__WEBPACK_IMPORTED_MODULE_3__.CreateDefaultLConcept)();\n        try {\n            var header = (0,_Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_2__.GetRequestHeader)('application/x-www-form-urlencoded');\n            const response = yield fetch(_DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_1__.BaseUrl.GetConceptByCharacterValueUrl(), {\n                method: 'POST',\n                headers: header,\n                body: `character_value=${characterValue}`\n            });\n            if (response.ok) {\n                result = (yield response.json());\n                if (result.id > 0) {\n                    _DataStructures_Local_LocalConceptData__WEBPACK_IMPORTED_MODULE_0__.LocalConceptsData.AddConcept(result);\n                }\n            }\n            else {\n                console.log(\"Error in Getting Local concept by character value Error\", response.status);\n            }\n            return result;\n        }\n        catch (error) {\n            if (error instanceof Error) {\n                console.log('Error in Getting Local concept by character value error message: ', error);\n            }\n            else {\n                console.log('Error in Getting Local concept by character value unexpected error: ', error);\n            }\n            return result;\n        }\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Api/Login.ts\":\n/*!**************************!*\\\n  !*** ./src/Api/Login.ts ***!\n  \\**************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   LoginToBackend: () => (/* binding */ LoginToBackend)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../DataStructures/BaseUrl */ \"./src/DataStructures/BaseUrl.ts\");\n/* harmony import */ var _DataStructures_Security_TokenStorage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../DataStructures/Security/TokenStorage */ \"./src/DataStructures/Security/TokenStorage.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\nfunction LoginToBackend(email, password) {\n    return __awaiter(this, void 0, void 0, function* () {\n        try {\n            var object = {\n                'email': email,\n                'password': password\n            };\n            var myHeaders = new Headers();\n            myHeaders.append(\"Content-Type\", \"application/json\");\n            var requestObject = JSON.stringify(object);\n            const response = yield fetch(_DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_0__.BaseUrl.LoginUrl(), {\n                method: 'POST',\n                headers: myHeaders,\n                body: requestObject\n            });\n            if (response.ok) {\n                const result = yield response.json();\n                console.log(result.data);\n                _DataStructures_Security_TokenStorage__WEBPACK_IMPORTED_MODULE_1__.TokenStorage.BearerAccessToken = result.data.token;\n                console.log(\"this is the token\", _DataStructures_Security_TokenStorage__WEBPACK_IMPORTED_MODULE_1__.TokenStorage.BearerAccessToken);\n                return result;\n            }\n            else {\n                console.log('Login tsccs error message: ', response.status);\n            }\n        }\n        catch (error) {\n            if (error instanceof Error) {\n                console.log('Login tsccs error message: ', error.message);\n            }\n            else {\n                console.log(' Login tsccs  unexpected error: ', error);\n            }\n            return {};\n        }\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Api/MakeTheNameInBackend.ts\":\n/*!*****************************************!*\\\n  !*** ./src/Api/MakeTheNameInBackend.ts ***!\n  \\*****************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   MakeTheNameInBackend: () => (/* binding */ MakeTheNameInBackend)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../DataStructures/BaseUrl */ \"./src/DataStructures/BaseUrl.ts\");\n/* harmony import */ var _Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Services/Security/GetRequestHeader */ \"./src/Services/Security/GetRequestHeader.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\nfunction MakeTheNameInBackend(newConceptId, referent, typeId, typeUserId) {\n    return __awaiter(this, void 0, void 0, function* () {\n        try {\n            var object = {\n                'newConceptId': newConceptId,\n                'referent': referent,\n                'typeId': typeId,\n                'typeUserId': typeUserId\n            };\n            var myHeaders = (0,_Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_1__.GetRequestHeader)();\n            var requestObject = JSON.stringify(object);\n            const response = fetch(_DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_0__.BaseUrl.MakeTheNameInBackendUrl(), {\n                method: 'POST',\n                headers: myHeaders,\n                body: requestObject\n            });\n        }\n        catch (error) {\n            if (error instanceof Error) {\n                console.log('make the name in backend error message: ', error.message);\n                return error.message;\n            }\n            else {\n                console.log('make the name in backend unexpected error: ', error);\n                return 'An unexpected error occurred';\n            }\n        }\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Api/MakeTheTypeConceptApi.ts\":\n/*!******************************************!*\\\n  !*** ./src/Api/MakeTheTypeConceptApi.ts ***!\n  \\******************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   MakeTheTypeConceptApi: () => (/* binding */ MakeTheTypeConceptApi)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../DataStructures/BaseUrl */ \"./src/DataStructures/BaseUrl.ts\");\n/* harmony import */ var _Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Services/Security/GetRequestHeader */ \"./src/Services/Security/GetRequestHeader.ts\");\n/* harmony import */ var _Services_CreateDefaultConcept__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Services/CreateDefaultConcept */ \"./src/Services/CreateDefaultConcept.ts\");\n/* harmony import */ var _app__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../app */ \"./src/app.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\nfunction MakeTheTypeConceptApi(type, userId) {\n    return __awaiter(this, void 0, void 0, function* () {\n        let concept = (0,_Services_CreateDefaultConcept__WEBPACK_IMPORTED_MODULE_2__.CreateDefaultConcept)();\n        try {\n            concept = yield (0,_app__WEBPACK_IMPORTED_MODULE_3__.GetConceptByCharacter)(type);\n            if (concept.id == 0 || concept.typeId == 4) {\n                var header = (0,_Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_1__.GetRequestHeader)('application/x-www-form-urlencoded');\n                const response = yield fetch(_DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_0__.BaseUrl.MakeTheTypeConceptUrl(), {\n                    method: 'POST',\n                    headers: header,\n                    body: `type=${type}`\n                });\n                if (!response.ok) {\n                    throw new Error(`Error! status: ${response.status}`);\n                }\n                let result = yield response.json();\n                concept = result;\n            }\n            return concept;\n        }\n        catch (error) {\n            if (error instanceof Error) {\n                console.log('Make The Type Concept Api error : ', error.message);\n            }\n            else {\n                console.log('Make The Type Concept Api error : ', error);\n            }\n            return concept;\n        }\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Api/RecursiveSearch.ts\":\n/*!************************************!*\\\n  !*** ./src/Api/RecursiveSearch.ts ***!\n  \\************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   RecursiveSearchApi: () => (/* binding */ RecursiveSearchApi)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../DataStructures/BaseUrl */ \"./src/DataStructures/BaseUrl.ts\");\n/* harmony import */ var _DataStructures_SearchQuery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../DataStructures/SearchQuery */ \"./src/DataStructures/SearchQuery.ts\");\n/* harmony import */ var _Services_GetCompositionBulk__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Services/GetCompositionBulk */ \"./src/Services/GetCompositionBulk.ts\");\n/* harmony import */ var _Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Services/Security/GetRequestHeader */ \"./src/Services/Security/GetRequestHeader.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\nfunction RecursiveSearchApi(composition = 0, listLinkers = [], textSearch = \"\") {\n    return __awaiter(this, void 0, void 0, function* () {\n        var concepts = [];\n        try {\n            var searchQuery = new _DataStructures_SearchQuery__WEBPACK_IMPORTED_MODULE_1__.SearchQuery();\n            searchQuery.composition = composition;\n            searchQuery.listLinkers = listLinkers;\n            searchQuery.textSearch = textSearch;\n            var raw = JSON.stringify(searchQuery);\n            var Connections = [];\n            var myHeaders = (0,_Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_3__.GetRequestHeader)();\n            const response = yield fetch(_DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_0__.BaseUrl.RecursiveSearchUrl(), {\n                method: 'POST',\n                headers: myHeaders,\n                body: raw\n            });\n            if (response.ok) {\n                const result = yield response.json();\n                var conceptIds = result.compositionIds;\n                var connections = result.internalConnections;\n                concepts = yield (0,_Services_GetCompositionBulk__WEBPACK_IMPORTED_MODULE_2__.GetCompositionFromConnectionsWithDataId)(conceptIds, connections);\n            }\n            else {\n                console.log(\"recursive search error \", response.status);\n            }\n            return concepts;\n        }\n        catch (error) {\n            if (error instanceof Error) {\n                console.log('recursive search error message: ', error.message);\n            }\n            else {\n                console.log('recursive search unexpected error: ', error);\n            }\n            return concepts;\n        }\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Api/Search/Search.ts\":\n/*!**********************************!*\\\n  !*** ./src/Api/Search/Search.ts ***!\n  \\**********************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   SearchAllConcepts: () => (/* binding */ SearchAllConcepts)\n/* harmony export */ });\n/* harmony import */ var _Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Services/Security/GetRequestHeader */ \"./src/Services/Security/GetRequestHeader.ts\");\n/* harmony import */ var _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../DataStructures/BaseUrl */ \"./src/DataStructures/BaseUrl.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\nfunction SearchAllConcepts(type, search, composition, token, inpage = 10, page = 1) {\n    return __awaiter(this, void 0, void 0, function* () {\n        var header = (0,_Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_0__.GetRequestHeaderWithAuthorization)('application/x-www-form-urlencoded', token);\n        var urlencoded = new URLSearchParams();\n        urlencoded.append(\"type\", type);\n        urlencoded.append(\"search\", search);\n        urlencoded.append(\"composition\", composition);\n        urlencoded.append(\"inpage\", inpage.toString());\n        urlencoded.append(\"page\", page.toString());\n        const queryUrl = _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_1__.BaseUrl.SearchCompositionsUrl() + \"?\" + urlencoded.toString();\n        try {\n            const response = yield fetch(queryUrl, {\n                method: 'GET',\n                headers: header\n            });\n            if (response.ok) {\n                let result = yield response.json();\n                return result;\n            }\n            else {\n                return [];\n            }\n        }\n        catch (ex) {\n            console.log(\"This is the searching error\", ex);\n            return [];\n        }\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Api/Search/SearchWithLinker.ts\":\n/*!********************************************!*\\\n  !*** ./src/Api/Search/SearchWithLinker.ts ***!\n  \\********************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   SearchWithLinker: () => (/* binding */ SearchWithLinker)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../DataStructures/BaseUrl */ \"./src/DataStructures/BaseUrl.ts\");\n/* harmony import */ var _Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Services/Security/GetRequestHeader */ \"./src/Services/Security/GetRequestHeader.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\nfunction SearchWithLinker(searchQuery, token = \"\") {\n    return __awaiter(this, void 0, void 0, function* () {\n        var header = (0,_Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_1__.GetRequestHeaderWithAuthorization)(\"application/json\", token);\n        const queryUrl = _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_0__.BaseUrl.SearchLinkMultipleAll();\n        const body = JSON.stringify(searchQuery);\n        try {\n            const response = yield fetch(queryUrl, {\n                method: 'POST',\n                headers: header,\n                body: body\n            });\n            if (response.ok) {\n                let result = yield response.json();\n                return result;\n            }\n            else {\n                console.log(\"This is the searching error\", response.status);\n                return [];\n            }\n        }\n        catch (ex) {\n            console.log(\"This is the searching error\", ex);\n            return [];\n        }\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Api/Session/CreateSession.ts\":\n/*!******************************************!*\\\n  !*** ./src/Api/Session/CreateSession.ts ***!\n  \\******************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   CreateSession: () => (/* binding */ CreateSession)\n/* harmony export */ });\n/* harmony import */ var _Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Services/Security/GetRequestHeader */ \"./src/Services/Security/GetRequestHeader.ts\");\n/* harmony import */ var _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../DataStructures/BaseUrl */ \"./src/DataStructures/BaseUrl.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\nfunction CreateSession(sessionData) {\n    return __awaiter(this, void 0, void 0, function* () {\n        try {\n            var header = (0,_Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_0__.GetRequestHeader)();\n            const body = JSON.stringify(sessionData);\n            const response = yield fetch(_DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_1__.BaseUrl.CreateSessionId(), {\n                method: 'POST',\n                headers: header,\n                body: body\n            });\n            if (response.ok) {\n                return response.json();\n            }\n            console.log(\"Creating session failed\", yield response.json());\n            return null;\n        }\n        catch (ex) {\n            console.log(\"Creating session failed\", ex);\n            return null;\n        }\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Api/Session/CreateSessionVisit.ts\":\n/*!***********************************************!*\\\n  !*** ./src/Api/Session/CreateSessionVisit.ts ***!\n  \\***********************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   CreateSessionVisit: () => (/* binding */ CreateSessionVisit)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../DataStructures/BaseUrl */ \"./src/DataStructures/BaseUrl.ts\");\n/* harmony import */ var _Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Services/Security/GetRequestHeader */ \"./src/Services/Security/GetRequestHeader.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\nfunction CreateSessionVisit(sessionId, url) {\n    return __awaiter(this, void 0, void 0, function* () {\n        try {\n            var header = (0,_Services_Security_GetRequestHeader__WEBPACK_IMPORTED_MODULE_1__.GetRequestHeader)(\"application/x-www-form-urlencoded\");\n            const urlencoded = new URLSearchParams();\n            urlencoded.append(\"sessionId\", sessionId.toString());\n            urlencoded.append(\"url\", url);\n            const response = yield fetch(_DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_0__.BaseUrl.CreateSessionVisitUrl(), {\n                method: 'POST',\n                headers: header,\n                body: urlencoded\n            });\n            if (response.ok) {\n                return response.json();\n            }\n            console.log(\"Creating session url failed\", yield response.json());\n            return null;\n        }\n        catch (ex) {\n            console.log(\"Creating session url failed\", ex);\n            return null;\n        }\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Api/Signin.ts\":\n/*!***************************!*\\\n  !*** ./src/Api/Signin.ts ***!\n  \\***************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Signin)\n/* harmony export */ });\n/* harmony import */ var _app__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../app */ \"./src/app.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\nfunction Signin(signinInfo) {\n    return __awaiter(this, void 0, void 0, function* () {\n        const raw = JSON.stringify({\n            email: signinInfo.email,\n            password: signinInfo.password,\n        });\n        let freeschemaRes = {\n            message: 'success',\n            status: false,\n            statusCode: 200,\n            data: '',\n        };\n        const myHeaders = new Headers();\n        myHeaders.append('Content-Type', 'application/json');\n        const url = _app__WEBPACK_IMPORTED_MODULE_0__.BaseUrl.LoginUrl();\n        try {\n            const response = yield fetch(url, {\n                method: 'POST',\n                headers: myHeaders,\n                body: raw,\n                redirect: 'follow',\n            });\n            const output = yield response.json();\n            if (response.ok) {\n                const dataObject = output === null || output === void 0 ? void 0 : output.data;\n                freeschemaRes = {\n                    message: 'success',\n                    status: true,\n                    statusCode: 200,\n                    data: dataObject,\n                };\n            }\n            else {\n                freeschemaRes = {\n                    message: 'cannot authenticate',\n                    status: false,\n                    statusCode: response.status,\n                    data: '',\n                };\n            }\n            return freeschemaRes;\n        }\n        catch (error) {\n            console.log('Sign in api error', error);\n            freeschemaRes = {\n                message: 'error',\n                status: false,\n                statusCode: 500,\n                data: '',\n            };\n            return freeschemaRes;\n        }\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Api/Signup.ts\":\n/*!***************************!*\\\n  !*** ./src/Api/Signup.ts ***!\n  \\***************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Signup)\n/* harmony export */ });\n/* harmony import */ var _app__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../app */ \"./src/app.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\nfunction Signup(signupModel) {\n    return __awaiter(this, void 0, void 0, function* () {\n        const signupResponse = yield postData(_app__WEBPACK_IMPORTED_MODULE_0__.BaseUrl.SignupUrl(), signupModel);\n        return signupResponse;\n    });\n}\nfunction postData(url = '', data = {}) {\n    return __awaiter(this, void 0, void 0, function* () {\n        let freeschemaRes = {\n            message: 'success',\n            status: false,\n            statusCode: 200,\n            data: '',\n        };\n        // Default options are marked with *\n        try {\n            const response = yield fetch(url, {\n                method: 'POST', // *GET, POST, PUT, DELETE, etc.\n                mode: 'cors', // no-cors, *cors, same-origin\n                cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached\n                credentials: 'same-origin', // include, *same-origin, omit\n                headers: {\n                    'Content-Type': 'application/json',\n                    // 'Content-Type': 'application/x-www-form-urlencoded',\n                },\n                redirect: 'follow', // manual, *follow, error\n                referrerPolicy: 'no-referrer', // no-referrer, *no-referrer-when-downgrade, origin, origin-when-cross-origin, same-origin, strict-origin, strict-origin-when-cross-origin, unsafe-url\n                body: JSON.stringify(data), // body data type must match \"Content-Type\" header\n            });\n            const output = yield response.json();\n            if (response.ok) {\n                freeschemaRes = {\n                    message: 'success',\n                    status: true,\n                    statusCode: 200,\n                    data: output,\n                };\n            }\n            else {\n                freeschemaRes = {\n                    message: 'cannot create',\n                    status: false,\n                    statusCode: response.status,\n                    data: '',\n                };\n            }\n            return freeschemaRes;\n        }\n        catch (error) {\n            console.log('Signup Error: ', error);\n            freeschemaRes = {\n                message: 'error',\n                status: false,\n                statusCode: 500,\n                data: '',\n            };\n            return freeschemaRes;\n        }\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/BaseUrl.ts\":\n/*!***************************************!*\\\n  !*** ./src/DataStructures/BaseUrl.ts ***!\n  \\***************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   BaseUrl: () => (/* binding */ BaseUrl)\n/* harmony export */ });\nclass BaseUrl {\n    // static GetConceptUrl:string = this.BASE_URL + '/api/getConcept';\n    static GetConceptUrl() {\n        return this.BASE_URL + '/api/getConcept';\n    }\n    static GetConnectionUrl() {\n        return this.BASE_URL + '/api/get-connection-by-id';\n    }\n    static GetConceptBulkUrl() {\n        return this.BASE_URL + '/api/get_concept_bulk';\n    }\n    static GetConnectionBulkUrl() {\n        return this.BASE_URL + '/api/get_connection_bulk';\n    }\n    static GetAllConceptsOfUserUrl() {\n        return this.BASE_URL + '/api/get_all_concepts_of_user';\n    }\n    static GetAllConnectionsOfUserUrl() {\n        return this.BASE_URL + '/api/get_all_connections_of_user';\n    }\n    static GetAllConnectionsOfCompositionUrl() {\n        return this.BASE_URL + '/api/get_all_connections_of_composition';\n    }\n    static GetAllConnectionsOfCompositionBulkUrl() {\n        return this.BASE_URL + '/api/get_all_connections_of_composition_bulk';\n    }\n    static GetConceptByCharacterValueUrl() {\n        return this.BASE_URL + '/api/get_concept_by_character_value';\n    }\n    static GetConceptByCharacterAndTypeUrl() {\n        return this.BASE_URL + '/api/get_concept_by_character_and_type';\n    }\n    static GetCharacterByCharacterUrl() {\n        return this.BASE_URL + '/api/get_character_by_character';\n    }\n    static GetAllConceptsByTypeUrl() {\n        return this.BASE_URL + '/api/get_all_concepts_by_type';\n    }\n    static GetAllConnectionsOfConceptUrl() {\n        return this.BASE_URL + '/api/get-link-connections';\n    }\n    static GetAllAiData() {\n        return this.AI_URL + '/api/get_ranked_type_id?inpage=300' || 0 || 0;\n    }\n    static GetAllPrefetchConnectionsUrl() {\n        return this.BASE_URL + '/api/get_all_connections_of_user?inpage=500';\n    }\n    static GetAllLinkerConnectionOfConceptUrl() {\n        return this.BASE_URL + '/api/get-all-linkers-from-concept';\n    }\n    static DeleteConceptUrl() {\n        return this.BASE_URL + '/api/delete_concept';\n    }\n    static RecursiveSearchUrl() {\n        return this.BASE_URL + '/api/recursivesearch-concept-connection';\n    }\n    static MakeTheNameInBackendUrl() {\n        return this.BASE_URL + '/api/make-name-from-frontend';\n    }\n    static LoginUrl() {\n        return this.BASE_URL + '/api/auth/login';\n    }\n    static SignupUrl() {\n        return this.BASE_URL + '/api/auth/signup';\n    }\n    static GetCompositionConnectionBetweenTwoConceptsUrl() {\n        return this.BASE_URL + '/api/get-composition-connection-between-two-concepts';\n    }\n    static SearchCompositionsUrl() {\n        return this.BASE_URL + '/api/search-compositions';\n    }\n    static SearchLinkMultipleAll() {\n        return this.BASE_URL + '/api/Connection/search-link-multiple-all';\n    }\n    static CreateSessionId() {\n        return this.BASE_URL + '/api/create-session-id-remote';\n    }\n    static CreateSessionVisitUrl() {\n        return this.BASE_URL + '/api/create-remote-session-visit';\n    }\n    static CreateGhostConceptApiUrl() {\n        return BaseUrl.NODE_URL + '/api/v1/local-concepts';\n    }\n    static CreateGhostConnectionApiUrl() {\n        return BaseUrl.NODE_URL + '/api/v1/local-connections';\n    }\n    //////////////////////////////////////////////////////////////////////////////\n    //////////////// API For Reserved Ids ///////////////////////////////////////\n    static GetReservedIdUrl() {\n        return this.BASE_URL + '/api/get_reserved_ids';\n    }\n    static GetReservedConnectionIdUrl() {\n        return this.BASE_URL + '/api/get_reserved_connection_ids';\n    }\n    /////////////////////////////////////////////////////////////////////////////\n    ////////////////API For Creating Data //////////////////////////////////////\n    static CreateTheTextDataUrl() {\n        return this.BASE_URL + '/api/create_text_data';\n    }\n    static CreateTheCharacterDataUrl() {\n        return this.BASE_URL + '/api/create_character_data';\n    }\n    static CreateTheConceptUrl() {\n        return this.BASE_URL + '/api/create_the_concept';\n    }\n    static CreateTheConnectionUrl() {\n        return this.BASE_URL + '/api/create_the_connection';\n    }\n    static MakeTheTypeConceptUrl() {\n        return this.BASE_URL + '/api/make_the_type_concept';\n    }\n    ////////////////////////////////////////////////////////////////////////\n    /////////////////////API FOR Deleting Connection //////////////////////\n    static DeleteTheConnectionUrl() {\n        return this.BASE_URL + '/api/delete_connection';\n    }\n}\nBaseUrl.BASE_URL = \"https://localhost:7053/\";\nBaseUrl.AI_URL = \"https://ai.freeschema.com\";\nBaseUrl.MQTT_URL = '192.168.1.249';\nBaseUrl.NODE_URL = \"http://localhost:5001\";\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/BinaryCharacterTree.ts\":\n/*!***************************************************!*\\\n  !*** ./src/DataStructures/BinaryCharacterTree.ts ***!\n  \\***************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   BinaryCharacterTree: () => (/* binding */ BinaryCharacterTree)\n/* harmony export */ });\n/* harmony import */ var _IdentifierFlags__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./IdentifierFlags */ \"./src/DataStructures/IdentifierFlags.ts\");\n/* harmony import */ var _Node__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Node */ \"./src/DataStructures/Node.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\nclass BinaryCharacterTree {\n    static waitForDataToLoad() {\n        return __awaiter(this, void 0, void 0, function* () {\n            return new Promise((resolve, reject) => {\n                this.checkFlag(resolve);\n                setTimeout(() => {\n                    reject(\"not\");\n                }, 25000);\n            });\n        });\n    }\n    static checkFlag(resolve) {\n        if (_IdentifierFlags__WEBPACK_IMPORTED_MODULE_0__.IdentifierFlags.isCharacterLoaded) {\n            return resolve(\"done\");\n        }\n        else {\n            setTimeout(BinaryCharacterTree.checkFlag, 1000, resolve);\n        }\n    }\n    ;\n    static addNodeToTree(node) {\n        return __awaiter(this, void 0, void 0, function* () {\n            if (this.characterRoot == null) {\n                this.characterRoot = node;\n                return this.characterRoot;\n            }\n            else {\n                this.characterRoot = this.characterRoot.addCharacterNode(node, this.characterRoot, this.characterRoot.height);\n            }\n            return this.characterRoot;\n        });\n    }\n    static removeNodeByCharacter(character, id) {\n        return __awaiter(this, void 0, void 0, function* () {\n            if (this.characterRoot) {\n                this.characterRoot.removeNodeWithVariants(this.characterRoot, character, id);\n            }\n        });\n    }\n    static countNumberOfNodes() {\n        if (this.characterRoot) {\n            return this.characterRoot.countNodeBelow(this.characterRoot);\n        }\n        return 0;\n    }\n    static addConceptToTree(concept) {\n        if (concept.characterValue != \"\") {\n            var node = new _Node__WEBPACK_IMPORTED_MODULE_1__.Node(concept.characterValue, concept, null, null);\n            this.addNodeToTree(node);\n        }\n    }\n    static getNodeFromTree(value) {\n        if (this.characterRoot) {\n            var Node = this.characterRoot.getCharacterFromNode(value, this.characterRoot);\n            return Node;\n        }\n        return this.characterRoot;\n    }\n    static getCharacterAndTypeFromTree(value, typeId) {\n        return __awaiter(this, void 0, void 0, function* () {\n            try {\n                var data = yield this.waitForDataToLoad();\n            }\n            catch (exception) {\n                return null;\n            }\n            if (this.characterRoot) {\n                var Node = this.characterRoot.getFromNodeWithCharacterAndType(value, typeId, this.characterRoot);\n                return Node;\n            }\n            return this.characterRoot;\n        });\n    }\n    static removeConceptCharacter(id) {\n        if (this.characterRoot) {\n            this.characterRoot = this.characterRoot.removeNode(this.characterRoot, id);\n        }\n    }\n}\nBinaryCharacterTree.characterRoot = null;\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/BinaryTree.ts\":\n/*!******************************************!*\\\n  !*** ./src/DataStructures/BinaryTree.ts ***!\n  \\******************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   BinaryTree: () => (/* binding */ BinaryTree)\n/* harmony export */ });\n/* harmony import */ var _BinaryCharacterTree__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BinaryCharacterTree */ \"./src/DataStructures/BinaryCharacterTree.ts\");\n/* harmony import */ var _Node__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Node */ \"./src/DataStructures/Node.ts\");\n/* harmony import */ var _IdentifierFlags__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./IdentifierFlags */ \"./src/DataStructures/IdentifierFlags.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\nclass BinaryTree {\n    static addNodeToTree(node) {\n        if (this.root == null) {\n            this.root = node;\n            return this.root;\n        }\n        else {\n            this.root = this.root.addNode(node, this.root, this.root.height);\n        }\n    }\n    static waitForDataToLoad() {\n        return __awaiter(this, void 0, void 0, function* () {\n            return new Promise((resolve, reject) => {\n                this.checkFlag(resolve);\n                setTimeout(() => {\n                    reject(\"not\");\n                }, 25000);\n            });\n        });\n    }\n    static checkFlag(resolve) {\n        if (_IdentifierFlags__WEBPACK_IMPORTED_MODULE_2__.IdentifierFlags.isDataLoaded) {\n            return resolve(\"done\");\n        }\n        else {\n            setTimeout(BinaryTree.checkFlag, 1000, resolve);\n        }\n    }\n    ;\n    static addConceptToTree(concept) {\n        var node = new _Node__WEBPACK_IMPORTED_MODULE_1__.Node(concept.id, concept, null, null);\n        var characterNode = new _Node__WEBPACK_IMPORTED_MODULE_1__.Node(concept.characterValue, concept, null, null);\n        _BinaryCharacterTree__WEBPACK_IMPORTED_MODULE_0__.BinaryCharacterTree.addNodeToTree(characterNode);\n        this.addNodeToTree(node);\n    }\n    static getNodeFromTree(id) {\n        return __awaiter(this, void 0, void 0, function* () {\n            try {\n                var data = yield this.waitForDataToLoad();\n            }\n            catch (exception) {\n                return null;\n            }\n            if (this.root) {\n                var Node = this.root.getFromNode(id, this.root);\n                return Node;\n            }\n            return null;\n        });\n    }\n    static removeNodeFromTree(id) {\n        return __awaiter(this, void 0, void 0, function* () {\n            if (this.root) {\n                this.root = this.root.removeNode(this.root, id);\n            }\n        });\n    }\n    static countNumberOfNodes() {\n        if (this.root) {\n            return this.root.countNodeBelow(this.root);\n        }\n        return 0;\n    }\n}\nBinaryTree.root = null;\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/BinaryTypeTree.ts\":\n/*!**********************************************!*\\\n  !*** ./src/DataStructures/BinaryTypeTree.ts ***!\n  \\**********************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   BinaryTypeTree: () => (/* binding */ BinaryTypeTree)\n/* harmony export */ });\n/* harmony import */ var _Services_CreateDefaultConcept__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Services/CreateDefaultConcept */ \"./src/Services/CreateDefaultConcept.ts\");\n/* harmony import */ var _IdentifierFlags__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./IdentifierFlags */ \"./src/DataStructures/IdentifierFlags.ts\");\n/* harmony import */ var _Node__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Node */ \"./src/DataStructures/Node.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\nclass BinaryTypeTree {\n    static addNodeToTree(node) {\n        return __awaiter(this, void 0, void 0, function* () {\n            if (this.typeRoot == null) {\n                this.typeRoot = node;\n                return this.typeRoot;\n            }\n            else {\n                this.typeRoot = this.typeRoot.addTypeNode(node, this.typeRoot, this.typeRoot.height);\n            }\n            return this.typeRoot;\n        });\n    }\n    static addConceptToTree(concept) {\n        if (concept.typeId != 0) {\n            var node = new _Node__WEBPACK_IMPORTED_MODULE_2__.Node(concept.typeId, concept, null, null);\n            this.addNodeToTree(node);\n        }\n    }\n    static removeTypeConcept(typeId, id) {\n        if (this.typeRoot) {\n            this.typeRoot = this.typeRoot.removeNodeWithVariants(this.typeRoot, typeId, id);\n        }\n    }\n    static getNodeFromTree(id) {\n        if (this.typeRoot) {\n            var Node = this.typeRoot.getFromNode(id, this.typeRoot);\n            return Node;\n        }\n        return this.typeRoot;\n    }\n    static getTypeVariantsFromTree(typeId) {\n        var Node = this.getNodeFromTree(typeId);\n        var concepts = [];\n        if (Node) {\n            concepts.push(Node === null || Node === void 0 ? void 0 : Node.value);\n            for (let i = 0; i < Node.variants.length; i++) {\n                concepts.push(Node.variants[i].value);\n            }\n            return concepts;\n        }\n    }\n    static waitForDataToLoad() {\n        return __awaiter(this, void 0, void 0, function* () {\n            return new Promise((resolve, reject) => {\n                this.checkFlag(resolve);\n                setTimeout(() => {\n                    reject(\"not\");\n                }, 25000);\n            });\n        });\n    }\n    static checkFlag(resolve) {\n        if (_IdentifierFlags__WEBPACK_IMPORTED_MODULE_1__.IdentifierFlags.isTypeLoaded) {\n            return resolve(\"done\");\n        }\n        else {\n            setTimeout(BinaryTypeTree.checkFlag, 1000, resolve);\n        }\n    }\n    ;\n    static getTypeVariantsFromTreeWithUserId(typeId, userId) {\n        return __awaiter(this, void 0, void 0, function* () {\n            var concepts = [];\n            try {\n                var data = yield this.waitForDataToLoad();\n            }\n            catch (exception) {\n                return concepts;\n            }\n            var Node = this.getNodeFromTree(typeId);\n            if (Node) {\n                if (Node.value.userId == userId) {\n                    concepts.push(Node === null || Node === void 0 ? void 0 : Node.value);\n                }\n                for (let i = 0; i < Node.variants.length; i++) {\n                    if (Node.variants[i].value.userId == userId) {\n                        var isPresent = false;\n                        for (let j = 0; j < concepts.length; j++) {\n                            if (concepts[j].id == Node.variants[i].value.id) {\n                                isPresent = true;\n                            }\n                        }\n                        if (!isPresent) {\n                            concepts.push(Node.variants[i].value);\n                        }\n                    }\n                }\n            }\n            return concepts;\n        });\n    }\n    static getTypeVariantsWithCharacterValue(characterValue, typeId) {\n        return __awaiter(this, void 0, void 0, function* () {\n            let concept = (0,_Services_CreateDefaultConcept__WEBPACK_IMPORTED_MODULE_0__.CreateDefaultConcept)();\n            try {\n                var data = yield this.waitForDataToLoad();\n            }\n            catch (exception) {\n                return concept;\n            }\n            var Node = this.getNodeFromTree(typeId);\n            if (Node) {\n                if (Node.value.characterValue == characterValue) {\n                    concept = Node.value;\n                }\n                for (let i = 0; i < Node.variants.length; i++) {\n                    if (Node.variants[i].value.characterValue == characterValue) {\n                        concept = Node.variants[i].value;\n                    }\n                }\n            }\n            return concept;\n        });\n    }\n    static countNumberOfNodes() {\n        if (this.typeRoot) {\n            return this.typeRoot.countNodeBelow(this.typeRoot);\n        }\n        return 0;\n    }\n}\nBinaryTypeTree.typeRoot = null;\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/CharacterRepository.ts\":\n/*!***************************************************!*\\\n  !*** ./src/DataStructures/CharacterRepository.ts ***!\n  \\***************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   CharacterRepository: () => (/* binding */ CharacterRepository)\n/* harmony export */ });\n/* harmony import */ var _TheCharacter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./TheCharacter */ \"./src/DataStructures/TheCharacter.ts\");\n\nclass CharacterRepository {\n    constructor() {\n        this.name = \"character Repository\";\n    }\n    static AddCharacter(character) {\n        this.characterData[character.id] = character;\n    }\n    static GetCharacter(value) {\n        var theCharacter = new _TheCharacter__WEBPACK_IMPORTED_MODULE_0__.TheCharacter(0, \"0\", 0, 0, 0, 0, 0, 0, \"0\", false);\n        for (var i = 0; i < this.characterData.length; i++) {\n            if (this.characterData[i].data == value) {\n                theCharacter = this.characterData[i];\n            }\n        }\n        return theCharacter;\n    }\n}\nCharacterRepository.characterData = [];\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/Composition/Composition.ts\":\n/*!*******************************************************!*\\\n  !*** ./src/DataStructures/Composition/Composition.ts ***!\n  \\*******************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   Composition: () => (/* binding */ Composition)\n/* harmony export */ });\n/* harmony import */ var _Services_Composition_BuildComposition__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Services/Composition/BuildComposition */ \"./src/Services/Composition/BuildComposition.ts\");\n/* harmony import */ var _Services_CreateDefaultConcept__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Services/CreateDefaultConcept */ \"./src/Services/CreateDefaultConcept.ts\");\n/* harmony import */ var _Services_Mqtt_publishMessage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Services/Mqtt/publishMessage */ \"./src/Services/Mqtt/publishMessage.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\nclass Composition {\n    constructor() {\n        // we can build a composition using this class\n        this.id = 0;\n        this.mainConcept = (0,_Services_CreateDefaultConcept__WEBPACK_IMPORTED_MODULE_1__.CreateDefaultConcept)();\n        this.connections = [];\n        this.concepts = [];\n        this.subcompositions = [];\n        this.cached = {};\n    }\n    updateCache() {\n        return __awaiter(this, void 0, void 0, function* () {\n            if (this.mainConcept.id == 0)\n                for (let i = 0; i < this.concepts.length; i++) {\n                    if (this.concepts[i].id == this.id) {\n                        this.mainConcept = this.concepts[i];\n                    }\n                }\n            let visitedConcepts = [];\n            this.cached = yield (0,_Services_Composition_BuildComposition__WEBPACK_IMPORTED_MODULE_0__.recursiveFetchNew)(this.id, this.connections, this.concepts, this.subcompositions, visitedConcepts);\n        });\n    }\n    UpdateAcrossDistributedSystem() {\n        var _a;\n        try {\n            if (this.id != 0) {\n                (0,_Services_Mqtt_publishMessage__WEBPACK_IMPORTED_MODULE_2__.publishMessage)('compositionUpdate', (_a = this.id) === null || _a === void 0 ? void 0 : _a.toString());\n            }\n        }\n        catch (ex) {\n            console.log('Error while publishing message', ex);\n        }\n    }\n    isUpdating() {\n        this.UpdateAcrossDistributedSystem();\n    }\n    GetDataCache() {\n        var _a, _b, _c;\n        const returnOutput = {};\n        const mainString = (_c = (_b = (_a = this.mainConcept) === null || _a === void 0 ? void 0 : _a.type) === null || _b === void 0 ? void 0 : _b.characterValue) !== null && _c !== void 0 ? _c : '';\n        returnOutput[mainString] = this.cached;\n        const FinalReturn = {};\n        FinalReturn['data'] = returnOutput;\n        FinalReturn['id'] = this.id;\n        return FinalReturn;\n    }\n}\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/Composition/CompositionBinaryTree.ts\":\n/*!*****************************************************************!*\\\n  !*** ./src/DataStructures/Composition/CompositionBinaryTree.ts ***!\n  \\*****************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   CompositionBinaryTree: () => (/* binding */ CompositionBinaryTree)\n/* harmony export */ });\n/* harmony import */ var _CompositionNode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CompositionNode */ \"./src/DataStructures/Composition/CompositionNode.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\nclass CompositionBinaryTree {\n    static addNodeToTree(node) {\n        if (this.root == null) {\n            this.root = node;\n            return this.root;\n        }\n        else {\n            this.root = this.root.addNode(node, this.root, this.root.height);\n        }\n    }\n    static addCompositionToTree(composition) {\n        const node = new _CompositionNode__WEBPACK_IMPORTED_MODULE_0__.CompositionNode(composition.id, composition, null, null);\n        this.addNodeToTree(node);\n    }\n    static getNodeFromTree(id) {\n        return __awaiter(this, void 0, void 0, function* () {\n            if (this.root) {\n                const Node = this.root.getFromNode(id, this.root);\n                return Node;\n            }\n            return null;\n        });\n    }\n    static removeNodeFromTree(id) {\n        return __awaiter(this, void 0, void 0, function* () {\n            if (this.root) {\n                this.root = this.root.removeNode(this.root, id);\n            }\n        });\n    }\n    static countNumberOfNodes() {\n        if (this.root) {\n            return this.root.countNodeBelow(this.root);\n        }\n        return 0;\n    }\n}\n// this is a binary tree to hold compositions in it\nCompositionBinaryTree.root = null;\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/Composition/CompositionNode.ts\":\n/*!***********************************************************!*\\\n  !*** ./src/DataStructures/Composition/CompositionNode.ts ***!\n  \\***********************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   CompositionNode: () => (/* binding */ CompositionNode)\n/* harmony export */ });\n/* harmony import */ var _CompositionBinaryTree__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CompositionBinaryTree */ \"./src/DataStructures/Composition/CompositionBinaryTree.ts\");\n\nclass CompositionNode {\n    constructor(key, value, leftNode, rightNode) {\n        this.expiryTime = new Date(Date.now() + 10 * 60 * 1000);\n        this.height = 1;\n        this.key = key;\n        this.value = value;\n        this.leftNode = leftNode;\n        this.rightNode = rightNode;\n    }\n    isValid() {\n        const currentTime = new Date(Date.now());\n        if (this.expiryTime < currentTime) {\n            _CompositionBinaryTree__WEBPACK_IMPORTED_MODULE_0__.CompositionBinaryTree.removeNodeFromTree(this.key);\n            return false;\n        }\n        return true;\n    }\n    saveToCache(data) {\n        this.value.cached = data;\n    }\n    addNode(passedNode, node, height) {\n        if (node == null) {\n            node = passedNode;\n            return node;\n        }\n        const LeftNode = node.leftNode;\n        const RightNode = node.rightNode;\n        if (node.key > passedNode.key) {\n            node.leftNode = this.addNode(passedNode, LeftNode, height);\n        }\n        else if (node.key < passedNode.key) {\n            node.rightNode = this.addNode(passedNode, RightNode, height);\n        }\n        // else if (node.key == passedNode.key && node.key != \"\"){\n        //     node.currentNode = passedNode;\n        // }\n        else {\n            this.isValid();\n            node = passedNode;\n            return node;\n        }\n        node.height =\n            1 +\n                Math.max(this.getHeight(node.leftNode), this.getHeight(node.rightNode));\n        const balancingFactor = this.getBalanceFactor(node);\n        if (balancingFactor > 1) {\n            if (node.leftNode) {\n                if (passedNode.key < node.leftNode.key) {\n                    return this.rightRotate(node);\n                }\n                else if (passedNode.key > node.leftNode.key) {\n                    node.leftNode = this.leftRotate(node.leftNode);\n                    return this.rightRotate(node);\n                }\n            }\n        }\n        if (balancingFactor < -1) {\n            if (node.rightNode) {\n                if (passedNode.key > node.rightNode.key) {\n                    return this.leftRotate(node);\n                }\n                else if (passedNode.key < node.rightNode.key) {\n                    node.rightNode = this.rightRotate(node.rightNode);\n                    return this.leftRotate(node);\n                }\n            }\n        }\n        this.isValid();\n        return node;\n    }\n    rightRotate(y) {\n        if (y) {\n            const x = y.leftNode;\n            if (x) {\n                const T2 = x.rightNode;\n                y.leftNode = T2;\n                x.rightNode = y;\n                y.height =\n                    Math.max(this.getHeight(y.leftNode), this.getHeight(y.rightNode)) + 1;\n                x.height =\n                    Math.max(this.getHeight(x.leftNode), this.getHeight(x.rightNode)) + 1;\n                return x;\n            }\n            // return x;\n        }\n        return y;\n    }\n    leftRotate(x) {\n        if (x) {\n            const y = x.rightNode;\n            if (y) {\n                const T2 = y.leftNode;\n                y.leftNode = x;\n                x.rightNode = T2;\n                x.height = Math.max(this.getHeight(x.leftNode), this.getHeight(x.rightNode) + 1);\n                y.height = Math.max(this.getHeight(y.leftNode), this.getHeight(x.rightNode) + 1);\n                return y;\n            }\n            //return y;\n        }\n        return x;\n    }\n    getHeight(node) {\n        if (node) {\n            return node.height;\n        }\n        return 0;\n    }\n    getBalanceFactor(N) {\n        if (N == null) {\n            return 0;\n        }\n        return this.getHeight(N.leftNode) - this.getHeight(N.rightNode);\n    }\n    getFromNode(id, node) {\n        if (node) {\n            if (id == node.key && node.isValid()) {\n                return node;\n            }\n            else if (id < node.key) {\n                return this.getFromNode(id, node.leftNode);\n            }\n            else if (id > node.key) {\n                return this.getFromNode(id, node.rightNode);\n            }\n            return node;\n        }\n        return node;\n    }\n    removeNode(passedNode, id) {\n        if (passedNode == null) {\n            return passedNode;\n        }\n        if (passedNode.key > id) {\n            passedNode.leftNode = this.removeNode(passedNode.leftNode, id);\n            return passedNode;\n        }\n        else if (passedNode.key < id) {\n            passedNode.rightNode = this.removeNode(passedNode.rightNode, id);\n            return passedNode;\n        }\n        if (passedNode.leftNode == null) {\n            const temp = passedNode.rightNode;\n            passedNode = null;\n            return temp;\n        }\n        else if (passedNode.rightNode == null) {\n            const temp = passedNode.leftNode;\n            passedNode = null;\n            return temp;\n        }\n        else {\n            // passing the rightNode to the inOrderSuccessor gives the immediate successor of the node\n            const immediateSuccessor = this.inOrderSuccessor(passedNode.rightNode);\n            passedNode.value = immediateSuccessor.value;\n            passedNode.key = immediateSuccessor.key;\n            passedNode.rightNode = this.removeNode(passedNode.rightNode, immediateSuccessor.key);\n            return passedNode;\n        }\n    }\n    countNodeBelow(root) {\n        if (root == null) {\n            return 0;\n        }\n        //recursive call to left child and right child and\n        // add the result of these with 1 ( 1 for counting the root)\n        return (1 +\n            this.countNodeBelow(root.leftNode) +\n            this.countNodeBelow(root.rightNode));\n    }\n    inOrderSuccessor(root) {\n        while (root.leftNode != null) {\n            root = root.leftNode;\n        }\n        return root;\n    }\n}\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/Concept.ts\":\n/*!***************************************!*\\\n  !*** ./src/DataStructures/Concept.ts ***!\n  \\***************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   Concept: () => (/* binding */ Concept)\n/* harmony export */ });\nclass Concept {\n    constructor(id, userId, typeId, typeUserId, categoryId, categoryUserId, referentId, referentUserId, characterValue, securityId, securityUserId, accessId, accessUserId, sessionId, sessionUserId, isNew = false, entryTimeStamp, updatedTimeStamp) {\n        this.isTemp = false;\n        this.id = id;\n        this.userId = userId;\n        this.typeId = typeId;\n        this.typeUserId = typeUserId;\n        this.ghostId = id;\n        this.categoryId = categoryId;\n        this.categoryUserId = categoryUserId;\n        this.referentId = referentId;\n        this.referent = referentId;\n        this.referentUserId = referentUserId;\n        this.characterValue = `${characterValue}`;\n        this.securityId = securityId;\n        this.securityUserId = securityUserId;\n        this.accessId = accessId;\n        this.accessUserId = accessUserId;\n        this.sessionInformationId = sessionId;\n        this.sessionInformationUserId = sessionUserId;\n        this.x = 0;\n        this.y = 0;\n        this.type = null;\n        this.isNew = isNew;\n        this.entryTimeStamp = entryTimeStamp;\n        this.updatedTimeStamp = updatedTimeStamp;\n        // ConceptsData.AddConcept(this);\n    }\n    getType() {\n        console.log(this.typeId);\n    }\n}\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/ConceptData.ts\":\n/*!*******************************************!*\\\n  !*** ./src/DataStructures/ConceptData.ts ***!\n  \\*******************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   ConceptsData: () => (/* binding */ ConceptsData)\n/* harmony export */ });\n/* harmony import */ var _Database_indexeddb__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Database/indexeddb */ \"./src/Database/indexeddb.ts\");\n/* harmony import */ var _BinaryTree__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BinaryTree */ \"./src/DataStructures/BinaryTree.ts\");\n/* harmony import */ var _BinaryCharacterTree__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./BinaryCharacterTree */ \"./src/DataStructures/BinaryCharacterTree.ts\");\n/* harmony import */ var _BinaryTypeTree__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./BinaryTypeTree */ \"./src/DataStructures/BinaryTypeTree.ts\");\n/* harmony import */ var _Services_CreateDefaultConcept__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Services/CreateDefaultConcept */ \"./src/Services/CreateDefaultConcept.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\n\nclass ConceptsData {\n    constructor() {\n        this.name = \"conceptsArray\";\n    }\n    static CheckContains(concept) {\n        var contains = false;\n        for (var i = 0; i < this.conceptsArray.length; i++) {\n            if (this.conceptsArray[i].id == concept.id) {\n                contains = true;\n            }\n        }\n        return contains;\n    }\n    static AddConceptToStorage(concept) {\n        if (concept.id > 0) {\n            (0,_Database_indexeddb__WEBPACK_IMPORTED_MODULE_0__.storeToDatabase)(\"concept\", concept);\n        }\n    }\n    static AddConcept(concept) {\n        if (concept.id > 0) {\n            //var contains = this.CheckContains(concept);\n            // this.conceptDictionary[concept.id] = concept;\n            //    if(contains){\n            //   this.RemoveConcept(concept);\n            //  }\n            (0,_Database_indexeddb__WEBPACK_IMPORTED_MODULE_0__.storeToDatabase)(\"concept\", concept);\n            _BinaryTree__WEBPACK_IMPORTED_MODULE_1__.BinaryTree.addConceptToTree(concept);\n            _BinaryTypeTree__WEBPACK_IMPORTED_MODULE_3__.BinaryTypeTree.addConceptToTree(concept);\n            _BinaryCharacterTree__WEBPACK_IMPORTED_MODULE_2__.BinaryCharacterTree.addConceptToTree(concept);\n        }\n    }\n    static AddConceptToMemory(concept) {\n        if (concept.id > 0) {\n            //var contains = this.CheckContains(concept);\n            // this.conceptDictionary[concept.id] = concept;\n            //    if(contains){\n            //   this.RemoveConcept(concept);\n            //  }\n            _BinaryTree__WEBPACK_IMPORTED_MODULE_1__.BinaryTree.addConceptToTree(concept);\n            _BinaryTypeTree__WEBPACK_IMPORTED_MODULE_3__.BinaryTypeTree.addConceptToTree(concept);\n            _BinaryCharacterTree__WEBPACK_IMPORTED_MODULE_2__.BinaryCharacterTree.addConceptToTree(concept);\n        }\n    }\n    static AddConceptTemporary(concept) {\n        var contains = this.CheckContains(concept);\n        this.conceptDictionary[concept.id] = concept;\n        if (contains) {\n            this.RemoveConcept(concept);\n        }\n        this.conceptsArray.push(concept);\n    }\n    static RemoveConcept(concept) {\n        for (var i = 0; i < this.conceptsArray.length; i++) {\n            if (this.conceptsArray[i].id == concept.id) {\n                this.conceptsArray.splice(i, 1);\n            }\n        }\n        (0,_Database_indexeddb__WEBPACK_IMPORTED_MODULE_0__.removeFromDatabase)(\"concept\", concept.id);\n    }\n    static GetConcept(id) {\n        return __awaiter(this, void 0, void 0, function* () {\n            var myConcept = (0,_Services_CreateDefaultConcept__WEBPACK_IMPORTED_MODULE_4__.CreateDefaultConcept)();\n            var node = yield _BinaryTree__WEBPACK_IMPORTED_MODULE_1__.BinaryTree.getNodeFromTree(id);\n            if (node === null || node === void 0 ? void 0 : node.value) {\n                var returnedConcept = node.value;\n                if (returnedConcept) {\n                    myConcept = returnedConcept;\n                }\n            }\n            // if(myConcept.id == 0 || myConcept == null){\n            //     for(var i=0; i<this.conceptsArray.length; i++){\n            //         if(this.conceptsArray[i].id == id){\n            //             myConcept = this.conceptsArray[i];\n            //         }\n            //     }\n            // }\n            return myConcept;\n        });\n    }\n    static GetConceptByCharacter(characterValue) {\n        return __awaiter(this, void 0, void 0, function* () {\n            var concept = (0,_Services_CreateDefaultConcept__WEBPACK_IMPORTED_MODULE_4__.CreateDefaultConcept)();\n            //  for(var i=0; i<this.conceptsArray.length; i++){\n            //      if(this.conceptsArray[i].characterValue == characterValue){\n            //         concept = this.conceptsArray[i];\n            //      }\n            //  }\n            var Node = _BinaryCharacterTree__WEBPACK_IMPORTED_MODULE_2__.BinaryCharacterTree.getNodeFromTree(characterValue);\n            if (Node) {\n                concept = Node.value;\n            }\n            // console.log(characterValue);\n            // var Node = BinaryCharacterTree.getNodeFromTree(characterValue);\n            // if(Node){\n            //     console.log(Node.value);\n            //     return Node.value;\n            // }\n            return concept;\n        });\n    }\n    static GetConceptByCharacterAndTypeLocal(character_value, typeId) {\n        return __awaiter(this, void 0, void 0, function* () {\n            var concept = (0,_Services_CreateDefaultConcept__WEBPACK_IMPORTED_MODULE_4__.CreateDefaultConcept)();\n            //var Node = await BinaryCharacterTree.getCharacterAndTypeFromTree(character_value,typeId);\n            concept = yield _BinaryTypeTree__WEBPACK_IMPORTED_MODULE_3__.BinaryTypeTree.getTypeVariantsWithCharacterValue(character_value, typeId);\n            // if(Node){\n            //     concept =  Node.value;\n            //     console.log(\"found the output\");\n            //     console.log(concept);\n            // }\n            return concept;\n        });\n    }\n    static GetConceptsByTypeId(typeId) {\n        var myConcept;\n        let ConceptList = [];\n        myConcept = null;\n        for (var i = 0; i < this.conceptsArray.length; i++) {\n            if (this.conceptsArray[i].typeId == typeId) {\n                ConceptList.push(this.conceptsArray[i]);\n            }\n        }\n        //  getFromDatabaseWithType(\"concept\",\"typeId\",typeId).then(conceptList=>{\n        //     console.log(\"thi sis my list\");\n        //  });\n        //   var dbConceptList = await getFromDatabaseWithTypeOld(\"concept\",\"typeId\", typeId);\n        //   console.log(dbConceptList);\n        //   if(Array.isArray(dbConceptList)){\n        //         console.log(dbConceptList);\n        //         console.log(dbConceptList.length);\n        //  for(var i=0; i< dbConceptList.length; i++){\n        //     console.log(\"here to push firsts\");\n        //     var contains: boolean = false;\n        //     for(var j=0; j< ConceptList.length; j++){\n        //         if(dbConceptList[i].id == ConceptList[j].id){\n        //             contains = true;\n        //         }\n        //     }\n        //     console.log(\"here to push\");\n        //     if(!contains){\n        //         ConceptList.push(dbConceptList[i]);\n        //     }\n        //  }\n        // }\n        // console.log(\"this is the concept list\");\n        // console.log(ConceptList);\n        return ConceptList;\n    }\n    static GetConceptsByTypeIdAndUser(typeId, userId) {\n        return __awaiter(this, void 0, void 0, function* () {\n            let ConceptList = [];\n            ConceptList = yield _BinaryTypeTree__WEBPACK_IMPORTED_MODULE_3__.BinaryTypeTree.getTypeVariantsFromTreeWithUserId(typeId, userId);\n            return ConceptList;\n        });\n    }\n    static GetBinaryCharacterTree() {\n        return _BinaryCharacterTree__WEBPACK_IMPORTED_MODULE_2__.BinaryCharacterTree.characterRoot;\n    }\n    getName() {\n        return this.name;\n    }\n}\nConceptsData.conceptsArray = [];\nConceptsData.conceptDictionary = [];\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/Connection.ts\":\n/*!******************************************!*\\\n  !*** ./src/DataStructures/Connection.ts ***!\n  \\******************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   Connection: () => (/* binding */ Connection)\n/* harmony export */ });\n/* harmony import */ var _Services_CreateDefaultConcept__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Services/CreateDefaultConcept */ \"./src/Services/CreateDefaultConcept.ts\");\n\nclass Connection {\n    constructor(id = 0, ofTheConceptId, toTheConceptId, ofTheConceptUserId, toTheConceptUserId, userId, typeId, typeUserId, orderId, orderUserId, securityId, securityUserId, accessId, accessUserId, sessionInformationId, sessionInformationUserId) {\n        this.isTemp = false;\n        this.type = (0,_Services_CreateDefaultConcept__WEBPACK_IMPORTED_MODULE_0__.CreateDefaultConcept)();\n        this.id = id;\n        this.OfTheConceptId = ofTheConceptId;\n        this.ToTheConceptId = toTheConceptId;\n        this.ofTheConceptId = ofTheConceptId;\n        this.toTheConceptId = toTheConceptId;\n        this.OfTheConceptUserId = ofTheConceptUserId;\n        this.ToTheConceptUserId = toTheConceptUserId;\n        this.userId = userId;\n        this.typeId = typeId;\n        this.ghostId = id;\n        this.typeUserId = typeUserId;\n        this.orderId = orderId;\n        this.orderUserId = orderUserId;\n        this.securityId = securityId;\n        this.securityUserId = securityUserId;\n        this.accessId = accessId;\n        this.accessUserId = accessUserId;\n        this.sessionInformationId = sessionInformationId;\n        this.sessionInformationUserId = sessionInformationUserId;\n        this.entryTimeStamp = new Date();\n        this.terminationDateTime = new Date();\n        this.localSyncTime = new Date();\n    }\n}\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/ConnectionBinaryTree/ConnectionBinaryTree.ts\":\n/*!*************************************************************************!*\\\n  !*** ./src/DataStructures/ConnectionBinaryTree/ConnectionBinaryTree.ts ***!\n  \\*************************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   ConnectionBinaryTree: () => (/* binding */ ConnectionBinaryTree)\n/* harmony export */ });\n/* harmony import */ var _IdentifierFlags__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../IdentifierFlags */ \"./src/DataStructures/IdentifierFlags.ts\");\n/* harmony import */ var _ConnectionNode__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ConnectionNode */ \"./src/DataStructures/ConnectionBinaryTree/ConnectionNode.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\nclass ConnectionBinaryTree {\n    static addNodeToTree(node) {\n        if (this.connectionroot == null) {\n            this.connectionroot = node;\n            return this.connectionroot;\n        }\n        else {\n            this.connectionroot = this.connectionroot.addNode(node, this.connectionroot, this.connectionroot.height);\n        }\n    }\n    static addConnectionToTree(connection) {\n        var node = new _ConnectionNode__WEBPACK_IMPORTED_MODULE_1__.ConnectionNode(connection.id, connection, null, null);\n        this.addNodeToTree(node);\n    }\n    static waitForDataToLoad() {\n        return __awaiter(this, void 0, void 0, function* () {\n            return new Promise((resolve, reject) => {\n                this.checkFlag(resolve);\n                setTimeout(() => {\n                    reject(\"not\");\n                }, 25000);\n            });\n        });\n    }\n    static checkFlag(resolve) {\n        if (_IdentifierFlags__WEBPACK_IMPORTED_MODULE_0__.IdentifierFlags.isConnectionLoaded) {\n            return resolve(\"done\");\n        }\n        else {\n            setTimeout(ConnectionBinaryTree.checkFlag, 1000, resolve);\n        }\n    }\n    ;\n    static removeNodeFromTree(id) {\n        return __awaiter(this, void 0, void 0, function* () {\n            if (this.connectionroot) {\n                this.connectionroot = this.connectionroot.removeNode(this.connectionroot, id);\n            }\n        });\n    }\n    static getNodeFromTree(id) {\n        return __awaiter(this, void 0, void 0, function* () {\n            try {\n                var data = yield this.waitForDataToLoad();\n            }\n            catch (exception) {\n                return null;\n            }\n            if (this.connectionroot) {\n                var Node = this.connectionroot.getFromNode(id, this.connectionroot);\n                return Node;\n            }\n            return this.connectionroot;\n        });\n    }\n}\nConnectionBinaryTree.connectionroot = null;\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/ConnectionBinaryTree/ConnectionNode.ts\":\n/*!*******************************************************************!*\\\n  !*** ./src/DataStructures/ConnectionBinaryTree/ConnectionNode.ts ***!\n  \\*******************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   ConnectionNode: () => (/* binding */ ConnectionNode)\n/* harmony export */ });\nclass ConnectionNode {\n    constructor(key, value, leftNode, rightNode) {\n        this.variants = [];\n        this.height = 1;\n        this.key = key;\n        this.value = value;\n        this.leftNode = leftNode;\n        this.rightNode = rightNode;\n        this.currentNode = null;\n    }\n    addCurrentNode(passedNode, node) {\n        if (node == null) {\n            node = passedNode;\n            return node;\n        }\n        if (passedNode.value.typeId != node.value.typeId) {\n            node.currentNode = this.addCurrentNode(passedNode, node.currentNode);\n        }\n        return node;\n    }\n    addCurrentNodeType(passedNode, node) {\n        if (node == null) {\n            node = passedNode;\n            return node;\n        }\n        var contains = false;\n        for (let i = 0; i < node.variants.length; i++) {\n            if (node.variants[i].value.id == passedNode.value.id) {\n                contains = true;\n            }\n        }\n        if (!contains) {\n            node.variants.push(passedNode);\n        }\n        //node.currentNode = this.addCurrentNode(passedNode, node.currentNode);\n        return node;\n    }\n    addNode(passedNode, node, height) {\n        if (node == null) {\n            node = passedNode;\n            return node;\n        }\n        var LeftNode = node.leftNode;\n        var RightNode = node.rightNode;\n        if (node.key > passedNode.key) {\n            node.leftNode = this.addNode(passedNode, LeftNode, height);\n        }\n        else if (node.key < passedNode.key) {\n            node.rightNode = this.addNode(passedNode, RightNode, height);\n        }\n        // else if (node.key == passedNode.key && node.key != \"\"){\n        //     node.currentNode = passedNode;\n        // }\n        else {\n            return node;\n        }\n        node.height = 1 + Math.max(this.getHeight(node.leftNode), this.getHeight(node.rightNode));\n        let balancingFactor = this.getBalanceFactor(node);\n        if (balancingFactor > 1) {\n            if (node.leftNode) {\n                if (passedNode.key < node.leftNode.key) {\n                    return this.rightRotate(node);\n                }\n                else if (passedNode.key > node.leftNode.key) {\n                    node.leftNode = this.leftRotate(node.leftNode);\n                    return this.rightRotate(node);\n                }\n            }\n        }\n        if (balancingFactor < -1) {\n            if (node.rightNode) {\n                if (passedNode.key > node.rightNode.key) {\n                    return this.leftRotate(node);\n                }\n                else if (passedNode.key < node.rightNode.key) {\n                    node.rightNode = this.rightRotate(node.rightNode);\n                    return this.leftRotate(node);\n                }\n            }\n        }\n        return node;\n    }\n    addTypeNode(passedNode, node, height) {\n        var debugFlag = false;\n        if (passedNode.value.typeId != 0) {\n            // if(passedNode.value.characterValue == \"Default\"){\n            //     console.log(\"default here\");\n            //     debugFlag = true;\n            // }\n            if (node == null) {\n                if (debugFlag) {\n                    console.log(\"equal here\", node);\n                }\n                node = passedNode;\n                return node;\n            }\n            var LeftNode = node.leftNode;\n            var RightNode = node.rightNode;\n            if (node.key > passedNode.key) {\n                if (debugFlag) {\n                    console.log(\"left  here\", node);\n                }\n                node.leftNode = this.addTypeNode(passedNode, LeftNode, height);\n            }\n            else if (node.key < passedNode.key) {\n                if (debugFlag) {\n                    console.log(\"right here\", node, RightNode);\n                }\n                node.rightNode = this.addTypeNode(passedNode, RightNode, height);\n            }\n            else {\n                if (debugFlag) {\n                    console.log(\"else here\", node, passedNode);\n                }\n                if (node.key == passedNode.key && node.key != 0) {\n                    node.addCurrentNodeType(passedNode, node);\n                }\n                return node;\n            }\n            node.height = 1 + Math.max(this.getHeight(node.leftNode), this.getHeight(node.rightNode));\n            if (debugFlag) {\n                console.log(\"height here\", node.height);\n            }\n            let balancingFactor = this.getBalanceFactor(node);\n            if (debugFlag) {\n                console.log(\"balancingFactor here\", balancingFactor);\n            }\n            if (balancingFactor > 1) {\n                if (node.leftNode) {\n                    if (passedNode.key < node.leftNode.key) {\n                        var returner = this.rightRotate(node);\n                        if (debugFlag) {\n                            console.log(\"returning here 1 \", returner);\n                        }\n                        return returner;\n                    }\n                    else if (passedNode.key > node.leftNode.key) {\n                        node.leftNode = this.leftRotate(node.leftNode);\n                        var returner = this.rightRotate(node);\n                        if (debugFlag) {\n                            console.log(\"returning here 2 \", returner);\n                        }\n                        return returner;\n                    }\n                }\n            }\n            if (balancingFactor < -1) {\n                if (node.rightNode) {\n                    if (passedNode.key > node.rightNode.key) {\n                        var returner = this.leftRotate(node);\n                        if (debugFlag) {\n                            console.log(\"returning here 3 \", returner);\n                        }\n                        return returner;\n                    }\n                    else if (passedNode.key < node.rightNode.key) {\n                        node.rightNode = this.rightRotate(node.rightNode);\n                        var returner = this.leftRotate(node);\n                        if (debugFlag) {\n                            console.log(\"returning here4 \", returner, node);\n                        }\n                        return returner;\n                    }\n                }\n            }\n        }\n        else {\n            if (debugFlag) {\n                console.log(\"what here\", node);\n            }\n        }\n        if (debugFlag) {\n            console.log(\"returning here 6\", node);\n        }\n        return node;\n    }\n    rightRotate(y) {\n        if (y) {\n            let x = y.leftNode;\n            if (x) {\n                let T2 = x.rightNode;\n                y.leftNode = T2;\n                x.rightNode = y;\n                y.height = Math.max(this.getHeight(y.leftNode), this.getHeight(y.rightNode)) + 1;\n                x.height = Math.max(this.getHeight(x.leftNode), this.getHeight(x.rightNode)) + 1;\n                return x;\n            }\n            // return x;\n        }\n        return y;\n    }\n    leftRotate(x) {\n        if (x) {\n            let y = x.rightNode;\n            if (y) {\n                let T2 = y.leftNode;\n                y.leftNode = x;\n                x.rightNode = T2;\n                x.height = Math.max(this.getHeight(x.leftNode), this.getHeight(x.rightNode) + 1);\n                y.height = Math.max(this.getHeight(y.leftNode), this.getHeight(x.rightNode) + 1);\n                return y;\n            }\n            //return y;\n        }\n        return x;\n    }\n    getHeight(node) {\n        if (node) {\n            return node.height;\n        }\n        return 0;\n    }\n    getBalanceFactor(N) {\n        if (N == null) {\n            return 0;\n        }\n        return this.getHeight(N.leftNode) - this.getHeight(N.rightNode);\n    }\n    getFromNode(id, node) {\n        if (node) {\n            if (id == node.key) {\n                return node;\n            }\n            else if (id < node.key) {\n                return this.getFromNode(id, node.leftNode);\n            }\n            else if (id > node.key) {\n                return this.getFromNode(id, node.rightNode);\n            }\n            return node;\n        }\n        return node;\n    }\n    getCharacterFromNode(value, node) {\n        if (node) {\n            if (value == node.key) {\n                return node;\n            }\n            else if (value < node.key) {\n                return this.getCharacterFromNode(value, node.leftNode);\n            }\n            else if (value > node.key) {\n                return this.getCharacterFromNode(value, node.rightNode);\n            }\n            return node;\n        }\n        return node;\n    }\n    removeNode(passedNode, id) {\n        if (passedNode == null) {\n            return passedNode;\n        }\n        if (passedNode.key > id) {\n            passedNode.leftNode = this.removeNode(passedNode.leftNode, id);\n            return passedNode;\n        }\n        else if (passedNode.key < id) {\n            passedNode.rightNode = this.removeNode(passedNode.rightNode, id);\n            return passedNode;\n        }\n        // if(passedNode.variants.length > 0){\n        //     if(passedNode.value.id == id ){\n        //     }\n        //     var newNode = passedNode.variants[0];\n        //     if(newNode){\n        //         passedNode.value = newNode.value;\n        //         passedNode.key = newNode.key;\n        //         passedNode.currentNode = newNode.currentNode;\n        //         return passedNode;\n        //     }\n        // }\n        if (passedNode.leftNode == null) {\n            let temp = passedNode.rightNode;\n            passedNode = null;\n            return temp;\n        }\n        else if (passedNode.rightNode == null) {\n            let temp = passedNode.leftNode;\n            passedNode = null;\n            return temp;\n        }\n        else {\n            // passing the rightNode to the inOrderSuccessor gives the immediate successor of the node\n            var immediateSuccessor = this.inOrderSuccessor(passedNode.rightNode);\n            passedNode.value = immediateSuccessor.value;\n            passedNode.key = immediateSuccessor.key;\n            passedNode.variants = immediateSuccessor.variants;\n            passedNode.currentNode = immediateSuccessor.currentNode;\n            passedNode.rightNode = this.removeNode(passedNode.rightNode, immediateSuccessor.key);\n            return passedNode;\n        }\n    }\n    removeNodeWithVariants(passedNode, typeIdentifier, conceptId) {\n        if (passedNode == null) {\n            return passedNode;\n        }\n        if (passedNode.key > typeIdentifier) {\n            passedNode.leftNode = this.removeNodeWithVariants(passedNode.leftNode, typeIdentifier, conceptId);\n            return passedNode;\n        }\n        else if (passedNode.key < typeIdentifier) {\n            passedNode.rightNode = this.removeNodeWithVariants(passedNode.rightNode, typeIdentifier, conceptId);\n            return passedNode;\n        }\n        if (passedNode.variants.length > 0) {\n            //condition if the main node is equal to the value\n            if (passedNode.value.id == conceptId) {\n                var newNode = passedNode.variants[0];\n                if (newNode) {\n                    passedNode.value = newNode.value;\n                    passedNode.key = newNode.key;\n                    passedNode.currentNode = newNode.currentNode;\n                    passedNode.variants.splice(0, 1);\n                    return passedNode;\n                }\n            }\n            else {\n                // in the condition that the main node is not equal to the checking value \n                for (let i = 0; i < passedNode.variants.length; i++) {\n                    if (conceptId == passedNode.variants[i].value.id) {\n                        passedNode.variants.splice(i, 1);\n                        return passedNode;\n                    }\n                }\n            }\n        }\n        if (passedNode.leftNode == null) {\n            let temp = passedNode.rightNode;\n            passedNode = null;\n            return temp;\n        }\n        else if (passedNode.rightNode == null) {\n            let temp = passedNode.leftNode;\n            passedNode = null;\n            return temp;\n        }\n        else {\n            // passing the rightNode to the inOrderSuccessor gives the immediate successor of the node\n            var immediateSuccessor = this.inOrderSuccessor(passedNode.rightNode);\n            passedNode.value = immediateSuccessor.value;\n            passedNode.key = immediateSuccessor.key;\n            passedNode.variants = immediateSuccessor.variants;\n            passedNode.currentNode = immediateSuccessor.currentNode;\n            passedNode.rightNode = this.removeNodeWithVariants(passedNode.rightNode, immediateSuccessor.key, conceptId);\n            return passedNode;\n        }\n    }\n    inOrderSuccessor(root) {\n        while (root.leftNode != null) {\n            root = root.leftNode;\n        }\n        return root;\n    }\n}\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/ConnectionBinaryTree/ConnectionTypeTree.ts\":\n/*!***********************************************************************!*\\\n  !*** ./src/DataStructures/ConnectionBinaryTree/ConnectionTypeTree.ts ***!\n  \\***********************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   ConnectionTypeTree: () => (/* binding */ ConnectionTypeTree)\n/* harmony export */ });\n/* harmony import */ var _IdentifierFlags__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../IdentifierFlags */ \"./src/DataStructures/IdentifierFlags.ts\");\n/* harmony import */ var _ConnectionNode__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ConnectionNode */ \"./src/DataStructures/ConnectionBinaryTree/ConnectionNode.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\nclass ConnectionTypeTree {\n    static addNodeToTree(node) {\n        return __awaiter(this, void 0, void 0, function* () {\n            if (this.connectionTypeRoot == null) {\n                this.connectionTypeRoot = node;\n                return this.connectionTypeRoot;\n            }\n            else {\n                this.connectionTypeRoot = this.connectionTypeRoot.addTypeNode(node, this.connectionTypeRoot, this.connectionTypeRoot.height);\n            }\n            return this.connectionTypeRoot;\n        });\n    }\n    static waitForDataToLoad() {\n        return __awaiter(this, void 0, void 0, function* () {\n            return new Promise((resolve, reject) => {\n                this.checkFlag(resolve);\n                setTimeout(() => {\n                    reject(\"not\");\n                }, 25000);\n            });\n        });\n    }\n    static checkFlag(resolve) {\n        if (_IdentifierFlags__WEBPACK_IMPORTED_MODULE_0__.IdentifierFlags.isConnectionTypeLoaded) {\n            return resolve(\"done\");\n        }\n        else {\n            setTimeout(ConnectionTypeTree.checkFlag, 1000, resolve);\n        }\n    }\n    ;\n    static addConnectionToTree(connection) {\n        if (connection.typeId != 0) {\n            var node = new _ConnectionNode__WEBPACK_IMPORTED_MODULE_1__.ConnectionNode(connection.typeId, connection, null, null);\n            this.addNodeToTree(node);\n        }\n    }\n    static removeTypeConcept(typeId, id) {\n        if (this.connectionTypeRoot) {\n            this.connectionTypeRoot = this.connectionTypeRoot.removeNodeWithVariants(this.connectionTypeRoot, typeId, id);\n        }\n    }\n    static getNodeFromTree(id) {\n        if (this.connectionTypeRoot) {\n            var Node = this.connectionTypeRoot.getFromNode(id, this.connectionTypeRoot);\n            return Node;\n        }\n        return this.connectionTypeRoot;\n    }\n    static getTypeVariantsFromTree(typeId) {\n        return __awaiter(this, void 0, void 0, function* () {\n            var connection = [];\n            try {\n                var data = yield this.waitForDataToLoad();\n            }\n            catch (exception) {\n                return connection;\n            }\n            var Node = this.getNodeFromTree(typeId);\n            if (Node) {\n                connection.push(Node === null || Node === void 0 ? void 0 : Node.value);\n                for (let i = 0; i < Node.variants.length; i++) {\n                    connection.push(Node.variants[i].value);\n                }\n                return connection;\n            }\n        });\n    }\n    static getTypeVariantsFromTreeWithUserId(typeId, userId) {\n        return __awaiter(this, void 0, void 0, function* () {\n            var concepts = [];\n            var Node = this.getNodeFromTree(typeId);\n            if (Node) {\n                if (Node.value.userId == userId) {\n                    concepts.push(Node === null || Node === void 0 ? void 0 : Node.value);\n                }\n                for (let i = 0; i < Node.variants.length; i++) {\n                    if (Node.variants[i].value.userId == userId) {\n                        concepts.push(Node.variants[i].value);\n                    }\n                }\n            }\n            return concepts;\n        });\n    }\n}\nConnectionTypeTree.connectionTypeRoot = null;\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/ConnectionData.ts\":\n/*!**********************************************!*\\\n  !*** ./src/DataStructures/ConnectionData.ts ***!\n  \\**********************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   ConnectionData: () => (/* binding */ ConnectionData)\n/* harmony export */ });\n/* harmony import */ var _Database_indexeddb__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Database/indexeddb */ \"./src/Database/indexeddb.ts\");\n/* harmony import */ var _Connection__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Connection */ \"./src/DataStructures/Connection.ts\");\n/* harmony import */ var _ConnectionBinaryTree_ConnectionBinaryTree__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ConnectionBinaryTree/ConnectionBinaryTree */ \"./src/DataStructures/ConnectionBinaryTree/ConnectionBinaryTree.ts\");\n/* harmony import */ var _ConnectionBinaryTree_ConnectionTypeTree__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ConnectionBinaryTree/ConnectionTypeTree */ \"./src/DataStructures/ConnectionBinaryTree/ConnectionTypeTree.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\nclass ConnectionData {\n    constructor() {\n        this.name = \"Connection Array\";\n    }\n    static CheckContains(connection) {\n        var contains = false;\n        for (var i = 0; i < this.connectionArray.length; i++) {\n            if (this.connectionArray[i].id == connection.id) {\n                contains = true;\n            }\n        }\n        return contains;\n    }\n    static AddConnectionToStorage(connection) {\n        (0,_Database_indexeddb__WEBPACK_IMPORTED_MODULE_0__.storeToDatabase)(\"connection\", connection);\n    }\n    static AddConnection(connection) {\n        //    var contains = this.CheckContains(connection);\n        //     if(contains){\n        //         this.RemoveConnection(connection);\n        //     }\n        //     if(connection.id != 0 || connection.isTemp){\n        //         storeToDatabase(\"connection\",connection);\n        //     }\n        //     this.connectionArray.push(connection);\n        (0,_Database_indexeddb__WEBPACK_IMPORTED_MODULE_0__.storeToDatabase)(\"connection\", connection);\n        _ConnectionBinaryTree_ConnectionBinaryTree__WEBPACK_IMPORTED_MODULE_2__.ConnectionBinaryTree.addConnectionToTree(connection);\n        _ConnectionBinaryTree_ConnectionTypeTree__WEBPACK_IMPORTED_MODULE_3__.ConnectionTypeTree.addConnectionToTree(connection);\n    }\n    static AddConnectionToMemory(connection) {\n        _ConnectionBinaryTree_ConnectionBinaryTree__WEBPACK_IMPORTED_MODULE_2__.ConnectionBinaryTree.addConnectionToTree(connection);\n        _ConnectionBinaryTree_ConnectionTypeTree__WEBPACK_IMPORTED_MODULE_3__.ConnectionTypeTree.addConnectionToTree(connection);\n    }\n    static AddToDictionary(connection) {\n        this.connectionDictionary[connection.id] = connection;\n    }\n    static RemoveConnection(connection) {\n        //    for(var i=0; i<this.connectionArray.length; i++){\n        //     if(this.connectionArray[i].id == connection.id){\n        //         this.connectionArray.splice(i, 1);\n        //     }\n        //    }\n        if (connection.id != 0) {\n            (0,_Database_indexeddb__WEBPACK_IMPORTED_MODULE_0__.removeFromDatabase)(\"connection\", connection.id);\n            _ConnectionBinaryTree_ConnectionBinaryTree__WEBPACK_IMPORTED_MODULE_2__.ConnectionBinaryTree.removeNodeFromTree(connection.id);\n            _ConnectionBinaryTree_ConnectionTypeTree__WEBPACK_IMPORTED_MODULE_3__.ConnectionTypeTree.removeTypeConcept(connection.typeId, connection.id);\n        }\n    }\n    static GetConnectionTree() {\n        return _ConnectionBinaryTree_ConnectionBinaryTree__WEBPACK_IMPORTED_MODULE_2__.ConnectionBinaryTree.connectionroot;\n    }\n    static GetConnectionTypeTree() {\n        return _ConnectionBinaryTree_ConnectionTypeTree__WEBPACK_IMPORTED_MODULE_3__.ConnectionTypeTree.connectionTypeRoot;\n    }\n    static GetConnection(id) {\n        return __awaiter(this, void 0, void 0, function* () {\n            //    var  myConcept: Connection|null;\n            //    myConcept = null;\n            //     for(var i=0; i<this.connectionArray.length; i++){\n            //         if(this.connectionArray[i].id == id){\n            //             myConcept = this.connectionArray[i];\n            //         }\n            //     }\n            //     return myConcept;\n            var myConnection = new _Connection__WEBPACK_IMPORTED_MODULE_1__.Connection(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);\n            var node = yield _ConnectionBinaryTree_ConnectionBinaryTree__WEBPACK_IMPORTED_MODULE_2__.ConnectionBinaryTree.getNodeFromTree(id);\n            if (node === null || node === void 0 ? void 0 : node.value) {\n                var returnedConcept = node.value;\n                if (returnedConcept) {\n                    myConnection = returnedConcept;\n                }\n            }\n            // if(myConcept.id == 0 || myConcept == null){\n            //     for(var i=0; i<this.conceptsArray.length; i++){\n            //         if(this.conceptsArray[i].id == id){\n            //             myConcept = this.conceptsArray[i];\n            //         }\n            //     }\n            // }\n            return myConnection;\n        });\n    }\n    static GetConnectionsOfCompositionLocal(id) {\n        return __awaiter(this, void 0, void 0, function* () {\n            var connections = [];\n            var node = yield _ConnectionBinaryTree_ConnectionTypeTree__WEBPACK_IMPORTED_MODULE_3__.ConnectionTypeTree.getNodeFromTree(id);\n            if (node === null || node === void 0 ? void 0 : node.value) {\n                var returnedConnection = node.value;\n                if (returnedConnection) {\n                    let myConnection = returnedConnection;\n                    connections.push(myConnection);\n                    for (let i = 0; i < node.variants.length; i++) {\n                        connections.push(node.variants[i].value);\n                    }\n                }\n            }\n            // if(myConcept.id == 0 || myConcept == null){\n            //     for(var i=0; i<this.conceptsArray.length; i++){\n            //         if(this.conceptsArray[i].id == id){\n            //             myConcept = this.conceptsArray[i];\n            //         }\n            //     }\n            // }\n            return connections;\n        });\n    }\n    getName() {\n        return this.name;\n    }\n}\nConnectionData.connectionArray = [];\nConnectionData.connectionDictionary = [];\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/IdentifierFlags.ts\":\n/*!***********************************************!*\\\n  !*** ./src/DataStructures/IdentifierFlags.ts ***!\n  \\***********************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   IdentifierFlags: () => (/* binding */ IdentifierFlags)\n/* harmony export */ });\nclass IdentifierFlags {\n}\nIdentifierFlags.isTypeLoaded = false;\nIdentifierFlags.isCharacterLoaded = false;\nIdentifierFlags.isDataLoaded = false;\nIdentifierFlags.isLocalDataLoaded = false;\nIdentifierFlags.isLocalCharacterLoaded = false;\nIdentifierFlags.isLocalTypeLoaded = false;\nIdentifierFlags.isConnectionLoaded = false;\nIdentifierFlags.isConnectionTypeLoaded = false;\nIdentifierFlags.isLocalConnectionLoaded = false;\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/Local/LConcept.ts\":\n/*!**********************************************!*\\\n  !*** ./src/DataStructures/Local/LConcept.ts ***!\n  \\**********************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   LConcept: () => (/* binding */ LConcept)\n/* harmony export */ });\nclass LConcept {\n    constructor(id, userId, typeId, categoryId, accessId, characterValue, typeCharacter, isNew = false, entryTimeStamp, updatedTimeStamp) {\n        this.structureType = \"lconcept\";\n        this.isComposition = false;\n        this.isTemp = false;\n        this.isSynced = false;\n        this.id = id;\n        this.userId = userId;\n        this.typeId = typeId;\n        this.ghostId = id;\n        this.categoryId = categoryId;\n        this.characterValue = characterValue;\n        this.accessId = accessId;\n        this.type = null;\n        this.isNew = isNew;\n        this.typeCharacter = typeCharacter;\n        this.entryTimeStamp = entryTimeStamp;\n        this.updatedTimeStamp = updatedTimeStamp;\n        this.isSynced = false;\n    }\n    getType() {\n        console.log(this.typeId);\n    }\n}\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/Local/LConnection.ts\":\n/*!*************************************************!*\\\n  !*** ./src/DataStructures/Local/LConnection.ts ***!\n  \\*************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   LConnection: () => (/* binding */ LConnection)\n/* harmony export */ });\n/* harmony import */ var _Services_Local_CreateDefaultLConcept__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Services/Local/CreateDefaultLConcept */ \"./src/Services/Local/CreateDefaultLConcept.ts\");\n\nclass LConnection {\n    constructor(id, ofTheConceptId, toTheConceptId, typeId, orderId, accessId) {\n        this.isTemp = false;\n        this.type = (0,_Services_Local_CreateDefaultLConcept__WEBPACK_IMPORTED_MODULE_0__.CreateDefaultLConcept)();\n        this.id = id;\n        this.OfTheConceptId = ofTheConceptId;\n        this.ToTheConceptId = toTheConceptId;\n        this.ofTheConceptId = ofTheConceptId;\n        this.toTheConceptId = toTheConceptId;\n        this.typeId = typeId;\n        this.ghostId = id;\n        this.orderId = orderId;\n        this.accessId = accessId;\n        this.entryTimeStamp = new Date();\n        this.terminationDateTime = new Date();\n        this.localSyncTime = new Date();\n    }\n}\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/Local/LNode.ts\":\n/*!*******************************************!*\\\n  !*** ./src/DataStructures/Local/LNode.ts ***!\n  \\*******************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   LNode: () => (/* binding */ LNode)\n/* harmony export */ });\nclass LNode {\n    constructor(key, value, leftNode, rightNode) {\n        this.variants = [];\n        this.height = 1;\n        this.key = key;\n        this.value = value;\n        this.leftNode = leftNode;\n        this.rightNode = rightNode;\n        this.currentNode = null;\n    }\n    addCurrentNode(passedNode, node) {\n        if (node == null) {\n            node = passedNode;\n            return node;\n        }\n        if (passedNode.value.typeId != node.value.typeId) {\n            node.currentNode = this.addCurrentNode(passedNode, node.currentNode);\n        }\n        return node;\n    }\n    addCurrentNodeType(passedNode, node) {\n        if (node == null) {\n            node = passedNode;\n            return node;\n        }\n        var contains = false;\n        for (let i = 0; i < node.variants.length; i++) {\n            if (node.variants[i].value.id == passedNode.value.id) {\n                contains = true;\n            }\n        }\n        if (!contains) {\n            node.variants.push(passedNode);\n        }\n        //node.currentNode = this.addCurrentNode(passedNode, node.currentNode);\n        return node;\n    }\n    addNode(passedNode, node, height) {\n        if (node == null) {\n            node = passedNode;\n            return node;\n        }\n        var LeftNode = node.leftNode;\n        var RightNode = node.rightNode;\n        if (node.key > passedNode.key) {\n            node.leftNode = this.addNode(passedNode, LeftNode, height);\n        }\n        else if (node.key < passedNode.key) {\n            node.rightNode = this.addNode(passedNode, RightNode, height);\n        }\n        // else if (node.key == passedNode.key && node.key != \"\"){\n        //     node.currentNode = passedNode;\n        // }\n        else {\n            return node;\n        }\n        node.height = 1 + Math.max(this.getHeight(node.leftNode), this.getHeight(node.rightNode));\n        let balancingFactor = this.getBalanceFactor(node);\n        if (balancingFactor > 1) {\n            if (node.leftNode) {\n                if (passedNode.key < node.leftNode.key) {\n                    return this.rightRotate(node);\n                }\n                else if (passedNode.key > node.leftNode.key) {\n                    node.leftNode = this.leftRotate(node.leftNode);\n                    return this.rightRotate(node);\n                }\n            }\n        }\n        if (balancingFactor < -1) {\n            if (node.rightNode) {\n                if (passedNode.key > node.rightNode.key) {\n                    return this.leftRotate(node);\n                }\n                else if (passedNode.key < node.rightNode.key) {\n                    node.rightNode = this.rightRotate(node.rightNode);\n                    return this.leftRotate(node);\n                }\n            }\n        }\n        return node;\n    }\n    addCharacterNode(passedNode, node, height) {\n        var debugFlag = false;\n        if (passedNode.value.characterValue != \"\") {\n            // if(passedNode.value.characterValue == \"Default\"){\n            //     console.log(\"default here\");\n            //     debugFlag = true;\n            // }\n            if (node == null) {\n                if (debugFlag) {\n                    console.log(\"equal here\", node);\n                }\n                node = passedNode;\n                return node;\n            }\n            // if (node.key == passedNode.key && node.key != \"\" ){\n            //     if(passedNode.value.characterValue == \"Default\"){\n            //         console.log(\"equal\");\n            //     }\n            //     node.currentNode = passedNode;\n            //     return node;\n            // }\n            var LeftNode = node.leftNode;\n            var RightNode = node.rightNode;\n            if (node.key > passedNode.key) {\n                if (debugFlag) {\n                    console.log(\"left  here\", node);\n                }\n                node.leftNode = this.addCharacterNode(passedNode, LeftNode, height);\n            }\n            else if (node.key < passedNode.key) {\n                if (debugFlag) {\n                    console.log(\"right here\", node, RightNode);\n                }\n                node.rightNode = this.addCharacterNode(passedNode, RightNode, height);\n            }\n            // else if (node.key == passedNode.key && node.key != \"\"){\n            //     node.currentNode = passedNode;\n            // }\n            else {\n                if (debugFlag) {\n                    console.log(\"else here\", node, passedNode);\n                }\n                if (node.key == passedNode.key && node.key != \"\" && node.value.id != passedNode.value.id) {\n                    // node.currentNode = this.addCurrentNode(passedNode, node.currentNode);\n                    node.addCurrentNodeType(passedNode, node);\n                }\n                return node;\n            }\n            node.height = 1 + Math.max(this.getHeight(node.leftNode), this.getHeight(node.rightNode));\n            if (debugFlag) {\n                console.log(\"height here\", node.height);\n            }\n            let balancingFactor = this.getBalanceFactor(node);\n            if (debugFlag) {\n                console.log(\"balancingFactor here\", balancingFactor);\n            }\n            if (balancingFactor > 1) {\n                if (node.leftNode) {\n                    if (passedNode.key < node.leftNode.key) {\n                        var returner = this.rightRotate(node);\n                        if (debugFlag) {\n                            console.log(\"returning here 1 \", returner);\n                        }\n                        return returner;\n                    }\n                    else if (passedNode.key > node.leftNode.key) {\n                        node.leftNode = this.leftRotate(node.leftNode);\n                        var returner = this.rightRotate(node);\n                        if (debugFlag) {\n                            console.log(\"returning here 2 \", returner);\n                        }\n                        return returner;\n                    }\n                }\n            }\n            if (balancingFactor < -1) {\n                if (node.rightNode) {\n                    if (passedNode.key > node.rightNode.key) {\n                        var returner = this.leftRotate(node);\n                        if (debugFlag) {\n                            console.log(\"returning here 3 \", returner);\n                        }\n                        return returner;\n                    }\n                    else if (passedNode.key < node.rightNode.key) {\n                        node.rightNode = this.rightRotate(node.rightNode);\n                        var returner = this.leftRotate(node);\n                        if (debugFlag) {\n                            console.log(\"returning here4 \", returner, node);\n                        }\n                        return returner;\n                    }\n                }\n            }\n        }\n        else {\n            if (debugFlag) {\n                console.log(\"what here\", node);\n            }\n        }\n        if (debugFlag) {\n            console.log(\"returning here 6\", node);\n        }\n        return node;\n    }\n    addTypeNode(passedNode, node, height) {\n        var debugFlag = false;\n        if (passedNode.value.typeId != 0) {\n            // if(passedNode.value.characterValue == \"Default\"){\n            //     console.log(\"default here\");\n            //     debugFlag = true;\n            // }\n            if (node == null) {\n                if (debugFlag) {\n                    console.log(\"equal here\", node);\n                }\n                node = passedNode;\n                return node;\n            }\n            var LeftNode = node.leftNode;\n            var RightNode = node.rightNode;\n            if (node.key > passedNode.key) {\n                if (debugFlag) {\n                    console.log(\"left  here\", node);\n                }\n                node.leftNode = this.addTypeNode(passedNode, LeftNode, height);\n            }\n            else if (node.key < passedNode.key) {\n                if (debugFlag) {\n                    console.log(\"right here\", node, RightNode);\n                }\n                node.rightNode = this.addTypeNode(passedNode, RightNode, height);\n            }\n            else {\n                if (debugFlag) {\n                    console.log(\"else here\", node, passedNode);\n                }\n                if (node.key == passedNode.key && node.key != 0 && node.value.id != passedNode.value.id) {\n                    node.addCurrentNodeType(passedNode, node);\n                }\n                return node;\n            }\n            node.height = 1 + Math.max(this.getHeight(node.leftNode), this.getHeight(node.rightNode));\n            if (debugFlag) {\n                console.log(\"height here\", node.height);\n            }\n            let balancingFactor = this.getBalanceFactor(node);\n            if (debugFlag) {\n                console.log(\"balancingFactor here\", balancingFactor);\n            }\n            if (balancingFactor > 1) {\n                if (node.leftNode) {\n                    if (passedNode.key < node.leftNode.key) {\n                        var returner = this.rightRotate(node);\n                        if (debugFlag) {\n                            console.log(\"returning here 1 \", returner);\n                        }\n                        return returner;\n                    }\n                    else if (passedNode.key > node.leftNode.key) {\n                        node.leftNode = this.leftRotate(node.leftNode);\n                        var returner = this.rightRotate(node);\n                        if (debugFlag) {\n                            console.log(\"returning here 2 \", returner);\n                        }\n                        return returner;\n                    }\n                }\n            }\n            if (balancingFactor < -1) {\n                if (node.rightNode) {\n                    if (passedNode.key > node.rightNode.key) {\n                        var returner = this.leftRotate(node);\n                        if (debugFlag) {\n                            console.log(\"returning here 3 \", returner);\n                        }\n                        return returner;\n                    }\n                    else if (passedNode.key < node.rightNode.key) {\n                        node.rightNode = this.rightRotate(node.rightNode);\n                        var returner = this.leftRotate(node);\n                        if (debugFlag) {\n                            console.log(\"returning here4 \", returner, node);\n                        }\n                        return returner;\n                    }\n                }\n            }\n        }\n        else {\n            if (debugFlag) {\n                console.log(\"what here\", node);\n            }\n        }\n        if (debugFlag) {\n            console.log(\"returning here 6\", node);\n        }\n        return node;\n    }\n    rightRotate(y) {\n        if (y) {\n            let x = y.leftNode;\n            if (x) {\n                let T2 = x.rightNode;\n                y.leftNode = T2;\n                x.rightNode = y;\n                y.height = Math.max(this.getHeight(y.leftNode), this.getHeight(y.rightNode)) + 1;\n                x.height = Math.max(this.getHeight(x.leftNode), this.getHeight(x.rightNode)) + 1;\n                return x;\n            }\n            // return x;\n        }\n        return y;\n    }\n    leftRotate(x) {\n        if (x) {\n            let y = x.rightNode;\n            if (y) {\n                let T2 = y.leftNode;\n                y.leftNode = x;\n                x.rightNode = T2;\n                x.height = Math.max(this.getHeight(x.leftNode), this.getHeight(x.rightNode) + 1);\n                y.height = Math.max(this.getHeight(y.leftNode), this.getHeight(x.rightNode) + 1);\n                return y;\n            }\n            //return y;\n        }\n        return x;\n    }\n    getHeight(node) {\n        if (node) {\n            return node.height;\n        }\n        return 0;\n    }\n    getBalanceFactor(N) {\n        if (N == null) {\n            return 0;\n        }\n        return this.getHeight(N.leftNode) - this.getHeight(N.rightNode);\n    }\n    getFromNode(id, node) {\n        if (node) {\n            if (id == node.key) {\n                return node;\n            }\n            else if (id < node.key) {\n                return this.getFromNode(id, node.leftNode);\n            }\n            else if (id > node.key) {\n                return this.getFromNode(id, node.rightNode);\n            }\n            return node;\n        }\n        return node;\n    }\n    updateNodeSyncStatus(id, value, node) {\n        if (node) {\n            if (id == node.key) {\n                let lconcept = node.value;\n                lconcept.isSynced = value;\n                node.value = lconcept;\n                return node;\n            }\n            else if (id < node.key) {\n                return this.updateNodeSyncStatus(id, value, node.leftNode);\n            }\n            else if (id > node.key) {\n                return this.updateNodeSyncStatus(id, value, node.rightNode);\n            }\n            return node;\n        }\n        return node;\n    }\n    getCharacterFromNode(value, node) {\n        if (node) {\n            if (value == node.key) {\n                return node;\n            }\n            else if (value < node.key) {\n                return this.getCharacterFromNode(value, node.leftNode);\n            }\n            else if (value > node.key) {\n                return this.getCharacterFromNode(value, node.rightNode);\n            }\n            return node;\n        }\n        return node;\n    }\n    getFromNodeWithCharacterAndType(value, typeId, node) {\n        value = `${value}`;\n        if (node) {\n            if (value == node.key) {\n                if (value == node.value.characterValue && typeId == node.value.typeId) {\n                    return node;\n                }\n                else {\n                    for (let i = 0; i < node.variants.length; i++) {\n                        if (node.variants[i].value.typeId == typeId) {\n                            return node.variants[i];\n                        }\n                    }\n                    // return this.getFromNodeWithCharacterAndType(value, typeId, node.currentNode);\n                }\n            }\n            else if (value < node.key) {\n                return this.getFromNodeWithCharacterAndType(value, typeId, node.leftNode);\n            }\n            else if (value > node.key) {\n                return this.getFromNodeWithCharacterAndType(value, typeId, node.rightNode);\n            }\n            return null;\n        }\n        return node;\n    }\n    removeNode(passedNode, id) {\n        if (passedNode == null) {\n            return passedNode;\n        }\n        if (passedNode.key > id) {\n            passedNode.leftNode = this.removeNode(passedNode.leftNode, id);\n            return passedNode;\n        }\n        else if (passedNode.key < id) {\n            passedNode.rightNode = this.removeNode(passedNode.rightNode, id);\n            return passedNode;\n        }\n        // if(passedNode.variants.length > 0){\n        //     if(passedNode.value.id == id ){\n        //     }\n        //     var newNode = passedNode.variants[0];\n        //     if(newNode){\n        //         passedNode.value = newNode.value;\n        //         passedNode.key = newNode.key;\n        //         passedNode.currentNode = newNode.currentNode;\n        //         return passedNode;\n        //     }\n        // }\n        if (passedNode.leftNode == null) {\n            let temp = passedNode.rightNode;\n            passedNode = null;\n            return temp;\n        }\n        else if (passedNode.rightNode == null) {\n            let temp = passedNode.leftNode;\n            passedNode = null;\n            return temp;\n        }\n        else {\n            // passing the rightNode to the inOrderSuccessor gives the immediate successor of the node\n            var immediateSuccessor = this.inOrderSuccessor(passedNode.rightNode);\n            passedNode.value = immediateSuccessor.value;\n            passedNode.key = immediateSuccessor.key;\n            passedNode.variants = immediateSuccessor.variants;\n            passedNode.currentNode = immediateSuccessor.currentNode;\n            passedNode.rightNode = this.removeNode(passedNode.rightNode, immediateSuccessor.key);\n            return passedNode;\n        }\n    }\n    removeNodeWithVariants(passedNode, typeIdentifier, conceptId) {\n        if (passedNode == null) {\n            return passedNode;\n        }\n        if (passedNode.key > typeIdentifier) {\n            passedNode.leftNode = this.removeNodeWithVariants(passedNode.leftNode, typeIdentifier, conceptId);\n            return passedNode;\n        }\n        else if (passedNode.key < typeIdentifier) {\n            passedNode.rightNode = this.removeNodeWithVariants(passedNode.rightNode, typeIdentifier, conceptId);\n            return passedNode;\n        }\n        if (passedNode.variants.length > 0) {\n            //condition if the main node is equal to the value\n            if (passedNode.value.id == conceptId) {\n                var newNode = passedNode.variants[0];\n                if (newNode) {\n                    passedNode.value = newNode.value;\n                    passedNode.key = newNode.key;\n                    passedNode.currentNode = newNode.currentNode;\n                    passedNode.variants.splice(0, 1);\n                    return passedNode;\n                }\n            }\n            else {\n                // in the condition that the main node is not equal to the checking value \n                for (let i = 0; i < passedNode.variants.length; i++) {\n                    if (conceptId == passedNode.variants[i].value.id) {\n                        passedNode.variants.splice(i, 1);\n                        return passedNode;\n                    }\n                }\n            }\n        }\n        if (passedNode.leftNode == null) {\n            let temp = passedNode.rightNode;\n            passedNode = null;\n            return temp;\n        }\n        else if (passedNode.rightNode == null) {\n            let temp = passedNode.leftNode;\n            passedNode = null;\n            return temp;\n        }\n        else {\n            // passing the rightNode to the inOrderSuccessor gives the immediate successor of the node\n            var immediateSuccessor = this.inOrderSuccessor(passedNode.rightNode);\n            passedNode.value = immediateSuccessor.value;\n            passedNode.key = immediateSuccessor.key;\n            passedNode.variants = immediateSuccessor.variants;\n            passedNode.currentNode = immediateSuccessor.currentNode;\n            passedNode.rightNode = this.removeNodeWithVariants(passedNode.rightNode, immediateSuccessor.key, conceptId);\n            return passedNode;\n        }\n    }\n    countNodeBelow(root) {\n        if (root == null) {\n            return 0;\n        }\n        //recursive call to left child and right child and\n        // add the result of these with 1 ( 1 for counting the root)\n        return 1 + this.countNodeBelow(root.leftNode) + this.countNodeBelow(root.rightNode);\n    }\n    inOrderSuccessor(root) {\n        while (root.leftNode != null) {\n            root = root.leftNode;\n        }\n        return root;\n    }\n}\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/Local/LocalBinaryCharacterTree.ts\":\n/*!**************************************************************!*\\\n  !*** ./src/DataStructures/Local/LocalBinaryCharacterTree.ts ***!\n  \\**************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   LocalBinaryCharacterTree: () => (/* binding */ LocalBinaryCharacterTree)\n/* harmony export */ });\n/* harmony import */ var _IdentifierFlags__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../IdentifierFlags */ \"./src/DataStructures/IdentifierFlags.ts\");\n/* harmony import */ var _Local_LNode__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../Local/LNode */ \"./src/DataStructures/Local/LNode.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\nclass LocalBinaryCharacterTree {\n    static waitForDataToLoad() {\n        return __awaiter(this, void 0, void 0, function* () {\n            return new Promise((resolve, reject) => {\n                this.checkFlag(resolve);\n                setTimeout(() => {\n                    reject(\"not\");\n                }, 25000);\n            });\n        });\n    }\n    static checkFlag(resolve) {\n        if (_IdentifierFlags__WEBPACK_IMPORTED_MODULE_0__.IdentifierFlags.isLocalCharacterLoaded) {\n            return resolve(\"done\");\n        }\n        else {\n            setTimeout(LocalBinaryCharacterTree.checkFlag, 1000, resolve);\n        }\n    }\n    ;\n    static addNodeToTree(node) {\n        return __awaiter(this, void 0, void 0, function* () {\n            if (this.LocalCharacterRoot == null) {\n                this.LocalCharacterRoot = node;\n                return this.LocalCharacterRoot;\n            }\n            else {\n                this.LocalCharacterRoot = this.LocalCharacterRoot.addCharacterNode(node, this.LocalCharacterRoot, this.LocalCharacterRoot.height);\n            }\n            return this.LocalCharacterRoot;\n        });\n    }\n    static addConceptToTree(concept) {\n        if (concept.characterValue != \"\") {\n            var node = new _Local_LNode__WEBPACK_IMPORTED_MODULE_1__.LNode(concept.characterValue, concept, null, null);\n            this.addNodeToTree(node);\n        }\n    }\n    static getNodeFromTree(value) {\n        if (this.LocalCharacterRoot) {\n            var Node = this.LocalCharacterRoot.getCharacterFromNode(value, this.LocalCharacterRoot);\n            return Node;\n        }\n        return this.LocalCharacterRoot;\n    }\n    static getCharacterAndTypeFromTree(value, typeId) {\n        return __awaiter(this, void 0, void 0, function* () {\n            try {\n                var data = yield this.waitForDataToLoad();\n            }\n            catch (exception) {\n                return null;\n            }\n            if (this.LocalCharacterRoot) {\n                var Node = this.LocalCharacterRoot.getFromNodeWithCharacterAndType(value, typeId, this.LocalCharacterRoot);\n                return Node;\n            }\n            return this.LocalCharacterRoot;\n        });\n    }\n    static removeConceptType(character, id) {\n        if (this.LocalCharacterRoot) {\n            this.LocalCharacterRoot = this.LocalCharacterRoot.removeNodeWithVariants(this.LocalCharacterRoot, character, id);\n        }\n    }\n}\nLocalBinaryCharacterTree.LocalCharacterRoot = null;\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/Local/LocalBinaryTree.ts\":\n/*!*****************************************************!*\\\n  !*** ./src/DataStructures/Local/LocalBinaryTree.ts ***!\n  \\*****************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   LocalBinaryTree: () => (/* binding */ LocalBinaryTree)\n/* harmony export */ });\n/* harmony import */ var _IdentifierFlags__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../IdentifierFlags */ \"./src/DataStructures/IdentifierFlags.ts\");\n/* harmony import */ var _Local_LNode__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../Local/LNode */ \"./src/DataStructures/Local/LNode.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\nclass LocalBinaryTree {\n    static addNodeToTree(node) {\n        if (this.root == null) {\n            this.root = node;\n            return this.root;\n        }\n        else {\n            this.root = this.root.addNode(node, this.root, this.root.height);\n        }\n    }\n    static addConceptToTree(concept) {\n        var node = new _Local_LNode__WEBPACK_IMPORTED_MODULE_1__.LNode(concept.id, concept, null, null);\n        var characterNode = new _Local_LNode__WEBPACK_IMPORTED_MODULE_1__.LNode(concept.characterValue, concept, null, null);\n        this.addNodeToTree(node);\n    }\n    static waitForDataToLoad() {\n        return __awaiter(this, void 0, void 0, function* () {\n            return new Promise((resolve, reject) => {\n                this.checkFlag(resolve);\n                setTimeout(() => {\n                    reject(\"not\");\n                }, 25000);\n            });\n        });\n    }\n    static checkFlag(resolve) {\n        if (_IdentifierFlags__WEBPACK_IMPORTED_MODULE_0__.IdentifierFlags.isLocalDataLoaded) {\n            return resolve(\"done\");\n        }\n        else {\n            setTimeout(LocalBinaryTree.checkFlag, 1000, resolve);\n        }\n    }\n    ;\n    static getNodeFromTree(id) {\n        return __awaiter(this, void 0, void 0, function* () {\n            try {\n                var data = yield this.waitForDataToLoad();\n            }\n            catch (exception) {\n                return null;\n            }\n            if (this.root) {\n                var Node = this.root.getFromNode(id, this.root);\n                return Node;\n            }\n            return null;\n        });\n    }\n    static getCharacterAndTypeFromTree(value, typeId) {\n        if (this.root) {\n            var Node = this.root.getFromNodeWithCharacterAndType(value, typeId, this.root);\n            return Node;\n        }\n        return this.root;\n    }\n    static updateSyncStatus(id) {\n        if (this.root) {\n            var Node = this.root.updateNodeSyncStatus(id, true, this.root);\n            return Node;\n        }\n        return this.root;\n    }\n    static removeNodeFromTree(id) {\n        return __awaiter(this, void 0, void 0, function* () {\n            if (this.root) {\n                this.root = this.root.removeNode(this.root, id);\n            }\n        });\n    }\n}\nLocalBinaryTree.root = null;\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/Local/LocalBinaryTypeTree.ts\":\n/*!*********************************************************!*\\\n  !*** ./src/DataStructures/Local/LocalBinaryTypeTree.ts ***!\n  \\*********************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   LocalBinaryTypeTree: () => (/* binding */ LocalBinaryTypeTree)\n/* harmony export */ });\n/* harmony import */ var _IdentifierFlags__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../IdentifierFlags */ \"./src/DataStructures/IdentifierFlags.ts\");\n/* harmony import */ var _LNode__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./LNode */ \"./src/DataStructures/Local/LNode.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\nclass LocalBinaryTypeTree {\n    static addNodeToTree(node) {\n        return __awaiter(this, void 0, void 0, function* () {\n            if (this.LocalTypeRoot == null) {\n                this.LocalTypeRoot = node;\n                return this.LocalTypeRoot;\n            }\n            else {\n                this.LocalTypeRoot = this.LocalTypeRoot.addTypeNode(node, this.LocalTypeRoot, this.LocalTypeRoot.height);\n            }\n            return this.LocalTypeRoot;\n        });\n    }\n    static addConceptToTree(concept) {\n        if (concept.typeId != 0) {\n            var node = new _LNode__WEBPACK_IMPORTED_MODULE_1__.LNode(concept.typeId, concept, null, null);\n            this.addNodeToTree(node);\n        }\n    }\n    static removeConceptType(typeId, id) {\n        if (this.LocalTypeRoot) {\n            this.LocalTypeRoot = this.LocalTypeRoot.removeNodeWithVariants(this.LocalTypeRoot, typeId, id);\n        }\n    }\n    static getNodeFromTree(id) {\n        if (this.LocalTypeRoot) {\n            var Node = this.LocalTypeRoot.getFromNode(id, this.LocalTypeRoot);\n            return Node;\n        }\n        return this.LocalTypeRoot;\n    }\n    static getTypeVariantsFromTree(typeId) {\n        var Node = this.getNodeFromTree(typeId);\n        var concepts = [];\n        if (Node) {\n            concepts.push(Node === null || Node === void 0 ? void 0 : Node.value);\n            for (let i = 0; i < Node.variants.length; i++) {\n                concepts.push(Node.variants[i].value);\n            }\n            return concepts;\n        }\n    }\n    static waitForDataToLoad() {\n        return __awaiter(this, void 0, void 0, function* () {\n            return new Promise((resolve, reject) => {\n                this.checkFlag(resolve);\n                setTimeout(() => {\n                    reject(\"not\");\n                }, 25000);\n            });\n        });\n    }\n    static checkFlag(resolve) {\n        if (_IdentifierFlags__WEBPACK_IMPORTED_MODULE_0__.IdentifierFlags.isLocalTypeLoaded) {\n            return resolve(\"done\");\n        }\n        else {\n            setTimeout(LocalBinaryTypeTree.checkFlag, 1000, resolve);\n        }\n    }\n    ;\n    static getTypeVariantsFromTreeWithUserId(typeId, userId) {\n        return __awaiter(this, void 0, void 0, function* () {\n            var concepts = [];\n            try {\n                var data = yield this.waitForDataToLoad();\n            }\n            catch (exception) {\n                return concepts;\n            }\n            var Node = this.getNodeFromTree(typeId);\n            if (Node) {\n                console.log(\"this is the node to type\", Node);\n                if (Node.value.userId == userId || Node.value.userId == 999) {\n                    concepts.push(Node === null || Node === void 0 ? void 0 : Node.value);\n                }\n                for (let i = 0; i < Node.variants.length; i++) {\n                    if (Node.variants[i].value.userId == userId || Node.value.userId == 999) {\n                        concepts.push(Node.variants[i].value);\n                    }\n                }\n            }\n            return concepts;\n        });\n    }\n}\nLocalBinaryTypeTree.LocalTypeRoot = null;\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/Local/LocalConceptData.ts\":\n/*!******************************************************!*\\\n  !*** ./src/DataStructures/Local/LocalConceptData.ts ***!\n  \\******************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   LocalConceptsData: () => (/* binding */ LocalConceptsData)\n/* harmony export */ });\n/* harmony import */ var _Database_indexdblocal__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Database/indexdblocal */ \"./src/Database/indexdblocal.ts\");\n/* harmony import */ var _LocalBinaryTree__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./LocalBinaryTree */ \"./src/DataStructures/Local/LocalBinaryTree.ts\");\n/* harmony import */ var _LocalBinaryCharacterTree__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./LocalBinaryCharacterTree */ \"./src/DataStructures/Local/LocalBinaryCharacterTree.ts\");\n/* harmony import */ var _LocalBinaryTypeTree__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./LocalBinaryTypeTree */ \"./src/DataStructures/Local/LocalBinaryTypeTree.ts\");\n/* harmony import */ var _Services_Local_CreateDefaultLConcept__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../Services/Local/CreateDefaultLConcept */ \"./src/Services/Local/CreateDefaultLConcept.ts\");\n/* harmony import */ var _ConceptData__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../ConceptData */ \"./src/DataStructures/ConceptData.ts\");\n/* harmony import */ var _Services_Local_ConvertFromLConceptToConcept__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../Services/Local/ConvertFromLConceptToConcept */ \"./src/Services/Local/ConvertFromLConceptToConcept.ts\");\n/* harmony import */ var _LocalGhostIdTree__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./LocalGhostIdTree */ \"./src/DataStructures/Local/LocalGhostIdTree.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\n\n\n\n\nclass LocalConceptsData {\n    constructor() {\n        this.name = \"conceptsArray\";\n    }\n    static AddConcept(concept) {\n        if (concept.id != 0) {\n            (0,_Database_indexdblocal__WEBPACK_IMPORTED_MODULE_0__.storeToDatabase)(\"localconcept\", concept);\n            _LocalBinaryTree__WEBPACK_IMPORTED_MODULE_1__.LocalBinaryTree.addConceptToTree(concept);\n            _LocalBinaryCharacterTree__WEBPACK_IMPORTED_MODULE_2__.LocalBinaryCharacterTree.addConceptToTree(concept);\n            _LocalBinaryTypeTree__WEBPACK_IMPORTED_MODULE_3__.LocalBinaryTypeTree.addConceptToTree(concept);\n            this.localconceptsArray.push(concept);\n        }\n    }\n    static AddPermanentConcept(concept) {\n        if (concept.id != 0) {\n            _LocalBinaryTree__WEBPACK_IMPORTED_MODULE_1__.LocalBinaryTree.removeNodeFromTree(concept.ghostId);\n            _LocalBinaryCharacterTree__WEBPACK_IMPORTED_MODULE_2__.LocalBinaryCharacterTree.removeConceptType(concept.characterValue, concept.ghostId);\n            _LocalBinaryTypeTree__WEBPACK_IMPORTED_MODULE_3__.LocalBinaryTypeTree.removeConceptType(concept.typeId, concept.ghostId);\n            _LocalGhostIdTree__WEBPACK_IMPORTED_MODULE_7__.LocalGhostIdTree.addConceptToTree(concept);\n            (0,_Database_indexdblocal__WEBPACK_IMPORTED_MODULE_0__.removeFromDatabase)(\"localconcept\", concept.ghostId);\n            _ConceptData__WEBPACK_IMPORTED_MODULE_5__.ConceptsData.AddConcept((0,_Services_Local_ConvertFromLConceptToConcept__WEBPACK_IMPORTED_MODULE_6__.ConvertFromLConceptToConcept)(concept));\n        }\n    }\n    static AddConceptToMemory(concept) {\n        if (concept.id != 0) {\n            _LocalBinaryTree__WEBPACK_IMPORTED_MODULE_1__.LocalBinaryTree.addConceptToTree(concept);\n            _LocalBinaryCharacterTree__WEBPACK_IMPORTED_MODULE_2__.LocalBinaryCharacterTree.addConceptToTree(concept);\n            _LocalBinaryTypeTree__WEBPACK_IMPORTED_MODULE_3__.LocalBinaryTypeTree.addConceptToTree(concept);\n        }\n    }\n    static GetConcept(id) {\n        return __awaiter(this, void 0, void 0, function* () {\n            var myConcept = (0,_Services_Local_CreateDefaultLConcept__WEBPACK_IMPORTED_MODULE_4__.CreateDefaultLConcept)();\n            var node = yield _LocalBinaryTree__WEBPACK_IMPORTED_MODULE_1__.LocalBinaryTree.getNodeFromTree(id);\n            if (node === null || node === void 0 ? void 0 : node.value) {\n                var returnedConcept = node.value;\n                if (returnedConcept) {\n                    myConcept = returnedConcept;\n                }\n            }\n            return myConcept;\n        });\n    }\n    static UpdateConceptSyncStatus(id) {\n        return __awaiter(this, void 0, void 0, function* () {\n            _LocalBinaryTree__WEBPACK_IMPORTED_MODULE_1__.LocalBinaryTree.updateSyncStatus(id);\n        });\n    }\n    static GetConceptByGhostId(id) {\n        return __awaiter(this, void 0, void 0, function* () {\n            var myConcept = (0,_Services_Local_CreateDefaultLConcept__WEBPACK_IMPORTED_MODULE_4__.CreateDefaultLConcept)();\n            var node = yield _LocalGhostIdTree__WEBPACK_IMPORTED_MODULE_7__.LocalGhostIdTree.getNodeFromTree(id);\n            if (node === null || node === void 0 ? void 0 : node.value) {\n                var returnedConcept = node.value;\n                if (returnedConcept) {\n                    myConcept = returnedConcept;\n                }\n            }\n            return myConcept;\n        });\n    }\n    static GetConceptByCharacter(characterValue) {\n        return __awaiter(this, void 0, void 0, function* () {\n            var concept = (0,_Services_Local_CreateDefaultLConcept__WEBPACK_IMPORTED_MODULE_4__.CreateDefaultLConcept)();\n            //  for(var i=0; i<this.conceptsArray.length; i++){\n            //      if(this.conceptsArray[i].characterValue == characterValue){\n            //         concept = this.conceptsArray[i];\n            //      }\n            //  }\n            var Node = _LocalBinaryCharacterTree__WEBPACK_IMPORTED_MODULE_2__.LocalBinaryCharacterTree.getNodeFromTree(characterValue);\n            if (Node) {\n                concept = Node.value;\n            }\n            return concept;\n        });\n    }\n    static GetConceptByCharacterAndTypeLocal(character_value, typeId) {\n        return __awaiter(this, void 0, void 0, function* () {\n            var concept = (0,_Services_Local_CreateDefaultLConcept__WEBPACK_IMPORTED_MODULE_4__.CreateDefaultLConcept)();\n            // let conceptList:Concept[] = await this.GetConceptsByTypeId(typeId);\n            // for(var i=0;i<conceptList.length; i++){\n            //     if(character_value == conceptList[i].characterValue){\n            //         concept = conceptList[i];\n            //     }\n            // }\n            var Node = yield _LocalBinaryCharacterTree__WEBPACK_IMPORTED_MODULE_2__.LocalBinaryCharacterTree.getCharacterAndTypeFromTree(character_value, typeId);\n            if (Node) {\n                concept = Node.value;\n            }\n            return concept;\n        });\n    }\n    static GetConceptsByTypeId(typeId) {\n        var myConcept;\n        let ConceptList = [];\n        myConcept = null;\n        for (var i = 0; i < this.localconceptsArray.length; i++) {\n            if (this.localconceptsArray[i].typeId == typeId) {\n                ConceptList.push(this.localconceptsArray[i]);\n            }\n        }\n        return ConceptList;\n    }\n    static GetConceptsByTypeIdAndUser(typeId, userId) {\n        return __awaiter(this, void 0, void 0, function* () {\n            var myConcept;\n            let ConceptList = [];\n            // myConcept = null;\n            //  for(var i=0; i<this.conceptsArray.length; i++){\n            //      if(this.conceptsArray[i].typeId == typeId && this.conceptsArray[i].userId == userId){\n            //          ConceptList.push(this.conceptsArray[i]);\n            //      }\n            //  }\n            ConceptList = yield _LocalBinaryTypeTree__WEBPACK_IMPORTED_MODULE_3__.LocalBinaryTypeTree.getTypeVariantsFromTreeWithUserId(typeId, userId);\n            return ConceptList;\n        });\n    }\n    getName() {\n        return this.name;\n    }\n}\nLocalConceptsData.localconceptsArray = [];\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/Local/LocalConnectionData.ts\":\n/*!*********************************************************!*\\\n  !*** ./src/DataStructures/Local/LocalConnectionData.ts ***!\n  \\*********************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   LocalConnectionData: () => (/* binding */ LocalConnectionData)\n/* harmony export */ });\n/* harmony import */ var _Database_indexdblocal__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Database/indexdblocal */ \"./src/Database/indexdblocal.ts\");\n/* harmony import */ var _Services_Local_ConvertFromLConnectionToConnection__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Services/Local/ConvertFromLConnectionToConnection */ \"./src/Services/Local/ConvertFromLConnectionToConnection.ts\");\n/* harmony import */ var _ConnectionData__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../ConnectionData */ \"./src/DataStructures/ConnectionData.ts\");\n/* harmony import */ var _IdentifierFlags__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../IdentifierFlags */ \"./src/DataStructures/IdentifierFlags.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\n\nclass LocalConnectionData {\n    constructor() {\n        this.name = \"Connection Array\";\n    }\n    static CheckContains(connection) {\n        var contains = false;\n        for (var i = 0; i < this.connectionArray.length; i++) {\n            if (this.connectionArray[i].id == connection.id) {\n                contains = true;\n            }\n        }\n        return contains;\n    }\n    static AddConnection(connection) {\n        var contains = this.CheckContains(connection);\n        if (contains) {\n            this.RemoveConnection(connection);\n        }\n        if (connection.id != 0) {\n            (0,_Database_indexdblocal__WEBPACK_IMPORTED_MODULE_0__.storeToDatabase)(\"localconnection\", connection);\n        }\n        this.connectionArray.push(connection);\n    }\n    static AddToDictionary(connection) {\n        this.connectionDictionary[connection.id] = connection;\n    }\n    static RemoveConnection(connection) {\n        for (var i = 0; i < this.connectionArray.length; i++) {\n            if (this.connectionArray[i].id == connection.id) {\n                this.connectionArray.splice(i, 1);\n            }\n        }\n        if (connection.id != 0) {\n            //  removeFromDatabase(\"connection\",connection.id);\n        }\n    }\n    static AddPermanentConnection(connection) {\n        if (connection.id > 0) {\n            (0,_Database_indexdblocal__WEBPACK_IMPORTED_MODULE_0__.removeFromDatabase)(\"localconnection\", connection.ghostId);\n            _ConnectionData__WEBPACK_IMPORTED_MODULE_2__.ConnectionData.AddConnection((0,_Services_Local_ConvertFromLConnectionToConnection__WEBPACK_IMPORTED_MODULE_1__.ConvertFromLConnectionToConnection)(connection));\n        }\n    }\n    static GetConnection(id) {\n        var myConcept;\n        myConcept = null;\n        for (var i = 0; i < this.connectionArray.length; i++) {\n            if (this.connectionArray[i].id == id) {\n                myConcept = this.connectionArray[i];\n            }\n        }\n        return myConcept;\n    }\n    static waitForDataToLoad() {\n        return __awaiter(this, void 0, void 0, function* () {\n            return new Promise((resolve, reject) => {\n                this.checkFlag(resolve);\n                setTimeout(() => {\n                    reject(\"not\");\n                }, 25000);\n            });\n        });\n    }\n    static checkFlag(resolve) {\n        if (_IdentifierFlags__WEBPACK_IMPORTED_MODULE_3__.IdentifierFlags.isLocalConnectionLoaded) {\n            return resolve(\"done\");\n        }\n        else {\n            setTimeout(LocalConnectionData.checkFlag, 1000, resolve);\n        }\n    }\n    ;\n    static GetConnectionsOfCompositionLocal(id) {\n        return __awaiter(this, void 0, void 0, function* () {\n            var connectionList = [];\n            try {\n                var data = yield this.waitForDataToLoad();\n                for (var i = 0; i < this.connectionArray.length; i++) {\n                    if (this.connectionArray[i].typeId == id) {\n                        connectionList.push(this.connectionArray[i]);\n                    }\n                }\n                return connectionList;\n            }\n            catch (exception) {\n                return connectionList;\n            }\n        });\n    }\n    getName() {\n        return this.name;\n    }\n}\nLocalConnectionData.connectionArray = [];\nLocalConnectionData.connectionDictionary = [];\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/Local/LocalGhostIdTree.ts\":\n/*!******************************************************!*\\\n  !*** ./src/DataStructures/Local/LocalGhostIdTree.ts ***!\n  \\******************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   LocalGhostIdTree: () => (/* binding */ LocalGhostIdTree)\n/* harmony export */ });\n/* harmony import */ var _IdentifierFlags__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../IdentifierFlags */ \"./src/DataStructures/IdentifierFlags.ts\");\n/* harmony import */ var _Local_LNode__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../Local/LNode */ \"./src/DataStructures/Local/LNode.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\nclass LocalGhostIdTree {\n    static addNodeToTree(node) {\n        if (this.root == null) {\n            this.root = node;\n            return this.root;\n        }\n        else {\n            this.root = this.root.addNode(node, this.root, this.root.height);\n        }\n    }\n    static addConceptToTree(concept) {\n        var node = new _Local_LNode__WEBPACK_IMPORTED_MODULE_1__.LNode(concept.ghostId, concept, null, null);\n        this.addNodeToTree(node);\n    }\n    static waitForDataToLoad() {\n        return __awaiter(this, void 0, void 0, function* () {\n            return new Promise((resolve, reject) => {\n                this.checkFlag(resolve);\n                setTimeout(() => {\n                    reject(\"not\");\n                }, 25000);\n            });\n        });\n    }\n    static checkFlag(resolve) {\n        if (_IdentifierFlags__WEBPACK_IMPORTED_MODULE_0__.IdentifierFlags.isLocalDataLoaded) {\n            return resolve(\"done\");\n        }\n        else {\n            setTimeout(LocalGhostIdTree.checkFlag, 1000, resolve);\n        }\n    }\n    ;\n    static getNodeFromTree(id) {\n        return __awaiter(this, void 0, void 0, function* () {\n            try {\n                var data = yield this.waitForDataToLoad();\n            }\n            catch (exception) {\n                return null;\n            }\n            if (this.root) {\n                var Node = this.root.getFromNode(id, this.root);\n                return Node;\n            }\n            return null;\n        });\n    }\n    static removeNodeFromTree(id) {\n        return __awaiter(this, void 0, void 0, function* () {\n            if (this.root) {\n                this.root = this.root.removeNode(this.root, id);\n            }\n        });\n    }\n}\nLocalGhostIdTree.root = null;\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/Local/LocalSyncData.ts\":\n/*!***************************************************!*\\\n  !*** ./src/DataStructures/Local/LocalSyncData.ts ***!\n  \\***************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   LocalSyncData: () => (/* binding */ LocalSyncData)\n/* harmony export */ });\n/* harmony import */ var _Api_Create_CreateTheGhostConceptApi__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Api/Create/CreateTheGhostConceptApi */ \"./src/Api/Create/CreateTheGhostConceptApi.ts\");\n/* harmony import */ var _Database_indexdblocal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Database/indexdblocal */ \"./src/Database/indexdblocal.ts\");\n/* harmony import */ var _LocalConceptData__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./LocalConceptData */ \"./src/DataStructures/Local/LocalConceptData.ts\");\n/* harmony import */ var _app__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../app */ \"./src/app.ts\");\n/* harmony import */ var _LocalConnectionData__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./LocalConnectionData */ \"./src/DataStructures/Local/LocalConnectionData.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\n\nclass LocalSyncData {\n    static CheckContains(concept) {\n        var contains = false;\n        for (var i = 0; i < this.conceptsSyncArray.length; i++) {\n            if (this.conceptsSyncArray[i].id == concept.id) {\n                contains = true;\n            }\n        }\n        return contains;\n    }\n    static SyncDataDelete(id) {\n        for (var i = 0; i < this.conceptsSyncArray.length; i++) {\n            if (id == this.conceptsSyncArray[i].id) {\n                this.conceptsSyncArray.splice(i, 1);\n            }\n        }\n        for (var i = 0; i < this.connectionSyncArray.length; i++) {\n            if (this.connectionSyncArray[i].ofTheConceptId == id || this.connectionSyncArray[i].toTheConceptId == id || this.connectionSyncArray[i].typeId == id) {\n                this.connectionSyncArray.splice(i, 1);\n            }\n        }\n    }\n    static CheckContainsConnection(connection) {\n        var contains = false;\n        for (var i = 0; i < this.connectionSyncArray.length; i++) {\n            if (this.connectionSyncArray[i].id == connection.id) {\n                contains = true;\n            }\n        }\n        return contains;\n    }\n    static AddConcept(concept) {\n        let contains = false;\n        let existingConcept = LocalSyncData.CheckIfTheConceptIdExists(concept.id, this.conceptsSyncArray);\n        if (existingConcept.id != 0) {\n            contains = true;\n        }\n        if (!contains) {\n            this.conceptsSyncArray.push(concept);\n        }\n    }\n    static RemoveConcept(concept) {\n        for (var i = 0; i < this.conceptsSyncArray.length; i++) {\n            if (this.conceptsSyncArray[i].id == concept.id) {\n                this.conceptsSyncArray.splice(i, 1);\n            }\n        }\n    }\n    static SyncDataOnline() {\n        return __awaiter(this, void 0, void 0, function* () {\n            let conceptsArray = this.conceptsSyncArray.slice();\n            for (let i = 0; i < conceptsArray.length; i++) {\n                let before = yield _LocalConceptData__WEBPACK_IMPORTED_MODULE_2__.LocalConceptsData.GetConcept(conceptsArray[i].id);\n                // this is used to denote that the local concept has already been synced with the online db\n                yield _LocalConceptData__WEBPACK_IMPORTED_MODULE_2__.LocalConceptsData.UpdateConceptSyncStatus(conceptsArray[i].id);\n                let after = yield _LocalConceptData__WEBPACK_IMPORTED_MODULE_2__.LocalConceptsData.GetConcept(conceptsArray[i].id);\n            }\n            let connectionsArray = this.connectionSyncArray.slice();\n            this.connectionSyncArray = [];\n            this.conceptsSyncArray = [];\n            if (connectionsArray.length > 0) {\n                yield this.UpdateConceptListToIncludeRelatedConcepts(connectionsArray, conceptsArray);\n                let result = yield (0,_Api_Create_CreateTheGhostConceptApi__WEBPACK_IMPORTED_MODULE_0__.CreateTheGhostConceptApi)(conceptsArray, connectionsArray);\n                let concepts = result.concepts;\n                let connections = result.connections;\n                for (let i = 0; i < concepts.length; i++) {\n                    _LocalConceptData__WEBPACK_IMPORTED_MODULE_2__.LocalConceptsData.AddPermanentConcept(concepts[i]);\n                }\n                for (let i = 0; i < connections.length; i++) {\n                    _LocalConnectionData__WEBPACK_IMPORTED_MODULE_4__.LocalConnectionData.AddPermanentConnection(connections[i]);\n                }\n            }\n            return \"done\";\n        });\n    }\n    //  static async  SyncDataOnline(){\n    //     if(this.conceptsSyncArray.length > 0){\n    //         let conceptsArray = this.conceptsSyncArray.slice();\n    //         this.conceptsSyncArray = [];\n    //         let concepts = await CreateTheGhostConceptApi(conceptsArray);\n    //         for(let i =0 ; i< concepts.length; i++){\n    //             LocalSyncData.ghostIdMap.set(concepts[i].ghostId,concepts[i].id);\n    //             LocalConceptsData.AddPermanentConcept(concepts[i]);\n    //         }\n    //     }\n    //      if(this.connectionSyncArray.length > 0){\n    //         // for(let i =0 ; i<this.connectionSyncArray.length ; i++){\n    //         //     console.log(\"create the connection in backend\", this.connectionSyncArray[i].ofTheConceptId + \"====\" + this.connectionSyncArray[i].toTheConceptId);\n    //         // }\n    //         let connectionsArray = this.connectionSyncArray.slice();\n    //         this.ConvertGhostIdsInConnections(connectionsArray);\n    //         this.connectionSyncArray = [];\n    //         await CreateTheGhostConnectionApi(connectionsArray);\n    //     }\n    //     return \"done\";\n    //  }\n    static ConvertGhostIdsInConnections(connectionArray) {\n        var _a, _b, _c;\n        for (let i = 0; i < connectionArray.length; i++) {\n            let ofTheConceptId = connectionArray[i].ofTheConceptId;\n            let toTheConceptId = connectionArray[i].toTheConceptId;\n            let typeId = connectionArray[i].typeId;\n            console.log(\"This is the old of the concept  ID \", ofTheConceptId);\n            console.log(\"this is the ghost map\", LocalSyncData.ghostIdMap);\n            console.log(\"This is the check\", LocalSyncData.ghostIdMap.get(ofTheConceptId));\n            let newOfTheConceptId = (_a = LocalSyncData.ghostIdMap.get(ofTheConceptId)) !== null && _a !== void 0 ? _a : ofTheConceptId;\n            let newToTheConceptId = (_b = LocalSyncData.ghostIdMap.get(toTheConceptId)) !== null && _b !== void 0 ? _b : toTheConceptId;\n            let newTypeId = (_c = LocalSyncData.ghostIdMap.get(typeId)) !== null && _c !== void 0 ? _c : typeId;\n            console.log(\"This is the new oF THE CONCEPT ID \", newOfTheConceptId);\n            connectionArray[i].ofTheConceptId = newOfTheConceptId;\n            connectionArray[i].OfTheConceptId = newOfTheConceptId;\n            connectionArray[i].toTheConceptId = newToTheConceptId;\n            connectionArray[i].ToTheConceptId = newToTheConceptId;\n            connectionArray[i].typeId = newTypeId;\n        }\n    }\n    static UpdateConceptListToIncludeRelatedConcepts(connectionArray, conceptsArray) {\n        return __awaiter(this, void 0, void 0, function* () {\n            for (let i = 0; i < connectionArray.length; i++) {\n                let ofTheConceptId = connectionArray[i].ofTheConceptId;\n                let toTheConceptId = connectionArray[i].toTheConceptId;\n                let typeId = connectionArray[i].typeId;\n                if (ofTheConceptId < 0) {\n                    let ofTheConcept = this.CheckIfTheConceptIdExists(ofTheConceptId, conceptsArray);\n                    if (ofTheConcept.id == 0) {\n                        ofTheConcept = yield _LocalConceptData__WEBPACK_IMPORTED_MODULE_2__.LocalConceptsData.GetConceptByGhostId(ofTheConceptId);\n                        if (ofTheConcept.id != 0) {\n                            if (ofTheConcept.id != ofTheConcept.ghostId) {\n                                connectionArray[i].ofTheConceptId = ofTheConcept.id;\n                            }\n                        }\n                        else {\n                            ofTheConcept = yield _LocalConceptData__WEBPACK_IMPORTED_MODULE_2__.LocalConceptsData.GetConcept(ofTheConceptId);\n                            // if this has already been synced before and is a composition type then do not send it again\n                            if (!ofTheConcept.isSynced && !ofTheConcept.isComposition) {\n                                conceptsArray.push(ofTheConcept);\n                            }\n                        }\n                    }\n                }\n                if (toTheConceptId < 0) {\n                    let toTheConcept = this.CheckIfTheConceptIdExists(toTheConceptId, conceptsArray);\n                    if (toTheConcept.id == 0) {\n                        toTheConcept = yield _LocalConceptData__WEBPACK_IMPORTED_MODULE_2__.LocalConceptsData.GetConceptByGhostId(ofTheConceptId);\n                        if (toTheConcept.id != 0) {\n                            if (toTheConcept.id != toTheConcept.ghostId) {\n                                connectionArray[i].toTheConceptId = toTheConcept.id;\n                            }\n                        }\n                        else {\n                            toTheConcept = yield _LocalConceptData__WEBPACK_IMPORTED_MODULE_2__.LocalConceptsData.GetConcept(toTheConceptId);\n                            // if this has already been synced before and is a composition type then do not send it again\n                            if (!toTheConcept.isSynced && !toTheConcept.isComposition) {\n                                conceptsArray.push(toTheConcept);\n                            }\n                        }\n                    }\n                }\n                if (typeId < 0) {\n                    let type = this.CheckIfTheConceptIdExists(typeId, conceptsArray);\n                    if (type.id == 0) {\n                        type = yield _LocalConceptData__WEBPACK_IMPORTED_MODULE_2__.LocalConceptsData.GetConceptByGhostId(ofTheConceptId);\n                        if (type.id != 0) {\n                            if (type.id != type.ghostId) {\n                                connectionArray[i].typeId = type.id;\n                            }\n                        }\n                        else {\n                            type = yield _LocalConceptData__WEBPACK_IMPORTED_MODULE_2__.LocalConceptsData.GetConcept(typeId);\n                            // if this has already been synced before and is a composition type then do not send it again\n                            if (!type.isSynced && !type.isComposition) {\n                                conceptsArray.push(type);\n                            }\n                        }\n                    }\n                }\n            }\n        });\n    }\n    static CheckIfTheConceptIdExists(id, conceptList = []) {\n        let returnConcept = (0,_app__WEBPACK_IMPORTED_MODULE_3__.CreateDefaultLConcept)();\n        for (let i = 0; i < conceptList.length; i++) {\n            if (id == conceptList[i].ghostId || id == conceptList[i].id) {\n                returnConcept = conceptList[i];\n            }\n        }\n        return returnConcept;\n    }\n    static AddConnection(connection) {\n        this.connectionSyncArray.push(connection);\n    }\n    static RemoveConnection(connection) {\n        for (var i = 0; i < this.connectionSyncArray.length; i++) {\n            if (this.connectionSyncArray[i].id == connection.id) {\n                this.connectionSyncArray.splice(i, 1);\n            }\n        }\n    }\n    static syncDataLocalDb() {\n        return __awaiter(this, void 0, void 0, function* () {\n            if (this.conceptsSyncArray.length > 0) {\n                for (let i = 0; i < this.conceptsSyncArray.length; i++) {\n                    (0,_Database_indexdblocal__WEBPACK_IMPORTED_MODULE_1__.storeToDatabase)(\"localconcept\", this.conceptsSyncArray[i]);\n                }\n                this.conceptsSyncArray = [];\n            }\n            if (this.connectionSyncArray.length > 0) {\n                for (let i = 0; i < this.connectionSyncArray.length; i++) {\n                    (0,_Database_indexdblocal__WEBPACK_IMPORTED_MODULE_1__.storeToDatabase)(\"localconnection\", this.connectionSyncArray[i]);\n                }\n                this.connectionSyncArray = [];\n            }\n            return \"done\";\n        });\n    }\n}\nLocalSyncData.conceptsSyncArray = [];\nLocalSyncData.connectionSyncArray = [];\nLocalSyncData.ghostIdMap = new Map();\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/Node.ts\":\n/*!************************************!*\\\n  !*** ./src/DataStructures/Node.ts ***!\n  \\************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   Node: () => (/* binding */ Node)\n/* harmony export */ });\nclass Node {\n    constructor(key, value, leftNode, rightNode) {\n        this.variants = [];\n        this.height = 1;\n        this.key = key;\n        this.value = value;\n        this.leftNode = leftNode;\n        this.rightNode = rightNode;\n        this.currentNode = null;\n    }\n    addCurrentNode(passedNode, node) {\n        if (node == null) {\n            node = passedNode;\n            return node;\n        }\n        if (passedNode.value.typeId != node.value.typeId) {\n            node.currentNode = this.addCurrentNode(passedNode, node.currentNode);\n        }\n        return node;\n    }\n    addCurrentNodeType(passedNode, node) {\n        if (node == null) {\n            node = passedNode;\n            return node;\n        }\n        var contains = false;\n        for (let i = 0; i < node.variants.length; i++) {\n            if (node.variants[i].value.id == passedNode.value.id) {\n                contains = true;\n            }\n        }\n        if (!contains) {\n            node.variants.push(passedNode);\n        }\n        //node.currentNode = this.addCurrentNode(passedNode, node.currentNode);\n        return node;\n    }\n    addNode(passedNode, node, height) {\n        if (node == null) {\n            node = passedNode;\n            return node;\n        }\n        var LeftNode = node.leftNode;\n        var RightNode = node.rightNode;\n        if (node.key > passedNode.key) {\n            node.leftNode = this.addNode(passedNode, LeftNode, height);\n        }\n        else if (node.key < passedNode.key) {\n            node.rightNode = this.addNode(passedNode, RightNode, height);\n        }\n        // else if (node.key == passedNode.key && node.key != \"\"){\n        //     node.currentNode = passedNode;\n        // }\n        else {\n            return node;\n        }\n        node.height = 1 + Math.max(this.getHeight(node.leftNode), this.getHeight(node.rightNode));\n        let balancingFactor = this.getBalanceFactor(node);\n        if (balancingFactor > 1) {\n            if (node.leftNode) {\n                if (passedNode.key < node.leftNode.key) {\n                    return this.rightRotate(node);\n                }\n                else if (passedNode.key > node.leftNode.key) {\n                    node.leftNode = this.leftRotate(node.leftNode);\n                    return this.rightRotate(node);\n                }\n            }\n        }\n        if (balancingFactor < -1) {\n            if (node.rightNode) {\n                if (passedNode.key > node.rightNode.key) {\n                    return this.leftRotate(node);\n                }\n                else if (passedNode.key < node.rightNode.key) {\n                    node.rightNode = this.rightRotate(node.rightNode);\n                    return this.leftRotate(node);\n                }\n            }\n        }\n        return node;\n    }\n    addCharacterNode(passedNode, node, height) {\n        var debugFlag = false;\n        if (passedNode.value.characterValue != \"\") {\n            // if(passedNode.value.characterValue == \"Default\"){\n            //     console.log(\"default here\");\n            //     debugFlag = true;\n            // }\n            if (node == null) {\n                if (debugFlag) {\n                    console.log(\"equal here\", node);\n                }\n                node = passedNode;\n                return node;\n            }\n            // if (node.key == passedNode.key && node.key != \"\" ){\n            //     if(passedNode.value.characterValue == \"Default\"){\n            //         console.log(\"equal\");\n            //     }\n            //     node.currentNode = passedNode;\n            //     return node;\n            // }\n            var LeftNode = node.leftNode;\n            var RightNode = node.rightNode;\n            if (node.key > passedNode.key) {\n                if (debugFlag) {\n                    console.log(\"left  here\", node);\n                }\n                node.leftNode = this.addCharacterNode(passedNode, LeftNode, height);\n            }\n            else if (node.key < passedNode.key) {\n                if (debugFlag) {\n                    console.log(\"right here\", node, RightNode);\n                }\n                node.rightNode = this.addCharacterNode(passedNode, RightNode, height);\n            }\n            // else if (node.key == passedNode.key && node.key != \"\"){\n            //     node.currentNode = passedNode;\n            // }\n            else {\n                if (debugFlag) {\n                    console.log(\"else here\", node, passedNode);\n                }\n                if (node.key == passedNode.key && node.key != \"\" && node.value.id != passedNode.value.id) {\n                    // node.currentNode = this.addCurrentNode(passedNode, node.currentNode);\n                    node.addCurrentNodeType(passedNode, node);\n                }\n                return node;\n            }\n            node.height = 1 + Math.max(this.getHeight(node.leftNode), this.getHeight(node.rightNode));\n            if (debugFlag) {\n                console.log(\"height here\", node.height);\n            }\n            let balancingFactor = this.getBalanceFactor(node);\n            if (debugFlag) {\n                console.log(\"balancingFactor here\", balancingFactor);\n            }\n            if (balancingFactor > 1) {\n                if (node.leftNode) {\n                    if (passedNode.key < node.leftNode.key) {\n                        var returner = this.rightRotate(node);\n                        if (debugFlag) {\n                            console.log(\"returning here 1 \", returner);\n                        }\n                        return returner;\n                    }\n                    else if (passedNode.key > node.leftNode.key) {\n                        node.leftNode = this.leftRotate(node.leftNode);\n                        var returner = this.rightRotate(node);\n                        if (debugFlag) {\n                            console.log(\"returning here 2 \", returner);\n                        }\n                        return returner;\n                    }\n                }\n            }\n            if (balancingFactor < -1) {\n                if (node.rightNode) {\n                    if (passedNode.key > node.rightNode.key) {\n                        var returner = this.leftRotate(node);\n                        if (debugFlag) {\n                            console.log(\"returning here 3 \", returner);\n                        }\n                        return returner;\n                    }\n                    else if (passedNode.key < node.rightNode.key) {\n                        node.rightNode = this.rightRotate(node.rightNode);\n                        var returner = this.leftRotate(node);\n                        if (debugFlag) {\n                            console.log(\"returning here4 \", returner, node);\n                        }\n                        return returner;\n                    }\n                }\n            }\n        }\n        else {\n            if (debugFlag) {\n                console.log(\"what here\", node);\n            }\n        }\n        if (debugFlag) {\n            console.log(\"returning here 6\", node);\n        }\n        return node;\n    }\n    addTypeNode(passedNode, node, height) {\n        var debugFlag = false;\n        if (passedNode.value.typeId != 0) {\n            // if(passedNode.value.characterValue == \"Default\"){\n            //     console.log(\"default here\");\n            //     debugFlag = true;\n            // }\n            if (node == null) {\n                if (debugFlag) {\n                    console.log(\"equal here\", node);\n                }\n                node = passedNode;\n                return node;\n            }\n            var LeftNode = node.leftNode;\n            var RightNode = node.rightNode;\n            if (node.key > passedNode.key) {\n                if (debugFlag) {\n                    console.log(\"left  here\", node);\n                }\n                node.leftNode = this.addTypeNode(passedNode, LeftNode, height);\n            }\n            else if (node.key < passedNode.key) {\n                if (debugFlag) {\n                    console.log(\"right here\", node, RightNode);\n                }\n                node.rightNode = this.addTypeNode(passedNode, RightNode, height);\n            }\n            else {\n                if (debugFlag) {\n                    console.log(\"else here\", node, passedNode);\n                }\n                if (node.key == passedNode.key && node.key != 0 && node.value.id != passedNode.value.id) {\n                    node.addCurrentNodeType(passedNode, node);\n                }\n                return node;\n            }\n            node.height = 1 + Math.max(this.getHeight(node.leftNode), this.getHeight(node.rightNode));\n            if (debugFlag) {\n                console.log(\"height here\", node.height);\n            }\n            let balancingFactor = this.getBalanceFactor(node);\n            if (debugFlag) {\n                console.log(\"balancingFactor here\", balancingFactor);\n            }\n            if (balancingFactor > 1) {\n                if (node.leftNode) {\n                    if (passedNode.key < node.leftNode.key) {\n                        var returner = this.rightRotate(node);\n                        if (debugFlag) {\n                            console.log(\"returning here 1 \", returner);\n                        }\n                        return returner;\n                    }\n                    else if (passedNode.key > node.leftNode.key) {\n                        node.leftNode = this.leftRotate(node.leftNode);\n                        var returner = this.rightRotate(node);\n                        if (debugFlag) {\n                            console.log(\"returning here 2 \", returner);\n                        }\n                        return returner;\n                    }\n                }\n            }\n            if (balancingFactor < -1) {\n                if (node.rightNode) {\n                    if (passedNode.key > node.rightNode.key) {\n                        var returner = this.leftRotate(node);\n                        if (debugFlag) {\n                            console.log(\"returning here 3 \", returner);\n                        }\n                        return returner;\n                    }\n                    else if (passedNode.key < node.rightNode.key) {\n                        node.rightNode = this.rightRotate(node.rightNode);\n                        var returner = this.leftRotate(node);\n                        if (debugFlag) {\n                            console.log(\"returning here4 \", returner, node);\n                        }\n                        return returner;\n                    }\n                }\n            }\n        }\n        else {\n            if (debugFlag) {\n                console.log(\"what here\", node);\n            }\n        }\n        if (debugFlag) {\n            console.log(\"returning here 6\", node);\n        }\n        return node;\n    }\n    rightRotate(y) {\n        if (y) {\n            let x = y.leftNode;\n            if (x) {\n                let T2 = x.rightNode;\n                y.leftNode = T2;\n                x.rightNode = y;\n                y.height = Math.max(this.getHeight(y.leftNode), this.getHeight(y.rightNode)) + 1;\n                x.height = Math.max(this.getHeight(x.leftNode), this.getHeight(x.rightNode)) + 1;\n                return x;\n            }\n            // return x;\n        }\n        return y;\n    }\n    leftRotate(x) {\n        if (x) {\n            let y = x.rightNode;\n            if (y) {\n                let T2 = y.leftNode;\n                y.leftNode = x;\n                x.rightNode = T2;\n                x.height = Math.max(this.getHeight(x.leftNode), this.getHeight(x.rightNode) + 1);\n                y.height = Math.max(this.getHeight(y.leftNode), this.getHeight(x.rightNode) + 1);\n                return y;\n            }\n            //return y;\n        }\n        return x;\n    }\n    getHeight(node) {\n        if (node) {\n            return node.height;\n        }\n        return 0;\n    }\n    getBalanceFactor(N) {\n        if (N == null) {\n            return 0;\n        }\n        return this.getHeight(N.leftNode) - this.getHeight(N.rightNode);\n    }\n    getFromNode(id, node) {\n        if (node) {\n            if (id == node.key) {\n                return node;\n            }\n            else if (id < node.key) {\n                return this.getFromNode(id, node.leftNode);\n            }\n            else if (id > node.key) {\n                return this.getFromNode(id, node.rightNode);\n            }\n            return node;\n        }\n        return node;\n    }\n    getCharacterFromNode(value, node) {\n        if (node) {\n            if (value == node.key) {\n                return node;\n            }\n            else if (value < node.key) {\n                return this.getCharacterFromNode(value, node.leftNode);\n            }\n            else if (value > node.key) {\n                return this.getCharacterFromNode(value, node.rightNode);\n            }\n            return node;\n        }\n        return node;\n    }\n    getFromNodeWithCharacterAndType(value, typeId, node) {\n        value = `${value}`;\n        if (node) {\n            if (value == node.key) {\n                if (value == node.value.characterValue && typeId == node.value.typeId) {\n                    return node;\n                }\n                else {\n                    for (let i = 0; i < node.variants.length; i++) {\n                        if (node.variants[i].value.typeId == typeId) {\n                            return node.variants[i];\n                        }\n                    }\n                    // return this.getFromNodeWithCharacterAndType(value, typeId, node.currentNode);\n                }\n            }\n            else if (value < node.key) {\n                return this.getFromNodeWithCharacterAndType(value, typeId, node.leftNode);\n            }\n            else if (value > node.key) {\n                return this.getFromNodeWithCharacterAndType(value, typeId, node.rightNode);\n            }\n            return null;\n        }\n        return node;\n    }\n    removeNode(passedNode, id) {\n        if (passedNode == null) {\n            return passedNode;\n        }\n        if (passedNode.key > id) {\n            passedNode.leftNode = this.removeNode(passedNode.leftNode, id);\n            return passedNode;\n        }\n        else if (passedNode.key < id) {\n            passedNode.rightNode = this.removeNode(passedNode.rightNode, id);\n            return passedNode;\n        }\n        // if(passedNode.variants.length > 0){\n        //     if(passedNode.value.id == id ){\n        //     }\n        //     var newNode = passedNode.variants[0];\n        //     if(newNode){\n        //         passedNode.value = newNode.value;\n        //         passedNode.key = newNode.key;\n        //         passedNode.currentNode = newNode.currentNode;\n        //         return passedNode;\n        //     }\n        // }\n        if (passedNode.leftNode == null) {\n            let temp = passedNode.rightNode;\n            passedNode = null;\n            return temp;\n        }\n        else if (passedNode.rightNode == null) {\n            let temp = passedNode.leftNode;\n            passedNode = null;\n            return temp;\n        }\n        else {\n            // passing the rightNode to the inOrderSuccessor gives the immediate successor of the node\n            var immediateSuccessor = this.inOrderSuccessor(passedNode.rightNode);\n            passedNode.value = immediateSuccessor.value;\n            passedNode.key = immediateSuccessor.key;\n            passedNode.variants = immediateSuccessor.variants;\n            passedNode.currentNode = immediateSuccessor.currentNode;\n            passedNode.rightNode = this.removeNode(passedNode.rightNode, immediateSuccessor.key);\n            return passedNode;\n        }\n    }\n    removeNodeWithVariants(passedNode, typeIdentifier, conceptId) {\n        if (passedNode == null) {\n            return passedNode;\n        }\n        if (passedNode.key > typeIdentifier) {\n            passedNode.leftNode = this.removeNodeWithVariants(passedNode.leftNode, typeIdentifier, conceptId);\n            return passedNode;\n        }\n        else if (passedNode.key < typeIdentifier) {\n            passedNode.rightNode = this.removeNodeWithVariants(passedNode.rightNode, typeIdentifier, conceptId);\n            return passedNode;\n        }\n        if (passedNode.variants.length > 0) {\n            //condition if the main node is equal to the value\n            if (passedNode.value.id == conceptId) {\n                var newNode = passedNode.variants[0];\n                if (newNode) {\n                    passedNode.value = newNode.value;\n                    passedNode.key = newNode.key;\n                    passedNode.currentNode = newNode.currentNode;\n                    passedNode.variants.splice(0, 1);\n                    return passedNode;\n                }\n            }\n            else {\n                // in the condition that the main node is not equal to the checking value \n                for (let i = 0; i < passedNode.variants.length; i++) {\n                    if (conceptId == passedNode.variants[i].value.id) {\n                        passedNode.variants.splice(i, 1);\n                        return passedNode;\n                    }\n                }\n            }\n        }\n        if (passedNode.leftNode == null) {\n            let temp = passedNode.rightNode;\n            passedNode = null;\n            return temp;\n        }\n        else if (passedNode.rightNode == null) {\n            let temp = passedNode.leftNode;\n            passedNode = null;\n            return temp;\n        }\n        else {\n            // passing the rightNode to the inOrderSuccessor gives the immediate successor of the node\n            var immediateSuccessor = this.inOrderSuccessor(passedNode.rightNode);\n            passedNode.value = immediateSuccessor.value;\n            passedNode.key = immediateSuccessor.key;\n            passedNode.variants = immediateSuccessor.variants;\n            passedNode.currentNode = immediateSuccessor.currentNode;\n            passedNode.rightNode = this.removeNodeWithVariants(passedNode.rightNode, immediateSuccessor.key, conceptId);\n            return passedNode;\n        }\n    }\n    countNodeBelow(root) {\n        if (root == null) {\n            return 0;\n        }\n        //recursive call to left child and right child and\n        // add the result of these with 1 ( 1 for counting the root)\n        return 1 + this.countNodeBelow(root.leftNode) + this.countNodeBelow(root.rightNode);\n    }\n    inOrderSuccessor(root) {\n        while (root.leftNode != null) {\n            root = root.leftNode;\n        }\n        return root;\n    }\n}\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/PatcherStructure.ts\":\n/*!************************************************!*\\\n  !*** ./src/DataStructures/PatcherStructure.ts ***!\n  \\************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   PatcherStructure: () => (/* binding */ PatcherStructure)\n/* harmony export */ });\nclass PatcherStructure {\n    constructor() {\n        this.compositionId = 0;\n        this.userId = 999;\n        this.sessionId = 999;\n        this.accessId = 4;\n        this.ofTheCompositionId = 0;\n        this.patchObject = {};\n    }\n}\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/ReservedIds.ts\":\n/*!*******************************************!*\\\n  !*** ./src/DataStructures/ReservedIds.ts ***!\n  \\*******************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   ReservedConnectionIds: () => (/* binding */ ReservedConnectionIds),\n/* harmony export */   ReservedIds: () => (/* binding */ ReservedIds)\n/* harmony export */ });\n/* harmony import */ var _Api_GetReservedConnectionIds__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Api/GetReservedConnectionIds */ \"./src/Api/GetReservedConnectionIds.ts\");\n/* harmony import */ var _Api_GetReservedIds__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Api/GetReservedIds */ \"./src/Api/GetReservedIds.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\nclass ReservedIds {\n    static getId() {\n        return __awaiter(this, void 0, void 0, function* () {\n            if (this.ids.length < 5) {\n                var ids = yield (0,_Api_GetReservedIds__WEBPACK_IMPORTED_MODULE_1__.GetReservedIds)();\n            }\n            var id = this.ids[0];\n            this.ids.shift();\n            return id;\n        });\n    }\n    static AddId(id) {\n        if (!this.ids.includes(id)) {\n            this.ids.push(id);\n        }\n    }\n}\nReservedIds.ids = [];\nclass ReservedConnectionIds {\n    static getId() {\n        return __awaiter(this, void 0, void 0, function* () {\n            if (this.connectionIds.length < 5) {\n                var connectionIds = yield (0,_Api_GetReservedConnectionIds__WEBPACK_IMPORTED_MODULE_0__.GetReservedConnectionIds)();\n            }\n            var id = this.connectionIds[0];\n            this.connectionIds.shift();\n            return id;\n        });\n    }\n    static AddId(id) {\n        if (!this.connectionIds.includes(id)) {\n            this.connectionIds.push(id);\n        }\n    }\n}\nReservedConnectionIds.connectionIds = [];\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/Returner.ts\":\n/*!****************************************!*\\\n  !*** ./src/DataStructures/Returner.ts ***!\n  \\****************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   Returner: () => (/* binding */ Returner)\n/* harmony export */ });\nclass Returner {\n    constructor(id, userId, referentId, isNew) {\n        this.id = id;\n        this.userId = userId;\n        this.referentId = referentId;\n        this.isNew = isNew;\n    }\n}\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/SearchQuery.ts\":\n/*!*******************************************!*\\\n  !*** ./src/DataStructures/SearchQuery.ts ***!\n  \\*******************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   SearchQuery: () => (/* binding */ SearchQuery)\n/* harmony export */ });\nclass SearchQuery {\n    constructor() {\n        this.composition = 0;\n        this.type = \"\";\n        this.linker = \"\";\n        this.inpage = 10;\n        this.page = 1;\n        this.listLinkers = [];\n        this.fullLinkers = [];\n        this.textSearch = \"\";\n        this.logic = \"or\";\n        this.filterSearches = [];\n        this.selectors = [];\n    }\n}\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/Security/TokenStorage.ts\":\n/*!*****************************************************!*\\\n  !*** ./src/DataStructures/Security/TokenStorage.ts ***!\n  \\*****************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   TokenStorage: () => (/* binding */ TokenStorage)\n/* harmony export */ });\nclass TokenStorage {\n}\nTokenStorage.BearerAccessToken = \"\";\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/Session/SessionData.ts\":\n/*!***************************************************!*\\\n  !*** ./src/DataStructures/Session/SessionData.ts ***!\n  \\***************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   SessionData: () => (/* binding */ SessionData)\n/* harmony export */ });\nclass SessionData {\n    constructor() {\n        this.id = \"0\";\n        this.remote_address = \"\";\n        this.server_port = \"\";\n        this.server_address = \"\";\n        this.server_name = \"\";\n        this.server_software = \"\";\n        this.http_user_agent = \"\";\n        this.self = \"\";\n        this.port = \"\";\n        this.userId = \"\";\n        this.email = \"\";\n    }\n}\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/SettingData.ts\":\n/*!*******************************************!*\\\n  !*** ./src/DataStructures/SettingData.ts ***!\n  \\*******************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   SettingData: () => (/* binding */ SettingData)\n/* harmony export */ });\nclass SettingData {\n    constructor(isOnlineSync) {\n        this.id = 1;\n        this.isOnlineSync = false;\n        this.isOnlineSync = isOnlineSync;\n    }\n}\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/Settings.ts\":\n/*!****************************************!*\\\n  !*** ./src/DataStructures/Settings.ts ***!\n  \\****************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   Settings: () => (/* binding */ Settings)\n/* harmony export */ });\nclass Settings {\n}\nSettings.isUpdated = false;\nSettings.isOnlineSync = false;\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/SyncData.ts\":\n/*!****************************************!*\\\n  !*** ./src/DataStructures/SyncData.ts ***!\n  \\****************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   SyncData: () => (/* binding */ SyncData)\n/* harmony export */ });\n/* harmony import */ var _Database_indexeddb__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../Database/indexeddb */ \"./src/Database/indexeddb.ts\");\n/* harmony import */ var _Api_Create_CreateTheConceptApi__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Api/Create/CreateTheConceptApi */ \"./src/Api/Create/CreateTheConceptApi.ts\");\n/* harmony import */ var _Api_Create_CreateTheConnectionApi__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Api/Create/CreateTheConnectionApi */ \"./src/Api/Create/CreateTheConnectionApi.ts\");\n/* harmony import */ var _ConceptData__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ConceptData */ \"./src/DataStructures/ConceptData.ts\");\n/* harmony import */ var _ConnectionData__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ConnectionData */ \"./src/DataStructures/ConnectionData.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\n\nclass SyncData {\n    static CheckContains(concept) {\n        var contains = false;\n        for (var i = 0; i < this.conceptsSyncArray.length; i++) {\n            if (this.conceptsSyncArray[i].id == concept.id) {\n                contains = true;\n            }\n        }\n        return contains;\n    }\n    static SyncDataDelete(id) {\n        for (var i = 0; i < this.conceptsSyncArray.length; i++) {\n            if (id == this.conceptsSyncArray[i].id) {\n                this.conceptsSyncArray.splice(i, 1);\n            }\n        }\n        for (var i = 0; i < this.connectionSyncArray.length; i++) {\n            if (this.connectionSyncArray[i].ofTheConceptId == id || this.connectionSyncArray[i].toTheConceptId == id || this.connectionSyncArray[i].typeId == id) {\n                this.connectionSyncArray.splice(i, 1);\n            }\n        }\n    }\n    static CheckContainsConnection(connection) {\n        var contains = false;\n        for (var i = 0; i < this.connectionSyncArray.length; i++) {\n            if (this.connectionSyncArray[i].id == connection.id) {\n                contains = true;\n            }\n        }\n        return contains;\n    }\n    static AddConcept(concept) {\n        var contains = false;\n        // ConceptsData.AddConceptTemporary(concept);\n        if (!contains) {\n            this.conceptsSyncArray.push(concept);\n        }\n    }\n    static RemoveConcept(concept) {\n        for (var i = 0; i < this.conceptsSyncArray.length; i++) {\n            if (this.conceptsSyncArray[i].id == concept.id) {\n                this.conceptsSyncArray.splice(i, 1);\n            }\n        }\n    }\n    static AddConnection(connection) {\n        this.connectionSyncArray.push(connection);\n    }\n    static RemoveConnection(connection) {\n        for (var i = 0; i < this.connectionSyncArray.length; i++) {\n            if (this.connectionSyncArray[i].id == connection.id) {\n                this.connectionSyncArray.splice(i, 1);\n            }\n        }\n    }\n    static SyncDataOnline() {\n        return __awaiter(this, void 0, void 0, function* () {\n            for (let i = 0; i < this.conceptsSyncArray.length; i++) {\n                _ConceptData__WEBPACK_IMPORTED_MODULE_3__.ConceptsData.AddConcept(this.conceptsSyncArray[i]);\n            }\n            for (let i = 0; i < this.connectionSyncArray.length; i++) {\n                _ConnectionData__WEBPACK_IMPORTED_MODULE_4__.ConnectionData.AddConnection(this.connectionSyncArray[i]);\n            }\n            if (this.conceptsSyncArray.length > 0) {\n                let conceptsArray = this.conceptsSyncArray.slice();\n                this.conceptsSyncArray = [];\n                (0,_Api_Create_CreateTheConceptApi__WEBPACK_IMPORTED_MODULE_1__.CreateTheConceptApi)(conceptsArray);\n            }\n            if (this.connectionSyncArray.length > 0) {\n                // for(let i =0 ; i<this.connectionSyncArray.length ; i++){\n                //     console.log(\"create the connection in backend\", this.connectionSyncArray[i].ofTheConceptId + \"====\" + this.connectionSyncArray[i].toTheConceptId);\n                // }\n                let connectionsArray = this.connectionSyncArray.slice();\n                this.connectionSyncArray = [];\n                yield (0,_Api_Create_CreateTheConnectionApi__WEBPACK_IMPORTED_MODULE_2__.CreateTheConnectionApi)(connectionsArray);\n            }\n            return \"done\";\n        });\n    }\n    static syncDataLocalDb() {\n        return __awaiter(this, void 0, void 0, function* () {\n            if (this.conceptsSyncArray.length > 0) {\n                for (let i = 0; i < this.conceptsSyncArray.length; i++) {\n                    (0,_Database_indexeddb__WEBPACK_IMPORTED_MODULE_0__.storeToDatabase)(\"localconcept\", this.conceptsSyncArray[i]);\n                }\n                this.conceptsSyncArray = [];\n            }\n            if (this.connectionSyncArray.length > 0) {\n                for (let i = 0; i < this.connectionSyncArray.length; i++) {\n                    (0,_Database_indexeddb__WEBPACK_IMPORTED_MODULE_0__.storeToDatabase)(\"localconnection\", this.connectionSyncArray[i]);\n                }\n                this.connectionSyncArray = [];\n            }\n            return \"done\";\n        });\n    }\n}\nSyncData.conceptsSyncArray = [];\nSyncData.connectionSyncArray = [];\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/TheCharacter.ts\":\n/*!********************************************!*\\\n  !*** ./src/DataStructures/TheCharacter.ts ***!\n  \\********************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   TheCharacter: () => (/* binding */ TheCharacter)\n/* harmony export */ });\nclass TheCharacter {\n    constructor(userId, data, securityId, securityUserId, accessId, accessUserId, sessionId, sessionUserId, entryTimestamp, isNew) {\n        this.id = 0;\n        this.isNew = false;\n        this.userId = userId;\n        this.data = `${data}`;\n        this.securityId = securityId;\n        this.securityUserId = securityUserId;\n        this.accessId = accessId;\n        this.accessUserId = accessUserId;\n        this.sessionId = sessionId;\n        this.sessionUserId = sessionUserId;\n        this.isNew = isNew;\n    }\n}\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/TheTexts.ts\":\n/*!****************************************!*\\\n  !*** ./src/DataStructures/TheTexts.ts ***!\n  \\****************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   TheTexts: () => (/* binding */ TheTexts)\n/* harmony export */ });\nclass TheTexts {\n    constructor(userId, data, securityId, securityUserId, accessId, accessUserId, sessionId, sessionUserId, entryTimestamp, isNew) {\n        this.id = 0;\n        this.userId = userId;\n        this.data = data;\n        this.securityId = securityId;\n        this.securityUserId = securityUserId;\n        this.accessId = accessId;\n        this.accessUserId = accessUserId;\n        this.sessionId = sessionId;\n        this.sessionUserId = sessionUserId;\n        this.entryTimestamp = entryTimestamp;\n        this.isNew = isNew;\n    }\n}\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/User/UserBinaryTree.ts\":\n/*!***************************************************!*\\\n  !*** ./src/DataStructures/User/UserBinaryTree.ts ***!\n  \\***************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   UserBinaryTree: () => (/* binding */ UserBinaryTree)\n/* harmony export */ });\n/* harmony import */ var _UserNode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./UserNode */ \"./src/DataStructures/User/UserNode.ts\");\n/* harmony import */ var _IdentifierFlags__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../IdentifierFlags */ \"./src/DataStructures/IdentifierFlags.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\nclass UserBinaryTree {\n    static addNodeToTree(node) {\n        if (this.root == null) {\n            this.root = node;\n            return this.root;\n        }\n        else {\n            this.root = this.root.addNode(node, this.root, this.root.height);\n        }\n    }\n    static waitForDataToLoad() {\n        return __awaiter(this, void 0, void 0, function* () {\n            return new Promise((resolve, reject) => {\n                this.checkFlag(resolve);\n                setTimeout(() => {\n                    reject(\"not\");\n                }, 25000);\n            });\n        });\n    }\n    static checkFlag(resolve) {\n        if (_IdentifierFlags__WEBPACK_IMPORTED_MODULE_1__.IdentifierFlags.isDataLoaded) {\n            return resolve(\"done\");\n        }\n        else {\n            setTimeout(UserBinaryTree.checkFlag, 1000, resolve);\n        }\n    }\n    ;\n    static addConceptToTree(concept, userId) {\n        var node = new _UserNode__WEBPACK_IMPORTED_MODULE_0__.UserNode(userId, concept, null, null);\n        this.addNodeToTree(node);\n    }\n    static getNodeFromTree(id) {\n        return __awaiter(this, void 0, void 0, function* () {\n            try {\n                var data = yield this.waitForDataToLoad();\n            }\n            catch (exception) {\n                return null;\n            }\n            if (this.root) {\n                var Node = this.root.getFromNode(id, this.root);\n                return Node;\n            }\n            return null;\n        });\n    }\n    static removeNodeFromTree(id) {\n        return __awaiter(this, void 0, void 0, function* () {\n            if (this.root) {\n                this.root = this.root.removeNode(this.root, id);\n            }\n        });\n    }\n    static countNumberOfNodes() {\n        if (this.root) {\n            return this.root.countNodeBelow(this.root);\n        }\n        return 0;\n    }\n}\nUserBinaryTree.root = null;\n\n\n/***/ }),\n\n/***/ \"./src/DataStructures/User/UserNode.ts\":\n/*!*********************************************!*\\\n  !*** ./src/DataStructures/User/UserNode.ts ***!\n  \\*********************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   UserNode: () => (/* binding */ UserNode)\n/* harmony export */ });\nclass UserNode {\n    constructor(key, value, leftNode, rightNode) {\n        this.value = [];\n        this.height = 1;\n        this.key = key;\n        this.value.push(value);\n        this.leftNode = leftNode;\n        this.rightNode = rightNode;\n    }\n    addNode(passedNode, node, height) {\n        if (node == null) {\n            node = passedNode;\n            return node;\n        }\n        var LeftNode = node.leftNode;\n        var RightNode = node.rightNode;\n        if (node.key > passedNode.key) {\n            node.leftNode = this.addNode(passedNode, LeftNode, height);\n        }\n        else if (node.key < passedNode.key) {\n            node.rightNode = this.addNode(passedNode, RightNode, height);\n        }\n        else {\n            node.value.push(...passedNode.value);\n            return node;\n        }\n        node.height = 1 + Math.max(this.getHeight(node.leftNode), this.getHeight(node.rightNode));\n        let balancingFactor = this.getBalanceFactor(node);\n        if (balancingFactor > 1) {\n            if (node.leftNode) {\n                if (passedNode.key < node.leftNode.key) {\n                    return this.rightRotate(node);\n                }\n                else if (passedNode.key > node.leftNode.key) {\n                    node.leftNode = this.leftRotate(node.leftNode);\n                    return this.rightRotate(node);\n                }\n            }\n        }\n        if (balancingFactor < -1) {\n            if (node.rightNode) {\n                if (passedNode.key > node.rightNode.key) {\n                    return this.leftRotate(node);\n                }\n                else if (passedNode.key < node.rightNode.key) {\n                    node.rightNode = this.rightRotate(node.rightNode);\n                    return this.leftRotate(node);\n                }\n            }\n        }\n        return node;\n    }\n    rightRotate(y) {\n        if (y) {\n            let x = y.leftNode;\n            if (x) {\n                let T2 = x.rightNode;\n                y.leftNode = T2;\n                x.rightNode = y;\n                y.height = Math.max(this.getHeight(y.leftNode), this.getHeight(y.rightNode)) + 1;\n                x.height = Math.max(this.getHeight(x.leftNode), this.getHeight(x.rightNode)) + 1;\n                return x;\n            }\n            // return x;\n        }\n        return y;\n    }\n    leftRotate(x) {\n        if (x) {\n            let y = x.rightNode;\n            if (y) {\n                let T2 = y.leftNode;\n                y.leftNode = x;\n                x.rightNode = T2;\n                x.height = Math.max(this.getHeight(x.leftNode), this.getHeight(x.rightNode) + 1);\n                y.height = Math.max(this.getHeight(y.leftNode), this.getHeight(x.rightNode) + 1);\n                return y;\n            }\n            //return y;\n        }\n        return x;\n    }\n    getHeight(node) {\n        if (node) {\n            return node.height;\n        }\n        return 0;\n    }\n    getBalanceFactor(N) {\n        if (N == null) {\n            return 0;\n        }\n        return this.getHeight(N.leftNode) - this.getHeight(N.rightNode);\n    }\n    getFromNode(id, node) {\n        if (node) {\n            if (id == node.key) {\n                return node;\n            }\n            else if (id < node.key) {\n                return this.getFromNode(id, node.leftNode);\n            }\n            else if (id > node.key) {\n                return this.getFromNode(id, node.rightNode);\n            }\n            return node;\n        }\n        return node;\n    }\n    removeNode(passedNode, id) {\n        if (passedNode == null) {\n            return passedNode;\n        }\n        if (passedNode.key > id) {\n            passedNode.leftNode = this.removeNode(passedNode.leftNode, id);\n            return passedNode;\n        }\n        else if (passedNode.key < id) {\n            passedNode.rightNode = this.removeNode(passedNode.rightNode, id);\n            return passedNode;\n        }\n        if (passedNode.leftNode == null) {\n            let temp = passedNode.rightNode;\n            passedNode = null;\n            return temp;\n        }\n        else if (passedNode.rightNode == null) {\n            let temp = passedNode.leftNode;\n            passedNode = null;\n            return temp;\n        }\n        else {\n            // passing the rightNode to the inOrderSuccessor gives the immediate successor of the node\n            var immediateSuccessor = this.inOrderSuccessor(passedNode.rightNode);\n            passedNode.value = immediateSuccessor.value;\n            passedNode.key = immediateSuccessor.key;\n            passedNode.rightNode = this.removeNode(passedNode.rightNode, immediateSuccessor.key);\n            return passedNode;\n        }\n    }\n    countNodeBelow(root) {\n        if (root == null) {\n            return 0;\n        }\n        //recursive call to left child and right child and\n        // add the result of these with 1 ( 1 for counting the root)\n        return 1 + this.countNodeBelow(root.leftNode) + this.countNodeBelow(root.rightNode);\n    }\n    inOrderSuccessor(root) {\n        while (root.leftNode != null) {\n            root = root.leftNode;\n        }\n        return root;\n    }\n}\n\n\n/***/ }),\n\n/***/ \"./src/Database/NoIndexDb.ts\":\n/*!***********************************!*\\\n  !*** ./src/Database/NoIndexDb.ts ***!\n  \\***********************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   AiUpdateFlag: () => (/* binding */ AiUpdateFlag),\n/* harmony export */   GetStatsFromDatabase: () => (/* binding */ GetStatsFromDatabase),\n/* harmony export */   getAllFromLocalDb: () => (/* binding */ getAllFromLocalDb),\n/* harmony export */   getFromDatabaseWithType: () => (/* binding */ getFromDatabaseWithType),\n/* harmony export */   getFromDatabaseWithTypeOld: () => (/* binding */ getFromDatabaseWithTypeOld),\n/* harmony export */   openDatabase: () => (/* binding */ openDatabase),\n/* harmony export */   removeFromDatabase: () => (/* binding */ removeFromDatabase),\n/* harmony export */   storeToDatabase: () => (/* binding */ storeToDatabase)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_SettingData__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../DataStructures/SettingData */ \"./src/DataStructures/SettingData.ts\");\n/* harmony import */ var _indexeddb__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./indexeddb */ \"./src/Database/indexeddb.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\nfunction openDatabase(databaseName) {\n    return _indexeddb__WEBPACK_IMPORTED_MODULE_1__.IndexDb.db;\n}\nfunction storeToDatabase(databaseName, object) {\n}\nfunction GetStatsFromDatabase() {\n    var settingsData = new _DataStructures_SettingData__WEBPACK_IMPORTED_MODULE_0__.SettingData(true);\n    return settingsData;\n}\nfunction AiUpdateFlag(object) {\n}\nfunction getFromDatabaseWithType(databaseName, type, id) {\n    return __awaiter(this, void 0, void 0, function* () {\n    });\n}\nfunction getFromDatabaseWithTypeOld(databaseName) {\n    return __awaiter(this, void 0, void 0, function* () {\n    });\n}\nfunction removeFromDatabase(databaseName, id) {\n}\nfunction getAllFromLocalDb(databaseName) {\n    return __awaiter(this, void 0, void 0, function* () {\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Database/indexdblocal.ts\":\n/*!**************************************!*\\\n  !*** ./src/Database/indexdblocal.ts ***!\n  \\**************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   LocalIndexDb: () => (/* binding */ LocalIndexDb),\n/* harmony export */   getAllFromLocalDb: () => (/* binding */ getAllFromLocalDb),\n/* harmony export */   getFromDatabaseWithTypeOld: () => (/* binding */ getFromDatabaseWithTypeOld),\n/* harmony export */   openDatabase: () => (/* binding */ openDatabase),\n/* harmony export */   removeFromDatabase: () => (/* binding */ removeFromDatabase),\n/* harmony export */   storeToDatabase: () => (/* binding */ storeToDatabase)\n/* harmony export */ });\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\nvar version = 4;\nclass LocalIndexDb {\n}\nfunction openDatabase(databaseName) {\n    return new Promise(function (resolve, reject) {\n        if (LocalIndexDb.db) {\n            resolve(LocalIndexDb.db);\n        }\n        const request = indexedDB.open(\"FreeSchemaLocal\", version);\n        request.onerror = (event) => {\n            console.error(\"Why didn't you allow my web app to use IndexedDB?!\");\n        };\n        request.onsuccess = function (event) {\n            var target = event.target;\n            LocalIndexDb.db = target.result;\n            resolve(LocalIndexDb.db);\n        };\n        request.onupgradeneeded = (event) => {\n            var target = event.target;\n            var db = target.result;\n            var conceptDb = \"localconcept\";\n            var connectionDb = \"localconnection\";\n            if (!db.objectStoreNames.contains(conceptDb)) { // if there's no database name\n                let objectStore = db.createObjectStore(conceptDb, { keyPath: 'id' }); // create it\n                objectStore.transaction.oncomplete = (event) => {\n                };\n            }\n            if (!db.objectStoreNames.contains(connectionDb)) { // if there's no database name\n                let objectStore = db.createObjectStore(connectionDb, { keyPath: 'id' }); // create it\n                objectStore.transaction.oncomplete = (event) => {\n                };\n            }\n        };\n    });\n}\nfunction getFromDatabaseWithTypeOld(databaseName) {\n    return __awaiter(this, void 0, void 0, function* () {\n        return new Promise(function (resolve, reject) {\n            openDatabase(databaseName).then(() => {\n                var concept;\n                var ConceptList = [];\n                var db = LocalIndexDb.db;\n                let transaction = db.transaction(databaseName, \"readwrite\");\n                let objectStore = transaction.objectStore(databaseName);\n                var allobjects = objectStore.getAll();\n                allobjects.onsuccess = () => {\n                    const students = allobjects.result;\n                    for (var i = 0; i < students.length; i++) {\n                        ConceptList.push(students[i]);\n                    }\n                    resolve(ConceptList);\n                };\n            });\n        });\n    });\n}\nfunction storeToDatabase(databaseName, object) {\n    openDatabase(databaseName);\n    let db;\n    const request = indexedDB.open(\"FreeSchemaLocal\", version);\n    request.onerror = (event) => {\n        console.error(\"Why didn't you allow my web app to use IndexedDB?!\");\n    };\n    request.onsuccess = function (event) {\n        var target = event.target;\n        var db = target.result;\n        let transaction = db.transaction(databaseName, \"readwrite\");\n        let objStore = transaction.objectStore(databaseName);\n        objStore.add(object);\n    };\n}\nfunction getAllFromLocalDb(databaseName) {\n    return __awaiter(this, void 0, void 0, function* () {\n        return new Promise(function (resolve, reject) {\n            var ConceptList = [];\n            openDatabase(databaseName).then(db => {\n                let transaction = LocalIndexDb.db.transaction(databaseName, \"readwrite\");\n                let objectStore = transaction.objectStore(databaseName);\n                var allobjects = objectStore.getAll();\n                allobjects.onsuccess = () => {\n                    const students = allobjects.result;\n                    for (var i = 0; i < students.length; i++) {\n                        ConceptList.push(students[i]);\n                    }\n                    resolve(ConceptList);\n                };\n            });\n            //   // Database opened successfully\n            // };\n        });\n        // return ConceptList;\n    });\n}\nfunction removeFromDatabase(databaseName, id) {\n    openDatabase(databaseName);\n    const request = indexedDB.open(\"FreeSchemaLocal\", version);\n    request.onsuccess = function (event) {\n        var target = event.target;\n        var db = target.result;\n        let transaction = db.transaction(databaseName, \"readwrite\");\n        let objectStore = transaction.objectStore(databaseName);\n        let getRequest = objectStore.delete(id);\n        getRequest.onsuccess = function (event) {\n            let target = event.target;\n            // concept =  event.target.result;\n            // Access the retrieved data\n        };\n    };\n}\n\n\n/***/ }),\n\n/***/ \"./src/Database/indexeddb.ts\":\n/*!***********************************!*\\\n  !*** ./src/Database/indexeddb.ts ***!\n  \\***********************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   AiUpdateFlag: () => (/* binding */ AiUpdateFlag),\n/* harmony export */   GetStatsFromDatabase: () => (/* binding */ GetStatsFromDatabase),\n/* harmony export */   IndexDb: () => (/* binding */ IndexDb),\n/* harmony export */   getFromDatabaseWithType: () => (/* binding */ getFromDatabaseWithType),\n/* harmony export */   getFromDatabaseWithTypeOld: () => (/* binding */ getFromDatabaseWithTypeOld),\n/* harmony export */   openDatabase: () => (/* binding */ openDatabase),\n/* harmony export */   removeFromDatabase: () => (/* binding */ removeFromDatabase),\n/* harmony export */   storeToDatabase: () => (/* binding */ storeToDatabase)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_SettingData__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../DataStructures/SettingData */ \"./src/DataStructures/SettingData.ts\");\n/* harmony import */ var _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../DataStructures/BaseUrl */ \"./src/DataStructures/BaseUrl.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\nvar version = 4;\nclass IndexDb {\n}\nfunction openDatabase(databaseName) {\n    return new Promise(function (resolve, reject) {\n        if (IndexDb.db) {\n            resolve(IndexDb.db);\n        }\n        const request = indexedDB.open(_DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_1__.BaseUrl.BASE_URL + \"_FreeSchema\", version);\n        request.onerror = (event) => {\n            console.error(\"Why didn't you allow my web app to use IndexedDB?!\");\n        };\n        request.onsuccess = function (event) {\n            var target = event.target;\n            IndexDb.db = target.result;\n            resolve(IndexDb.db);\n        };\n        request.onupgradeneeded = (event) => {\n            var target = event.target;\n            var db = target.result;\n            var conceptDb = \"concept\";\n            var connectionDb = \"connection\";\n            var settings = \"settings\";\n            if (!db.objectStoreNames.contains(conceptDb)) { // if there's no database name\n                let objectStore = db.createObjectStore(conceptDb, { keyPath: 'id' }); // create it\n                objectStore.transaction.oncomplete = (event) => {\n                    // Store values in the newly created objectStore.\n                    // const myObjectStore = db\n                    // .transaction(databaseName, \"readwrite\")\n                    // .objectStore(databaseName);\n                    // myObjectStore.add(object);\n                };\n            }\n            if (!db.objectStoreNames.contains(connectionDb)) { // if there's no database name\n                let objectStore = db.createObjectStore(connectionDb, { keyPath: 'id' }); // create it\n                objectStore.transaction.oncomplete = (event) => {\n                };\n            }\n            if (!db.objectStoreNames.contains(settings)) {\n                let objectStore = db.createObjectStore(settings, { keyPath: 'id' }); // create it\n                objectStore.transaction.oncomplete = (event) => {\n                };\n            }\n        };\n    });\n}\nfunction storeToDatabase(databaseName, object) {\n    openDatabase(databaseName).then(() => {\n        if (object.id != 0) {\n            //var target = event.target as IDBOpenDBRequest;\n            var db = IndexDb.db;\n            let transaction = db.transaction(databaseName, \"readwrite\");\n            let objStore = transaction.objectStore(databaseName);\n            objStore.add(object);\n        }\n    });\n    // request.onupgradeneeded = (event) => {\n    //     var target = event.target as IDBOpenDBRequest;\n    //     var db = target.result as IDBDatabase;\n    //     var conceptDb = \"concept\";\n    //     var connectionDb = \"connection\";\n    //     var settings = \"settings\"\n    //     if (!db.objectStoreNames.contains(conceptDb)) { // if there's no database name\n    //       let  objectStore = db.createObjectStore(conceptDb, {keyPath: 'id'}); // create it\n    //       objectStore.transaction.oncomplete = (event: Event) => {\n    //             // Store values in the newly created objectStore.\n    //             // const myObjectStore = db\n    //             // .transaction(databaseName, \"readwrite\")\n    //             // .objectStore(databaseName);\n    //             // myObjectStore.add(object);\n    //       }\n    //     }\n    //     if (!db.objectStoreNames.contains(connectionDb)) { // if there's no database name\n    //       let  objectStore = db.createObjectStore(connectionDb, {keyPath: 'id'}); // create it\n    //       objectStore.transaction.oncomplete = (event: Event) => {\n    //       }\n    //     }\n    //     if(!db.objectStoreNames.contains(settings)){\n    //       let  objectStore = db.createObjectStore(settings, {keyPath: 'id'}); // create it\n    //       objectStore.transaction.oncomplete = (event: Event) => {\n    //       }\n    //     }\n    // }\n}\n// export function getFromDatabase(databaseName:string, id:number){\n//   openDatabase(databaseName).then(()=>{\n//     let transaction = db.transaction(databaseName, \"readwrite\") as IDBTransaction;\n//     let objectStore =transaction.objectStore(databaseName) as IDBObjectStore;\n//     let getRequest = objectStore.get(id);\n//     getRequest.onsuccess = function(event:Event) {\n//       let target = event.target as IDBRequest;\n//       concept = target.result as Concept;\n//       return concept;\n//       // concept =  event.target.result;\n//       // Access the retrieved data\n//     };  \n//      return concept as Concept;\n//   });\n//     //   // Database opened successfully\n//     // };\n//   }\nfunction GetStatsFromDatabase() {\n    return new Promise(function (resolve, reject) {\n        var databaseName = \"settings\";\n        openDatabase(databaseName).then(() => {\n            var db = IndexDb.db;\n            let transaction = db.transaction(databaseName, \"readwrite\");\n            let objectStore = transaction.objectStore(databaseName);\n            var allobjects = objectStore.getAll();\n            allobjects.onsuccess = () => {\n                var settingsData = new _DataStructures_SettingData__WEBPACK_IMPORTED_MODULE_0__.SettingData(false);\n                var settingsArray = allobjects.result;\n                for (let i = 0; i < settingsArray.length; i++) {\n                    settingsData = settingsArray[i];\n                    settingsData = settingsData;\n                }\n                resolve(settingsData);\n            };\n        });\n    });\n}\nfunction AiUpdateFlag(object) {\n    var databaseName = \"settings\";\n    openDatabase(databaseName).then(() => {\n        var db = IndexDb.db;\n        let transaction = db.transaction(databaseName, \"readwrite\");\n        let objStore = transaction.objectStore(databaseName);\n        objStore.put(object);\n    });\n}\nfunction getFromDatabaseWithType(databaseName, type, id) {\n    return __awaiter(this, void 0, void 0, function* () {\n        return new Promise(function (resolve, reject) {\n            openDatabase(databaseName);\n            const request = indexedDB.open(_DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_1__.BaseUrl.BASE_URL + \"_FreeSchema\", version);\n            var concept;\n            var ConceptList = [];\n            request.onsuccess = function (event) {\n                var target = event.target;\n                var db = target.result;\n                let transaction = db.transaction(databaseName, \"readwrite\");\n                let objectStore = transaction.objectStore(databaseName);\n                const getCursorRequest = objectStore.openCursor();\n                getCursorRequest.onsuccess = e => {\n                    // Cursor logic here\n                    let target = e.target;\n                    let cursor = target.result;\n                    if (cursor) {\n                        if (cursor.value[type] == id) {\n                            concept = cursor.value;\n                            ConceptList.push(concept);\n                        }\n                        cursor.continue();\n                    }\n                };\n                resolve(ConceptList);\n                //   // Database opened successfully\n                // };\n            };\n            request.onerror = function (event) {\n                reject(event);\n            };\n        });\n        // return ConceptList;\n    });\n}\nfunction getFromDatabaseWithTypeOld(databaseName) {\n    return __awaiter(this, void 0, void 0, function* () {\n        return new Promise(function (resolve, reject) {\n            openDatabase(databaseName).then(() => {\n                var concept;\n                var ConceptList = [];\n                var db = IndexDb.db;\n                let transaction = db.transaction(databaseName, \"readwrite\");\n                let objectStore = transaction.objectStore(databaseName);\n                var allobjects = objectStore.getAll();\n                allobjects.onsuccess = () => {\n                    const students = allobjects.result;\n                    for (var i = 0; i < students.length; i++) {\n                        ConceptList.push(students[i]);\n                    }\n                    resolve(ConceptList);\n                };\n            });\n        });\n        // return ConceptList;\n    });\n}\n//   export async function getFromDatabaseWithCharacterOld(databaseName:string, type:string, characterValue:string){\n//     return new Promise(function(resolve, reject){\n//     openDatabase(databaseName);\n//     const request = indexedDB.open(\"FreeSchema\",version);\n//     var concept: Concept|null;\n//     request.onsuccess = function(event) {\n//         var target = event.target as IDBOpenDBRequest;\n//         var db = target.result as IDBDatabase;\n//       let transaction = db.transaction(databaseName, \"readwrite\") as IDBTransaction;\n//       let objectStore =transaction.objectStore(databaseName) as IDBObjectStore;\n//       var allobjects = objectStore.getAll();\n//       allobjects.onsuccess = ()=> {\n//         const students = allobjects.result;\n//         for(var i=0; i<students.length; i++){\n//           if(students[i].character_value == characterValue){\n//             concept = students[i];\n//           }\n//         }\n//         console.log(\"resolving\");\n//         resolve(concept); \n//     }\n//     //   // Database opened successfully\n//     // };\n//     }\n//     request.onerror =function(event){\n//       reject(event);\n//     }\n// });\n//    // return ConceptList;\n//   }\nfunction removeFromDatabase(databaseName, id) {\n    openDatabase(databaseName);\n    const request = indexedDB.open(_DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_1__.BaseUrl.BASE_URL + \"_FreeSchema\", version);\n    request.onsuccess = function (event) {\n        var target = event.target;\n        var db = target.result;\n        let transaction = db.transaction(databaseName, \"readwrite\");\n        let objectStore = transaction.objectStore(databaseName);\n        console.log(\"deleting from the database\", id);\n        let getRequest = objectStore.delete(Number(id));\n        getRequest.onsuccess = function (event) {\n            let target = event.target;\n            console.log(event);\n            console.log(\"deleted successfully\");\n            // concept =  event.target.result;\n            // Access the retrieved data\n        };\n    };\n}\n\n\n/***/ }),\n\n/***/ \"./src/Helpers/CheckIfExists.ts\":\n/*!**************************************!*\\\n  !*** ./src/Helpers/CheckIfExists.ts ***!\n  \\**************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   CheckAllConnectionsConnectedInConnectionArray: () => (/* binding */ CheckAllConnectionsConnectedInConnectionArray),\n/* harmony export */   CheckIfConceptsExistsInArray: () => (/* binding */ CheckIfConceptsExistsInArray),\n/* harmony export */   CheckIfConnectionExistsInArray: () => (/* binding */ CheckIfConnectionExistsInArray),\n/* harmony export */   CheckIfToTheConceptExistsInConnectionArray: () => (/* binding */ CheckIfToTheConceptExistsInConnectionArray),\n/* harmony export */   CheckIfTypeConceptExistsInArray: () => (/* binding */ CheckIfTypeConceptExistsInArray),\n/* harmony export */   CheckIfTypeConceptsExistsInArray: () => (/* binding */ CheckIfTypeConceptsExistsInArray)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_Connection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../DataStructures/Connection */ \"./src/DataStructures/Connection.ts\");\n/* harmony import */ var _Services_CreateDefaultConcept__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Services/CreateDefaultConcept */ \"./src/Services/CreateDefaultConcept.ts\");\n\n\nfunction CheckIfConceptsExistsInArray(conceptList = [], concept) {\n    let foundConcept = (0,_Services_CreateDefaultConcept__WEBPACK_IMPORTED_MODULE_1__.CreateDefaultConcept)();\n    if (Array.isArray(conceptList)) {\n        const check = conceptList.find(c => c.id === concept.id);\n        if (check) {\n            foundConcept = check;\n        }\n    }\n    return foundConcept;\n}\nfunction CheckIfTypeConceptExistsInArray(conceptList = [], concept) {\n    let foundConcept = (0,_Services_CreateDefaultConcept__WEBPACK_IMPORTED_MODULE_1__.CreateDefaultConcept)();\n    if (Array.isArray(conceptList)) {\n        const check = conceptList.find(c => c.typeId == concept.typeId);\n        if (check) {\n            foundConcept = check;\n        }\n    }\n    return foundConcept;\n}\nfunction CheckIfTypeConceptsExistsInArray(conceptList = [], concept) {\n    let foundConcepts = [];\n    if (Array.isArray(conceptList)) {\n        for (let i = 0; i < conceptList.length; i++) {\n            if (concept.typeId == conceptList[i].typeId) {\n                foundConcepts.push(conceptList[i]);\n            }\n        }\n    }\n    return foundConcepts;\n}\nfunction CheckIfConnectionExistsInArray(connectionList = [], connection) {\n    let foundConnection = new _DataStructures_Connection__WEBPACK_IMPORTED_MODULE_0__.Connection(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);\n    if (Array.isArray(connectionList)) {\n        const check = connectionList.find(c => c.id === connection.id);\n        if (check) {\n            foundConnection = check;\n        }\n    }\n    return foundConnection;\n}\nfunction CheckIfToTheConceptExistsInConnectionArray(connectionList = [], conceptId) {\n    let foundConnection = new _DataStructures_Connection__WEBPACK_IMPORTED_MODULE_0__.Connection(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);\n    if (Array.isArray(connectionList)) {\n        const check = connectionList.find(c => c.toTheConceptId === conceptId);\n        if (check) {\n            foundConnection = check;\n        }\n        const toCheck = connectionList.find(c => c.ofTheConceptId === conceptId);\n        if (toCheck) {\n            foundConnection = toCheck;\n        }\n    }\n    return foundConnection;\n}\nfunction CheckAllConnectionsConnectedInConnectionArray(connectionList = [], conceptId) {\n    let foundConnections = [];\n    if (Array.isArray(connectionList)) {\n        const check = connectionList.find(c => c.toTheConceptId == conceptId);\n        if (check) {\n            foundConnections.push(check);\n        }\n        const toCheck = connectionList.find(c => c.ofTheConceptId == conceptId);\n        if (toCheck) {\n            foundConnections.push(toCheck);\n        }\n    }\n    return foundConnections;\n}\n\n\n/***/ }),\n\n/***/ \"./src/Helpers/RemoveFromArray.ts\":\n/*!****************************************!*\\\n  !*** ./src/Helpers/RemoveFromArray.ts ***!\n  \\****************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   RemoveConceptFromList: () => (/* binding */ RemoveConceptFromList),\n/* harmony export */   RemoveConnectionFromList: () => (/* binding */ RemoveConnectionFromList)\n/* harmony export */ });\nfunction RemoveConceptFromList(conceptList = [], concept) {\n    if (Array.isArray(conceptList)) {\n        conceptList.splice(conceptList.findIndex(function (i) {\n            return i.id === concept.id;\n        }), 1);\n    }\n}\nfunction RemoveConnectionFromList(connectionList = [], connection) {\n    if (Array.isArray(connectionList)) {\n        connectionList.splice(connectionList.findIndex(function (i) {\n            return i.id === connection.id;\n        }), 1);\n    }\n}\n\n\n/***/ }),\n\n/***/ \"./src/Helpers/UniqueInsert.ts\":\n/*!*************************************!*\\\n  !*** ./src/Helpers/UniqueInsert.ts ***!\n  \\*************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ InsertUniqueNumber)\n/* harmony export */ });\nfunction InsertUniqueNumber(Array, toInsert) {\n    if (Array.indexOf(toInsert) === -1) {\n        Array.push(toInsert);\n    }\n    return Array;\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/CheckForConnectionDeletion.ts\":\n/*!****************************************************!*\\\n  !*** ./src/Services/CheckForConnectionDeletion.ts ***!\n  \\****************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   CheckForConnectionDeletion: () => (/* binding */ CheckForConnectionDeletion),\n/* harmony export */   CheckForConnectionDeletionWithIds: () => (/* binding */ CheckForConnectionDeletionWithIds)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_ConnectionData__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../DataStructures/ConnectionData */ \"./src/DataStructures/ConnectionData.ts\");\n\nfunction CheckForConnectionDeletion(newConnections = [], oldConnections = []) {\n    for (let i = 0; i < oldConnections.length; i++) {\n        if (Array.isArray(newConnections)) {\n            if (!newConnections.find(obj => obj.id === oldConnections[i].id)) {\n                _DataStructures_ConnectionData__WEBPACK_IMPORTED_MODULE_0__.ConnectionData.RemoveConnection(oldConnections[i]);\n            }\n        }\n    }\n}\nfunction CheckForConnectionDeletionWithIds(newConnectionIds = [], oldConnections = []) {\n    for (let i = 0; i < oldConnections.length; i++) {\n        if (!newConnectionIds.includes(oldConnections[i].id)) {\n            _DataStructures_ConnectionData__WEBPACK_IMPORTED_MODULE_0__.ConnectionData.RemoveConnection(oldConnections[i]);\n        }\n    }\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/Composition/BuildComposition.ts\":\n/*!******************************************************!*\\\n  !*** ./src/Services/Composition/BuildComposition.ts ***!\n  \\******************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   recursiveFetchNew: () => (/* binding */ recursiveFetchNew)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../DataStructures/ConceptData */ \"./src/DataStructures/ConceptData.ts\");\n/* harmony import */ var _Services_CreateDefaultConcept__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Services/CreateDefaultConcept */ \"./src/Services/CreateDefaultConcept.ts\");\n/* harmony import */ var _Services_GetTheConcept__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Services/GetTheConcept */ \"./src/Services/GetTheConcept.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n// this is a different type of recurisve fetch because here all the concepts and connections are passed as it is\n// so there is no need to query the connections and concepts from outside\n// if the concept connection is not found then it will go to the backend to fetch it\nfunction recursiveFetchNew(id, connectionList, conceptList, compositionList, visitedConcepts = []) {\n    var _a, _b;\n    return __awaiter(this, void 0, void 0, function* () {\n        let output = {};\n        const arroutput = [];\n        if (id == 0) {\n            return '';\n        }\n        // get concept from a list of concepts\n        let concept = getConceptFromList(conceptList, id);\n        // if we cannot find the concept from the concept list then find it from the backend\n        if ((concept == null || concept.id == 0) && id != null && id != undefined) {\n            // get the concepts tries to find it from the binary tree else from the backend if cannot find it then\n            // it will become null\n            const conceptString = yield (0,_Services_GetTheConcept__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(id);\n            concept = conceptString;\n        }\n        if (concept.id != 0) {\n            // if the concept type is non existent then you have to get the type from the backend\n            if (concept.type == null) {\n                // get the concept type id from the concept which is stored in typeId\n                const toConceptTypeId = concept.typeId;\n                //\n                let toConceptType = getConceptFromList(conceptList, toConceptTypeId);\n                concept.type = toConceptType;\n                if (toConceptType == null &&\n                    toConceptTypeId != null &&\n                    toConceptTypeId != undefined) {\n                    const conceptString = yield (0,_Services_GetTheConcept__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(toConceptTypeId);\n                    toConceptType = conceptString;\n                    concept.type = toConceptType;\n                }\n            }\n        }\n        //let mainString = concept?.type?.characterValue ?? ''\n        if (!compositionList.includes(id)) {\n            return concept === null || concept === void 0 ? void 0 : concept.characterValue;\n        }\n        else {\n            if (visitedConcepts.includes(id)) {\n                return \"\";\n            }\n            else {\n                visitedConcepts.push(id);\n            }\n            // loop over all the connections\n            for (let i = 0; i < connectionList.length; i++) {\n                // if the connection has the id that has been passed in the recursion\n                // oftheconceptId -----> toTheConceptId\n                // this only gives the valid concept id that are inside of this id\n                if (connectionList[i].ofTheConceptId == id) {\n                    // then take out the toTheConceptId from the connection\n                    const toConceptId = connectionList[i].toTheConceptId;\n                    // convert the toTheConceptId to a real Concept Object\n                    let toConcept = getConceptFromList(conceptList, toConceptId);\n                    // get the concept\n                    if ((toConcept == null || toConcept.id == 0) &&\n                        toConceptId != null &&\n                        toConceptId != undefined) {\n                        const conceptString = yield (0,_Services_GetTheConcept__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(toConceptId);\n                        toConcept = conceptString;\n                    }\n                    // if the toConcept is valid\n                    if (toConcept.id != 0) {\n                        if ((toConcept === null || toConcept === void 0 ? void 0 : toConcept.type) == null) {\n                            // get the type in casee type is not defined\n                            const toConceptTypeId = toConcept.typeId;\n                            let toConceptType = yield _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_0__.ConceptsData.GetConcept(toConceptTypeId);\n                            toConcept.type = toConceptType;\n                            if (toConceptType == null &&\n                                toConceptTypeId != null &&\n                                toConceptTypeId != undefined) {\n                                const conceptString = yield (0,_Services_GetTheConcept__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(toConceptTypeId);\n                                toConceptType = conceptString;\n                                toConcept.type = toConceptType;\n                            }\n                        }\n                    }\n                    // the regex to filter out the the_ from the type concepts\n                    const regex = 'the_';\n                    // then create the key of the key value pair that is the type of the concept\n                    const localmainString = (_b = (_a = toConcept === null || toConcept === void 0 ? void 0 : toConcept.type) === null || _a === void 0 ? void 0 : _a.characterValue) !== null && _b !== void 0 ? _b : '';\n                    // replace the the_ with an empty string\n                    const localKey = localmainString.replace(regex, '');\n                    // if the  type  is a number then put it inside of an object\n                    if (isNaN(Number(localKey))) {\n                        if (localKey) {\n                            const result = yield recursiveFetchNew(toConceptId, connectionList, conceptList, compositionList, visitedConcepts);\n                            output[localKey] = result;\n                        }\n                    }\n                    else {\n                        // if the type is a number then put it inside an array\n                        const result = yield recursiveFetchNew(toConceptId, connectionList, conceptList, compositionList, visitedConcepts);\n                        arroutput[localKey] = result;\n                        output = arroutput;\n                    }\n                }\n            }\n        }\n        return output;\n    });\n}\n// gets the concept from the list of concepts using the conceptId\nfunction getConceptFromList(conceptList, conceptId) {\n    let concept = (0,_Services_CreateDefaultConcept__WEBPACK_IMPORTED_MODULE_1__.CreateDefaultConcept)();\n    for (let i = 0; i < conceptList.length; i++) {\n        if (conceptId == conceptList[i].id) {\n            concept = conceptList[i];\n            return concept;\n        }\n    }\n    return concept;\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/Composition/CompositionCache.ts\":\n/*!******************************************************!*\\\n  !*** ./src/Services/Composition/CompositionCache.ts ***!\n  \\******************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   GetCompositionWithCache: () => (/* binding */ GetCompositionWithCache),\n/* harmony export */   GetCompositionWithDataIdBulk: () => (/* binding */ GetCompositionWithDataIdBulk),\n/* harmony export */   GetCompositionWithDataIdWithCache: () => (/* binding */ GetCompositionWithDataIdWithCache)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../DataStructures/ConceptData */ \"./src/DataStructures/ConceptData.ts\");\n/* harmony import */ var _Api_GetAllConnectionsOfComposition__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Api/GetAllConnectionsOfComposition */ \"./src/Api/GetAllConnectionsOfComposition.ts\");\n/* harmony import */ var _Api_GetConnectionBulk__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Api/GetConnectionBulk */ \"./src/Api/GetConnectionBulk.ts\");\n/* harmony import */ var _Api_GetConcept__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../Api/GetConcept */ \"./src/Api/GetConcept.ts\");\n/* harmony import */ var _BuildComposition__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./BuildComposition */ \"./src/Services/Composition/BuildComposition.ts\");\n/* harmony import */ var _GetComposition__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../GetComposition */ \"./src/Services/GetComposition.ts\");\n/* harmony import */ var _DataStructures_Composition_Composition__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../DataStructures/Composition/Composition */ \"./src/DataStructures/Composition/Composition.ts\");\n/* harmony import */ var _DataStructures_Composition_CompositionBinaryTree__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../DataStructures/Composition/CompositionBinaryTree */ \"./src/DataStructures/Composition/CompositionBinaryTree.ts\");\n/* harmony import */ var _Api_GetConceptBulk__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../Api/GetConceptBulk */ \"./src/Api/GetConceptBulk.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\n\n\n\n\n\n// get the composition with the passed id\n// here an optional parameter is passed which will pass the internal connections if given\n// else the function is designed to get the internal connections itself\nfunction GetCompositionWithCache(id, connectionListPassed = []) {\n    var _a, _b;\n    return __awaiter(this, void 0, void 0, function* () {\n        let connectionList = [];\n        const conceptIdList = [];\n        let returnOutput = {};\n        let output = {};\n        const x = yield _DataStructures_Composition_CompositionBinaryTree__WEBPACK_IMPORTED_MODULE_7__.CompositionBinaryTree.getNodeFromTree(id);\n        const compositionList = [];\n        let concept = yield _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_0__.ConceptsData.GetConcept(id);\n        if (concept.id == 0 && id != null && id != undefined) {\n            const conceptString = yield (0,_Api_GetConcept__WEBPACK_IMPORTED_MODULE_3__.GetConcept)(id);\n            concept = conceptString;\n        }\n        if (x == null) {\n            let connectionListString = [];\n            if (connectionListPassed.length > 0) {\n                connectionListString = getMyConnections(id, connectionListPassed);\n            }\n            else {\n                connectionListString = yield (0,_Api_GetAllConnectionsOfComposition__WEBPACK_IMPORTED_MODULE_1__.GetAllConnectionsOfComposition)(id);\n            }\n            connectionList = connectionListString;\n            //connectionList = ConnectionData.GetConnectionsOfComposition(id);\n            for (let i = 0; i < connectionList.length; i++) {\n                if (!compositionList.includes(connectionList[i].ofTheConceptId)) {\n                    compositionList.push(connectionList[i].ofTheConceptId);\n                    conceptIdList.push(connectionList[i].ofTheConceptId);\n                }\n                if (!conceptIdList.includes(connectionList[i].toTheConceptId)) {\n                    conceptIdList.push(connectionList[i].toTheConceptId);\n                }\n            }\n            SaveToCompositionCache(concept, connectionList, conceptIdList, compositionList);\n            let visitedConcepts = [];\n            output = yield (0,_GetComposition__WEBPACK_IMPORTED_MODULE_5__.recursiveFetch)(id, connectionList, compositionList, visitedConcepts);\n            const mainString = (_b = (_a = concept === null || concept === void 0 ? void 0 : concept.type) === null || _a === void 0 ? void 0 : _a.characterValue) !== null && _b !== void 0 ? _b : '';\n            returnOutput[mainString] = output;\n        }\n        else {\n            output = x.value.GetDataCache();\n            returnOutput = output;\n        }\n        if (concept.id == 0) {\n            return '';\n        }\n        return returnOutput;\n    });\n}\n// this gets the list of connections of a composition from a list of bulk connection pull\nfunction getMyConnections(id, connectionList) {\n    const connections = [];\n    for (let i = 0; i < connectionList.length; i++) {\n        if (connectionList[i].typeId == id) {\n            connections.push(connectionList[i]);\n        }\n    }\n    return connections;\n}\n// get the composition with the passed id\n// here an optional parameter is passed which will pass the internal connections if given\n// else the function is designed to get the internal connections itself\n// this function has a  format of data -- id\nfunction GetCompositionWithDataIdWithCache(id, connectionListPassed = []) {\n    var _a, _b;\n    return __awaiter(this, void 0, void 0, function* () {\n        let FinalReturn = {};\n        let connectionList = [];\n        const conceptIdList = [];\n        let output;\n        const returnOutput = {};\n        const x = yield _DataStructures_Composition_CompositionBinaryTree__WEBPACK_IMPORTED_MODULE_7__.CompositionBinaryTree.getNodeFromTree(id);\n        const compositionList = [];\n        let concept = yield _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_0__.ConceptsData.GetConcept(id);\n        if (concept.id == 0 && id != null && id != undefined) {\n            const conceptString = yield (0,_Api_GetConcept__WEBPACK_IMPORTED_MODULE_3__.GetConcept)(id);\n            concept = conceptString;\n        }\n        if (x == null) {\n            let connectionListString = [];\n            if (connectionListPassed.length > 0) {\n                connectionListString = getMyConnections(id, connectionListPassed);\n            }\n            else {\n                connectionListString = yield (0,_Api_GetAllConnectionsOfComposition__WEBPACK_IMPORTED_MODULE_1__.GetAllConnectionsOfComposition)(id);\n            }\n            connectionList = connectionListString;\n            //connectionList = ConnectionData.GetConnectionsOfComposition(id);\n            for (let i = 0; i < connectionList.length; i++) {\n                if (!compositionList.includes(connectionList[i].ofTheConceptId)) {\n                    compositionList.push(connectionList[i].ofTheConceptId);\n                    conceptIdList.push(connectionList[i].ofTheConceptId);\n                }\n                if (!conceptIdList.includes(connectionList[i].toTheConceptId)) {\n                    conceptIdList.push(connectionList[i].toTheConceptId);\n                }\n            }\n            SaveToCompositionCache(concept, connectionList, conceptIdList, compositionList);\n            output = yield (0,_GetComposition__WEBPACK_IMPORTED_MODULE_5__.recursiveFetch)(id, connectionList, compositionList);\n            const mainString = (_b = (_a = concept === null || concept === void 0 ? void 0 : concept.type) === null || _a === void 0 ? void 0 : _a.characterValue) !== null && _b !== void 0 ? _b : '';\n            returnOutput[mainString] = output;\n            FinalReturn['data'] = returnOutput;\n            FinalReturn['id'] = id;\n        }\n        else {\n            output = x.value.GetDataCache();\n            FinalReturn = output;\n        }\n        if (concept.id == 0) {\n            return '';\n        }\n        return FinalReturn;\n    });\n}\n// this function needs to be passed with bulk compositions and bulk internal connections of them\n// so that i can conver them to actual list of compositions\nfunction GetCompositionWithDataIdBulk(ids, connections) {\n    return __awaiter(this, void 0, void 0, function* () {\n        let connectionList = [];\n        const compositions = [];\n        const newConnections = yield (0,_Api_GetConnectionBulk__WEBPACK_IMPORTED_MODULE_2__.GetConnectionBulk)(connections);\n        connectionList = newConnections;\n        for (let i = 0; i < ids.length; i++) {\n            const output = yield GetCompositionWithDataIdWithCache(ids[i], connectionList);\n            if (output) {\n                compositions.push(output);\n            }\n        }\n        return compositions;\n    });\n}\nfunction SaveToCompositionCache(concept, connections, conceptIdList, numbers) {\n    return __awaiter(this, void 0, void 0, function* () {\n        const composition = new _DataStructures_Composition_Composition__WEBPACK_IMPORTED_MODULE_6__.Composition();\n        const concepts = yield BulkConceptGetter(conceptIdList);\n        composition.connections = connections;\n        composition.concepts = concepts;\n        composition.id = concept.id;\n        composition.subcompositions = numbers;\n        composition.mainConcept = concept;\n        let visitedConcepts = [];\n        const output = yield (0,_BuildComposition__WEBPACK_IMPORTED_MODULE_4__.recursiveFetchNew)(concept.id, connections, concepts, numbers, visitedConcepts);\n        composition.cached = output;\n        _DataStructures_Composition_CompositionBinaryTree__WEBPACK_IMPORTED_MODULE_7__.CompositionBinaryTree.addCompositionToTree(composition);\n    });\n}\nfunction BulkConceptGetter(conceptIds) {\n    return __awaiter(this, void 0, void 0, function* () {\n        let conceptList = [];\n        const bulkConceptFetch = [];\n        for (let i = 0; i < (conceptIds === null || conceptIds === void 0 ? void 0 : conceptIds.length); i++) {\n            const conceptUse = yield _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_0__.ConceptsData.GetConcept(conceptIds[i]);\n            if (conceptUse.id == 0) {\n                bulkConceptFetch.push(conceptIds[i]);\n            }\n            else {\n                conceptList.push(conceptUse);\n            }\n        }\n        if ((bulkConceptFetch === null || bulkConceptFetch === void 0 ? void 0 : bulkConceptFetch.length) == 0) {\n            return conceptList;\n        }\n        else {\n            conceptList = yield (0,_Api_GetConceptBulk__WEBPACK_IMPORTED_MODULE_8__.BulkConceptGetterApi)(bulkConceptFetch);\n        }\n        return conceptList;\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/Composition/CreateCompositionCache.ts\":\n/*!************************************************************!*\\\n  !*** ./src/Services/Composition/CreateCompositionCache.ts ***!\n  \\************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   CreateTheCompositionWithCache: () => (/* binding */ CreateTheCompositionWithCache)\n/* harmony export */ });\n/* harmony import */ var _CreateDefaultConcept__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../CreateDefaultConcept */ \"./src/Services/CreateDefaultConcept.ts\");\n/* harmony import */ var _DataStructures_Composition_Composition__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../DataStructures/Composition/Composition */ \"./src/DataStructures/Composition/Composition.ts\");\n/* harmony import */ var _MakeTheInstanceConcept__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../MakeTheInstanceConcept */ \"./src/Services/MakeTheInstanceConcept.ts\");\n/* harmony import */ var _Services_CreateTheConnection__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../Services/CreateTheConnection */ \"./src/Services/CreateTheConnection.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\n// create a composition with caching mechanism\nfunction CreateTheCompositionWithCache(json, ofTheConceptId = null, ofTheConceptUserId = null, mainKey = null, userId = null, accessId = null, sessionInformationId = null, composition = null) {\n    return __awaiter(this, void 0, void 0, function* () {\n        const localUserId = userId !== null && userId !== void 0 ? userId : 999;\n        const localAccessId = accessId !== null && accessId !== void 0 ? accessId : 4;\n        const localSessionId = sessionInformationId !== null && sessionInformationId !== void 0 ? sessionInformationId : 999;\n        let MainKeyLocal = mainKey !== null && mainKey !== void 0 ? mainKey : 0;\n        let MainConcept = (0,_CreateDefaultConcept__WEBPACK_IMPORTED_MODULE_0__.CreateDefaultConcept)();\n        if (composition == null) {\n            // if no composition is passed then create a new composition\n            composition = new _DataStructures_Composition_Composition__WEBPACK_IMPORTED_MODULE_1__.Composition();\n        }\n        for (const key in json) {\n            if (typeof json[key] == 'object' || Array.isArray(json[key])) {\n                const conceptString = yield (0,_MakeTheInstanceConcept__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(key, '', true, localUserId, localAccessId, localSessionId);\n                const concept = conceptString;\n                // if (typeof json[key] != 'string' && typeof json[key] != 'number') {\n                if (ofTheConceptId == null && ofTheConceptUserId == null) {\n                    // if there is no parent conceptId and conceptUserId passed then we know this is the main concept\n                    // everything is related to this concept.\n                    let localMainKey = MainKeyLocal;\n                    MainConcept = concept;\n                    localMainKey = concept.id;\n                    MainKeyLocal = concept.id;\n                    composition.concepts.push(concept);\n                    composition.id = concept.id;\n                    yield CreateTheCompositionWithCache(json[key], concept.id, concept.userId, localMainKey, userId, accessId, sessionInformationId, composition);\n                }\n                else {\n                    // this is the concept which has parent passed onto it and this is a subcomposition\n                    const ofThe = ofTheConceptId !== null && ofTheConceptId !== void 0 ? ofTheConceptId : 999;\n                    const ofTheUser = ofTheConceptUserId !== null && ofTheConceptUserId !== void 0 ? ofTheConceptUserId : 999;\n                    const localMainKey = MainKeyLocal;\n                    MainConcept = concept;\n                    composition.concepts.push(concept);\n                    const connectionString = yield (0,_Services_CreateTheConnection__WEBPACK_IMPORTED_MODULE_3__.createTheConnection)(ofThe, ofTheUser, concept.id, concept.userId, localMainKey, localSessionId, concept.userId);\n                    const connection = connectionString;\n                    composition.connections.push(connection);\n                    yield CreateTheCompositionWithCache(json[key], concept.id, concept.userId, localMainKey, userId, accessId, sessionInformationId, composition);\n                }\n                if (json[key] != null && json[key] != undefined) {\n                    composition.subcompositions.push(concept.id);\n                }\n            }\n            else {\n                // this is the part where the concept is now a key value pair and has the actual data\n                const ofThe = ofTheConceptId !== null && ofTheConceptId !== void 0 ? ofTheConceptId : 999;\n                const ofTheUser = ofTheConceptUserId !== null && ofTheConceptUserId !== void 0 ? ofTheConceptUserId : 999;\n                const localMainKey = MainKeyLocal;\n                const conceptString = yield (0,_MakeTheInstanceConcept__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(key, json[key], false, localUserId, localAccessId, localSessionId);\n                const concept = conceptString;\n                composition.concepts.push(concept);\n                const connectionString = yield (0,_Services_CreateTheConnection__WEBPACK_IMPORTED_MODULE_3__.createTheConnection)(ofThe, ofTheUser, concept.id, concept.userId, localMainKey, localSessionId, concept.userId);\n                const connection = connectionString;\n                composition.connections.push(connection);\n            }\n        }\n        // return the main concept\n        return MainConcept;\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/CreateBinaryTreeFromData.ts\":\n/*!**************************************************!*\\\n  !*** ./src/Services/CreateBinaryTreeFromData.ts ***!\n  \\**************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ CreateBinaryTreeFromData)\n/* harmony export */ });\n/* harmony import */ var _Database_indexeddb__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Database/indexeddb */ \"./src/Database/indexeddb.ts\");\n/* harmony import */ var _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../DataStructures/ConceptData */ \"./src/DataStructures/ConceptData.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\nfunction CreateBinaryTreeFromData() {\n    return __awaiter(this, void 0, void 0, function* () {\n        var startTime = new Date().getTime();\n        var conceptList = yield (0,_Database_indexeddb__WEBPACK_IMPORTED_MODULE_0__.getFromDatabaseWithTypeOld)(\"concept\");\n        if (Array.isArray(conceptList)) {\n            for (var i = 0; i < conceptList.length; i++) {\n                let concept = conceptList[i];\n                _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_1__.ConceptsData.AddConceptToMemory(concept);\n                // let node = new Node(concept.id, concept, null, null);\n                // BinaryTree.addNodeToTree(node);\n            }\n        }\n        var endTime = new Date().getTime();\n        var time = endTime - startTime;\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/CreateConnectionBetweenTwoConcepts.ts\":\n/*!************************************************************!*\\\n  !*** ./src/Services/CreateConnectionBetweenTwoConcepts.ts ***!\n  \\************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   CountRelationship: () => (/* binding */ CountRelationship),\n/* harmony export */   CreateConnectionBetweenTwoConcepts: () => (/* binding */ CreateConnectionBetweenTwoConcepts)\n/* harmony export */ });\n/* harmony import */ var _Api_GetConnectionOfTheConcept__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Api/GetConnectionOfTheConcept */ \"./src/Api/GetConnectionOfTheConcept.ts\");\n/* harmony import */ var _DataStructures_Connection__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../DataStructures/Connection */ \"./src/DataStructures/Connection.ts\");\n/* harmony import */ var _DataStructures_SyncData__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../DataStructures/SyncData */ \"./src/DataStructures/SyncData.ts\");\n/* harmony import */ var _CreateDefaultConcept__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./CreateDefaultConcept */ \"./src/Services/CreateDefaultConcept.ts\");\n/* harmony import */ var _DeleteConnection__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./DeleteConnection */ \"./src/Services/DeleteConnection.ts\");\n/* harmony import */ var _GetTheConcept__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./GetTheConcept */ \"./src/Services/GetTheConcept.ts\");\n/* harmony import */ var _MakeTheInstanceConcept__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./MakeTheInstanceConcept */ \"./src/Services/MakeTheInstanceConcept.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\n\n\n\nfunction CreateConnectionBetweenTwoConcepts(ofTheConcept, toTheConcept, linker, both = false, count = false) {\n    var _a, _b;\n    return __awaiter(this, void 0, void 0, function* () {\n        var userId = ofTheConcept.userId;\n        var orderUserId = userId;\n        var securityId = 999;\n        var securityUserId = userId;\n        var accessId = 4;\n        var accessUserId = userId;\n        var sessionInformationId = 999;\n        var sessionInformationUserId = 999;\n        if (both) {\n            let prefix1 = ((_a = toTheConcept.type) === null || _a === void 0 ? void 0 : _a.characterValue) + \"_s\";\n            let linkerAdd1 = linker + \"_by\";\n            let backwardLinker = prefix1 + \"_\" + linkerAdd1;\n            if (count) {\n                yield CountRelationship(linkerAdd1, toTheConcept, userId);\n            }\n            var connectionConceptReverse = yield (0,_MakeTheInstanceConcept__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(\"connection\", backwardLinker, false, 999, 999, 999);\n            let newConnection = new _DataStructures_Connection__WEBPACK_IMPORTED_MODULE_1__.Connection(0, toTheConcept.id, ofTheConcept.id, toTheConcept.userId, ofTheConcept.userId, toTheConcept.userId, connectionConceptReverse.id, connectionConceptReverse.userId, 1000, userId, securityId, securityUserId, accessId, accessUserId, sessionInformationId, sessionInformationUserId);\n            _DataStructures_SyncData__WEBPACK_IMPORTED_MODULE_2__.SyncData.AddConnection(newConnection);\n        }\n        let prefix = ((_b = ofTheConcept.type) === null || _b === void 0 ? void 0 : _b.characterValue) + \"_s\";\n        let linkerAdd = linker + \"_s\";\n        let forwardLinker = prefix + \"_\" + linkerAdd;\n        if (count) {\n            yield CountRelationship(linkerAdd, ofTheConcept, userId);\n        }\n        var connectionConcept = yield (0,_MakeTheInstanceConcept__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(\"connection\", forwardLinker, false, 999, 999, 999);\n        let newConnection = new _DataStructures_Connection__WEBPACK_IMPORTED_MODULE_1__.Connection(0, ofTheConcept.id, toTheConcept.id, ofTheConcept.userId, toTheConcept.userId, ofTheConcept.userId, connectionConcept.id, connectionConcept.userId, 1000, userId, securityId, securityUserId, accessId, accessUserId, sessionInformationId, sessionInformationUserId);\n        _DataStructures_SyncData__WEBPACK_IMPORTED_MODULE_2__.SyncData.AddConnection(newConnection);\n    });\n}\nfunction CountRelationship(linker, concept, passedUserId = null) {\n    var _a;\n    return __awaiter(this, void 0, void 0, function* () {\n        var concept1 = concept;\n        var userId = passedUserId !== null && passedUserId !== void 0 ? passedUserId : concept.userId;\n        var orderUserId = userId;\n        var securityId = 999;\n        var securityUserId = userId;\n        var accessId = 4;\n        var accessUserId = userId;\n        var sessionInformationId = 999;\n        var sessionInformationUserId = 999;\n        var forwardLinkerCount = linker + \"_count\";\n        var forwardLinkerCountString = ((_a = concept.type) === null || _a === void 0 ? void 0 : _a.characterValue) + \"_s\" + \"_\" + forwardLinkerCount;\n        var forwardLinkerCountConcept = yield (0,_MakeTheInstanceConcept__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(\"connection\", forwardLinkerCountString, false, userId, accessId, sessionInformationId);\n        var connectionsString = yield (0,_Api_GetConnectionOfTheConcept__WEBPACK_IMPORTED_MODULE_0__.GetConnectionOfTheConcept)(forwardLinkerCountConcept.id, concept.id, userId, 10, 1);\n        var connections = connectionsString;\n        var prefetch = [];\n        var countConceptList = [];\n        var countConcept = (0,_CreateDefaultConcept__WEBPACK_IMPORTED_MODULE_3__.CreateDefaultConcept)();\n        for (var i = 0; i < connections.length; i++) {\n            let toConcept = yield (0,_GetTheConcept__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(connections[i].toTheConceptId);\n            countConceptList.push(toConcept);\n        }\n        if (countConceptList.length < 1) {\n            countConcept = yield (0,_MakeTheInstanceConcept__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(\"count\", \"1\", false, userId, accessId, sessionInformationId);\n        }\n        else {\n            var oldcountConcept = countConceptList[0];\n            let count = 0;\n            try {\n                count = Number(oldcountConcept.characterValue);\n            }\n            catch (ex) {\n                count = 0;\n            }\n            count = count + 1;\n            countConcept = yield (0,_MakeTheInstanceConcept__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(\"count\", count.toString(), false, userId, accessId, sessionInformationId);\n            for (let i = 0; i < connections.length; i++) {\n                (0,_DeleteConnection__WEBPACK_IMPORTED_MODULE_4__.DeleteConnectionById)(connections[i].id);\n            }\n        }\n        let newConnection = new _DataStructures_Connection__WEBPACK_IMPORTED_MODULE_1__.Connection(0, concept1.id, countConcept.id, concept1.userId, countConcept.userId, concept1.userId, forwardLinkerCountConcept.id, forwardLinkerCountConcept.userId, 1000, userId, securityId, securityUserId, accessId, accessUserId, sessionInformationId, sessionInformationUserId);\n        yield _DataStructures_SyncData__WEBPACK_IMPORTED_MODULE_2__.SyncData.AddConnection(newConnection);\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/CreateDefaultConcept.ts\":\n/*!**********************************************!*\\\n  !*** ./src/Services/CreateDefaultConcept.ts ***!\n  \\**********************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   CreateDefaultConcept: () => (/* binding */ CreateDefaultConcept)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_Concept__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../DataStructures/Concept */ \"./src/DataStructures/Concept.ts\");\n\nfunction CreateDefaultConcept() {\n    let created_on = new Date();\n    let updated_on = new Date();\n    let concept = new _DataStructures_Concept__WEBPACK_IMPORTED_MODULE_0__.Concept(0, 0, 0, 0, 0, 0, 0, 0, \"0\", 0, 0, 0, 0, 0, 0, false, created_on, updated_on);\n    return concept;\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/CreateTheComposition.ts\":\n/*!**********************************************!*\\\n  !*** ./src/Services/CreateTheComposition.ts ***!\n  \\**********************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ CreateTheComposition)\n/* harmony export */ });\n/* harmony import */ var _CreateDefaultConcept__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CreateDefaultConcept */ \"./src/Services/CreateDefaultConcept.ts\");\n/* harmony import */ var _CreateTheConnection__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CreateTheConnection */ \"./src/Services/CreateTheConnection.ts\");\n/* harmony import */ var _MakeTheInstanceConcept__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./MakeTheInstanceConcept */ \"./src/Services/MakeTheInstanceConcept.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\nfunction CreateTheComposition(json, ofTheConceptId = null, ofTheConceptUserId = null, mainKey = null, userId = null, accessId = null, sessionInformationId = null) {\n    return __awaiter(this, void 0, void 0, function* () {\n        var localUserId = userId !== null && userId !== void 0 ? userId : 999;\n        var localAccessId = accessId !== null && accessId !== void 0 ? accessId : 4;\n        var localSessionId = sessionInformationId !== null && sessionInformationId !== void 0 ? sessionInformationId : 999;\n        var MainKeyLocal = mainKey !== null && mainKey !== void 0 ? mainKey : 0;\n        var MainConcept = (0,_CreateDefaultConcept__WEBPACK_IMPORTED_MODULE_0__.CreateDefaultConcept)();\n        for (const key in json) {\n            if ((typeof json[key] != 'string' && typeof json[key] != 'number')) {\n                if (ofTheConceptId == null && ofTheConceptUserId == null) {\n                    var localMainKey = MainKeyLocal;\n                    let conceptString = yield (0,_MakeTheInstanceConcept__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(key, \"\", true, localUserId, localAccessId, localSessionId);\n                    var concept = conceptString;\n                    MainConcept = concept;\n                    localMainKey = concept.id;\n                    MainKeyLocal = concept.id;\n                    yield CreateTheComposition(json[key], concept.id, concept.userId, localMainKey, userId, accessId, sessionInformationId);\n                }\n                else {\n                    var ofThe = ofTheConceptId !== null && ofTheConceptId !== void 0 ? ofTheConceptId : 999;\n                    var ofTheUser = ofTheConceptUserId !== null && ofTheConceptUserId !== void 0 ? ofTheConceptUserId : 999;\n                    var localMainKey = MainKeyLocal;\n                    var conceptString = yield (0,_MakeTheInstanceConcept__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(key, \"\", true, localUserId, localAccessId, localSessionId);\n                    var concept = conceptString;\n                    MainConcept = concept;\n                    yield (0,_CreateTheConnection__WEBPACK_IMPORTED_MODULE_1__.createTheConnection)(ofThe, ofTheUser, concept.id, concept.userId, localMainKey, localSessionId, concept.userId);\n                    yield CreateTheComposition(json[key], concept.id, concept.userId, localMainKey, userId, accessId, sessionInformationId);\n                }\n            }\n            else {\n                var ofThe = ofTheConceptId !== null && ofTheConceptId !== void 0 ? ofTheConceptId : 999;\n                var ofTheUser = ofTheConceptUserId !== null && ofTheConceptUserId !== void 0 ? ofTheConceptUserId : 10267;\n                var localMainKey = MainKeyLocal;\n                var conceptString = yield (0,_MakeTheInstanceConcept__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(key, json[key], false, localUserId, localAccessId, localSessionId);\n                var concept = conceptString;\n                yield (0,_CreateTheConnection__WEBPACK_IMPORTED_MODULE_1__.createTheConnection)(ofThe, ofTheUser, concept.id, concept.userId, localMainKey, localSessionId, concept.userId);\n            }\n        }\n        return MainConcept;\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/CreateTheConcept.ts\":\n/*!******************************************!*\\\n  !*** ./src/Services/CreateTheConcept.ts ***!\n  \\******************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   CreateTheConceptImmediate: () => (/* binding */ CreateTheConceptImmediate),\n/* harmony export */   CreateTheConceptTemporary: () => (/* binding */ CreateTheConceptTemporary),\n/* harmony export */   \"default\": () => (/* binding */ CreateTheConcept)\n/* harmony export */ });\n/* harmony import */ var _Api_Create_CreateTheConceptApi__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Api/Create/CreateTheConceptApi */ \"./src/Api/Create/CreateTheConceptApi.ts\");\n/* harmony import */ var _DataStructures_Concept__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../DataStructures/Concept */ \"./src/DataStructures/Concept.ts\");\n/* harmony import */ var _DataStructures_ReservedIds__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../DataStructures/ReservedIds */ \"./src/DataStructures/ReservedIds.ts\");\n/* harmony import */ var _DataStructures_SyncData__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../DataStructures/SyncData */ \"./src/DataStructures/SyncData.ts\");\n/* harmony import */ var _app__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../app */ \"./src/app.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\n\nfunction CreateTheConcept(referent, userId, categoryId, categoryUserId, typeId, typeUserId, referentId, referentUserId, securityId, securityUserId, accessId, accessUserId, sessionInformationId, sessionInformationUserId) {\n    return __awaiter(this, void 0, void 0, function* () {\n        var id = yield _DataStructures_ReservedIds__WEBPACK_IMPORTED_MODULE_2__.ReservedIds.getId();\n        var isNew = true;\n        let created_on = new Date();\n        let updated_on = new Date();\n        var concept = new _DataStructures_Concept__WEBPACK_IMPORTED_MODULE_1__.Concept(id, userId, typeId, typeUserId, categoryId, categoryUserId, referentId, referentUserId, referent, securityId, securityUserId, accessId, accessUserId, sessionInformationId, sessionInformationUserId, isNew, created_on, updated_on);\n        concept.isTemp = false;\n        _DataStructures_SyncData__WEBPACK_IMPORTED_MODULE_3__.SyncData.AddConcept(concept);\n        return concept;\n    });\n}\nfunction CreateTheConceptTemporary(referent, userId, categoryId, categoryUserId, typeId, typeUserId, referentId, referentUserId, securityId, securityUserId, accessId, accessUserId, sessionInformationId, sessionInformationUserId) {\n    return __awaiter(this, void 0, void 0, function* () {\n        var id = yield _DataStructures_ReservedIds__WEBPACK_IMPORTED_MODULE_2__.ReservedIds.getId();\n        var isNew = true;\n        let created_on = new Date();\n        let updated_on = new Date();\n        var concept = new _DataStructures_Concept__WEBPACK_IMPORTED_MODULE_1__.Concept(id, userId, typeId, typeUserId, categoryId, categoryUserId, referentId, referentUserId, referent, securityId, securityUserId, accessId, accessUserId, sessionInformationId, sessionInformationUserId, isNew, created_on, updated_on);\n        concept.isTemp = true;\n        return concept;\n    });\n}\nfunction CreateTheConceptImmediate(referent, userId, categoryId, categoryUserId, typeId, typeUserId, referentId, referentUserId, securityId, securityUserId, accessId, accessUserId, sessionInformationId, sessionInformationUserId) {\n    return __awaiter(this, void 0, void 0, function* () {\n        var id = yield _DataStructures_ReservedIds__WEBPACK_IMPORTED_MODULE_2__.ReservedIds.getId();\n        var isNew = false;\n        let created_on = new Date();\n        let updated_on = new Date();\n        var concept = new _DataStructures_Concept__WEBPACK_IMPORTED_MODULE_1__.Concept(id, userId, typeId, typeUserId, categoryId, categoryUserId, referentId, referentUserId, referent, securityId, securityUserId, accessId, accessUserId, sessionInformationId, sessionInformationUserId, isNew, created_on, updated_on);\n        _app__WEBPACK_IMPORTED_MODULE_4__.ConceptsData.AddConcept(concept);\n        (0,_Api_Create_CreateTheConceptApi__WEBPACK_IMPORTED_MODULE_0__.CreateTheConceptApi)([concept]);\n        //SyncData.AddConcept(concept);\n        return concept;\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/CreateTheConnection.ts\":\n/*!*********************************************!*\\\n  !*** ./src/Services/CreateTheConnection.ts ***!\n  \\*********************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   createTheConnection: () => (/* binding */ createTheConnection)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_Connection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../DataStructures/Connection */ \"./src/DataStructures/Connection.ts\");\n/* harmony import */ var _DataStructures_SyncData__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../DataStructures/SyncData */ \"./src/DataStructures/SyncData.ts\");\n\n\nfunction createTheConnection(ofTheConceptId, ofTheConceptUserId, toTheConceptId, toTheConceptUserId, typeId, sessionInformationId, sessionInformationUserId) {\n    var orderId = 1;\n    var orderUserId = ofTheConceptUserId;\n    var typeUserId = ofTheConceptUserId;\n    var userId = ofTheConceptUserId;\n    var securityId = 0;\n    var securityUserId = ofTheConceptUserId;\n    var accessId = 4;\n    var accessUserId = ofTheConceptUserId;\n    var connection = new _DataStructures_Connection__WEBPACK_IMPORTED_MODULE_0__.Connection(0, ofTheConceptId, toTheConceptId, ofTheConceptUserId, toTheConceptUserId, userId, typeId, typeUserId, orderId, orderUserId, securityId, securityUserId, accessId, accessUserId, sessionInformationId, sessionInformationUserId);\n    if (ofTheConceptId == toTheConceptId) {\n        connection.ofTheConceptId = 0;\n        connection.toTheConceptId = 1;\n        return connection;\n    }\n    connection.isTemp = true;\n    connection.id = Math.floor(Math.random() * 100000000);\n    _DataStructures_SyncData__WEBPACK_IMPORTED_MODULE_1__.SyncData.AddConnection(connection);\n    return connection;\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/CreateTheConnectionGeneral.ts\":\n/*!****************************************************!*\\\n  !*** ./src/Services/CreateTheConnectionGeneral.ts ***!\n  \\****************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   CreateTheConnectionGeneral: () => (/* binding */ CreateTheConnectionGeneral)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_Connection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../DataStructures/Connection */ \"./src/DataStructures/Connection.ts\");\n/* harmony import */ var _DataStructures_ReservedIds__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../DataStructures/ReservedIds */ \"./src/DataStructures/ReservedIds.ts\");\n/* harmony import */ var _DataStructures_SyncData__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../DataStructures/SyncData */ \"./src/DataStructures/SyncData.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\nfunction CreateTheConnectionGeneral(ofTheConceptId, ofTheConceptUserId, toTheConceptId, toTheConceptUserId, typeId, sessionInformationId, sessionInformationUserId, orderId = 1, accessId = 4) {\n    return __awaiter(this, void 0, void 0, function* () {\n        var orderUserId = ofTheConceptUserId;\n        var typeUserId = ofTheConceptUserId;\n        var userId = ofTheConceptUserId;\n        var securityId = 0;\n        var securityUserId = ofTheConceptUserId;\n        var accessUserId = ofTheConceptUserId;\n        var id = yield _DataStructures_ReservedIds__WEBPACK_IMPORTED_MODULE_1__.ReservedConnectionIds.getId();\n        var connection = new _DataStructures_Connection__WEBPACK_IMPORTED_MODULE_0__.Connection(id, ofTheConceptId, toTheConceptId, ofTheConceptUserId, toTheConceptUserId, userId, typeId, typeUserId, orderId, orderUserId, securityId, securityUserId, accessId, accessUserId, sessionInformationId, sessionInformationUserId);\n        if (ofTheConceptId == toTheConceptId) {\n            connection.ofTheConceptId = 0;\n            connection.toTheConceptId = 1;\n            return connection;\n        }\n        connection.isTemp = false;\n        _DataStructures_SyncData__WEBPACK_IMPORTED_MODULE_2__.SyncData.AddConnection(connection);\n        return connection;\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/DeleteConcept.ts\":\n/*!***************************************!*\\\n  !*** ./src/Services/DeleteConcept.ts ***!\n  \\***************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   DeleteConceptById: () => (/* binding */ DeleteConceptById)\n/* harmony export */ });\n/* harmony import */ var _Api_DeleteTheConcept__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Api/DeleteTheConcept */ \"./src/Api/DeleteTheConcept.ts\");\n/* harmony import */ var _DataStructures_BinaryCharacterTree__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../DataStructures/BinaryCharacterTree */ \"./src/DataStructures/BinaryCharacterTree.ts\");\n/* harmony import */ var _DataStructures_BinaryTree__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../DataStructures/BinaryTree */ \"./src/DataStructures/BinaryTree.ts\");\n/* harmony import */ var _DataStructures_BinaryTypeTree__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../DataStructures/BinaryTypeTree */ \"./src/DataStructures/BinaryTypeTree.ts\");\n/* harmony import */ var _Database_indexeddb__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Database/indexeddb */ \"./src/Database/indexeddb.ts\");\n/* harmony import */ var _GetTheConcept__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./GetTheConcept */ \"./src/Services/GetTheConcept.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\n\n\nfunction DeleteConceptById(id) {\n    return __awaiter(this, void 0, void 0, function* () {\n        var concept = yield (0,_GetTheConcept__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(id);\n        yield _DataStructures_BinaryTree__WEBPACK_IMPORTED_MODULE_2__.BinaryTree.removeNodeFromTree(id);\n        var typeId = concept.typeId;\n        var character = concept.characterValue;\n        yield _DataStructures_BinaryTypeTree__WEBPACK_IMPORTED_MODULE_3__.BinaryTypeTree.removeTypeConcept(typeId, id);\n        yield _DataStructures_BinaryCharacterTree__WEBPACK_IMPORTED_MODULE_1__.BinaryCharacterTree.removeNodeByCharacter(character, id);\n        (0,_Database_indexeddb__WEBPACK_IMPORTED_MODULE_4__.removeFromDatabase)(\"concept\", id);\n        (0,_Api_DeleteTheConcept__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(id);\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/DeleteConnection.ts\":\n/*!******************************************!*\\\n  !*** ./src/Services/DeleteConnection.ts ***!\n  \\******************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   DeleteConnectionById: () => (/* binding */ DeleteConnectionById)\n/* harmony export */ });\n/* harmony import */ var _Api_DeleteTheConnection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Api/DeleteTheConnection */ \"./src/Api/DeleteTheConnection.ts\");\n/* harmony import */ var _DataStructures_ConnectionBinaryTree_ConnectionBinaryTree__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../DataStructures/ConnectionBinaryTree/ConnectionBinaryTree */ \"./src/DataStructures/ConnectionBinaryTree/ConnectionBinaryTree.ts\");\n/* harmony import */ var _DataStructures_ConnectionBinaryTree_ConnectionTypeTree__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../DataStructures/ConnectionBinaryTree/ConnectionTypeTree */ \"./src/DataStructures/ConnectionBinaryTree/ConnectionTypeTree.ts\");\n/* harmony import */ var _Database_indexeddb__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Database/indexeddb */ \"./src/Database/indexeddb.ts\");\n/* harmony import */ var _GetConnections__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./GetConnections */ \"./src/Services/GetConnections.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\n\nfunction DeleteConnectionById(id) {\n    return __awaiter(this, void 0, void 0, function* () {\n        var connection = yield (0,_GetConnections__WEBPACK_IMPORTED_MODULE_4__.GetConnectionById)(id);\n        (0,_Api_DeleteTheConnection__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(id);\n        (0,_Database_indexeddb__WEBPACK_IMPORTED_MODULE_3__.removeFromDatabase)(\"connection\", id);\n        _DataStructures_ConnectionBinaryTree_ConnectionBinaryTree__WEBPACK_IMPORTED_MODULE_1__.ConnectionBinaryTree.removeNodeFromTree(id);\n        _DataStructures_ConnectionBinaryTree_ConnectionTypeTree__WEBPACK_IMPORTED_MODULE_2__.ConnectionTypeTree.removeTypeConcept(connection.typeId, id);\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/FindConeceptsFromConnection.ts\":\n/*!*****************************************************!*\\\n  !*** ./src/Services/FindConeceptsFromConnection.ts ***!\n  \\*****************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   FindConceptsFromConnections: () => (/* binding */ FindConceptsFromConnections)\n/* harmony export */ });\n/* harmony import */ var _Api_GetConceptBulk__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Api/GetConceptBulk */ \"./src/Api/GetConceptBulk.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\nfunction FindConceptsFromConnections(connectionList = []) {\n    return __awaiter(this, void 0, void 0, function* () {\n        var ConceptList = [];\n        if (connectionList.length > 0) {\n            for (let i = 0; i < connectionList.length; i++) {\n                if (!ConceptList.includes(connectionList[i].ofTheConceptId)) {\n                    ConceptList.push(connectionList[i].ofTheConceptId);\n                }\n                if (!ConceptList.includes(connectionList[i].toTheConceptId)) {\n                    ConceptList.push(connectionList[i].toTheConceptId);\n                }\n            }\n            yield (0,_Api_GetConceptBulk__WEBPACK_IMPORTED_MODULE_0__.GetConceptBulk)(ConceptList);\n        }\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/FindConnectionsOfCompositionBulkInMemory.ts\":\n/*!******************************************************************!*\\\n  !*** ./src/Services/FindConnectionsOfCompositionBulkInMemory.ts ***!\n  \\******************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   FindConnectionsOfCompositionsBulkInMemory: () => (/* binding */ FindConnectionsOfCompositionsBulkInMemory)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_ConnectionData__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../DataStructures/ConnectionData */ \"./src/DataStructures/ConnectionData.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\nfunction FindConnectionsOfCompositionsBulkInMemory(composition_ids = []) {\n    return __awaiter(this, void 0, void 0, function* () {\n        var FinalConnectionList = [];\n        for (let i = 0; i < composition_ids.length; i++) {\n            var connectionList = yield _DataStructures_ConnectionData__WEBPACK_IMPORTED_MODULE_0__.ConnectionData.GetConnectionsOfCompositionLocal(composition_ids[i]);\n            FinalConnectionList.push(...connectionList);\n        }\n        return FinalConnectionList;\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/GetComposition.ts\":\n/*!****************************************!*\\\n  !*** ./src/Services/GetComposition.ts ***!\n  \\****************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   GetComposition: () => (/* binding */ GetComposition),\n/* harmony export */   GetCompositionFromMemory: () => (/* binding */ GetCompositionFromMemory),\n/* harmony export */   GetCompositionWithAllIds: () => (/* binding */ GetCompositionWithAllIds),\n/* harmony export */   GetCompositionWithId: () => (/* binding */ GetCompositionWithId),\n/* harmony export */   GetCompositionWithIdAndDateFromMemory: () => (/* binding */ GetCompositionWithIdAndDateFromMemory),\n/* harmony export */   GetCompositionWithIdFromMemory: () => (/* binding */ GetCompositionWithIdFromMemory),\n/* harmony export */   GetCompositionWithIdFromMemoryFromConnections: () => (/* binding */ GetCompositionWithIdFromMemoryFromConnections),\n/* harmony export */   recursiveFetch: () => (/* binding */ recursiveFetch),\n/* harmony export */   recursiveFetchWithSubCompositions: () => (/* binding */ recursiveFetchWithSubCompositions)\n/* harmony export */ });\n/* harmony import */ var _Api_GetConcept__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Api/GetConcept */ \"./src/Api/GetConcept.ts\");\n/* harmony import */ var _Api_GetAllConnectionsOfComposition__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Api/GetAllConnectionsOfComposition */ \"./src/Api/GetAllConnectionsOfComposition.ts\");\n/* harmony import */ var _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../DataStructures/ConceptData */ \"./src/DataStructures/ConceptData.ts\");\n/* harmony import */ var _DataStructures_ConnectionData__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../DataStructures/ConnectionData */ \"./src/DataStructures/ConnectionData.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\nfunction GetComposition(id) {\n    var _a, _b;\n    return __awaiter(this, void 0, void 0, function* () {\n        var connectionList = [];\n        var returnOutput = {};\n        var connectionListString = yield (0,_Api_GetAllConnectionsOfComposition__WEBPACK_IMPORTED_MODULE_1__.GetAllConnectionsOfComposition)(id);\n        connectionList = connectionListString;\n        //connectionList = ConnectionData.GetConnectionsOfComposition(id);\n        var compositionList = [];\n        for (var i = 0; i < connectionList.length; i++) {\n            if (!compositionList.includes(connectionList[i].ofTheConceptId)) {\n                compositionList.push(connectionList[i].ofTheConceptId);\n            }\n        }\n        var concept = yield _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_2__.ConceptsData.GetConcept(id);\n        if (concept.id == 0 && id != null && id != undefined) {\n            var conceptString = yield (0,_Api_GetConcept__WEBPACK_IMPORTED_MODULE_0__.GetConcept)(id);\n            concept = conceptString;\n        }\n        var output = yield recursiveFetch(id, connectionList, compositionList);\n        var mainString = (_b = (_a = concept === null || concept === void 0 ? void 0 : concept.type) === null || _a === void 0 ? void 0 : _a.characterValue) !== null && _b !== void 0 ? _b : \"\";\n        returnOutput[mainString] = output;\n        return returnOutput;\n    });\n}\nfunction GetCompositionWithAllIds(id) {\n    var _a, _b;\n    return __awaiter(this, void 0, void 0, function* () {\n        var connectionList = [];\n        var returnOutput = {};\n        var connectionListString = yield (0,_Api_GetAllConnectionsOfComposition__WEBPACK_IMPORTED_MODULE_1__.GetAllConnectionsOfComposition)(id);\n        connectionList = connectionListString;\n        //connectionList = ConnectionData.GetConnectionsOfComposition(id);\n        var compositionList = [];\n        for (var i = 0; i < connectionList.length; i++) {\n            if (!compositionList.includes(connectionList[i].ofTheConceptId)) {\n                compositionList.push(connectionList[i].ofTheConceptId);\n            }\n        }\n        var concept = yield _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_2__.ConceptsData.GetConcept(id);\n        if (concept.id == 0 && id != null && id != undefined) {\n            var conceptString = yield (0,_Api_GetConcept__WEBPACK_IMPORTED_MODULE_0__.GetConcept)(id);\n            concept = conceptString;\n        }\n        var output = yield recursiveFetchWithSubCompositions(id, connectionList, compositionList);\n        var mainString = (_b = (_a = concept === null || concept === void 0 ? void 0 : concept.type) === null || _a === void 0 ? void 0 : _a.characterValue) !== null && _b !== void 0 ? _b : \"\";\n        returnOutput[mainString] = output;\n        return returnOutput;\n    });\n}\nfunction GetCompositionFromMemory(id) {\n    var _a, _b;\n    return __awaiter(this, void 0, void 0, function* () {\n        var connectionList = [];\n        var returnOutput = {};\n        connectionList = yield _DataStructures_ConnectionData__WEBPACK_IMPORTED_MODULE_3__.ConnectionData.GetConnectionsOfCompositionLocal(id);\n        //connectionList = ConnectionData.GetConnectionsOfComposition(id);\n        var compositionList = [];\n        for (var i = 0; i < connectionList.length; i++) {\n            if (!compositionList.includes(connectionList[i].ofTheConceptId)) {\n                compositionList.push(connectionList[i].ofTheConceptId);\n            }\n        }\n        var concept = yield _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_2__.ConceptsData.GetConcept(id);\n        if (concept.id == 0 && id != null && id != undefined) {\n            var conceptString = yield (0,_Api_GetConcept__WEBPACK_IMPORTED_MODULE_0__.GetConcept)(id);\n            concept = conceptString;\n        }\n        var output = yield recursiveFetch(id, connectionList, compositionList);\n        var mainString = (_b = (_a = concept === null || concept === void 0 ? void 0 : concept.type) === null || _a === void 0 ? void 0 : _a.characterValue) !== null && _b !== void 0 ? _b : \"\";\n        returnOutput[mainString] = output;\n        return returnOutput;\n    });\n}\nfunction GetCompositionWithIdFromMemory(id) {\n    var _a, _b;\n    return __awaiter(this, void 0, void 0, function* () {\n        var connectionList = [];\n        var returnOutput = {};\n        connectionList = yield _DataStructures_ConnectionData__WEBPACK_IMPORTED_MODULE_3__.ConnectionData.GetConnectionsOfCompositionLocal(id);\n        var compositionList = [];\n        for (var i = 0; i < connectionList.length; i++) {\n            if (!compositionList.includes(connectionList[i].ofTheConceptId)) {\n                compositionList.push(connectionList[i].ofTheConceptId);\n            }\n        }\n        var concept = yield _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_2__.ConceptsData.GetConcept(id);\n        if (concept.id == 0 && id != null && id != undefined) {\n            var conceptString = yield (0,_Api_GetConcept__WEBPACK_IMPORTED_MODULE_0__.GetConcept)(id);\n            concept = conceptString;\n        }\n        var output = yield recursiveFetch(id, connectionList, compositionList);\n        var mainString = (_b = (_a = concept === null || concept === void 0 ? void 0 : concept.type) === null || _a === void 0 ? void 0 : _a.characterValue) !== null && _b !== void 0 ? _b : \"\";\n        returnOutput[mainString] = output;\n        var FinalReturn = {};\n        FinalReturn['data'] = returnOutput;\n        FinalReturn['id'] = id;\n        return FinalReturn;\n    });\n}\nfunction GetCompositionWithIdAndDateFromMemory(id) {\n    var _a, _b;\n    return __awaiter(this, void 0, void 0, function* () {\n        var connectionList = [];\n        var returnOutput = {};\n        connectionList = yield _DataStructures_ConnectionData__WEBPACK_IMPORTED_MODULE_3__.ConnectionData.GetConnectionsOfCompositionLocal(id);\n        var compositionList = [];\n        for (var i = 0; i < connectionList.length; i++) {\n            if (!compositionList.includes(connectionList[i].ofTheConceptId)) {\n                compositionList.push(connectionList[i].ofTheConceptId);\n            }\n        }\n        var concept = yield _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_2__.ConceptsData.GetConcept(id);\n        if (concept.id == 0 && id != null && id != undefined) {\n            var conceptString = yield (0,_Api_GetConcept__WEBPACK_IMPORTED_MODULE_0__.GetConcept)(id);\n            concept = conceptString;\n        }\n        var output = yield recursiveFetch(id, connectionList, compositionList);\n        var mainString = (_b = (_a = concept === null || concept === void 0 ? void 0 : concept.type) === null || _a === void 0 ? void 0 : _a.characterValue) !== null && _b !== void 0 ? _b : \"\";\n        returnOutput[mainString] = output;\n        var FinalReturn = {};\n        FinalReturn['data'] = returnOutput;\n        FinalReturn['id'] = id;\n        FinalReturn['created_on'] = concept.entryTimeStamp;\n        return FinalReturn;\n    });\n}\nfunction GetCompositionWithIdFromMemoryFromConnections(id, connectionList) {\n    var connectionList;\n    var _a, _b;\n    return __awaiter(this, void 0, void 0, function* () {\n        connectionList = [];\n        var returnOutput = {};\n        //connectionList = await ConnectionData.GetConnectionsOfCompositionLocal(id);\n        var compositionList = [];\n        for (var i = 0; i < connectionList.length; i++) {\n            if (!compositionList.includes(connectionList[i].ofTheConceptId)) {\n                compositionList.push(connectionList[i].ofTheConceptId);\n            }\n        }\n        var concept = yield _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_2__.ConceptsData.GetConcept(id);\n        if (concept.id == 0 && id != null && id != undefined) {\n            var conceptString = yield (0,_Api_GetConcept__WEBPACK_IMPORTED_MODULE_0__.GetConcept)(id);\n            concept = conceptString;\n        }\n        var output = yield recursiveFetch(id, connectionList, compositionList);\n        var mainString = (_b = (_a = concept === null || concept === void 0 ? void 0 : concept.type) === null || _a === void 0 ? void 0 : _a.characterValue) !== null && _b !== void 0 ? _b : \"\";\n        returnOutput[mainString] = output;\n        var FinalReturn = {};\n        FinalReturn['data'] = returnOutput;\n        FinalReturn['id'] = id;\n        return FinalReturn;\n    });\n}\nfunction GetCompositionWithId(id) {\n    var _a, _b;\n    return __awaiter(this, void 0, void 0, function* () {\n        var connectionList = [];\n        var returnOutput = {};\n        var connectionListString = yield (0,_Api_GetAllConnectionsOfComposition__WEBPACK_IMPORTED_MODULE_1__.GetAllConnectionsOfComposition)(id);\n        connectionList = connectionListString;\n        var compositionList = [];\n        for (var i = 0; i < connectionList.length; i++) {\n            if (!compositionList.includes(connectionList[i].ofTheConceptId)) {\n                compositionList.push(connectionList[i].ofTheConceptId);\n            }\n        }\n        var concept = yield _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_2__.ConceptsData.GetConcept(id);\n        if (concept.id == 0 && id != null && id != undefined) {\n            var conceptString = yield (0,_Api_GetConcept__WEBPACK_IMPORTED_MODULE_0__.GetConcept)(id);\n            concept = conceptString;\n        }\n        var output = yield recursiveFetch(id, connectionList, compositionList);\n        var mainString = (_b = (_a = concept === null || concept === void 0 ? void 0 : concept.type) === null || _a === void 0 ? void 0 : _a.characterValue) !== null && _b !== void 0 ? _b : \"\";\n        returnOutput[mainString] = output;\n        var FinalReturn = {};\n        FinalReturn['data'] = returnOutput;\n        FinalReturn['id'] = id;\n        return FinalReturn;\n    });\n}\nfunction recursiveFetch(id, connectionList, compositionList, visitedConcepts = []) {\n    var _a, _b, _c, _d;\n    return __awaiter(this, void 0, void 0, function* () {\n        var output = {};\n        var arroutput = [];\n        if (id == 0) {\n            return null;\n        }\n        var concept = yield _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_2__.ConceptsData.GetConcept(id);\n        if ((concept == null || concept.id == 0) && id != null && id != undefined) {\n            var conceptString = yield (0,_Api_GetConcept__WEBPACK_IMPORTED_MODULE_0__.GetConcept)(id);\n            concept = conceptString;\n        }\n        if (concept.id != 0) {\n            if (concept.type == null) {\n                var toConceptTypeId = concept.typeId;\n                var toConceptType = yield _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_2__.ConceptsData.GetConcept(toConceptTypeId);\n                concept.type = toConceptType;\n                if (toConceptType == null && toConceptTypeId != null && toConceptTypeId != undefined) {\n                    var conceptString = yield (0,_Api_GetConcept__WEBPACK_IMPORTED_MODULE_0__.GetConcept)(toConceptTypeId);\n                    toConceptType = conceptString;\n                    concept.type = toConceptType;\n                }\n            }\n        }\n        var mainString = (_b = (_a = concept === null || concept === void 0 ? void 0 : concept.type) === null || _a === void 0 ? void 0 : _a.characterValue) !== null && _b !== void 0 ? _b : \"\";\n        if (!compositionList.includes(id)) {\n            return concept === null || concept === void 0 ? void 0 : concept.characterValue;\n        }\n        else {\n            if (visitedConcepts.includes(id)) {\n                return \"\";\n            }\n            else {\n                visitedConcepts.push(id);\n            }\n            for (var i = 0; i < connectionList.length; i++) {\n                if (connectionList[i].ofTheConceptId == id) {\n                    if (id != connectionList[i].toTheConceptId) {\n                        var toConceptId = connectionList[i].toTheConceptId;\n                        var toConcept = yield _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_2__.ConceptsData.GetConcept(toConceptId);\n                        if ((toConcept == null || toConcept.id == 0) && toConceptId != null && toConceptId != undefined) {\n                            var conceptString = yield (0,_Api_GetConcept__WEBPACK_IMPORTED_MODULE_0__.GetConcept)(toConceptId);\n                            toConcept = conceptString;\n                        }\n                        if (toConcept.id != 0) {\n                            if ((toConcept === null || toConcept === void 0 ? void 0 : toConcept.type) == null) {\n                                var toConceptTypeId = toConcept.typeId;\n                                var toConceptType = yield _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_2__.ConceptsData.GetConcept(toConceptTypeId);\n                                toConcept.type = toConceptType;\n                                if (toConceptType == null && toConceptTypeId != null && toConceptTypeId != undefined) {\n                                    var conceptString = yield (0,_Api_GetConcept__WEBPACK_IMPORTED_MODULE_0__.GetConcept)(toConceptTypeId);\n                                    toConceptType = conceptString;\n                                    toConcept.type = toConceptType;\n                                }\n                            }\n                        }\n                        var regex = \"the_\";\n                        var localmainString = (_d = (_c = toConcept === null || toConcept === void 0 ? void 0 : toConcept.type) === null || _c === void 0 ? void 0 : _c.characterValue) !== null && _d !== void 0 ? _d : \"\";\n                        var localKey = localmainString.replace(regex, \"\");\n                        if (isNaN(Number(localKey))) {\n                            if (localKey) {\n                                const result = yield recursiveFetch(toConceptId, connectionList, compositionList, visitedConcepts);\n                                output[localKey] = result;\n                            }\n                        }\n                        else {\n                            const result = yield recursiveFetch(toConceptId, connectionList, compositionList, visitedConcepts);\n                            arroutput[localKey] = result;\n                            output = arroutput;\n                        }\n                    }\n                    else {\n                        console.log(\"this is the faulty connection \", connectionList[i]);\n                    }\n                }\n            }\n        }\n        return output;\n    });\n}\nfunction recursiveFetchWithSubCompositions(id, connectionList, compositionList) {\n    var _a, _b, _c, _d;\n    return __awaiter(this, void 0, void 0, function* () {\n        var output = {};\n        var arroutput = [];\n        if (id == 0) {\n            return null;\n        }\n        var concept = yield _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_2__.ConceptsData.GetConcept(id);\n        if ((concept == null || concept.id == 0) && id != null && id != undefined) {\n            var conceptString = yield (0,_Api_GetConcept__WEBPACK_IMPORTED_MODULE_0__.GetConcept)(id);\n            concept = conceptString;\n        }\n        if (concept.id != 0) {\n            if (concept.type == null) {\n                var toConceptTypeId = concept.typeId;\n                var toConceptType = yield _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_2__.ConceptsData.GetConcept(toConceptTypeId);\n                concept.type = toConceptType;\n                if (toConceptType == null && toConceptTypeId != null && toConceptTypeId != undefined) {\n                    var conceptString = yield (0,_Api_GetConcept__WEBPACK_IMPORTED_MODULE_0__.GetConcept)(toConceptTypeId);\n                    toConceptType = conceptString;\n                    concept.type = toConceptType;\n                }\n            }\n        }\n        var mainString = (_b = (_a = concept === null || concept === void 0 ? void 0 : concept.type) === null || _a === void 0 ? void 0 : _a.characterValue) !== null && _b !== void 0 ? _b : \"\";\n        if (!compositionList.includes(id)) {\n            return concept === null || concept === void 0 ? void 0 : concept.characterValue;\n        }\n        else {\n            output[\"id\"] = id;\n            for (var i = 0; i < connectionList.length; i++) {\n                if (connectionList[i].ofTheConceptId == id) {\n                    var toConceptId = connectionList[i].toTheConceptId;\n                    var toConcept = yield _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_2__.ConceptsData.GetConcept(toConceptId);\n                    if ((toConcept == null || toConcept.id == 0) && toConceptId != null && toConceptId != undefined) {\n                        var conceptString = yield (0,_Api_GetConcept__WEBPACK_IMPORTED_MODULE_0__.GetConcept)(toConceptId);\n                        toConcept = conceptString;\n                    }\n                    if (toConcept) {\n                        if ((toConcept === null || toConcept === void 0 ? void 0 : toConcept.type) == null) {\n                            var toConceptTypeId = toConcept.typeId;\n                            var toConceptType = yield _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_2__.ConceptsData.GetConcept(toConceptTypeId);\n                            toConcept.type = toConceptType;\n                            if (toConceptType == null && toConceptTypeId != null && toConceptTypeId != undefined) {\n                                var conceptString = yield (0,_Api_GetConcept__WEBPACK_IMPORTED_MODULE_0__.GetConcept)(toConceptTypeId);\n                                toConceptType = conceptString;\n                                toConcept.type = toConceptType;\n                            }\n                        }\n                    }\n                    var regex = \"the_\";\n                    var localmainString = (_d = (_c = toConcept === null || toConcept === void 0 ? void 0 : toConcept.type) === null || _c === void 0 ? void 0 : _c.characterValue) !== null && _d !== void 0 ? _d : \"\";\n                    var localKey = localmainString.replace(regex, \"\");\n                    if (isNaN(Number(localKey))) {\n                        if (localKey) {\n                            const result = yield recursiveFetchWithSubCompositions(toConceptId, connectionList, compositionList);\n                            output[localKey] = result;\n                        }\n                    }\n                    else {\n                        const result = yield recursiveFetchWithSubCompositions(toConceptId, connectionList, compositionList);\n                        arroutput[localKey] = result;\n                        output = arroutput;\n                    }\n                }\n            }\n        }\n        return output;\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/GetCompositionBulk.ts\":\n/*!********************************************!*\\\n  !*** ./src/Services/GetCompositionBulk.ts ***!\n  \\********************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   GetCompositionBulk: () => (/* binding */ GetCompositionBulk),\n/* harmony export */   GetCompositionBulkWithDataId: () => (/* binding */ GetCompositionBulkWithDataId),\n/* harmony export */   GetCompositionFromConnectionsWithDataId: () => (/* binding */ GetCompositionFromConnectionsWithDataId)\n/* harmony export */ });\n/* harmony import */ var _Api_GetAllConnectionsOfCompositionBulk__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Api/GetAllConnectionsOfCompositionBulk */ \"./src/Api/GetAllConnectionsOfCompositionBulk.ts\");\n/* harmony import */ var _Api_GetConnectionBulk__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Api/GetConnectionBulk */ \"./src/Api/GetConnectionBulk.ts\");\n/* harmony import */ var _CheckForConnectionDeletion__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./CheckForConnectionDeletion */ \"./src/Services/CheckForConnectionDeletion.ts\");\n/* harmony import */ var _FindConnectionsOfCompositionBulkInMemory__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./FindConnectionsOfCompositionBulkInMemory */ \"./src/Services/FindConnectionsOfCompositionBulkInMemory.ts\");\n/* harmony import */ var _GetComposition__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./GetComposition */ \"./src/Services/GetComposition.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\n\nfunction GetCompositionBulk(ids = []) {\n    return __awaiter(this, void 0, void 0, function* () {\n        yield (0,_Api_GetAllConnectionsOfCompositionBulk__WEBPACK_IMPORTED_MODULE_0__.GetAllConnectionsOfCompositionBulk)(ids);\n        var compositions = [];\n        for (let i = 0; i < ids.length; i++) {\n            var comp = yield (0,_GetComposition__WEBPACK_IMPORTED_MODULE_4__.GetCompositionFromMemory)(ids[i]);\n            compositions.push(comp);\n        }\n        return compositions;\n    });\n}\nfunction GetCompositionBulkWithDataId(ids = []) {\n    return __awaiter(this, void 0, void 0, function* () {\n        yield (0,_Api_GetAllConnectionsOfCompositionBulk__WEBPACK_IMPORTED_MODULE_0__.GetAllConnectionsOfCompositionBulk)(ids);\n        var compositions = [];\n        for (let i = 0; i < ids.length; i++) {\n            var comp = yield (0,_GetComposition__WEBPACK_IMPORTED_MODULE_4__.GetCompositionWithIdFromMemory)(ids[i]);\n            compositions.push(comp);\n        }\n        return compositions;\n    });\n}\nfunction GetCompositionFromConnectionsWithDataId(ids = [], connections = []) {\n    return __awaiter(this, void 0, void 0, function* () {\n        var newConnections = yield (0,_Api_GetConnectionBulk__WEBPACK_IMPORTED_MODULE_1__.GetConnectionBulk)(connections);\n        var myNewConnections = newConnections;\n        var oldConnections = yield (0,_FindConnectionsOfCompositionBulkInMemory__WEBPACK_IMPORTED_MODULE_3__.FindConnectionsOfCompositionsBulkInMemory)(ids);\n        (0,_CheckForConnectionDeletion__WEBPACK_IMPORTED_MODULE_2__.CheckForConnectionDeletionWithIds)(connections, oldConnections);\n        var compositions = [];\n        for (let i = 0; i < ids.length; i++) {\n            var comp = yield (0,_GetComposition__WEBPACK_IMPORTED_MODULE_4__.GetCompositionWithIdFromMemory)(ids[i]);\n            compositions.push(comp);\n        }\n        return compositions;\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/GetCompositionList.ts\":\n/*!********************************************!*\\\n  !*** ./src/Services/GetCompositionList.ts ***!\n  \\********************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   FormatTheConcepts: () => (/* binding */ FormatTheConcepts),\n/* harmony export */   GetCompositionList: () => (/* binding */ GetCompositionList),\n/* harmony export */   GetCompositionListAll: () => (/* binding */ GetCompositionListAll),\n/* harmony export */   GetCompositionListAllWithId: () => (/* binding */ GetCompositionListAllWithId),\n/* harmony export */   GetCompositionListWithId: () => (/* binding */ GetCompositionListWithId)\n/* harmony export */ });\n/* harmony import */ var _Api_GetAllConceptsByType__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Api/GetAllConceptsByType */ \"./src/Api/GetAllConceptsByType.ts\");\n/* harmony import */ var _Api_GetAllConnectionsOfCompositionBulk__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Api/GetAllConnectionsOfCompositionBulk */ \"./src/Api/GetAllConnectionsOfCompositionBulk.ts\");\n/* harmony import */ var _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../DataStructures/ConceptData */ \"./src/DataStructures/ConceptData.ts\");\n/* harmony import */ var _DataStructures_Local_LocalConceptData__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../DataStructures/Local/LocalConceptData */ \"./src/DataStructures/Local/LocalConceptData.ts\");\n/* harmony import */ var _app__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../app */ \"./src/app.ts\");\n/* harmony import */ var _GetComposition__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./GetComposition */ \"./src/Services/GetComposition.ts\");\n/* harmony import */ var _GetConceptByCharacter__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./GetConceptByCharacter */ \"./src/Services/GetConceptByCharacter.ts\");\n/* harmony import */ var _Local_GetConceptByCharacterLocal__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Local/GetConceptByCharacterLocal */ \"./src/Services/Local/GetConceptByCharacterLocal.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\n\n\n\n\n// get the list of compositions from the type \n// for eg get list of boomgpt\nfunction GetCompositionList(compositionName, userId, inpage = 10, page = 1) {\n    return __awaiter(this, void 0, void 0, function* () {\n        var concept = yield (0,_GetConceptByCharacter__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(compositionName);\n        var CompositionList = [];\n        if (concept) {\n            yield (0,_Api_GetAllConceptsByType__WEBPACK_IMPORTED_MODULE_0__.GetAllConceptsByType)(compositionName, userId);\n            var conceptList = yield _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_2__.ConceptsData.GetConceptsByTypeIdAndUser(concept.id, userId);\n            var startPage = inpage * (page - 1);\n            var prefetchComposition = [];\n            for (var i = startPage; i < startPage + inpage; i++) {\n                if (conceptList[i]) {\n                    prefetchComposition.push(conceptList[i].id);\n                }\n            }\n            yield (0,_Api_GetAllConnectionsOfCompositionBulk__WEBPACK_IMPORTED_MODULE_1__.GetAllConnectionsOfCompositionBulk)(prefetchComposition);\n            for (var i = startPage; i < startPage + inpage; i++) {\n                if (conceptList[i]) {\n                    var compositionJson = yield (0,_GetComposition__WEBPACK_IMPORTED_MODULE_5__.GetCompositionFromMemory)(conceptList[i].id);\n                    CompositionList.push(compositionJson);\n                }\n            }\n        }\n        return CompositionList;\n    });\n}\nfunction GetCompositionListAll(compositionName, userId, inpage = 10, page = 1) {\n    return __awaiter(this, void 0, void 0, function* () {\n        let LocalCompositionList = (0,_app__WEBPACK_IMPORTED_MODULE_4__.GetCompositionListLocal)(compositionName, userId);\n        let CompositionList = GetCompositionList(compositionName, userId);\n        let AllList = [];\n        Promise.race([LocalCompositionList, CompositionList])\n            .then((result) => {\n            console.log(\"Promise result\", result);\n            AllList.push(...result);\n        })\n            .catch((error) => {\n            console.log(\"error in handling\", error);\n        });\n        CompositionList.then((result) => {\n            console.log(\"This is the second promise result\", result);\n            AllList.push(...result);\n        });\n        return AllList;\n    });\n}\n// export async function GetCompositionListAllWithId(compositionName: string,userId:number,  inpage:number = 10, page:number =1){\n//    let LocalCompositionList =  await GetCompositionListLocalWithId(compositionName, userId);\n//    console.log(\"tbis is the local composition list\", LocalCompositionList);\n//    let CompositionList =    await GetCompositionListWithId(compositionName,userId)\n//    console.log(\"this is the online composition list\", CompositionList);\n//    let AllList: any[] = [];\n//    // Promise.race([LocalCompositionList, CompositionList])\n//    // .then((result)=> {\n//    //    console.log(\"Promise result\", result);\n//    //    AllList.push(...result);\n//    // })\n//    // .catch((error)=>{\n//    //    console.log(\"error in handling\", error);\n//    // });\n//    // CompositionList.then((result)=>{\n//    //    console.log(\"This is the second promise result\", result);\n//    //    AllList.push(...result);\n//    // })\n//    AllList.push(...LocalCompositionList);\n//    AllList.push(...CompositionList);\n//    return AllList;\n// }\nfunction GetCompositionListAllWithId(compositionName, userId, inpage = 10, page = 1) {\n    return __awaiter(this, void 0, void 0, function* () {\n        var conceptLocal = yield (0,_Local_GetConceptByCharacterLocal__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(compositionName);\n        var conceptOnline = yield (0,_GetConceptByCharacter__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(compositionName);\n        var CompositionList = [];\n        let conceptList = [];\n        let conceptListLocal = [];\n        let finalLocal = [];\n        let conceptListOnline = [];\n        if (conceptLocal.id != 0) {\n            conceptListLocal = yield _DataStructures_Local_LocalConceptData__WEBPACK_IMPORTED_MODULE_3__.LocalConceptsData.GetConceptsByTypeIdAndUser(conceptLocal.id, userId);\n        }\n        if (conceptOnline.id != 0) {\n            yield (0,_Api_GetAllConceptsByType__WEBPACK_IMPORTED_MODULE_0__.GetAllConceptsByType)(compositionName, userId);\n            conceptListOnline = yield _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_2__.ConceptsData.GetConceptsByTypeIdAndUser(conceptOnline.id, userId);\n            conceptList = conceptListOnline;\n        }\n        for (let i = 0; i < conceptListLocal.length; i++) {\n            let isDuplicate = false;\n            for (let j = 0; j < conceptListOnline.length; j++) {\n                if (conceptListLocal[i].ghostId == conceptListOnline[j].ghostId) {\n                    isDuplicate = true;\n                }\n            }\n            if (!isDuplicate) {\n                finalLocal.push(conceptListLocal[i]);\n            }\n        }\n        let AllList = [];\n        AllList = yield FormatTheConcepts(conceptList, finalLocal, inpage, page);\n        return AllList;\n    });\n}\nfunction GetCompositionListWithId(compositionName, userId, inpage = 10, page = 1) {\n    return __awaiter(this, void 0, void 0, function* () {\n        var concept = yield (0,_GetConceptByCharacter__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(compositionName);\n        var CompositionList = [];\n        if (concept) {\n            yield (0,_Api_GetAllConceptsByType__WEBPACK_IMPORTED_MODULE_0__.GetAllConceptsByType)(compositionName, userId);\n            var conceptList = yield _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_2__.ConceptsData.GetConceptsByTypeIdAndUser(concept.id, userId);\n            var startPage = inpage * (page - 1);\n            var prefetchComposition = [];\n            for (var i = startPage; i < startPage + inpage; i++) {\n                if (conceptList[i]) {\n                    prefetchComposition.push(conceptList[i].id);\n                }\n            }\n            yield (0,_Api_GetAllConnectionsOfCompositionBulk__WEBPACK_IMPORTED_MODULE_1__.GetAllConnectionsOfCompositionBulk)(prefetchComposition);\n            for (var i = startPage; i < startPage + inpage; i++) {\n                if (conceptList[i]) {\n                    var compositionJson = yield (0,_GetComposition__WEBPACK_IMPORTED_MODULE_5__.GetCompositionWithIdFromMemory)(conceptList[i].id);\n                    CompositionList.push(compositionJson);\n                }\n            }\n        }\n        return CompositionList;\n    });\n}\nfunction FormatTheConcepts(conceptList, localConceptList, inpage = 10, page = 1) {\n    return __awaiter(this, void 0, void 0, function* () {\n        let CompositionList = [];\n        var startPage = inpage * (page - 1);\n        var prefetchComposition = [];\n        let localConceptLength = localConceptList.length;\n        for (var i = startPage; i < startPage + inpage - localConceptLength; i++) {\n            if (conceptList[i]) {\n                prefetchComposition.push(conceptList[i].id);\n            }\n        }\n        for (var i = 0; i < localConceptList.length; i++) {\n            var compositionJson = yield (0,_app__WEBPACK_IMPORTED_MODULE_4__.GetCompositionLocalWithId)(localConceptList[i].id);\n            CompositionList.push(compositionJson);\n        }\n        yield (0,_Api_GetAllConnectionsOfCompositionBulk__WEBPACK_IMPORTED_MODULE_1__.GetAllConnectionsOfCompositionBulk)(prefetchComposition);\n        for (var i = startPage; i < startPage + inpage - localConceptLength; i++) {\n            if (conceptList[i]) {\n                var compositionJson = yield (0,_GetComposition__WEBPACK_IMPORTED_MODULE_5__.GetCompositionWithIdFromMemory)(conceptList[i].id);\n                CompositionList.push(compositionJson);\n            }\n        }\n        return CompositionList;\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/GetConceptByCharacter.ts\":\n/*!***********************************************!*\\\n  !*** ./src/Services/GetConceptByCharacter.ts ***!\n  \\***********************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ GetConceptByCharacter)\n/* harmony export */ });\n/* harmony import */ var _Api_GetConceptByCharacterValue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Api/GetConceptByCharacterValue */ \"./src/Api/GetConceptByCharacterValue.ts\");\n/* harmony import */ var _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../DataStructures/ConceptData */ \"./src/DataStructures/ConceptData.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\nfunction GetConceptByCharacter(characterValue) {\n    return __awaiter(this, void 0, void 0, function* () {\n        var concept = yield _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_1__.ConceptsData.GetConceptByCharacter(characterValue);\n        var literalCharacter = `${characterValue}`;\n        if ((concept == null || (concept === null || concept === void 0 ? void 0 : concept.id) == 0) && literalCharacter) {\n            yield (0,_Api_GetConceptByCharacterValue__WEBPACK_IMPORTED_MODULE_0__.GetConceptByCharacterValue)(characterValue);\n            concept = yield _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_1__.ConceptsData.GetConceptByCharacter(characterValue);\n        }\n        return concept;\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/GetConnections.ts\":\n/*!****************************************!*\\\n  !*** ./src/Services/GetConnections.ts ***!\n  \\****************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   GetConnectionById: () => (/* binding */ GetConnectionById)\n/* harmony export */ });\n/* harmony import */ var _Api_GetConnection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Api/GetConnection */ \"./src/Api/GetConnection.ts\");\n/* harmony import */ var _DataStructures_ConnectionData__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../DataStructures/ConnectionData */ \"./src/DataStructures/ConnectionData.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\nfunction GetConnectionById(id) {\n    return __awaiter(this, void 0, void 0, function* () {\n        var connection = yield _DataStructures_ConnectionData__WEBPACK_IMPORTED_MODULE_1__.ConnectionData.GetConnection(id);\n        if ((connection == null || connection.id == 0) && id != null && id != undefined) {\n            var connectionString = yield (0,_Api_GetConnection__WEBPACK_IMPORTED_MODULE_0__.GetConnection)(id);\n            connection = connectionString;\n        }\n        return connection;\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/GetDataFromIndexDb.ts\":\n/*!********************************************!*\\\n  !*** ./src/Services/GetDataFromIndexDb.ts ***!\n  \\********************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   GetDataFromIndexDb: () => (/* binding */ GetDataFromIndexDb),\n/* harmony export */   GetDataFromIndexDbLocal: () => (/* binding */ GetDataFromIndexDbLocal)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_ConnectionData__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../DataStructures/ConnectionData */ \"./src/DataStructures/ConnectionData.ts\");\n/* harmony import */ var _DataStructures_Local_LocalConnectionData__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../DataStructures/Local/LocalConnectionData */ \"./src/DataStructures/Local/LocalConnectionData.ts\");\n/* harmony import */ var _Database_indexdblocal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Database/indexdblocal */ \"./src/Database/indexdblocal.ts\");\n/* harmony import */ var _Database_indexeddb__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Database/indexeddb */ \"./src/Database/indexeddb.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\nfunction GetDataFromIndexDb() {\n    return __awaiter(this, void 0, void 0, function* () {\n        // var conceptList = await getFromDatabaseWithTypeOld(\"concept\");\n        GetConnectionsFromIndexDb();\n        // console.log(conceptList);\n        // if(Array.isArray(conceptList)){\n        //     for(var i=0 ;i < conceptList.length ;i++){\n        //         ConceptsData.AddConcept(conceptList[i]);\n        //     }\n        // }\n    });\n}\nfunction GetDataFromIndexDbLocal() {\n    return __awaiter(this, void 0, void 0, function* () {\n        // var conceptList = await getAllFromLocalDb(\"localconcept\");\n        GetConnectionsFromIndexDbLocal();\n        // if(Array.isArray(conceptList)){\n        //     for(var i=0 ;i < conceptList.length ;i++){\n        //         LocalConceptsData.AddConcept(conceptList[i]);\n        //     }\n        // }\n    });\n}\nfunction GetConnectionsFromIndexDb() {\n    return __awaiter(this, void 0, void 0, function* () {\n        var connectionList = yield (0,_Database_indexeddb__WEBPACK_IMPORTED_MODULE_3__.getFromDatabaseWithTypeOld)(\"connection\");\n        if (Array.isArray(connectionList)) {\n            for (var i = 0; i < connectionList.length; i++) {\n                _DataStructures_ConnectionData__WEBPACK_IMPORTED_MODULE_0__.ConnectionData.AddConnectionToMemory(connectionList[i]);\n            }\n        }\n    });\n}\nfunction GetConnectionsFromIndexDbLocal() {\n    return __awaiter(this, void 0, void 0, function* () {\n        var connectionList = yield (0,_Database_indexdblocal__WEBPACK_IMPORTED_MODULE_2__.getAllFromLocalDb)(\"localconnection\");\n        if (Array.isArray(connectionList)) {\n            for (var i = 0; i < connectionList.length; i++) {\n                _DataStructures_Local_LocalConnectionData__WEBPACK_IMPORTED_MODULE_1__.LocalConnectionData.AddConnection(connectionList[i]);\n            }\n        }\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/GetLink.ts\":\n/*!*********************************!*\\\n  !*** ./src/Services/GetLink.ts ***!\n  \\*********************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   GetLink: () => (/* binding */ GetLink),\n/* harmony export */   GetLinkRaw: () => (/* binding */ GetLinkRaw)\n/* harmony export */ });\n/* harmony import */ var _Api_GetConceptByCharacterAndType__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Api/GetConceptByCharacterAndType */ \"./src/Api/GetConceptByCharacterAndType.ts\");\n/* harmony import */ var _Api_GetConnectionOfTheConcept__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Api/GetConnectionOfTheConcept */ \"./src/Api/GetConnectionOfTheConcept.ts\");\n/* harmony import */ var _GetComposition__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./GetComposition */ \"./src/Services/GetComposition.ts\");\n/* harmony import */ var _GetTheConcept__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./GetTheConcept */ \"./src/Services/GetTheConcept.ts\");\n/* harmony import */ var _Api_GetAllConnectionsOfCompositionBulk__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Api/GetAllConnectionsOfCompositionBulk */ \"./src/Api/GetAllConnectionsOfCompositionBulk.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\n\nfunction GetLink(id, linker, inpage = 10, page = 1) {\n    var _a;\n    return __awaiter(this, void 0, void 0, function* () {\n        var output = [];\n        var concept = yield (0,_GetTheConcept__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(id);\n        var linkString = ((_a = concept.type) === null || _a === void 0 ? void 0 : _a.characterValue) + \"_s\" + \"_\" + linker;\n        var relatedConceptString = yield (0,_Api_GetConceptByCharacterAndType__WEBPACK_IMPORTED_MODULE_0__.GetConceptByCharacterAndType)(linkString, 16);\n        var relatedConcept = relatedConceptString;\n        if (relatedConcept.id > 0) {\n            var connectionsString = yield (0,_Api_GetConnectionOfTheConcept__WEBPACK_IMPORTED_MODULE_1__.GetConnectionOfTheConcept)(relatedConcept.id, concept.id, concept.userId, inpage, page);\n            var connections = connectionsString;\n            var prefetch = [];\n            for (var i = 0; i < connections.length; i++) {\n                prefetch.push(connections[i].toTheConceptId);\n            }\n            yield (0,_Api_GetAllConnectionsOfCompositionBulk__WEBPACK_IMPORTED_MODULE_4__.GetAllConnectionsOfCompositionBulk)(prefetch);\n            for (var i = 0; i < connections.length; i++) {\n                let toConceptId = connections[i].toTheConceptId;\n                let toConcept = yield (0,_GetTheConcept__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(toConceptId);\n                let newComposition = yield (0,_GetComposition__WEBPACK_IMPORTED_MODULE_2__.GetCompositionWithIdAndDateFromMemory)(toConcept.id);\n                output.push(newComposition);\n            }\n        }\n        return output;\n    });\n}\nfunction GetLinkRaw(id, linker, inpage = 10, page = 1) {\n    var _a;\n    return __awaiter(this, void 0, void 0, function* () {\n        var output = [];\n        var concept = yield (0,_GetTheConcept__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(id);\n        var linkString = ((_a = concept.type) === null || _a === void 0 ? void 0 : _a.characterValue) + \"_s\" + \"_\" + linker;\n        var relatedConceptString = yield (0,_Api_GetConceptByCharacterAndType__WEBPACK_IMPORTED_MODULE_0__.GetConceptByCharacterAndType)(linkString, 16);\n        var relatedConcept = relatedConceptString;\n        if (relatedConcept.id > 0) {\n            var connectionsString = yield (0,_Api_GetConnectionOfTheConcept__WEBPACK_IMPORTED_MODULE_1__.GetConnectionOfTheConcept)(relatedConcept.id, concept.id, concept.userId, inpage, page);\n            var connections = connectionsString;\n            var prefetch = [];\n            for (var i = 0; i < connections.length; i++) {\n                prefetch.push(connections[i].toTheConceptId);\n            }\n            for (var i = 0; i < connections.length; i++) {\n                let toConceptId = connections[i].toTheConceptId;\n                let toConcept = yield (0,_GetTheConcept__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(toConceptId);\n                output.push(toConcept);\n            }\n        }\n        return output;\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/GetLinkerConnectionFromConcept.ts\":\n/*!********************************************************!*\\\n  !*** ./src/Services/GetLinkerConnectionFromConcept.ts ***!\n  \\********************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   GetLinkerConnectionFromConcepts: () => (/* binding */ GetLinkerConnectionFromConcepts)\n/* harmony export */ });\n/* harmony import */ var _Api_GetAllLinkerConnectionsFromTheConcept__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Api/GetAllLinkerConnectionsFromTheConcept */ \"./src/Api/GetAllLinkerConnectionsFromTheConcept.ts\");\n/* harmony import */ var _GetTheConcept__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./GetTheConcept */ \"./src/Services/GetTheConcept.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\nfunction GetLinkerConnectionFromConcepts(id) {\n    return __awaiter(this, void 0, void 0, function* () {\n        var connections = yield (0,_Api_GetAllLinkerConnectionsFromTheConcept__WEBPACK_IMPORTED_MODULE_0__.GetAllLinkerConnectionsFromTheConcept)(id);\n        for (var i = 0; i < connections.length; i++) {\n            let localConnection = connections[i];\n            var connectionIdentifier = localConnection.typeId;\n            let concept = yield (0,_GetTheConcept__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(connectionIdentifier);\n            localConnection.type = concept;\n        }\n        return connections;\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/GetTheConcept.ts\":\n/*!***************************************!*\\\n  !*** ./src/Services/GetTheConcept.ts ***!\n  \\***************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ GetTheConcept)\n/* harmony export */ });\n/* harmony import */ var _Api_GetConcept__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Api/GetConcept */ \"./src/Api/GetConcept.ts\");\n/* harmony import */ var _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../DataStructures/ConceptData */ \"./src/DataStructures/ConceptData.ts\");\n/* harmony import */ var _CreateDefaultConcept__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./CreateDefaultConcept */ \"./src/Services/CreateDefaultConcept.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\nfunction GetTheConcept(id) {\n    return __awaiter(this, void 0, void 0, function* () {\n        var concept = (0,_CreateDefaultConcept__WEBPACK_IMPORTED_MODULE_2__.CreateDefaultConcept)();\n        concept = yield _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_1__.ConceptsData.GetConcept(id);\n        if ((concept == null || concept.id == 0) && id != null && id != undefined) {\n            var conceptString = yield (0,_Api_GetConcept__WEBPACK_IMPORTED_MODULE_0__.GetConcept)(id);\n            concept = conceptString;\n        }\n        if (concept.id != 0) {\n            if (concept.type == null) {\n                var conceptType = yield _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_1__.ConceptsData.GetConcept(concept.typeId);\n                if (conceptType == null && concept.typeId != null && concept.typeId != undefined) {\n                    var typeConceptString = yield (0,_Api_GetConcept__WEBPACK_IMPORTED_MODULE_0__.GetConcept)(concept.typeId);\n                    var typeConcept = typeConceptString;\n                    concept.type = typeConcept;\n                }\n            }\n        }\n        return concept;\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/InitializeSystem.ts\":\n/*!******************************************!*\\\n  !*** ./src/Services/InitializeSystem.ts ***!\n  \\******************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   PurgatoryDatabaseUpdated: () => (/* binding */ PurgatoryDatabaseUpdated),\n/* harmony export */   \"default\": () => (/* binding */ InitializeSystem)\n/* harmony export */ });\n/* harmony import */ var _Api_GetAiData__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Api/GetAiData */ \"./src/Api/GetAiData.ts\");\n/* harmony import */ var _DataStructures_SettingData__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../DataStructures/SettingData */ \"./src/DataStructures/SettingData.ts\");\n/* harmony import */ var _DataStructures_Settings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../DataStructures/Settings */ \"./src/DataStructures/Settings.ts\");\n/* harmony import */ var _Database_indexeddb__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Database/indexeddb */ \"./src/Database/indexeddb.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\nfunction InitializeSystem() {\n    return __awaiter(this, void 0, void 0, function* () {\n        var statsData = yield (0,_Database_indexeddb__WEBPACK_IMPORTED_MODULE_3__.GetStatsFromDatabase)();\n        var settings = statsData;\n        yield (0,_Api_GetAiData__WEBPACK_IMPORTED_MODULE_0__.GetAiData)();\n        return true;\n    });\n}\nfunction PurgatoryDatabaseUpdated() {\n    return __awaiter(this, void 0, void 0, function* () {\n        _DataStructures_Settings__WEBPACK_IMPORTED_MODULE_2__.Settings.isOnlineSync = true;\n        var settingData = new _DataStructures_SettingData__WEBPACK_IMPORTED_MODULE_1__.SettingData(_DataStructures_Settings__WEBPACK_IMPORTED_MODULE_2__.Settings.isOnlineSync);\n        (0,_Database_indexeddb__WEBPACK_IMPORTED_MODULE_3__.AiUpdateFlag)(settingData);\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/Local/ConvertFromLConceptToConcept.ts\":\n/*!************************************************************!*\\\n  !*** ./src/Services/Local/ConvertFromLConceptToConcept.ts ***!\n  \\************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   ConvertFromLConceptToConcept: () => (/* binding */ ConvertFromLConceptToConcept)\n/* harmony export */ });\n/* harmony import */ var _CreateDefaultConcept__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../CreateDefaultConcept */ \"./src/Services/CreateDefaultConcept.ts\");\n\nfunction ConvertFromLConceptToConcept(lconcept) {\n    let concept = (0,_CreateDefaultConcept__WEBPACK_IMPORTED_MODULE_0__.CreateDefaultConcept)();\n    concept.id = lconcept.id;\n    concept.ghostId = lconcept.ghostId;\n    concept.accessId = lconcept.accessId;\n    concept.categoryId = lconcept.categoryId;\n    concept.typeId = lconcept.typeId;\n    concept.type = lconcept.type;\n    concept.entryTimeStamp = lconcept.entryTimeStamp;\n    concept.userId = lconcept.userId;\n    concept.characterValue = lconcept.characterValue;\n    return concept;\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/Local/ConvertFromLConnectionToConnection.ts\":\n/*!******************************************************************!*\\\n  !*** ./src/Services/Local/ConvertFromLConnectionToConnection.ts ***!\n  \\******************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   ConvertFromLConnectionToConnection: () => (/* binding */ ConvertFromLConnectionToConnection)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_Connection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../DataStructures/Connection */ \"./src/DataStructures/Connection.ts\");\n\nfunction ConvertFromLConnectionToConnection(lconnection) {\n    let connection = new _DataStructures_Connection__WEBPACK_IMPORTED_MODULE_0__.Connection(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);\n    connection.ofTheConceptId = lconnection.ofTheConceptId;\n    connection.OfTheConceptId = lconnection.OfTheConceptId;\n    connection.toTheConceptId = lconnection.toTheConceptId;\n    connection.ToTheConceptId = lconnection.ToTheConceptId;\n    connection.typeId = lconnection.typeId;\n    connection.orderId = lconnection.orderId;\n    connection.id = lconnection.id;\n    return connection;\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/Local/CreateDefaultLConcept.ts\":\n/*!*****************************************************!*\\\n  !*** ./src/Services/Local/CreateDefaultLConcept.ts ***!\n  \\*****************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   CreateDefaultLConcept: () => (/* binding */ CreateDefaultLConcept)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_Local_LConcept__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../DataStructures/Local/LConcept */ \"./src/DataStructures/Local/LConcept.ts\");\n\nfunction CreateDefaultLConcept() {\n    let created_on = new Date();\n    let updated_on = new Date();\n    let concept = new _DataStructures_Local_LConcept__WEBPACK_IMPORTED_MODULE_0__.LConcept(0, 0, 0, 0, 0, \"0\", \"0\", false, created_on, updated_on);\n    return concept;\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/Local/CreateLocalBinaryTreeFromData.ts\":\n/*!*************************************************************!*\\\n  !*** ./src/Services/Local/CreateLocalBinaryTreeFromData.ts ***!\n  \\*************************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ CreateLocalBinaryTreeFromData)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_Local_LocalConceptData__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../DataStructures/Local/LocalConceptData */ \"./src/DataStructures/Local/LocalConceptData.ts\");\n/* harmony import */ var _Database_indexdblocal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Database/indexdblocal */ \"./src/Database/indexdblocal.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\nfunction CreateLocalBinaryTreeFromData() {\n    return __awaiter(this, void 0, void 0, function* () {\n        var conceptList = yield (0,_Database_indexdblocal__WEBPACK_IMPORTED_MODULE_1__.getAllFromLocalDb)(\"localconcept\");\n        if (Array.isArray(conceptList)) {\n            for (var i = 0; i < conceptList.length; i++) {\n                let concept = conceptList[i];\n                _DataStructures_Local_LocalConceptData__WEBPACK_IMPORTED_MODULE_0__.LocalConceptsData.AddConceptToMemory(concept);\n                // let node = new Node(concept.id, concept, null, null);\n                // LocalBinaryTree.addNodeToTree(node);\n            }\n        }\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/Local/CreateTheCompositionLocal.ts\":\n/*!*********************************************************!*\\\n  !*** ./src/Services/Local/CreateTheCompositionLocal.ts ***!\n  \\*********************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   CreateTheCompositionLocal: () => (/* binding */ CreateTheCompositionLocal)\n/* harmony export */ });\n/* harmony import */ var _Local_CreateDefaultLConcept__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Local/CreateDefaultLConcept */ \"./src/Services/Local/CreateDefaultLConcept.ts\");\n/* harmony import */ var _CreateTheConnectionLocal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CreateTheConnectionLocal */ \"./src/Services/Local/CreateTheConnectionLocal.ts\");\n/* harmony import */ var _MakeTheInstanceConceptLocal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./MakeTheInstanceConceptLocal */ \"./src/Services/Local/MakeTheInstanceConceptLocal.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\nfunction CreateTheCompositionLocal(json, ofTheConceptId = null, ofTheConceptUserId = null, mainKey = null, userId = null, accessId = null, sessionInformationId = null, automaticSync = false) {\n    return __awaiter(this, void 0, void 0, function* () {\n        var localUserId = userId !== null && userId !== void 0 ? userId : 999;\n        var localAccessId = accessId !== null && accessId !== void 0 ? accessId : 999;\n        var localSessionId = sessionInformationId !== null && sessionInformationId !== void 0 ? sessionInformationId : 999;\n        var MainKeyLocal = mainKey !== null && mainKey !== void 0 ? mainKey : 0;\n        var MainConcept = (0,_Local_CreateDefaultLConcept__WEBPACK_IMPORTED_MODULE_0__.CreateDefaultLConcept)();\n        for (const key in json) {\n            if (typeof json[key] != 'string' && typeof json[key] != 'number') {\n                if (ofTheConceptId == null && ofTheConceptUserId == null) {\n                    var localMainKey = MainKeyLocal;\n                    let conceptString = yield (0,_MakeTheInstanceConceptLocal__WEBPACK_IMPORTED_MODULE_2__.MakeTheInstanceConceptLocal)(key, \"\", true, localUserId, localAccessId, localSessionId);\n                    var concept = conceptString;\n                    MainConcept = concept;\n                    localMainKey = concept.id;\n                    MainKeyLocal = concept.id;\n                    yield CreateTheCompositionLocal(json[key], concept.id, concept.userId, localMainKey, userId, accessId, sessionInformationId);\n                }\n                else {\n                    var ofThe = ofTheConceptId !== null && ofTheConceptId !== void 0 ? ofTheConceptId : 999;\n                    var ofTheUser = ofTheConceptUserId !== null && ofTheConceptUserId !== void 0 ? ofTheConceptUserId : 999;\n                    var localMainKey = MainKeyLocal;\n                    var conceptString = yield (0,_MakeTheInstanceConceptLocal__WEBPACK_IMPORTED_MODULE_2__.MakeTheInstanceConceptLocal)(key, \"\", true, localUserId, localAccessId, localSessionId);\n                    var concept = conceptString;\n                    yield (0,_CreateTheConnectionLocal__WEBPACK_IMPORTED_MODULE_1__.CreateTheConnectionLocal)(ofThe, concept.id, localMainKey);\n                    yield CreateTheCompositionLocal(json[key], concept.id, concept.userId, localMainKey, userId, accessId, sessionInformationId);\n                }\n            }\n            else {\n                var ofThe = ofTheConceptId !== null && ofTheConceptId !== void 0 ? ofTheConceptId : 999;\n                var ofTheUser = ofTheConceptUserId !== null && ofTheConceptUserId !== void 0 ? ofTheConceptUserId : 999;\n                var localMainKey = MainKeyLocal;\n                var conceptString = yield (0,_MakeTheInstanceConceptLocal__WEBPACK_IMPORTED_MODULE_2__.MakeTheInstanceConceptLocal)(key, json[key], false, localUserId, localAccessId, localSessionId);\n                var concept = conceptString;\n                yield (0,_CreateTheConnectionLocal__WEBPACK_IMPORTED_MODULE_1__.CreateTheConnectionLocal)(ofThe, concept.id, localMainKey);\n            }\n        }\n        return MainConcept;\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/Local/CreateTheConceptLocal.ts\":\n/*!*****************************************************!*\\\n  !*** ./src/Services/Local/CreateTheConceptLocal.ts ***!\n  \\*****************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ CreateTheConceptLocal)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_Local_LConcept__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../DataStructures/Local/LConcept */ \"./src/DataStructures/Local/LConcept.ts\");\n/* harmony import */ var _DataStructures_Local_LocalConceptData__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../DataStructures/Local/LocalConceptData */ \"./src/DataStructures/Local/LocalConceptData.ts\");\n/* harmony import */ var _Database_indexdblocal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Database/indexdblocal */ \"./src/Database/indexdblocal.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\nfunction CreateTheConceptLocal(referent, typecharacter, userId, categoryId, typeId, accessId, isComposition = false) {\n    return __awaiter(this, void 0, void 0, function* () {\n        var id = -Math.floor(Math.random() * 100000000);\n        var isNew = true;\n        let created_on = new Date();\n        let updated_on = new Date();\n        var concept = new _DataStructures_Local_LConcept__WEBPACK_IMPORTED_MODULE_0__.LConcept(id, userId, typeId, categoryId, accessId, referent, typecharacter, isNew, created_on, updated_on);\n        concept.isTemp = true;\n        concept.isComposition = isComposition;\n        _DataStructures_Local_LocalConceptData__WEBPACK_IMPORTED_MODULE_1__.LocalConceptsData.AddConcept(concept);\n        (0,_Database_indexdblocal__WEBPACK_IMPORTED_MODULE_2__.storeToDatabase)(\"localconcept\", concept);\n        return concept;\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/Local/CreateTheConnectionLocal.ts\":\n/*!********************************************************!*\\\n  !*** ./src/Services/Local/CreateTheConnectionLocal.ts ***!\n  \\********************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   CreateTheConnectionLocal: () => (/* binding */ CreateTheConnectionLocal)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_Local_LConnection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../DataStructures/Local/LConnection */ \"./src/DataStructures/Local/LConnection.ts\");\n/* harmony import */ var _DataStructures_Local_LocalConnectionData__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../DataStructures/Local/LocalConnectionData */ \"./src/DataStructures/Local/LocalConnectionData.ts\");\n/* harmony import */ var _Database_indexdblocal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Database/indexdblocal */ \"./src/Database/indexdblocal.ts\");\n/* harmony import */ var _app__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../app */ \"./src/app.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\nfunction CreateTheConnectionLocal(ofTheConceptId, toTheConceptId, typeId, orderId = 1) {\n    return __awaiter(this, void 0, void 0, function* () {\n        var accessId = 4;\n        let randomid = Math.floor(Math.random() * 100000000);\n        let realOfTheConceptId = 0;\n        let realToTheConceptId = 0;\n        let realTypeId = 0;\n        realOfTheConceptId = ofTheConceptId;\n        realToTheConceptId = toTheConceptId;\n        realTypeId = typeId;\n        if (realOfTheConceptId != realToTheConceptId) {\n            var connection = new _DataStructures_Local_LConnection__WEBPACK_IMPORTED_MODULE_0__.LConnection(randomid, realOfTheConceptId, realToTheConceptId, realTypeId, orderId, accessId);\n            connection.isTemp = true;\n            _DataStructures_Local_LocalConnectionData__WEBPACK_IMPORTED_MODULE_1__.LocalConnectionData.AddConnection(connection);\n            (0,_Database_indexdblocal__WEBPACK_IMPORTED_MODULE_2__.storeToDatabase)(\"localconnection\", connection);\n            _app__WEBPACK_IMPORTED_MODULE_3__.LocalSyncData.AddConnection(connection);\n            return connection;\n        }\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/Local/GetCompositionListLocal.ts\":\n/*!*******************************************************!*\\\n  !*** ./src/Services/Local/GetCompositionListLocal.ts ***!\n  \\*******************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   GetCompositionListLocal: () => (/* binding */ GetCompositionListLocal),\n/* harmony export */   GetCompositionListLocalWithId: () => (/* binding */ GetCompositionListLocalWithId)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_Local_LocalConceptData__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../DataStructures/Local/LocalConceptData */ \"./src/DataStructures/Local/LocalConceptData.ts\");\n/* harmony import */ var _GetCompositionLocal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./GetCompositionLocal */ \"./src/Services/Local/GetCompositionLocal.ts\");\n/* harmony import */ var _GetConceptByCharacterLocal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./GetConceptByCharacterLocal */ \"./src/Services/Local/GetConceptByCharacterLocal.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\nfunction GetCompositionListLocal(compositionName, userId) {\n    return __awaiter(this, void 0, void 0, function* () {\n        var concept = yield (0,_GetConceptByCharacterLocal__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(compositionName);\n        var CompositionList = [];\n        if (concept.id > 0) {\n            var conceptList = yield _DataStructures_Local_LocalConceptData__WEBPACK_IMPORTED_MODULE_0__.LocalConceptsData.GetConceptsByTypeIdAndUser(concept.id, userId);\n            for (var i = 0; i < conceptList.length; i++) {\n                var compositionJson = yield (0,_GetCompositionLocal__WEBPACK_IMPORTED_MODULE_1__.GetCompositionLocal)(conceptList[i].id);\n                CompositionList.push(compositionJson);\n            }\n        }\n        return CompositionList;\n    });\n}\nfunction GetCompositionListLocalWithId(compositionName, userId) {\n    return __awaiter(this, void 0, void 0, function* () {\n        var concept = yield (0,_GetConceptByCharacterLocal__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(compositionName);\n        var CompositionList = [];\n        if (concept.id > 0) {\n            var conceptList = yield _DataStructures_Local_LocalConceptData__WEBPACK_IMPORTED_MODULE_0__.LocalConceptsData.GetConceptsByTypeIdAndUser(concept.id, userId);\n            for (var i = 0; i < conceptList.length; i++) {\n                var compositionJson = yield (0,_GetCompositionLocal__WEBPACK_IMPORTED_MODULE_1__.GetCompositionLocalWithId)(conceptList[i].id);\n                CompositionList.push(compositionJson);\n            }\n        }\n        return CompositionList;\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/Local/GetCompositionLocal.ts\":\n/*!***************************************************!*\\\n  !*** ./src/Services/Local/GetCompositionLocal.ts ***!\n  \\***************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   GetCompositionLocal: () => (/* binding */ GetCompositionLocal),\n/* harmony export */   GetCompositionLocalWithId: () => (/* binding */ GetCompositionLocalWithId)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_Local_LocalConceptData__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../DataStructures/Local/LocalConceptData */ \"./src/DataStructures/Local/LocalConceptData.ts\");\n/* harmony import */ var _DataStructures_Local_LocalConnectionData__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../DataStructures/Local/LocalConnectionData */ \"./src/DataStructures/Local/LocalConnectionData.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\nfunction GetCompositionLocal(id) {\n    var _a, _b;\n    return __awaiter(this, void 0, void 0, function* () {\n        var connectionList = [];\n        var returnOutput = {};\n        connectionList = yield _DataStructures_Local_LocalConnectionData__WEBPACK_IMPORTED_MODULE_1__.LocalConnectionData.GetConnectionsOfCompositionLocal(id);\n        //connectionList = ConnectionData.GetConnectionsOfComposition(id);\n        var compositionList = [];\n        for (var i = 0; i < connectionList.length; i++) {\n            if (!compositionList.includes(connectionList[i].ofTheConceptId)) {\n                compositionList.push(connectionList[i].ofTheConceptId);\n            }\n        }\n        var concept = yield _DataStructures_Local_LocalConceptData__WEBPACK_IMPORTED_MODULE_0__.LocalConceptsData.GetConcept(id);\n        var output = yield recursiveFetchLocal(id, connectionList, compositionList);\n        var mainString = (_b = (_a = concept === null || concept === void 0 ? void 0 : concept.type) === null || _a === void 0 ? void 0 : _a.characterValue) !== null && _b !== void 0 ? _b : \"top\";\n        returnOutput[mainString] = output;\n        return returnOutput;\n    });\n}\nfunction GetCompositionLocalWithId(id) {\n    var _a, _b;\n    return __awaiter(this, void 0, void 0, function* () {\n        var connectionList = [];\n        var returnOutput = {};\n        var FinalReturn = {};\n        connectionList = yield _DataStructures_Local_LocalConnectionData__WEBPACK_IMPORTED_MODULE_1__.LocalConnectionData.GetConnectionsOfCompositionLocal(id);\n        var compositionList = [];\n        for (var i = 0; i < connectionList.length; i++) {\n            if (!compositionList.includes(connectionList[i].ofTheConceptId)) {\n                compositionList.push(connectionList[i].ofTheConceptId);\n            }\n        }\n        var concept = yield _DataStructures_Local_LocalConceptData__WEBPACK_IMPORTED_MODULE_0__.LocalConceptsData.GetConcept(id);\n        if (concept.id != 0) {\n            var output = yield recursiveFetchLocal(id, connectionList, compositionList);\n            var mainString = (_b = (_a = concept === null || concept === void 0 ? void 0 : concept.type) === null || _a === void 0 ? void 0 : _a.characterValue) !== null && _b !== void 0 ? _b : \"top\";\n            returnOutput[mainString] = output;\n        }\n        FinalReturn['data'] = returnOutput;\n        FinalReturn['id'] = id;\n        return FinalReturn;\n    });\n}\nfunction recursiveFetchLocal(id, connectionList, compositionList) {\n    var _a, _b, _c, _d;\n    return __awaiter(this, void 0, void 0, function* () {\n        var output = {};\n        var arroutput = [];\n        var concept = yield _DataStructures_Local_LocalConceptData__WEBPACK_IMPORTED_MODULE_0__.LocalConceptsData.GetConcept(id);\n        if (concept.id != 0) {\n            if (concept.type == null) {\n                var toConceptTypeId = concept.typeId;\n                var toConceptType = yield _DataStructures_Local_LocalConceptData__WEBPACK_IMPORTED_MODULE_0__.LocalConceptsData.GetConcept(toConceptTypeId);\n                concept.type = toConceptType;\n            }\n        }\n        var mainString = (_b = (_a = concept === null || concept === void 0 ? void 0 : concept.type) === null || _a === void 0 ? void 0 : _a.characterValue) !== null && _b !== void 0 ? _b : \"top\";\n        if (!compositionList.includes(id)) {\n            return concept === null || concept === void 0 ? void 0 : concept.characterValue;\n        }\n        else {\n            for (var i = 0; i < connectionList.length; i++) {\n                if (connectionList[i].ofTheConceptId == id) {\n                    var toConceptId = connectionList[i].toTheConceptId;\n                    var toConcept = yield _DataStructures_Local_LocalConceptData__WEBPACK_IMPORTED_MODULE_0__.LocalConceptsData.GetConcept(toConceptId);\n                    if (toConcept.id != 0) {\n                        if ((toConcept === null || toConcept === void 0 ? void 0 : toConcept.type) == null) {\n                            var toConceptTypeId = toConcept.typeId;\n                            var toConceptType = yield _DataStructures_Local_LocalConceptData__WEBPACK_IMPORTED_MODULE_0__.LocalConceptsData.GetConcept(toConceptTypeId);\n                            toConcept.type = toConceptType;\n                        }\n                    }\n                    var regex = \"the_\";\n                    var localmainString = (_d = (_c = toConcept === null || toConcept === void 0 ? void 0 : toConcept.type) === null || _c === void 0 ? void 0 : _c.characterValue) !== null && _d !== void 0 ? _d : \"top\";\n                    var localKey = localmainString.replace(regex, \"\");\n                    if (isNaN(Number(localKey))) {\n                        if (localKey) {\n                            const result = yield recursiveFetchLocal(toConceptId, connectionList, compositionList);\n                            output[localKey] = result;\n                        }\n                    }\n                    else {\n                        const result = yield recursiveFetchLocal(toConceptId, connectionList, compositionList);\n                        arroutput[localKey] = result;\n                        output = arroutput;\n                    }\n                }\n            }\n        }\n        return output;\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/Local/GetConceptByCharacterLocal.ts\":\n/*!**********************************************************!*\\\n  !*** ./src/Services/Local/GetConceptByCharacterLocal.ts ***!\n  \\**********************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   GetConceptByCharacterLocalFull: () => (/* binding */ GetConceptByCharacterLocalFull),\n/* harmony export */   \"default\": () => (/* binding */ GetConceptByCharacterLocal)\n/* harmony export */ });\n/* harmony import */ var _Api_Local_GetLocalConceptByCharacterValue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Api/Local/GetLocalConceptByCharacterValue */ \"./src/Api/Local/GetLocalConceptByCharacterValue.ts\");\n/* harmony import */ var _DataStructures_Local_LocalConceptData__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../DataStructures/Local/LocalConceptData */ \"./src/DataStructures/Local/LocalConceptData.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\nfunction GetConceptByCharacterLocal(characterValue) {\n    return __awaiter(this, void 0, void 0, function* () {\n        var concept = yield _DataStructures_Local_LocalConceptData__WEBPACK_IMPORTED_MODULE_1__.LocalConceptsData.GetConceptByCharacter(characterValue);\n        return concept;\n    });\n}\nfunction GetConceptByCharacterLocalFull(characterValue) {\n    return __awaiter(this, void 0, void 0, function* () {\n        var concept = yield _DataStructures_Local_LocalConceptData__WEBPACK_IMPORTED_MODULE_1__.LocalConceptsData.GetConceptByCharacter(characterValue);\n        var literalCharacter = `${characterValue}`;\n        if ((concept == null || (concept === null || concept === void 0 ? void 0 : concept.id) == 0) && literalCharacter) {\n            yield (0,_Api_Local_GetLocalConceptByCharacterValue__WEBPACK_IMPORTED_MODULE_0__.GetLocalConceptByCharacterValue)(characterValue);\n            concept = yield _DataStructures_Local_LocalConceptData__WEBPACK_IMPORTED_MODULE_1__.LocalConceptsData.GetConceptByCharacter(characterValue);\n        }\n        return concept;\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/Local/MakeTheConceptLocal.ts\":\n/*!***************************************************!*\\\n  !*** ./src/Services/Local/MakeTheConceptLocal.ts ***!\n  \\***************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ MakeTheConceptLocal)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_Local_LocalConceptData__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../DataStructures/Local/LocalConceptData */ \"./src/DataStructures/Local/LocalConceptData.ts\");\n/* harmony import */ var _CreateTheConceptLocal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CreateTheConceptLocal */ \"./src/Services/Local/CreateTheConceptLocal.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\nfunction MakeTheConceptLocal(referent, typeCharacter, userId, categoryId, typeId) {\n    return __awaiter(this, void 0, void 0, function* () {\n        var conceptString = yield _DataStructures_Local_LocalConceptData__WEBPACK_IMPORTED_MODULE_0__.LocalConceptsData.GetConceptByCharacterAndTypeLocal(referent, typeId);\n        var concept = conceptString;\n        let accessId = 4;\n        if (concept.id == 0) {\n            conceptString = yield (0,_CreateTheConceptLocal__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(referent, typeCharacter, userId, categoryId, typeId, accessId);\n            concept = conceptString;\n        }\n        return concept;\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/Local/MakeTheInstanceConceptLocal.ts\":\n/*!***********************************************************!*\\\n  !*** ./src/Services/Local/MakeTheInstanceConceptLocal.ts ***!\n  \\***********************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   MakeTheInstanceConceptLocal: () => (/* binding */ MakeTheInstanceConceptLocal)\n/* harmony export */ });\n/* harmony import */ var _CreateTheConceptLocal__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CreateTheConceptLocal */ \"./src/Services/Local/CreateTheConceptLocal.ts\");\n/* harmony import */ var _MakeTheTypeLocal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MakeTheTypeLocal */ \"./src/Services/Local/MakeTheTypeLocal.ts\");\n/* harmony import */ var _DataStructures_Local_LocalConceptData__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../DataStructures/Local/LocalConceptData */ \"./src/DataStructures/Local/LocalConceptData.ts\");\n/* harmony import */ var _app__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../app */ \"./src/app.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\nfunction MakeTheInstanceConceptLocal(type, referent, composition = false, userId, accessId, sessionInformationId = 999) {\n    var sessionInformationId, accessId;\n    return __awaiter(this, void 0, void 0, function* () {\n        sessionInformationId = 999;\n        var categoryId = 4;\n        var sessionInformationUserId = userId;\n        accessId = 4;\n        var stringToCheck = \"\";\n        var stringLength = referent.length;\n        var typeConcept;\n        var concept;\n        var startsWithThe = type.startsWith(\"the_\");\n        if (startsWithThe) {\n            stringToCheck = type;\n        }\n        else {\n            stringToCheck = \"the_\" + type;\n        }\n        if (composition) {\n            var typeConceptString = yield (0,_MakeTheTypeLocal__WEBPACK_IMPORTED_MODULE_1__.MakeTheTypeConceptLocal)(type, sessionInformationId, userId, userId);\n            typeConcept = typeConceptString;\n            var conceptString = yield (0,_CreateTheConceptLocal__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(referent, type, userId, categoryId, typeConcept.id, accessId, true);\n            concept = conceptString;\n        }\n        else if (stringLength > 255) {\n            var typeConceptString = yield (0,_MakeTheTypeLocal__WEBPACK_IMPORTED_MODULE_1__.MakeTheTypeConceptLocal)(stringToCheck, sessionInformationId, sessionInformationUserId, userId);\n            typeConcept = typeConceptString;\n            var conceptString = yield (0,_CreateTheConceptLocal__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(referent, stringToCheck, userId, categoryId, typeConcept.id, accessId);\n            concept = conceptString;\n        }\n        else {\n            var typeConceptString = yield (0,_MakeTheTypeLocal__WEBPACK_IMPORTED_MODULE_1__.MakeTheTypeConceptLocal)(stringToCheck, sessionInformationId, sessionInformationUserId, userId);\n            typeConcept = typeConceptString;\n            var conceptByCharTypeString = yield _DataStructures_Local_LocalConceptData__WEBPACK_IMPORTED_MODULE_2__.LocalConceptsData.GetConceptByCharacterAndTypeLocal(referent, typeConcept.id);\n            var conceptTypeCharacter = conceptByCharTypeString;\n            // var makeTheNameString = await MakeTheName(referent,userId, securityId, securityUserId, accessId, accessUserId, sessionInformationId, sessionInformationUserId,typeConcept.id, typeConcept.userId,conceptTypeCharacter );\n            // var makeTheNameConcept = makeTheNameString as Concept;\n            concept = conceptTypeCharacter;\n            if (conceptTypeCharacter.id == 0 && conceptTypeCharacter.userId == 0) {\n                var conceptString = yield (0,_CreateTheConceptLocal__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(referent, stringToCheck, userId, categoryId, typeConcept.id, accessId);\n                concept = conceptString;\n            }\n        }\n        concept.type = typeConcept;\n        _app__WEBPACK_IMPORTED_MODULE_3__.LocalSyncData.AddConcept(concept);\n        return concept;\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/Local/MakeTheTypeLocal.ts\":\n/*!************************************************!*\\\n  !*** ./src/Services/Local/MakeTheTypeLocal.ts ***!\n  \\************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   MakeTheTypeConceptLocal: () => (/* binding */ MakeTheTypeConceptLocal)\n/* harmony export */ });\n/* harmony import */ var _CreateTheConceptLocal__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CreateTheConceptLocal */ \"./src/Services/Local/CreateTheConceptLocal.ts\");\n/* harmony import */ var _GetConceptByCharacterLocal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./GetConceptByCharacterLocal */ \"./src/Services/Local/GetConceptByCharacterLocal.ts\");\n/* harmony import */ var _SplitStrings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../SplitStrings */ \"./src/Services/SplitStrings.ts\");\n/* harmony import */ var _MakeTheConceptLocal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./MakeTheConceptLocal */ \"./src/Services/Local/MakeTheConceptLocal.ts\");\n/* harmony import */ var _app__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../app */ \"./src/app.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\n\nfunction MakeTheTypeConceptLocal(typeString, sessionId, sessionUserId, userId) {\n    return __awaiter(this, void 0, void 0, function* () {\n        var accessId = 4;\n        var existingConcept = yield (0,_GetConceptByCharacterLocal__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(typeString);\n        if (existingConcept) {\n            if (existingConcept.id == 0 || existingConcept.userId == 0) {\n                var splittedStringArray = (0,_SplitStrings__WEBPACK_IMPORTED_MODULE_2__.SplitStrings)(typeString);\n                if (splittedStringArray[0] == typeString) {\n                    var concept = yield (0,_MakeTheConceptLocal__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(typeString, \"the\", userId, 1, 51);\n                    existingConcept = concept;\n                }\n                else {\n                    var categoryConcept = yield MakeTheTypeConceptLocal(splittedStringArray[0], sessionId, sessionUserId, userId);\n                    var typeConcept = yield MakeTheTypeConceptLocal(splittedStringArray[1], sessionId, sessionUserId, userId);\n                    if (typeConcept) {\n                        var concept = yield (0,_CreateTheConceptLocal__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(typeString, splittedStringArray[1], userId, categoryConcept.id, typeConcept.id, accessId);\n                        existingConcept = concept;\n                    }\n                }\n            }\n        }\n        _app__WEBPACK_IMPORTED_MODULE_4__.LocalSyncData.AddConcept(existingConcept);\n        return existingConcept;\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/MakeTheCharacter.ts\":\n/*!******************************************!*\\\n  !*** ./src/Services/MakeTheCharacter.ts ***!\n  \\******************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ MakeTheCharacter)\n/* harmony export */ });\n/* harmony import */ var _MakeTheCharacterData__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./MakeTheCharacterData */ \"./src/Services/MakeTheCharacterData.ts\");\n/* harmony import */ var _MakeTheConcept__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MakeTheConcept */ \"./src/Services/MakeTheConcept.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\nfunction MakeTheCharacter(the_character_data, userId, securityId, accessId, accessUserId, sessionId) {\n    var accessUserId;\n    return __awaiter(this, void 0, void 0, function* () {\n        var categoryUserId = userId;\n        var securityUserId = userId;\n        accessUserId = userId;\n        var categoryId = 4;\n        var typeId = 51;\n        var typeUserId = userId;\n        var sessionUserId = userId;\n        var referentUserId = userId;\n        var lengthOfCharacters = the_character_data.length;\n        var concept;\n        if (lengthOfCharacters == 1) {\n            var referentId = the_character_data.charCodeAt(0);\n            var typeIdForCharacter = 49;\n            var characterDataString = yield (0,_MakeTheCharacterData__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(the_character_data, userId, securityId, accessId, sessionId);\n            concept = (0,_MakeTheConcept__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(the_character_data, userId, categoryId, categoryUserId, referentId, referentUserId, typeIdForCharacter, typeUserId, securityId, securityUserId, accessId, accessUserId, sessionId, sessionUserId);\n        }\n        else {\n            var characterDataString = yield (0,_MakeTheCharacterData__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(the_character_data, userId, securityId, accessId, sessionId);\n            var characterData = characterDataString;\n            if (characterData.isNew) {\n                var conceptString = yield (0,_MakeTheConcept__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(the_character_data, userId, categoryId, categoryUserId, typeId, typeUserId, characterData.id, characterData.userId, securityId, securityUserId, accessId, accessUserId, sessionId, sessionUserId);\n                concept = conceptString;\n            }\n            else {\n                var conceptString = yield (0,_MakeTheConcept__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(the_character_data, userId, categoryId, categoryUserId, typeId, typeUserId, characterData.id, characterData.userId, securityId, securityUserId, accessId, accessUserId, sessionId, sessionUserId);\n                concept = conceptString;\n            }\n        }\n        return concept;\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/MakeTheCharacterData.ts\":\n/*!**********************************************!*\\\n  !*** ./src/Services/MakeTheCharacterData.ts ***!\n  \\**********************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ MakeTheCharacterData)\n/* harmony export */ });\n/* harmony import */ var _Api_Create_CreateTheCharacter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Api/Create/CreateTheCharacter */ \"./src/Api/Create/CreateTheCharacter.ts\");\n/* harmony import */ var _DataStructures_TheCharacter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../DataStructures/TheCharacter */ \"./src/DataStructures/TheCharacter.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\nfunction MakeTheCharacterData(the_character_data, userId, securityId, accessId, sessionId) {\n    return __awaiter(this, void 0, void 0, function* () {\n        var categoryUserId = userId;\n        var accessUserId = userId;\n        var securityUserId = userId;\n        var sessionInformationUserId = userId;\n        var theCharacter = new _DataStructures_TheCharacter__WEBPACK_IMPORTED_MODULE_1__.TheCharacter(userId, the_character_data, securityId, securityUserId, accessId, accessUserId, sessionId, sessionInformationUserId, \"\", false);\n        var output = yield (0,_Api_Create_CreateTheCharacter__WEBPACK_IMPORTED_MODULE_0__.CreateTheCharacter)(theCharacter);\n        var returner = output;\n        return returner;\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/MakeTheConcept.ts\":\n/*!****************************************!*\\\n  !*** ./src/Services/MakeTheConcept.ts ***!\n  \\****************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ MakeTheConcept)\n/* harmony export */ });\n/* harmony import */ var _Api_GetConceptByCharacterAndType__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Api/GetConceptByCharacterAndType */ \"./src/Api/GetConceptByCharacterAndType.ts\");\n/* harmony import */ var _CreateTheConcept__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CreateTheConcept */ \"./src/Services/CreateTheConcept.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\nfunction MakeTheConcept(referent, userId, categoryId, categoryUserId, typeId, typeUserId, referentId, referentUserId, securityId, securityUserId, accessId, accessUserId, sessionInformationId, sessionInformationUserId) {\n    return __awaiter(this, void 0, void 0, function* () {\n        var conceptString = yield (0,_Api_GetConceptByCharacterAndType__WEBPACK_IMPORTED_MODULE_0__.GetConceptByCharacterAndType)(referent, typeId);\n        var concept = conceptString;\n        if (concept.id == 0) {\n            conceptString = yield (0,_CreateTheConcept__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(referent, userId, categoryId, categoryUserId, typeId, typeUserId, referentId, referentUserId, securityId, securityUserId, accessId, accessUserId, sessionInformationId, sessionInformationUserId);\n            concept = conceptString;\n        }\n        return concept;\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/MakeTheInstanceConcept.ts\":\n/*!************************************************!*\\\n  !*** ./src/Services/MakeTheInstanceConcept.ts ***!\n  \\************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ MakeTheInstanceConcept)\n/* harmony export */ });\n/* harmony import */ var _Api_Create_CreateTheTextData__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Api/Create/CreateTheTextData */ \"./src/Api/Create/CreateTheTextData.ts\");\n/* harmony import */ var _Api_GetConceptByCharacterAndType__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Api/GetConceptByCharacterAndType */ \"./src/Api/GetConceptByCharacterAndType.ts\");\n/* harmony import */ var _Api_MakeTheNameInBackend__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Api/MakeTheNameInBackend */ \"./src/Api/MakeTheNameInBackend.ts\");\n/* harmony import */ var _DataStructures_TheTexts__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../DataStructures/TheTexts */ \"./src/DataStructures/TheTexts.ts\");\n/* harmony import */ var _app__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../app */ \"./src/app.ts\");\n/* harmony import */ var _CreateDefaultConcept__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./CreateDefaultConcept */ \"./src/Services/CreateDefaultConcept.ts\");\n/* harmony import */ var _CreateTheConcept__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./CreateTheConcept */ \"./src/Services/CreateTheConcept.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\n\n\n\nfunction MakeTheInstanceConcept(type, referent, composition = false, userId, passedAccessId, passedSessionId = 999) {\n    return __awaiter(this, void 0, void 0, function* () {\n        let sessionInformationId = passedSessionId;\n        let categoryId = 4;\n        let categoryUserId = userId;\n        let referentId = 0;\n        let referentUserId = 999;\n        let securityId = 999;\n        let securityUserId = userId;\n        let sessionInformationUserId = userId;\n        // change this\n        let accessId = passedAccessId;\n        let accessUserId = userId;\n        let stringToCheck = \"\";\n        let stringLength = referent.length;\n        let typeConcept = (0,_CreateDefaultConcept__WEBPACK_IMPORTED_MODULE_5__.CreateDefaultConcept)();\n        let concept;\n        let startsWithThe = type.startsWith(\"the_\");\n        if (startsWithThe) {\n            stringToCheck = type;\n        }\n        else {\n            stringToCheck = \"the_\" + type;\n        }\n        if (composition) {\n            let typeConceptString = yield (0,_app__WEBPACK_IMPORTED_MODULE_4__.MakeTheTypeConceptApi)(type, userId);\n            typeConcept = typeConceptString;\n            let conceptString = yield (0,_CreateTheConcept__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(referent, userId, categoryId, userId, typeConcept.id, typeConcept.userId, referentId, referentUserId, securityId, securityUserId, accessId, accessUserId, sessionInformationId, sessionInformationUserId);\n            concept = conceptString;\n        }\n        else if (stringLength > 255) {\n            let typeConceptString = yield (0,_app__WEBPACK_IMPORTED_MODULE_4__.MakeTheTypeConceptApi)(stringToCheck, userId);\n            typeConcept = typeConceptString;\n            let conceptString = yield (0,_CreateTheConcept__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(referent, userId, categoryId, userId, typeConcept.id, typeConcept.userId, referentId, referentUserId, securityId, securityUserId, accessId, accessUserId, sessionInformationId, sessionInformationUserId);\n            concept = conceptString;\n            let TheTextsData = new _DataStructures_TheTexts__WEBPACK_IMPORTED_MODULE_3__.TheTexts(userId, referent, securityId, securityUserId, accessId, accessUserId, sessionInformationId, sessionInformationUserId, Date.now().toString(), true);\n            (0,_Api_Create_CreateTheTextData__WEBPACK_IMPORTED_MODULE_0__.CreateTextData)(TheTextsData);\n        }\n        else {\n            let typeConceptString = yield (0,_app__WEBPACK_IMPORTED_MODULE_4__.MakeTheTypeConceptApi)(stringToCheck, userId);\n            typeConcept = typeConceptString;\n            let conceptByCharTypeString = yield (0,_Api_GetConceptByCharacterAndType__WEBPACK_IMPORTED_MODULE_1__.GetConceptByCharacterAndType)(referent, typeConcept.id);\n            let conceptTypeCharacter = conceptByCharTypeString;\n            concept = conceptTypeCharacter;\n            if (conceptTypeCharacter.id == 0 && conceptTypeCharacter.userId == 0) {\n                // let makeTheNameString = await MakeTheName(referent,userId, securityId, securityUserId, accessId, accessUserId, sessionInformationId, sessionInformationUserId,typeConcept.id, typeConcept.userId,conceptTypeCharacter );\n                // let makeTheNameConcept = makeTheNameString as Concept;\n                // concept = conceptTypeCharacter;\n                let conceptString = yield (0,_CreateTheConcept__WEBPACK_IMPORTED_MODULE_6__.CreateTheConceptImmediate)(referent, userId, categoryId, userId, typeConcept.id, typeConcept.userId, 12, 12, securityId, securityUserId, accessId, accessUserId, sessionInformationId, sessionInformationUserId);\n                concept = conceptString;\n                (0,_Api_MakeTheNameInBackend__WEBPACK_IMPORTED_MODULE_2__.MakeTheNameInBackend)(concept.id, `${referent}`, typeConcept.id, userId);\n            }\n        }\n        // if(concept){\n        //     if(concept.type == null){\n        //         let conceptType = ConceptsData.GetConcept(concept.typeId);\n        //         if(conceptType == null && concept.typeId != null && concept.typeId != undefined){\n        //             let typeConceptStringNew = await GetConcept(concept.typeId);\n        //             let newTypeConcept = typeConceptStringNew as Concept;\n        //             concept.type = newTypeConcept;\n        //         }\n        //     }\n        // }\n        concept.type = typeConcept;\n        return concept;\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/MakeTheTimestamp.ts\":\n/*!******************************************!*\\\n  !*** ./src/Services/MakeTheTimestamp.ts ***!\n  \\******************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   MakeTheTimestamp: () => (/* binding */ MakeTheTimestamp)\n/* harmony export */ });\n/* harmony import */ var _app__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../app */ \"./src/app.ts\");\n/* harmony import */ var _CreateDefaultConcept__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CreateDefaultConcept */ \"./src/Services/CreateDefaultConcept.ts\");\n/* harmony import */ var _MakeTheConcept__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./MakeTheConcept */ \"./src/Services/MakeTheConcept.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\nfunction MakeTheTimestamp(type, referent, userId, accessId, sessionInformationId = 999) {\n    var sessionInformationId, accessId;\n    return __awaiter(this, void 0, void 0, function* () {\n        sessionInformationId = 999;\n        var categoryId = 4;\n        var categoryUserId = userId;\n        var referentId = 0;\n        var referentUserId = 999;\n        var securityId = 999;\n        var securityUserId = userId;\n        var sessionInformationUserId = userId;\n        accessId = 4;\n        var accessUserId = userId;\n        var stringToCheck = \"\";\n        var startsWithThe = type.startsWith(\"the_\");\n        var typeConcept = (0,_CreateDefaultConcept__WEBPACK_IMPORTED_MODULE_1__.CreateDefaultConcept)();\n        var concept;\n        if (startsWithThe) {\n            stringToCheck = type;\n        }\n        else {\n            stringToCheck = \"the_\" + type;\n        }\n        var typeConceptString = yield (0,_app__WEBPACK_IMPORTED_MODULE_0__.MakeTheTypeConceptApi)(stringToCheck, userId);\n        typeConcept = typeConceptString;\n        var conceptString = yield (0,_MakeTheConcept__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(referent, userId, categoryId, userId, typeConcept.id, typeConcept.userId, referentId, referentUserId, securityId, securityUserId, accessId, accessUserId, sessionInformationId, sessionInformationUserId);\n        concept = conceptString;\n        return concept;\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/MakeTheTypeConcept.ts\":\n/*!********************************************!*\\\n  !*** ./src/Services/MakeTheTypeConcept.ts ***!\n  \\********************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   MakeTheTypeConcept: () => (/* binding */ MakeTheTypeConcept)\n/* harmony export */ });\n/* harmony import */ var _CreateTheConcept__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CreateTheConcept */ \"./src/Services/CreateTheConcept.ts\");\n/* harmony import */ var _GetConceptByCharacter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./GetConceptByCharacter */ \"./src/Services/GetConceptByCharacter.ts\");\n/* harmony import */ var _MakeTheCharacter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./MakeTheCharacter */ \"./src/Services/MakeTheCharacter.ts\");\n/* harmony import */ var _SplitStrings__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./SplitStrings */ \"./src/Services/SplitStrings.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\nfunction MakeTheTypeConcept(typeString, sessionId, sessionUserId, userId) {\n    return __awaiter(this, void 0, void 0, function* () {\n        var referentId = 999;\n        var securityId = 999;\n        var sessionInformationUserId = 999;\n        var accessId = 999;\n        var securityUserId = userId;\n        var accessUserId = userId;\n        var categoryUserId = userId;\n        var securityUserId = userId;\n        var existingConcept = yield (0,_GetConceptByCharacter__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(typeString);\n        if (existingConcept) {\n            if (existingConcept.id == 0 || existingConcept.userId == 0) {\n                var splittedStringArray = (0,_SplitStrings__WEBPACK_IMPORTED_MODULE_3__.SplitStrings)(typeString);\n                if (splittedStringArray.length > 0) {\n                    console.log(splittedStringArray);\n                    if (splittedStringArray[0] == typeString) {\n                        var conceptString = yield (0,_MakeTheCharacter__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(typeString, userId, securityId, accessId, accessUserId, sessionId);\n                        existingConcept = conceptString;\n                    }\n                    else {\n                        var categoryId = 1;\n                        var categoryConcept = yield MakeTheTypeConcept(splittedStringArray[0], sessionId, sessionUserId, userId);\n                        var typeConcept = yield MakeTheTypeConcept(splittedStringArray[1], sessionId, sessionUserId, userId);\n                        if (typeConcept) {\n                            var concept = yield (0,_CreateTheConcept__WEBPACK_IMPORTED_MODULE_0__.CreateTheConceptImmediate)(typeString, userId, categoryConcept.id, userId, typeConcept.id, userId, referentId, userId, securityId, userId, accessId, userId, sessionId, userId);\n                            existingConcept = concept;\n                        }\n                    }\n                }\n            }\n        }\n        return existingConcept;\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/Mqtt/publishMessage.ts\":\n/*!*********************************************!*\\\n  !*** ./src/Services/Mqtt/publishMessage.ts ***!\n  \\*********************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   publishMessage: () => (/* binding */ publishMessage)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../DataStructures/BaseUrl */ \"./src/DataStructures/BaseUrl.ts\");\n\nfunction publishMessage(topic, message) {\n    if (_DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_0__.BaseUrl.MQTT_CONNECTION) {\n        _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_0__.BaseUrl.MQTT_CONNECTION.publish(topic, message);\n    }\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/Security/GetRequestHeader.ts\":\n/*!***************************************************!*\\\n  !*** ./src/Services/Security/GetRequestHeader.ts ***!\n  \\***************************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   GetRequestHeader: () => (/* binding */ GetRequestHeader),\n/* harmony export */   GetRequestHeaderWithAuthorization: () => (/* binding */ GetRequestHeaderWithAuthorization)\n/* harmony export */ });\n/* harmony import */ var _DataStructures_Security_TokenStorage__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../DataStructures/Security/TokenStorage */ \"./src/DataStructures/Security/TokenStorage.ts\");\n\nfunction GetRequestHeader(contentType = 'application/json', Accept = 'application/json') {\n    var headers = {\n        'Content-Type': contentType,\n        'Authorization': \"Bearer \" + _DataStructures_Security_TokenStorage__WEBPACK_IMPORTED_MODULE_0__.TokenStorage.BearerAccessToken,\n        'Accept': Accept,\n    };\n    return headers;\n}\nfunction GetRequestHeaderWithAuthorization(contentType = 'application/json', token = \"\", Accept = 'application/json') {\n    var headers = {\n        'Content-Type': contentType,\n        'Authorization': \"Bearer \" + token,\n        'Accept': Accept,\n    };\n    return headers;\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/SplitStrings.ts\":\n/*!**************************************!*\\\n  !*** ./src/Services/SplitStrings.ts ***!\n  \\**************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   SplitStrings: () => (/* binding */ SplitStrings)\n/* harmony export */ });\nfunction SplitStrings(typeString) {\n    const pos = typeString.lastIndexOf(\"_\");\n    let SplittedStrings = [];\n    if (pos > 0) {\n        var rest = typeString.substring(0, pos);\n        var last = typeString.substring(pos + 1, typeString.length);\n        SplittedStrings = [rest, last];\n    }\n    else {\n        SplittedStrings = [typeString];\n    }\n    return SplittedStrings;\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/UpdateComposition.ts\":\n/*!*******************************************!*\\\n  !*** ./src/Services/UpdateComposition.ts ***!\n  \\*******************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ UpdateComposition)\n/* harmony export */ });\n/* harmony import */ var _Helpers_UniqueInsert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Helpers/UniqueInsert */ \"./src/Helpers/UniqueInsert.ts\");\n/* harmony import */ var _Helpers_CheckIfExists__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Helpers/CheckIfExists */ \"./src/Helpers/CheckIfExists.ts\");\n/* harmony import */ var _Helpers_RemoveFromArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Helpers/RemoveFromArray */ \"./src/Helpers/RemoveFromArray.ts\");\n/* harmony import */ var _CreateDefaultConcept__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./CreateDefaultConcept */ \"./src/Services/CreateDefaultConcept.ts\");\n/* harmony import */ var _Api_GetAllConnectionsOfComposition__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Api/GetAllConnectionsOfComposition */ \"./src/Api/GetAllConnectionsOfComposition.ts\");\n/* harmony import */ var _GetTheConcept__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./GetTheConcept */ \"./src/Services/GetTheConcept.ts\");\n/* harmony import */ var _MakeTheInstanceConcept__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./MakeTheInstanceConcept */ \"./src/Services/MakeTheInstanceConcept.ts\");\n/* harmony import */ var _CreateTheConnection__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./CreateTheConnection */ \"./src/Services/CreateTheConnection.ts\");\n/* harmony import */ var _DeleteConnection__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./DeleteConnection */ \"./src/Services/DeleteConnection.ts\");\n/* harmony import */ var _DataStructures_SyncData__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../DataStructures/SyncData */ \"./src/DataStructures/SyncData.ts\");\n/* harmony import */ var _DataStructures_Composition_CompositionBinaryTree__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../DataStructures/Composition/CompositionBinaryTree */ \"./src/DataStructures/Composition/CompositionBinaryTree.ts\");\n/* harmony import */ var _DataStructures_Composition_Composition__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../DataStructures/Composition/Composition */ \"./src/DataStructures/Composition/Composition.ts\");\n/* harmony import */ var _Composition_CreateCompositionCache__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Composition/CreateCompositionCache */ \"./src/Services/Composition/CreateCompositionCache.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\n// function to update the cache composition\nfunction UpdateComposition(patcherStructure) {\n    return __awaiter(this, void 0, void 0, function* () {\n        // get all the default userId, sessionId, accessId passed by the patcherStructure\n        const userId = patcherStructure.userId;\n        const sessionId = patcherStructure.sessionId;\n        const accessId = patcherStructure.accessId;\n        let connectionList = [];\n        const conceptList = [];\n        let composition = (0,_CreateDefaultConcept__WEBPACK_IMPORTED_MODULE_3__.CreateDefaultConcept)();\n        let parentConcept = (0,_CreateDefaultConcept__WEBPACK_IMPORTED_MODULE_3__.CreateDefaultConcept)();\n        const toDeleteConcepts = [];\n        // the main composition Id that has the data that needs to be patched\n        const compositionId = patcherStructure.compositionId;\n        // if you want to edit the subcompositions of the composition then you have to pass to this\n        const ofTheConceptId = patcherStructure.ofTheCompositionId;\n        let toDeleteConnections = [];\n        // get all connections from the backend because it needs latest data\n        const connectionListString = yield (0,_Api_GetAllConnectionsOfComposition__WEBPACK_IMPORTED_MODULE_4__.GetAllConnectionsOfComposition)(compositionId);\n        connectionList = connectionListString;\n        const conceptIdList = [];\n        const compositionCache = new _DataStructures_Composition_Composition__WEBPACK_IMPORTED_MODULE_11__.Composition();\n        const compositionList = [];\n        compositionCache.id = compositionId;\n        // put this in the upper section before updating because this will tell all other distributed\n        //servers to destroy the copy of the composition that they have as new composition is coming up\n        compositionCache.isUpdating();\n        // get all the connections that are inside of the composition and store them in\n        let allConcepts = [];\n        for (let i = 0; i < connectionList.length; i++) {\n            (0,_Helpers_UniqueInsert__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(compositionList, connectionList[i].ofTheConceptId);\n            (0,_Helpers_UniqueInsert__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(conceptIdList, connectionList[i].ofTheConceptId);\n            (0,_Helpers_UniqueInsert__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(conceptIdList, connectionList[i].toTheConceptId);\n            allConcepts.push(connectionList[i].ofTheConceptId);\n        }\n        compositionCache.subcompositions = compositionList;\n        compositionCache.connections = connectionList;\n        // get all the concepts that are inside of the composition and store them in a conceptList\n        for (let i = 0; i < conceptIdList.length; i++) {\n            const conceptString = yield (0,_GetTheConcept__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(conceptIdList[i]);\n            const concept = conceptString;\n            if (compositionId == conceptIdList[i]) {\n                composition = concept;\n            }\n            if (ofTheConceptId == conceptIdList[i]) {\n                parentConcept = concept;\n            }\n            conceptList.push(concept);\n        }\n        // now trying to patch the new object into the composition\n        const object = patcherStructure.patchObject;\n        for (const key in object) {\n            let insertingConcept = (0,_CreateDefaultConcept__WEBPACK_IMPORTED_MODULE_3__.CreateDefaultConcept)();\n            const value = object[key];\n            let localConcept = composition;\n            // if the immedidate parent exists in the composition (i.e. for multilevel composition)\n            if (parentConcept.id > 0) {\n                localConcept = parentConcept;\n            }\n            if (Array.isArray(value) || typeof value == 'object') {\n                insertingConcept = yield (0,_MakeTheInstanceConcept__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(key, \"\", true, composition.userId, 4, 999);\n                compositionCache.subcompositions.push(insertingConcept.id);\n                yield (0,_Composition_CreateCompositionCache__WEBPACK_IMPORTED_MODULE_12__.CreateTheCompositionWithCache)(object[key], insertingConcept.id, insertingConcept.userId, composition.id, composition.userId, 4, 999, compositionCache);\n            }\n            else {\n                // make the new concept in the object\n                insertingConcept = yield (0,_MakeTheInstanceConcept__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(key, value, false, userId, accessId, sessionId);\n            }\n            // check if the concept exists in the concept list because if it exists then we have to delete old connection\n            const ExistingConcepts = (0,_Helpers_CheckIfExists__WEBPACK_IMPORTED_MODULE_1__.CheckIfTypeConceptsExistsInArray)(conceptList, insertingConcept);\n            // if the existing concept then start the process for deleting the concept in the list\n            for (let i = 0; i < ExistingConcepts.length; i++) {\n                if (ExistingConcepts[i].id > 0) {\n                    const deletingConnections = (0,_Helpers_CheckIfExists__WEBPACK_IMPORTED_MODULE_1__.CheckAllConnectionsConnectedInConnectionArray)(connectionList, ExistingConcepts[i].id);\n                    // for(let j=0; j<connectionList.length; j++){\n                    //   if(ExistingConcepts[i].id == connectionList[j].OfTheConceptId){\n                    //   }\n                    // }\n                    toDeleteConnections = toDeleteConnections.concat(deletingConnections);\n                    toDeleteConcepts.push(ExistingConcepts[i]);\n                }\n            }\n            // create the connection between the new concept and the old composition\n            const connectionString = (0,_CreateTheConnection__WEBPACK_IMPORTED_MODULE_7__.createTheConnection)(localConcept.id, localConcept.userId, insertingConcept.id, insertingConcept.userId, composition.id, sessionId, userId);\n            const connection = connectionString;\n            connectionList.push(connection);\n            conceptList.push(insertingConcept);\n            compositionCache.connections.push(connection);\n        }\n        // now you have to delete the connection in bulk\n        for (let j = 0; j < toDeleteConnections.length; j++) {\n            // remove from the cache list\n            (0,_Helpers_RemoveFromArray__WEBPACK_IMPORTED_MODULE_2__.RemoveConnectionFromList)(connectionList, toDeleteConnections[j]);\n            // delete the connection in the backend\n            (0,_DeleteConnection__WEBPACK_IMPORTED_MODULE_8__.DeleteConnectionById)(toDeleteConnections[j].id);\n        }\n        // also delete the existing concept from the cache.\n        for (let k = 0; k < toDeleteConcepts.length; k++) {\n            // remove concept from the cache concept list\n            (0,_Helpers_RemoveFromArray__WEBPACK_IMPORTED_MODULE_2__.RemoveConceptFromList)(conceptList, toDeleteConcepts[k]);\n        }\n        // now create a composition cache object to cache it into node server\n        compositionCache.concepts = compositionCache.concepts.concat(conceptList);\n        compositionCache.mainConcept = composition;\n        compositionCache.id = composition.id;\n        // // create a cache\n        yield compositionCache.updateCache();\n        // update it the binary tree\n        _DataStructures_Composition_CompositionBinaryTree__WEBPACK_IMPORTED_MODULE_10__.CompositionBinaryTree.addCompositionToTree(compositionCache);\n        _DataStructures_SyncData__WEBPACK_IMPORTED_MODULE_9__.SyncData.SyncDataOnline();\n        let x = compositionCache.GetDataCache();\n        return x;\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/Services/User/UserTranslation.ts\":\n/*!**********************************************!*\\\n  !*** ./src/Services/User/UserTranslation.ts ***!\n  \\**********************************************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   AddGhostConcept: () => (/* binding */ AddGhostConcept),\n/* harmony export */   GetUserGhostId: () => (/* binding */ GetUserGhostId)\n/* harmony export */ });\n/* harmony import */ var _Services_Local_CreateDefaultLConcept__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../../Services/Local/CreateDefaultLConcept */ \"./src/Services/Local/CreateDefaultLConcept.ts\");\n/* harmony import */ var _DataStructures_User_UserBinaryTree__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./../../DataStructures/User/UserBinaryTree */ \"./src/DataStructures/User/UserBinaryTree.ts\");\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\n    });\n};\n\n\nfunction GetUserGhostId(userId, ghostId) {\n    return __awaiter(this, void 0, void 0, function* () {\n        let userNode = yield _DataStructures_User_UserBinaryTree__WEBPACK_IMPORTED_MODULE_1__.UserBinaryTree.getNodeFromTree(userId);\n        let realConcept = (0,_Services_Local_CreateDefaultLConcept__WEBPACK_IMPORTED_MODULE_0__.CreateDefaultLConcept)();\n        if (userNode) {\n            for (let i = 0; i < userNode.value.length; i++) {\n                let testConcept = userNode.value[i];\n                if (testConcept.ghostId == ghostId) {\n                    realConcept = testConcept;\n                }\n            }\n        }\n        return realConcept;\n    });\n}\nfunction AddGhostConcept(concept, userId) {\n    return __awaiter(this, void 0, void 0, function* () {\n        _DataStructures_User_UserBinaryTree__WEBPACK_IMPORTED_MODULE_1__.UserBinaryTree.addConceptToTree(concept, userId);\n    });\n}\n\n\n/***/ }),\n\n/***/ \"./src/app.ts\":\n/*!********************!*\\\n  !*** ./src/app.ts ***!\n  \\********************/\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   AddGhostConcept: () => (/* reexport safe */ _Services_User_UserTranslation__WEBPACK_IMPORTED_MODULE_48__.AddGhostConcept),\n/* harmony export */   BaseUrl: () => (/* reexport safe */ _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_68__.BaseUrl),\n/* harmony export */   BinaryTree: () => (/* reexport safe */ _DataStructures_BinaryTree__WEBPACK_IMPORTED_MODULE_56__.BinaryTree),\n/* harmony export */   Composition: () => (/* reexport safe */ _DataStructures_Composition_Composition__WEBPACK_IMPORTED_MODULE_60__.Composition),\n/* harmony export */   CompositionBinaryTree: () => (/* reexport safe */ _DataStructures_Composition_CompositionBinaryTree__WEBPACK_IMPORTED_MODULE_61__.CompositionBinaryTree),\n/* harmony export */   CompositionNode: () => (/* reexport safe */ _DataStructures_Composition_CompositionNode__WEBPACK_IMPORTED_MODULE_62__.CompositionNode),\n/* harmony export */   Concept: () => (/* reexport safe */ _DataStructures_Concept__WEBPACK_IMPORTED_MODULE_50__.Concept),\n/* harmony export */   ConceptsData: () => (/* reexport safe */ _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_54__.ConceptsData),\n/* harmony export */   Connection: () => (/* reexport safe */ _DataStructures_Connection__WEBPACK_IMPORTED_MODULE_53__.Connection),\n/* harmony export */   ConnectionData: () => (/* reexport safe */ _DataStructures_ConnectionData__WEBPACK_IMPORTED_MODULE_55__.ConnectionData),\n/* harmony export */   CreateComposition: () => (/* reexport safe */ _Services_CreateTheComposition__WEBPACK_IMPORTED_MODULE_8__[\"default\"]),\n/* harmony export */   CreateConnectionBetweenTwoConcepts: () => (/* reexport safe */ _Services_CreateConnectionBetweenTwoConcepts__WEBPACK_IMPORTED_MODULE_10__.CreateConnectionBetweenTwoConcepts),\n/* harmony export */   CreateDefaultConcept: () => (/* reexport safe */ _Services_CreateDefaultConcept__WEBPACK_IMPORTED_MODULE_18__.CreateDefaultConcept),\n/* harmony export */   CreateDefaultLConcept: () => (/* reexport safe */ _Services_Local_CreateDefaultLConcept__WEBPACK_IMPORTED_MODULE_45__.CreateDefaultLConcept),\n/* harmony export */   CreateSession: () => (/* reexport safe */ _Api_Session_CreateSession__WEBPACK_IMPORTED_MODULE_41__.CreateSession),\n/* harmony export */   CreateSessionVisit: () => (/* reexport safe */ _Api_Session_CreateSessionVisit__WEBPACK_IMPORTED_MODULE_42__.CreateSessionVisit),\n/* harmony export */   CreateTheCompositionLocal: () => (/* reexport safe */ _Services_Local_CreateTheCompositionLocal__WEBPACK_IMPORTED_MODULE_9__.CreateTheCompositionLocal),\n/* harmony export */   CreateTheCompositionWithCache: () => (/* reexport safe */ _Services_Composition_CreateCompositionCache__WEBPACK_IMPORTED_MODULE_44__.CreateTheCompositionWithCache),\n/* harmony export */   CreateTheConnection: () => (/* reexport safe */ _Services_CreateTheConnection__WEBPACK_IMPORTED_MODULE_15__.createTheConnection),\n/* harmony export */   CreateTheConnectionGeneral: () => (/* reexport safe */ _Services_CreateTheConnectionGeneral__WEBPACK_IMPORTED_MODULE_46__.CreateTheConnectionGeneral),\n/* harmony export */   CreateTheConnectionLocal: () => (/* reexport safe */ _Services_Local_CreateTheConnectionLocal__WEBPACK_IMPORTED_MODULE_47__.CreateTheConnectionLocal),\n/* harmony export */   DeleteConceptById: () => (/* reexport safe */ _Services_DeleteConcept__WEBPACK_IMPORTED_MODULE_23__.DeleteConceptById),\n/* harmony export */   DeleteConnectionById: () => (/* reexport safe */ _Services_DeleteConnection__WEBPACK_IMPORTED_MODULE_24__.DeleteConnectionById),\n/* harmony export */   GetAllConnectionsOfComposition: () => (/* reexport safe */ _Api_GetAllConnectionsOfComposition__WEBPACK_IMPORTED_MODULE_5__.GetAllConnectionsOfComposition),\n/* harmony export */   GetAllConnectionsOfCompositionBulk: () => (/* reexport safe */ _Api_GetAllConnectionsOfCompositionBulk__WEBPACK_IMPORTED_MODULE_32__.GetAllConnectionsOfCompositionBulk),\n/* harmony export */   GetComposition: () => (/* reexport safe */ _Services_GetComposition__WEBPACK_IMPORTED_MODULE_6__.GetComposition),\n/* harmony export */   GetCompositionBulk: () => (/* reexport safe */ _Services_GetCompositionBulk__WEBPACK_IMPORTED_MODULE_29__.GetCompositionBulk),\n/* harmony export */   GetCompositionBulkWithDataId: () => (/* reexport safe */ _Services_GetCompositionBulk__WEBPACK_IMPORTED_MODULE_29__.GetCompositionBulkWithDataId),\n/* harmony export */   GetCompositionFromConnectionsWithDataId: () => (/* reexport safe */ _Services_GetCompositionBulk__WEBPACK_IMPORTED_MODULE_29__.GetCompositionFromConnectionsWithDataId),\n/* harmony export */   GetCompositionList: () => (/* reexport safe */ _Services_GetCompositionList__WEBPACK_IMPORTED_MODULE_3__.GetCompositionList),\n/* harmony export */   GetCompositionListAll: () => (/* reexport safe */ _Services_GetCompositionList__WEBPACK_IMPORTED_MODULE_3__.GetCompositionListAll),\n/* harmony export */   GetCompositionListAllWithId: () => (/* reexport safe */ _Services_GetCompositionList__WEBPACK_IMPORTED_MODULE_3__.GetCompositionListAllWithId),\n/* harmony export */   GetCompositionListLocal: () => (/* reexport safe */ _Services_Local_GetCompositionListLocal__WEBPACK_IMPORTED_MODULE_4__.GetCompositionListLocal),\n/* harmony export */   GetCompositionListLocalWithId: () => (/* reexport safe */ _Services_Local_GetCompositionListLocal__WEBPACK_IMPORTED_MODULE_4__.GetCompositionListLocalWithId),\n/* harmony export */   GetCompositionListWithId: () => (/* reexport safe */ _Services_GetCompositionList__WEBPACK_IMPORTED_MODULE_3__.GetCompositionListWithId),\n/* harmony export */   GetCompositionLocal: () => (/* reexport safe */ _Services_Local_GetCompositionLocal__WEBPACK_IMPORTED_MODULE_7__.GetCompositionLocal),\n/* harmony export */   GetCompositionLocalWithId: () => (/* reexport safe */ _Services_Local_GetCompositionLocal__WEBPACK_IMPORTED_MODULE_7__.GetCompositionLocalWithId),\n/* harmony export */   GetCompositionWithAllIds: () => (/* reexport safe */ _Services_GetComposition__WEBPACK_IMPORTED_MODULE_6__.GetCompositionWithAllIds),\n/* harmony export */   GetCompositionWithCache: () => (/* reexport safe */ _Services_Composition_CompositionCache__WEBPACK_IMPORTED_MODULE_40__.GetCompositionWithCache),\n/* harmony export */   GetCompositionWithDataIdBulk: () => (/* reexport safe */ _Services_Composition_CompositionCache__WEBPACK_IMPORTED_MODULE_40__.GetCompositionWithDataIdBulk),\n/* harmony export */   GetCompositionWithDataIdWithCache: () => (/* reexport safe */ _Services_Composition_CompositionCache__WEBPACK_IMPORTED_MODULE_40__.GetCompositionWithDataIdWithCache),\n/* harmony export */   GetCompositionWithId: () => (/* reexport safe */ _Services_GetComposition__WEBPACK_IMPORTED_MODULE_6__.GetCompositionWithId),\n/* harmony export */   GetConceptBulk: () => (/* reexport safe */ _Api_GetConceptBulk__WEBPACK_IMPORTED_MODULE_30__.GetConceptBulk),\n/* harmony export */   GetConceptByCharacter: () => (/* reexport safe */ _Services_GetConceptByCharacter__WEBPACK_IMPORTED_MODULE_16__[\"default\"]),\n/* harmony export */   GetConnectionBulk: () => (/* reexport safe */ _Api_GetConnectionBulk__WEBPACK_IMPORTED_MODULE_31__.GetConnectionBulk),\n/* harmony export */   GetConnectionById: () => (/* reexport safe */ _Services_GetConnections__WEBPACK_IMPORTED_MODULE_26__.GetConnectionById),\n/* harmony export */   GetConnectionOfTheConcept: () => (/* reexport safe */ _Api_GetConnectionOfTheConcept__WEBPACK_IMPORTED_MODULE_34__.GetConnectionOfTheConcept),\n/* harmony export */   GetLink: () => (/* reexport safe */ _Services_GetLink__WEBPACK_IMPORTED_MODULE_17__.GetLink),\n/* harmony export */   GetLinkRaw: () => (/* reexport safe */ _Services_GetLink__WEBPACK_IMPORTED_MODULE_17__.GetLinkRaw),\n/* harmony export */   GetLinkerConnectionFromConcepts: () => (/* reexport safe */ _Services_GetLinkerConnectionFromConcept__WEBPACK_IMPORTED_MODULE_22__.GetLinkerConnectionFromConcepts),\n/* harmony export */   GetTheConcept: () => (/* reexport safe */ _Services_GetTheConcept__WEBPACK_IMPORTED_MODULE_11__[\"default\"]),\n/* harmony export */   GetUserGhostId: () => (/* reexport safe */ _Services_User_UserTranslation__WEBPACK_IMPORTED_MODULE_48__.GetUserGhostId),\n/* harmony export */   LConcept: () => (/* reexport safe */ _DataStructures_Local_LConcept__WEBPACK_IMPORTED_MODULE_51__.LConcept),\n/* harmony export */   LConnection: () => (/* reexport safe */ _DataStructures_Local_LConnection__WEBPACK_IMPORTED_MODULE_52__.LConnection),\n/* harmony export */   LocalSyncData: () => (/* reexport safe */ _DataStructures_Local_LocalSyncData__WEBPACK_IMPORTED_MODULE_63__.LocalSyncData),\n/* harmony export */   LoginToBackend: () => (/* reexport safe */ _Api_Login__WEBPACK_IMPORTED_MODULE_33__.LoginToBackend),\n/* harmony export */   MakeTheInstanceConcept: () => (/* reexport safe */ _Services_MakeTheInstanceConcept__WEBPACK_IMPORTED_MODULE_12__[\"default\"]),\n/* harmony export */   MakeTheInstanceConceptLocal: () => (/* reexport safe */ _Services_Local_MakeTheInstanceConceptLocal__WEBPACK_IMPORTED_MODULE_13__.MakeTheInstanceConceptLocal),\n/* harmony export */   MakeTheTimestamp: () => (/* reexport safe */ _Services_MakeTheTimestamp__WEBPACK_IMPORTED_MODULE_27__.MakeTheTimestamp),\n/* harmony export */   MakeTheTypeConcept: () => (/* reexport safe */ _Services_MakeTheTypeConcept__WEBPACK_IMPORTED_MODULE_20__.MakeTheTypeConcept),\n/* harmony export */   MakeTheTypeConceptApi: () => (/* reexport safe */ _Api_MakeTheTypeConceptApi__WEBPACK_IMPORTED_MODULE_21__.MakeTheTypeConceptApi),\n/* harmony export */   MakeTheTypeConceptLocal: () => (/* reexport safe */ _Services_Local_MakeTheTypeLocal__WEBPACK_IMPORTED_MODULE_19__.MakeTheTypeConceptLocal),\n/* harmony export */   PatcherStructure: () => (/* reexport safe */ _DataStructures_PatcherStructure__WEBPACK_IMPORTED_MODULE_58__.PatcherStructure),\n/* harmony export */   RecursiveSearchApi: () => (/* reexport safe */ _Api_RecursiveSearch__WEBPACK_IMPORTED_MODULE_28__.RecursiveSearchApi),\n/* harmony export */   SearchAllConcepts: () => (/* reexport safe */ _Api_Search_Search__WEBPACK_IMPORTED_MODULE_38__.SearchAllConcepts),\n/* harmony export */   SearchQuery: () => (/* reexport safe */ _DataStructures_SearchQuery__WEBPACK_IMPORTED_MODULE_57__.SearchQuery),\n/* harmony export */   SearchWithLinker: () => (/* reexport safe */ _Api_Search_SearchWithLinker__WEBPACK_IMPORTED_MODULE_39__.SearchWithLinker),\n/* harmony export */   SessionData: () => (/* reexport safe */ _DataStructures_Session_SessionData__WEBPACK_IMPORTED_MODULE_59__.SessionData),\n/* harmony export */   Signin: () => (/* reexport safe */ _Api_Signin__WEBPACK_IMPORTED_MODULE_36__[\"default\"]),\n/* harmony export */   Signup: () => (/* reexport safe */ _Api_Signup__WEBPACK_IMPORTED_MODULE_35__[\"default\"]),\n/* harmony export */   SplitStrings: () => (/* reexport safe */ _Services_SplitStrings__WEBPACK_IMPORTED_MODULE_2__.SplitStrings),\n/* harmony export */   SyncData: () => (/* reexport safe */ _DataStructures_SyncData__WEBPACK_IMPORTED_MODULE_49__.SyncData),\n/* harmony export */   TrashTheConcept: () => (/* reexport safe */ _Api_Delete_DeleteConceptInBackend__WEBPACK_IMPORTED_MODULE_25__.TrashTheConcept),\n/* harmony export */   UpdateComposition: () => (/* reexport safe */ _Services_UpdateComposition__WEBPACK_IMPORTED_MODULE_37__[\"default\"]),\n/* harmony export */   UserBinaryTree: () => (/* reexport safe */ _DataStructures_User_UserBinaryTree__WEBPACK_IMPORTED_MODULE_64__.UserBinaryTree),\n/* harmony export */   getFromDatabaseWithType: () => (/* reexport safe */ _Database_NoIndexDb__WEBPACK_IMPORTED_MODULE_14__.getFromDatabaseWithType),\n/* harmony export */   getFromDatabaseWithTypeOld: () => (/* reexport safe */ _Database_NoIndexDb__WEBPACK_IMPORTED_MODULE_14__.getFromDatabaseWithTypeOld),\n/* harmony export */   init: () => (/* binding */ init),\n/* harmony export */   recursiveFetch: () => (/* reexport safe */ _Services_GetComposition__WEBPACK_IMPORTED_MODULE_6__.recursiveFetch),\n/* harmony export */   recursiveFetchNew: () => (/* reexport safe */ _Services_Composition_BuildComposition__WEBPACK_IMPORTED_MODULE_43__.recursiveFetchNew),\n/* harmony export */   storeToDatabase: () => (/* reexport safe */ _Database_NoIndexDb__WEBPACK_IMPORTED_MODULE_14__.storeToDatabase),\n/* harmony export */   updateAccessToken: () => (/* binding */ updateAccessToken)\n/* harmony export */ });\n/* harmony import */ var _Services_CreateBinaryTreeFromData__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Services/CreateBinaryTreeFromData */ \"./src/Services/CreateBinaryTreeFromData.ts\");\n/* harmony import */ var _DataStructures_IdentifierFlags__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DataStructures/IdentifierFlags */ \"./src/DataStructures/IdentifierFlags.ts\");\n/* harmony import */ var _Services_SplitStrings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Services/SplitStrings */ \"./src/Services/SplitStrings.ts\");\n/* harmony import */ var _Services_GetCompositionList__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Services/GetCompositionList */ \"./src/Services/GetCompositionList.ts\");\n/* harmony import */ var _Services_Local_GetCompositionListLocal__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Services/Local/GetCompositionListLocal */ \"./src/Services/Local/GetCompositionListLocal.ts\");\n/* harmony import */ var _Api_GetAllConnectionsOfComposition__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Api/GetAllConnectionsOfComposition */ \"./src/Api/GetAllConnectionsOfComposition.ts\");\n/* harmony import */ var _Services_GetComposition__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Services/GetComposition */ \"./src/Services/GetComposition.ts\");\n/* harmony import */ var _Services_Local_GetCompositionLocal__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Services/Local/GetCompositionLocal */ \"./src/Services/Local/GetCompositionLocal.ts\");\n/* harmony import */ var _Services_CreateTheComposition__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Services/CreateTheComposition */ \"./src/Services/CreateTheComposition.ts\");\n/* harmony import */ var _Services_Local_CreateTheCompositionLocal__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Services/Local/CreateTheCompositionLocal */ \"./src/Services/Local/CreateTheCompositionLocal.ts\");\n/* harmony import */ var _Services_CreateConnectionBetweenTwoConcepts__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Services/CreateConnectionBetweenTwoConcepts */ \"./src/Services/CreateConnectionBetweenTwoConcepts.ts\");\n/* harmony import */ var _Services_GetTheConcept__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Services/GetTheConcept */ \"./src/Services/GetTheConcept.ts\");\n/* harmony import */ var _Services_MakeTheInstanceConcept__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Services/MakeTheInstanceConcept */ \"./src/Services/MakeTheInstanceConcept.ts\");\n/* harmony import */ var _Services_Local_MakeTheInstanceConceptLocal__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./Services/Local/MakeTheInstanceConceptLocal */ \"./src/Services/Local/MakeTheInstanceConceptLocal.ts\");\n/* harmony import */ var _Database_NoIndexDb__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./Database/NoIndexDb */ \"./src/Database/NoIndexDb.ts\");\n/* harmony import */ var _Services_CreateTheConnection__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./Services/CreateTheConnection */ \"./src/Services/CreateTheConnection.ts\");\n/* harmony import */ var _Services_GetConceptByCharacter__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./Services/GetConceptByCharacter */ \"./src/Services/GetConceptByCharacter.ts\");\n/* harmony import */ var _Services_GetLink__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./Services/GetLink */ \"./src/Services/GetLink.ts\");\n/* harmony import */ var _Services_CreateDefaultConcept__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./Services/CreateDefaultConcept */ \"./src/Services/CreateDefaultConcept.ts\");\n/* harmony import */ var _Services_Local_MakeTheTypeLocal__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./Services/Local/MakeTheTypeLocal */ \"./src/Services/Local/MakeTheTypeLocal.ts\");\n/* harmony import */ var _Services_MakeTheTypeConcept__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./Services/MakeTheTypeConcept */ \"./src/Services/MakeTheTypeConcept.ts\");\n/* harmony import */ var _Api_MakeTheTypeConceptApi__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./Api/MakeTheTypeConceptApi */ \"./src/Api/MakeTheTypeConceptApi.ts\");\n/* harmony import */ var _Services_GetLinkerConnectionFromConcept__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./Services/GetLinkerConnectionFromConcept */ \"./src/Services/GetLinkerConnectionFromConcept.ts\");\n/* harmony import */ var _Services_DeleteConcept__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./Services/DeleteConcept */ \"./src/Services/DeleteConcept.ts\");\n/* harmony import */ var _Services_DeleteConnection__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./Services/DeleteConnection */ \"./src/Services/DeleteConnection.ts\");\n/* harmony import */ var _Api_Delete_DeleteConceptInBackend__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./Api/Delete/DeleteConceptInBackend */ \"./src/Api/Delete/DeleteConceptInBackend.ts\");\n/* harmony import */ var _Services_GetConnections__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./Services/GetConnections */ \"./src/Services/GetConnections.ts\");\n/* harmony import */ var _Services_MakeTheTimestamp__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./Services/MakeTheTimestamp */ \"./src/Services/MakeTheTimestamp.ts\");\n/* harmony import */ var _Api_RecursiveSearch__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./Api/RecursiveSearch */ \"./src/Api/RecursiveSearch.ts\");\n/* harmony import */ var _Services_GetCompositionBulk__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./Services/GetCompositionBulk */ \"./src/Services/GetCompositionBulk.ts\");\n/* harmony import */ var _Api_GetConceptBulk__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./Api/GetConceptBulk */ \"./src/Api/GetConceptBulk.ts\");\n/* harmony import */ var _Api_GetConnectionBulk__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./Api/GetConnectionBulk */ \"./src/Api/GetConnectionBulk.ts\");\n/* harmony import */ var _Api_GetAllConnectionsOfCompositionBulk__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./Api/GetAllConnectionsOfCompositionBulk */ \"./src/Api/GetAllConnectionsOfCompositionBulk.ts\");\n/* harmony import */ var _Api_Login__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./Api/Login */ \"./src/Api/Login.ts\");\n/* harmony import */ var _Api_GetConnectionOfTheConcept__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./Api/GetConnectionOfTheConcept */ \"./src/Api/GetConnectionOfTheConcept.ts\");\n/* harmony import */ var _Api_Signup__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./Api/Signup */ \"./src/Api/Signup.ts\");\n/* harmony import */ var _Api_Signin__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./Api/Signin */ \"./src/Api/Signin.ts\");\n/* harmony import */ var _Services_UpdateComposition__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./Services/UpdateComposition */ \"./src/Services/UpdateComposition.ts\");\n/* harmony import */ var _Api_Search_Search__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./Api/Search/Search */ \"./src/Api/Search/Search.ts\");\n/* harmony import */ var _Api_Search_SearchWithLinker__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./Api/Search/SearchWithLinker */ \"./src/Api/Search/SearchWithLinker.ts\");\n/* harmony import */ var _Services_Composition_CompositionCache__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./Services/Composition/CompositionCache */ \"./src/Services/Composition/CompositionCache.ts\");\n/* harmony import */ var _Api_Session_CreateSession__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./Api/Session/CreateSession */ \"./src/Api/Session/CreateSession.ts\");\n/* harmony import */ var _Api_Session_CreateSessionVisit__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./Api/Session/CreateSessionVisit */ \"./src/Api/Session/CreateSessionVisit.ts\");\n/* harmony import */ var _Services_Composition_BuildComposition__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./Services/Composition/BuildComposition */ \"./src/Services/Composition/BuildComposition.ts\");\n/* harmony import */ var _Services_Composition_CreateCompositionCache__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./Services/Composition/CreateCompositionCache */ \"./src/Services/Composition/CreateCompositionCache.ts\");\n/* harmony import */ var _Services_Local_CreateDefaultLConcept__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./Services/Local/CreateDefaultLConcept */ \"./src/Services/Local/CreateDefaultLConcept.ts\");\n/* harmony import */ var _Services_CreateTheConnectionGeneral__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./Services/CreateTheConnectionGeneral */ \"./src/Services/CreateTheConnectionGeneral.ts\");\n/* harmony import */ var _Services_Local_CreateTheConnectionLocal__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./Services/Local/CreateTheConnectionLocal */ \"./src/Services/Local/CreateTheConnectionLocal.ts\");\n/* harmony import */ var _Services_User_UserTranslation__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ./Services/User/UserTranslation */ \"./src/Services/User/UserTranslation.ts\");\n/* harmony import */ var _DataStructures_SyncData__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ./DataStructures/SyncData */ \"./src/DataStructures/SyncData.ts\");\n/* harmony import */ var _DataStructures_Concept__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ./DataStructures/Concept */ \"./src/DataStructures/Concept.ts\");\n/* harmony import */ var _DataStructures_Local_LConcept__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ./DataStructures/Local/LConcept */ \"./src/DataStructures/Local/LConcept.ts\");\n/* harmony import */ var _DataStructures_Local_LConnection__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ./DataStructures/Local/LConnection */ \"./src/DataStructures/Local/LConnection.ts\");\n/* harmony import */ var _DataStructures_Connection__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ./DataStructures/Connection */ \"./src/DataStructures/Connection.ts\");\n/* harmony import */ var _DataStructures_ConceptData__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ./DataStructures/ConceptData */ \"./src/DataStructures/ConceptData.ts\");\n/* harmony import */ var _DataStructures_ConnectionData__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ./DataStructures/ConnectionData */ \"./src/DataStructures/ConnectionData.ts\");\n/* harmony import */ var _DataStructures_BinaryTree__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ./DataStructures/BinaryTree */ \"./src/DataStructures/BinaryTree.ts\");\n/* harmony import */ var _DataStructures_SearchQuery__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ./DataStructures/SearchQuery */ \"./src/DataStructures/SearchQuery.ts\");\n/* harmony import */ var _DataStructures_PatcherStructure__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! ./DataStructures/PatcherStructure */ \"./src/DataStructures/PatcherStructure.ts\");\n/* harmony import */ var _DataStructures_Session_SessionData__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! ./DataStructures/Session/SessionData */ \"./src/DataStructures/Session/SessionData.ts\");\n/* harmony import */ var _DataStructures_Composition_Composition__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! ./DataStructures/Composition/Composition */ \"./src/DataStructures/Composition/Composition.ts\");\n/* harmony import */ var _DataStructures_Composition_CompositionBinaryTree__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! ./DataStructures/Composition/CompositionBinaryTree */ \"./src/DataStructures/Composition/CompositionBinaryTree.ts\");\n/* harmony import */ var _DataStructures_Composition_CompositionNode__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ./DataStructures/Composition/CompositionNode */ \"./src/DataStructures/Composition/CompositionNode.ts\");\n/* harmony import */ var _DataStructures_Local_LocalSyncData__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! ./DataStructures/Local/LocalSyncData */ \"./src/DataStructures/Local/LocalSyncData.ts\");\n/* harmony import */ var _DataStructures_User_UserBinaryTree__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! ./DataStructures/User/UserBinaryTree */ \"./src/DataStructures/User/UserBinaryTree.ts\");\n/* harmony import */ var _Services_GetDataFromIndexDb__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(/*! ./Services/GetDataFromIndexDb */ \"./src/Services/GetDataFromIndexDb.ts\");\n/* harmony import */ var _Services_Local_CreateLocalBinaryTreeFromData__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(/*! ./Services/Local/CreateLocalBinaryTreeFromData */ \"./src/Services/Local/CreateLocalBinaryTreeFromData.ts\");\n/* harmony import */ var _Services_InitializeSystem__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(/*! ./Services/InitializeSystem */ \"./src/Services/InitializeSystem.ts\");\n/* harmony import */ var _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(/*! ./DataStructures/BaseUrl */ \"./src/DataStructures/BaseUrl.ts\");\n/* harmony import */ var _DataStructures_Security_TokenStorage__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(/*! ./DataStructures/Security/TokenStorage */ \"./src/DataStructures/Security/TokenStorage.ts\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction updateAccessToken(accessToken = \"\") {\n    _DataStructures_Security_TokenStorage__WEBPACK_IMPORTED_MODULE_69__.TokenStorage.BearerAccessToken = accessToken;\n}\nfunction init(url = \"\", aiurl = \"\", accessToken = \"\", nodeUrl = \"\") {\n    _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_68__.BaseUrl.BASE_URL = url;\n    _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_68__.BaseUrl.AI_URL = aiurl;\n    _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_68__.BaseUrl.NODE_URL = nodeUrl;\n    console.log(\"This ist he base url\", _DataStructures_BaseUrl__WEBPACK_IMPORTED_MODULE_68__.BaseUrl.BASE_URL);\n    _DataStructures_Security_TokenStorage__WEBPACK_IMPORTED_MODULE_69__.TokenStorage.BearerAccessToken = accessToken;\n    (0,_Services_InitializeSystem__WEBPACK_IMPORTED_MODULE_67__[\"default\"])().then(() => {\n        const start = new Date().getTime();\n        (0,_Services_CreateBinaryTreeFromData__WEBPACK_IMPORTED_MODULE_0__[\"default\"])().then(() => {\n            _DataStructures_IdentifierFlags__WEBPACK_IMPORTED_MODULE_1__.IdentifierFlags.isDataLoaded = true;\n            _DataStructures_IdentifierFlags__WEBPACK_IMPORTED_MODULE_1__.IdentifierFlags.isCharacterLoaded = true;\n            _DataStructures_IdentifierFlags__WEBPACK_IMPORTED_MODULE_1__.IdentifierFlags.isTypeLoaded = true;\n            let elapsed = new Date().getTime() - start;\n            console.log(\"The time taken to prepare concept  data is  \", elapsed);\n        });\n        (0,_Services_Local_CreateLocalBinaryTreeFromData__WEBPACK_IMPORTED_MODULE_66__[\"default\"])().then(() => {\n            _DataStructures_IdentifierFlags__WEBPACK_IMPORTED_MODULE_1__.IdentifierFlags.isLocalDataLoaded = true;\n            _DataStructures_IdentifierFlags__WEBPACK_IMPORTED_MODULE_1__.IdentifierFlags.isLocalTypeLoaded = true;\n            _DataStructures_IdentifierFlags__WEBPACK_IMPORTED_MODULE_1__.IdentifierFlags.isLocalCharacterLoaded = true;\n            let elapsed = new Date().getTime() - start;\n            console.log(\"The time taken to prepare local concept  \", elapsed);\n        });\n        (0,_Services_GetDataFromIndexDb__WEBPACK_IMPORTED_MODULE_65__.GetDataFromIndexDbLocal)().then(() => {\n            _DataStructures_IdentifierFlags__WEBPACK_IMPORTED_MODULE_1__.IdentifierFlags.isLocalConnectionLoaded = true;\n        });\n        (0,_Services_GetDataFromIndexDb__WEBPACK_IMPORTED_MODULE_65__.GetDataFromIndexDb)().then(() => {\n            _DataStructures_IdentifierFlags__WEBPACK_IMPORTED_MODULE_1__.IdentifierFlags.isConnectionLoaded = true;\n            _DataStructures_IdentifierFlags__WEBPACK_IMPORTED_MODULE_1__.IdentifierFlags.isConnectionTypeLoaded = true;\n            let elapsed = new Date().getTime() - start;\n            console.log(\"The time taken to prepare connections  \", elapsed);\n        });\n    });\n}\n\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t(() => {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = (exports) => {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/************************************************************************/\n/******/ \t\n/******/ \t// startup\n/******/ \t// Load entry module and return exports\n/******/ \t// This entry module is referenced by other modules so it can't be inlined\n/******/ \tvar __webpack_exports__ = __webpack_require__(\"./src/app.ts\");\n/******/ \tvar __webpack_export_target__ = exports;\n/******/ \tfor(var i in __webpack_exports__) __webpack_export_target__[i] = __webpack_exports__[i];\n/******/ \tif(__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, \"__esModule\", { value: true });\n/******/ \t\n/******/ })()\n;\n"]}