{"version":3,"sources":["./src/app/app.component.html","./src/app/head/head.component.html","./src/app/listretros/listretros.component.html","./src/app/login/login.component.html","./src/app/retro-screen/retro-screen.component.html","./src/app/searchbar/searchbar.component.html","./src/app/signup/signup.component.html","./src/app/useredit/useredit.component.html","./node_modules/tslib/tslib.es6.js","./src/$_lazy_route_resource lazy namespace object","./src/app/app-routing.module.ts","./src/app/app.component.scss","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/guards/auth.guard.ts","./src/app/head/head.component.scss","./src/app/head/head.component.ts","./src/app/listretros/listretros.component.scss","./src/app/listretros/listretros.component.ts","./src/app/login/login.component.scss","./src/app/login/login.component.ts","./src/app/retro-screen/retro-screen.component.scss","./src/app/retro-screen/retro-screen.component.ts","./src/app/searchbar/searchbar.component.scss","./src/app/searchbar/searchbar.component.ts","./src/app/services/identity-handler.service.ts","./src/app/services/toast/toast-container.component.ts","./src/app/services/toast/toast-service.service.ts","./src/app/signup/signup.component.scss","./src/app/signup/signup.component.ts","./src/app/useredit/useredit.component.scss","./src/app/useredit/useredit.component.ts","./src/app/utilities/utilities.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["export default \"\\n\\n\\n\";","export default \"\\n
\\n
\\n \\n
\\n
\\n \\\"orange\\n \\\"webcom\\n
\\n \\\"agile\\n
\\n\\n \\n \\n \\n \\n
  • \\n Edit Profile\\n
  • \\n
  • \\n List of retros\\n
  • \\n
  • \\n Retro\\n
  • \\n
  • \\n \\n
  • \\n \\n
    \\n \\n
    \\n \";","export default \"\\n
    \\n\\t
    \\n\\t\\t

    All retros

    \\n\\t\\t\\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t

    Your retros

    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t

    {{ ownRetrosList[retroId].title }}

    \\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t
    \\n\\t\\t\\t\\t

    Other retros

    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t

    {{ otherRetrosList[retroId].title }}

    \\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\n\\n\\t\\n\\n\";","export default \"\\n
    \\n\\t
    \\n\\t\\t

    Log in

    \\n\\t\\tSign up\\n\\t
    \\n\\n\\t\\n\\t\\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\tForgotten password\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\n\\n\\t\\n\\t\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\n\\t*: compulsory\\n
    \\n\";","export default \"
    \\n
    \\n
    \\n \\n\\n \\n\\n \\n
    \\n \\n
    \\n \\n \\n \\n \\n {{ retroData.title }}\\n \\n
    \\n
    \\n

    \\n Collaborators\\n \\n {{ getKeys(retroData.givenAuthorizations).length }}\\n \\n

    \\n
    \\n \\n
    \\n\\n \\n \\n \\n \\n \\n
    \\n {{ collabsNicknames[userId] }}\\n\\n
    \\n \\n (It's you)\\n \\n \\n Show uid\\n \\n {{ userId }}\\n \\n
    \\n \\n
    \\n\\n \\n\\n \\n \\n \\n \\n \\n
    {{ contactsData[cId].identity }} \\n
    \\n
    \\n\\n \\n\\n \\n

    Boards

    \\n\\n \\n\\n
    \\n
    \\n \\n
    \\n \\n \\n \\n \\n\\n \\n

    {{ retroData.boards[boardId].title }}

    \\n
    \\n
    \\n \\n\\n
    \\n

    \\n
    \\n \\n
    \\n
    \\n\\n \\n
    \\n \\n\\n

    {{retroData.boards[boardId].cards[cardId].content}}

    \\n
    \\n

    \\n {{ getLength(retroData.boards[boardId].cards[cardId].votes) }}

    \\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\";","export default \"
    \\n\\n\\t\\t\\n\\t
    \\n\\t\\t
    \\n\\t\\t\\t

    Search

    \\n\\t\\t\\t\\n\\t\\t\\t

    :

    \\n\\t\\t
    \\n\\t\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t
    \\n\\t\\t\\tResult(s) :\\n\\t\\t\\t
      \\n\\t\\t\\t\\t
    • \\n\\t\\t\\t\\t\\t

      {{ cFoundData['foundId'] }}

      \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    • \\n\\t\\t\\t
    \\n\\t\\t
    \\n\\t
    \\n
    \\n\";","export default \"\\n
    \\n\\t
    \\n\\t\\t

    Sign up

    \\n\\t\\tLog in\\n\\t
    \\n\\t\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\t\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\n\\n\\t\\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\n\\t\\t
    \\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t
    \\n\\t\\n\\t*: compulsory\\n
    \\n\";","export default \"\\n\\n
    \\n\\t\\n\\t\\t

    Your profile

    \\n\\t\\t
    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t
    Id : {{ webcomRef.authState.providerUid }}
    \\n\\t\\t\\t\\t
    Uid : {{ webcomRef.authState.uid }}
    \\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
    \\n\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t
    Change password
    \\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t\\t

    \\n\\t\\t\\t
    \\n\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t
    Your contacts
    \\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t
    \\n\\t\\t\\t\\t\\t\\t\\t {{ contactsNicknames[userUid] }} : {{ userData['contacts'][userUid]['identity'] }}\\n\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t
    \\n\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t
    \\n\\n\\t\\t\\t
    \\n\\t\\t
    \\n\\n\\t
    \\n\\n\\n\";","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\n\nconst routes: Routes = [];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FwcC5jb21wb25lbnQuc2NzcyJ9 */\";","import { Component, OnInit, Inject } from '@angular/core';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent implements OnInit {\n title = 'Agile retro';\n constructor(\n @Inject ('baseWebcomref') private webcomRef\n ) { }\n ngOnInit() { }\n}\n","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { NgxUsefulSwiperModule } from \"ngx-useful-swiper\";\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\n\nimport { RouterModule, Routes } from '@angular/router';\n\nimport { FormsModule } from '@angular/forms';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { LoginComponent } from './login/login.component';\nimport { SignupComponent } from './signup/signup.component';\nimport { UsereditComponent } from './useredit/useredit.component';\n\nimport Webcom from 'webcom/webcom';\nimport { AuthGuard } from './guards/auth.guard';\nimport { HeadComponent } from './head/head.component';\nimport { ListretrosComponent } from './listretros/listretros.component';\nimport { RetroScreenComponent } from './retro-screen/retro-screen.component';\nimport { IdentityHandlerService } from './services/identity-handler.service';\nimport { SearchbarComponent } from './searchbar/searchbar.component';\nimport { ToastService } from \"./services/toast/toast-service.service\";\nimport { ToastContainerComponent } from './services/toast/toast-container.component';\n\n\nconst loginPath = 'login';\nconst signUpPath = 'signup';\nconst listRetroPath = 'listretros';\nconst profilePath = 'useredit';\nconst retroscreenPath = 'retroscreen';\nconst publicRoutes: (string)[] = [loginPath, signUpPath];\nconst defaultNotAuthRoute = loginPath;\nconst defaultAuthRoute: string = listRetroPath;\n\n\n// default routes\nconst routes: Routes = [\n { path: loginPath, component: LoginComponent, canActivate: [AuthGuard] },\n { path: signUpPath, component: SignupComponent, canActivate: [AuthGuard] },\n { path: profilePath, component: UsereditComponent, canActivate: [AuthGuard] },\n { path: listRetroPath, component: ListretrosComponent, canActivate: [AuthGuard] },\n { path: retroscreenPath, component: RetroScreenComponent, canActivate: [AuthGuard] },\n { path: `${retroscreenPath}/:retroId'`, component: RetroScreenComponent, canActivate: [AuthGuard] },\n { path: `${retroscreenPath}/:retroId/:ownerId'`, component: RetroScreenComponent, canActivate: [AuthGuard] },\n { path: '', redirectTo: '/' + listRetroPath, pathMatch: 'full' },\n];\n\nconst baseWebcomRef = new Webcom('https://io.datasync.orange.com/base/example-agility');\nconst idHandler = new IdentityHandlerService(baseWebcomRef)\n@NgModule({\n declarations: [\n AppComponent,\n LoginComponent,\n SignupComponent,\n UsereditComponent,\n HeadComponent,\n ListretrosComponent,\n RetroScreenComponent,\n SearchbarComponent,\n ToastContainerComponent\n ],\n imports: [\n FormsModule,\n BrowserModule,\n AppRoutingModule,\n RouterModule.forRoot(routes),\n NgbModule,\n NgxUsefulSwiperModule\n ],\n providers: [\n { provide: 'publicRoutes', useValue: publicRoutes},\n { provide: 'defaultNotAuthRoute', useValue: defaultNotAuthRoute},\n { provide: 'defaultAuthRoute', useValue: defaultAuthRoute},\n { provide: 'baseWebcomref', useValue: baseWebcomRef },\n { provide: 'webcom_img_url', useValue: 'assets/img/aretro_logo.svg' },\n { provide: 'idHandler', useValue: idHandler },\n { provide: 'toastSvc', useValue: new ToastService() },\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import {Injectable, Inject, NgZone} from '@angular/core';\nimport {CanActivate, ActivatedRouteSnapshot, Router, UrlTree} from '@angular/router';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthGuard implements CanActivate {\n\n private localAuthCB: Function\n constructor(\n @Inject ('baseWebcomref') private webcomRef,\n @Inject('publicRoutes') private publicRoutes: (string)[],\n @Inject('defaultNotAuthRoute') private defaultNotAuthRoute: string,\n @Inject('defaultAuthRoute') private defaultAuthRoute: string,\n @Inject('idHandler') private idHandler,\n private router: Router,\n private _ngZone: NgZone\n ) {\n\n console.log('auth guard constructed');\n\n this._ngZone.run(() => this.localAuthCB = (error, auth)=>{\n\n const requestedRoute = this._ngZone.run(() => this.router.url.replace(/^\\/+/, ''));\n console.log('from webcom addAuthCallback : authcallback triggered. requestedRoute=', requestedRoute);\n \n if (error || !auth) { // if user is NOT connected\n if (error) { console.log('Error auth: ' + error); } else { console.log('Not connected,', requestedRoute); }\n \n if (this.publicRoutes.includes(requestedRoute)) {\n // ngZone is required because of the redirect func executes in callback, it need to run in Angular zone\n console.log('not connected and requested route is public => ok ', requestedRoute);\n // this._ngZone.run(() => this.router.navigate([requestedRoute]));\n } else {\n console.log('not connected and requested route is private', requestedRoute, 'redirect to default : ', this.defaultNotAuthRoute);\n this._ngZone.run(() => this.router.navigate(['/' + this.defaultNotAuthRoute]));\n }\n } else {\n const userIdentity = auth.providerUid;\n console.log('Authenticated: ' + userIdentity);\n // TODO : if the user have been invited to collaborate to a retro, the application must register her.his account to the retro_owner.\n \n if (this.publicRoutes.includes(requestedRoute)) {\n // ngZone is required because of the redirect func executes in callback, it need to run in Angular zone\n console.log('connected and requested route is public', requestedRoute, 'redirect to default : ', this.defaultAuthRoute);\n this._ngZone.run(() => this.router.navigate(['/' + this.defaultAuthRoute]));\n } else {\n console.log('connected and requested route is private => ok', requestedRoute);\n this._ngZone.run(() => this.router.navigate(['/' + requestedRoute]));\n }\n }\n })\n \n\n this.webcomRef.addAuthCallback(this.localAuthCB);\n }\n\n ngOnDestroy() {\n\n console.log('auth guard DEStroyed');\n this.webcomRef.removeAuthCallback(this.localAuthCB);\n }\n\n canActivate(route: ActivatedRouteSnapshot): boolean | UrlTree {\n\n const requestedRoute = route.url.toString();\n console.log('canActivate requestedRoute=', requestedRoute);\n\n if (this.webcomRef.authState) { // If the user is connected\n console.log('canactivate: user connected.');\n if (this.publicRoutes.includes(requestedRoute)) {\n console.log('this is a public route => redirect to ', this.defaultAuthRoute);\n return this.router.parseUrl('/' + this.defaultAuthRoute);\n } else {\n console.log('this is a private route');\n return true;\n }\n }else{\n console.log('canactivate: user not connected');\n if (this.publicRoutes.includes(requestedRoute)) {\n console.log('this is a public route');\n return true;\n }else{\n console.log('this is a private route');\n return this.router.parseUrl('/' + this.defaultNotAuthRoute);\n }\n }\n }\n}\n","export default \"@charset \\\"UTF-8\\\";\\n@font-face {\\n font-family: \\\"agile-retro\\\";\\n src: url('agile-retro.ttf?z8wa1y') format(\\\"truetype\\\"), url('agile-retro.woff?z8wa1y') format(\\\"woff\\\"), url('agile-retro.svg?z8wa1y#agile-retro') format(\\\"svg\\\");\\n font-weight: normal;\\n font-style: normal;\\n font-display: block;\\n}\\n[class^=agile-retro-icon-], [class*=\\\" agile-retro-icon-\\\"] {\\n /* use !important to prevent issues with browser extensions that change fonts */\\n font-family: \\\"agile-retro\\\" !important;\\n speak: never;\\n font-style: normal;\\n font-weight: normal;\\n font-variant: normal;\\n text-transform: none;\\n line-height: 1;\\n /* Better Font Rendering =========== */\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n.agile-retro-icon-sign-out:before {\\n content: \\\"\\\";\\n}\\n.agile-retro-icon-sign-in:before {\\n content: \\\"\\\";\\n}\\n.agile-retro-icon-user-plus:before {\\n content: \\\"\\\";\\n}\\n.agile-retro-icon-key:before {\\n content: \\\"\\\";\\n}\\n.agile-retro-icon-cancel-circle:before {\\n content: \\\"\\\";\\n}\\n.agile-retro-icon-enter:before {\\n content: \\\"\\\";\\n}\\n.agile-retro-icon-exit:before {\\n content: \\\"\\\";\\n}\\nheader {\\n width: 100%;\\n background-color: none;\\n}\\n.header-bg {\\n background-color: #111 !important;\\n}\\n.logout-btn {\\n font-size: 20pt;\\n height: 100% !important;\\n width: 100% !important;\\n transform: scaleX(-1);\\n}\\n.aretro-nav .icon-menu {\\n font-size: 15pt;\\n}\\n.aretro-nav .nav-tabs {\\n border-bottom: none !important;\\n}\\n.aretro-nav .nav-tabs .nav-item {\\n padding: 0 !important;\\n}\\n.aretro-nav .nav-tabs .nav-item .nav-link {\\n padding: 10% 0% 0% 0% !important;\\n height: 100%;\\n text-align: center;\\n}\\n.aretro-nav .nav-tabs .nav-item .active {\\n background-color: #111 !important;\\n color: #f16e00 !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvaGVhZC9oZWFkLmNvbXBvbmVudC5zY3NzIiwiL2J1aWxkcy9ldGhlcnRvb2xzL3JldHJvd2ViL3NyYy9hc3NldHMvYWdpbGUtcmV0cm8taWNvbnMvYXJldHJvLWljb25zLXN0eWxlLnNjc3MiLCIvYnVpbGRzL2V0aGVydG9vbHMvcmV0cm93ZWIvc3JjL2Fzc2V0cy9hZ2lsZS1yZXRyby1pY29ucy9hcmV0cm8taWNvbnMtdmFyaWFibGVzLnNjc3MiLCIvYnVpbGRzL2V0aGVydG9vbHMvcmV0cm93ZWIvc3JjL2FwcC9oZWFkL2hlYWQuY29tcG9uZW50LnNjc3MiLCIvYnVpbGRzL2V0aGVydG9vbHMvcmV0cm93ZWIvc3JjL3ZhcmlhYmxlcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQ0VoQjtFQUNFLDBCQUFBO0VBQ0EsNkpBQ0U7RUFHRixtQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7QURIRjtBQ01BO0VBQ0UsK0VBQUE7RUFDQSxxQ0FBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSxvQkFBQTtFQUNBLGNBQUE7RUFFQSxzQ0FBQTtFQUNBLG1DQUFBO0VBQ0Esa0NBQUE7QURMRjtBQ1NFO0VBQ0UsWUMxQndCO0FGb0I1QjtBQ1VFO0VBQ0UsWUM5QnVCO0FGdUIzQjtBQ1dFO0VBQ0UsWUNsQ3lCO0FGMEI3QjtBQ1lFO0VBQ0UsWUN0Q21CO0FGNkJ2QjtBQ2FFO0VBQ0UsWUMxQzZCO0FGZ0NqQztBQ2NFO0VBQ0UsWUM5Q3FCO0FGbUN6QjtBQ2VFO0VBQ0UsWUNsRG9CO0FGc0N4QjtBRzNDQTtFQUNDLFdBQUE7RUFDQSxzQkFBQTtBSDhDRDtBRzNDQTtFQUNDLGlDQ1ZhO0FKd0RkO0FHNUNBO0VBQ0MsZUFBQTtFQUNBLHVCQUFBO0VBQ0Esc0JBQUE7RUFJQSxxQkFBQTtBSCtDRDtBRzVDQztFQUNDLGVBQUE7QUgrQ0Y7QUc3Q0M7RUFDQyw4QkFBQTtBSCtDRjtBRzlDRTtFQUNDLHFCQUFBO0FIZ0RIO0FHL0NHO0VBQ0MsZ0NBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7QUhpREo7QUcvQ0c7RUFDQyxpQ0NuQ1U7RURvQ1YseUJDaENZO0FKaUZoQiIsImZpbGUiOiJzcmMvYXBwL2hlYWQvaGVhZC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJhZ2lsZS1yZXRyb1wiO1xuICBzcmM6IHVybChcIi4uLy4uL2Fzc2V0cy9hZ2lsZS1yZXRyby1pY29ucy9mb250cy9hZ2lsZS1yZXRyby50dGY/ejh3YTF5XCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi8uLi9hc3NldHMvYWdpbGUtcmV0cm8taWNvbnMvZm9udHMvYWdpbGUtcmV0cm8ud29mZj96OHdhMXlcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vLi4vYXNzZXRzL2FnaWxlLXJldHJvLWljb25zL2ZvbnRzL2FnaWxlLXJldHJvLnN2Zz96OHdhMXkjYWdpbGUtcmV0cm9cIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogYmxvY2s7XG59XG5bY2xhc3NePWFnaWxlLXJldHJvLWljb24tXSwgW2NsYXNzKj1cIiBhZ2lsZS1yZXRyby1pY29uLVwiXSB7XG4gIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXG4gIGZvbnQtZmFtaWx5OiBcImFnaWxlLXJldHJvXCIgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5ldmVyO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLmFnaWxlLXJldHJvLWljb24tc2lnbi1vdXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLupIBcIjtcbn1cblxuLmFnaWxlLXJldHJvLWljb24tc2lnbi1pbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kgVwiO1xufVxuXG4uYWdpbGUtcmV0cm8taWNvbi11c2VyLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCLupbNcIjtcbn1cblxuLmFnaWxlLXJldHJvLWljb24ta2V5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qaNXCI7XG59XG5cbi5hZ2lsZS1yZXRyby1pY29uLWNhbmNlbC1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLuqI1cIjtcbn1cblxuLmFnaWxlLXJldHJvLWljb24tZW50ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCLuqJNcIjtcbn1cblxuLmFnaWxlLXJldHJvLWljb24tZXhpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6olFwiO1xufVxuXG5oZWFkZXIge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogbm9uZTtcbn1cblxuLmhlYWRlci1iZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMTEgIWltcG9ydGFudDtcbn1cblxuLmxvZ291dC1idG4ge1xuICBmb250LXNpemU6IDIwcHQ7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKC0xKTtcbiAgLW1vei10cmFuc2Zvcm06IHNjYWxlWCgtMSk7XG4gIC1vLXRyYW5zZm9ybTogc2NhbGVYKC0xKTtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xufVxuXG4uYXJldHJvLW5hdiAuaWNvbi1tZW51IHtcbiAgZm9udC1zaXplOiAxNXB0O1xufVxuLmFyZXRyby1uYXYgLm5hdi10YWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50O1xufVxuLmFyZXRyby1uYXYgLm5hdi10YWJzIC5uYXYtaXRlbSB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cbi5hcmV0cm8tbmF2IC5uYXYtdGFicyAubmF2LWl0ZW0gLm5hdi1saW5rIHtcbiAgcGFkZGluZzogMTAlIDAlIDAlIDAlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmFyZXRyby1uYXYgLm5hdi10YWJzIC5uYXYtaXRlbSAuYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzExMSAhaW1wb3J0YW50O1xuICBjb2xvcjogI2YxNmUwMCAhaW1wb3J0YW50O1xufSIsIkBpbXBvcnQgXCJhcmV0cm8taWNvbnMtdmFyaWFibGVzXCI7XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJyN7JGljb21vb24tZm9udC1mYW1pbHl9JztcbiAgc3JjOlxuICAgIHVybCgnI3skaWNvbW9vbi1mb250LXBhdGh9LyN7JGljb21vb24tZm9udC1mYW1pbHl9LnR0Zj96OHdhMXknKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKCcjeyRpY29tb29uLWZvbnQtcGF0aH0vI3skaWNvbW9vbi1mb250LWZhbWlseX0ud29mZj96OHdhMXknKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJyN7JGljb21vb24tZm9udC1wYXRofS8jeyRpY29tb29uLWZvbnQtZmFtaWx5fS5zdmc/ejh3YTF5IyN7JGljb21vb24tZm9udC1mYW1pbHl9JykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IGJsb2NrO1xufVxuXG5bY2xhc3NePVwiYWdpbGUtcmV0cm8taWNvbi1cIl0sIFtjbGFzcyo9XCIgYWdpbGUtcmV0cm8taWNvbi1cIl0ge1xuICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xuICBmb250LWZhbWlseTogJyN7JGljb21vb24tZm9udC1mYW1pbHl9JyAhaW1wb3J0YW50O1xuICBzcGVhazogbmV2ZXI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcblxuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi5hZ2lsZS1yZXRyby1pY29uLXNpZ24tb3V0IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRhZ2lsZS1yZXRyby1pY29uLXNpZ24tb3V0OyBcbiAgfVxufVxuLmFnaWxlLXJldHJvLWljb24tc2lnbi1pbiB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkYWdpbGUtcmV0cm8taWNvbi1zaWduLWluOyBcbiAgfVxufVxuLmFnaWxlLXJldHJvLWljb24tdXNlci1wbHVzIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRhZ2lsZS1yZXRyby1pY29uLXVzZXItcGx1czsgXG4gIH1cbn1cbi5hZ2lsZS1yZXRyby1pY29uLWtleSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkYWdpbGUtcmV0cm8taWNvbi1rZXk7IFxuICB9XG59XG4uYWdpbGUtcmV0cm8taWNvbi1jYW5jZWwtY2lyY2xlIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRhZ2lsZS1yZXRyby1pY29uLWNhbmNlbC1jaXJjbGU7IFxuICB9XG59XG4uYWdpbGUtcmV0cm8taWNvbi1lbnRlciB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkYWdpbGUtcmV0cm8taWNvbi1lbnRlcjsgXG4gIH1cbn1cbi5hZ2lsZS1yZXRyby1pY29uLWV4aXQge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGFnaWxlLXJldHJvLWljb24tZXhpdDsgXG4gIH1cbn1cblxuIiwiXG4kaWNvbW9vbi1mb250LWZhbWlseTogXCJhZ2lsZS1yZXRyb1wiICFkZWZhdWx0O1xuJGljb21vb24tZm9udC1wYXRoOiBcIiN7JGFyZXRyby1pY29ucy1mb2xkZXItcGF0aH1mb250c1wiICFkZWZhdWx0O1xuXG4kYWdpbGUtcmV0cm8taWNvbi1zaWduLW91dDogXCJcXGU5MDBcIjtcbiRhZ2lsZS1yZXRyby1pY29uLXNpZ24taW46IFwiXFxlOTAxXCI7XG4kYWdpbGUtcmV0cm8taWNvbi11c2VyLXBsdXM6IFwiXFxlOTczXCI7XG4kYWdpbGUtcmV0cm8taWNvbi1rZXk6IFwiXFxlOThkXCI7XG4kYWdpbGUtcmV0cm8taWNvbi1jYW5jZWwtY2lyY2xlOiBcIlxcZWEwZFwiO1xuJGFnaWxlLXJldHJvLWljb24tZW50ZXI6IFwiXFxlYTEzXCI7XG4kYWdpbGUtcmV0cm8taWNvbi1leGl0OiBcIlxcZWExNFwiO1xuXG4iLCJAaW1wb3J0ICcuLi8uLi92YXJpYWJsZXMuc2Nzcyc7XG5cbiRhcmV0cm8taWNvbnMtZm9sZGVyLXBhdGg6ICcuLi8uLi9hc3NldHMvYWdpbGUtcmV0cm8taWNvbnMvJztcbkBpbXBvcnQgJy4uLy4uL2Fzc2V0cy9hZ2lsZS1yZXRyby1pY29ucy9hcmV0cm8taWNvbnMtc3R5bGUuc2Nzcyc7XG5cbmhlYWRlciB7XG5cdHdpZHRoOiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xufVxuXG4uaGVhZGVyLWJnIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGFyZXRyby1kYXJrO1xufVxuLmxvZ291dC1idG4ge1xuXHRmb250LXNpemU6IDIwcHQ7XG5cdGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuXHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKC0xKTtcblx0LW1vei10cmFuc2Zvcm06IHNjYWxlWCgtMSk7XG5cdC1vLXRyYW5zZm9ybTogc2NhbGVYKC0xKTtcblx0dHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xufVxuLmFyZXRyby1uYXYge1xuXHQmIC5pY29uLW1lbnUge1xuXHRcdGZvbnQtc2l6ZTogMTVwdDtcblx0fVxuXHQmIC5uYXYtdGFicyB7XG5cdFx0Ym9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50O1xuXHRcdCYgLm5hdi1pdGVtIHtcblx0XHRcdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcblx0XHRcdCYgLm5hdi1saW5rIHtcblx0XHRcdFx0cGFkZGluZzogMTAlIDAlIDAlIDAlICFpbXBvcnRhbnQ7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0fVxuXHRcdFx0JiAuYWN0aXZlIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGFyZXRyby1kYXJrO1xuXHRcdFx0XHRjb2xvcjogJGFyZXRyby1vcmFuZ2U7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCJcbiRhcmV0cm8tZGFyazogIzExMSAhaW1wb3J0YW50O1xuJGFyZXRyby1ncmV5OiAjYWFhICFpbXBvcnRhbnQ7XG4kYXJldHJvLWdyZXktbGlnaHQ6ICNkZGQgIWltcG9ydGFudDtcbiRhcmV0cm8tb3JhbmdlLWxpZ2h0OiByZ2IoMjU1LCAyMzksIDIzMikgIWltcG9ydGFudDtcbiRhcmV0cm8tb3JhbmdlOiAjZjE2ZTAwICFpbXBvcnRhbnQ7XG4kYXJldHJvLW9yYW5nZS1kYXJrOiAjYTU0YTAwICFpbXBvcnRhbnQ7XG4kYXJldHJvLXJlZDogI2EwMCAhaW1wb3J0YW50O1xuJGFyZXRyby1ibHVlLWRhcms6ICMzZTU5OTQgIWltcG9ydGFudDtcbiJdfQ== */\";","import { Router, NavigationEnd } from '@angular/router';\nimport { Component, OnInit, Inject, NgZone } from '@angular/core';\nimport { filter } from 'rxjs/operators';\n\n@Component({\n selector: 'app-head',\n templateUrl: './head.component.html',\n styleUrls: ['./head.component.scss']\n})\nexport class HeadComponent implements OnInit {\n\n private displayNav = false;\n private isLargeDocument = false;\n private screenWidthThreshold = 752;\n private lastRetroVisited: object;\n constructor(\n @Inject('webcom_img_url') private webcomImgUrl,\n @Inject ('baseWebcomref') private webcomRef,\n @Inject ('toastSvc') private toastService,\n private _ngZone: NgZone,\n private router: Router,\n ) { }\n\n ngOnInit() {\n this.router.events\n .pipe(filter(e => e instanceof NavigationEnd))\n .subscribe((val) => {\n const segment = this.router['rawUrlTree']['root']['children']['primary']['segments'][0];\n\n if (segment['path'] === 'retroscreen') {\n this._ngZone.run(()=> this.lastRetroVisited = {\n retroId: segment['parameters']['retroId'],\n ownerId: segment['parameters']['ownerId'],\n });\n }\n });\n\n this._ngZone.run(()=> this.isLargeDocument = document.body.clientWidth > this.screenWidthThreshold);\n window.addEventListener('resize', ()=> {\n this._ngZone.run(()=> this.isLargeDocument = document.body.clientWidth > this.screenWidthThreshold);\n });\n }\n\n logOut() {\n this.webcomRef.logout((err) => {\n if (err) {\n this.toastService.showDanger(`Couldn't logout. ERRor= ${err}`);\n }\n })\n this.displayNav = false;\n }\n}\n","export default \".section-heading {\\n padding: 5px;\\n}\\n.section-heading:hover, .section-heading:focus {\\n background-color: #ddd !important;\\n}\\n.retrosDiv {\\n display: block;\\n overflow: hidden;\\n}\\n.add-retro-btn {\\n background-color: #aaa !important;\\n color: white;\\n font-size: 3em;\\n}\\n.add-retro-btn:hover, .add-retro-btn:focus {\\n background-color: #f16e00 !important;\\n}\\n.retro-common {\\n min-height: 100px;\\n margin: 10px 0;\\n border-radius: 2px;\\n}\\n.retro {\\n background-color: #ffefe8 !important;\\n padding: 10px;\\n}\\n.retro_title, .retro_title_edit {\\n font-size: 1.5rem;\\n line-height: calc(26 / 24);\\n letter-spacing: -0.0375rem;\\n font-weight: 700;\\n min-height: 40px;\\n margin-bottom: 0px;\\n padding: 5px;\\n}\\n.retro_title:hover, .retro_title:focus {\\n background-color: #f16e00 !important;\\n color: white;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvZXRoZXJ0b29scy9yZXRyb3dlYi9zcmMvYXBwL2xpc3RyZXRyb3MvbGlzdHJldHJvcy5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvbGlzdHJldHJvcy9saXN0cmV0cm9zLmNvbXBvbmVudC5zY3NzIiwiL2J1aWxkcy9ldGhlcnRvb2xzL3JldHJvd2ViL3NyYy92YXJpYWJsZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQTtFQUNDLFlBQUE7QUNGRDtBREdDO0VBQ0MsaUNFSGtCO0FERXBCO0FESUE7RUFDQyxjQUFBO0VBQ0MsZ0JBQUE7QUNERjtBRElBO0VBQ0MsaUNFYmE7RUZjYixZQUFBO0VBQ0EsY0FBQTtBQ0REO0FERUM7RUFDQyxvQ0VkYztBRGNoQjtBREdBO0VBQ0MsaUJBQUE7RUFDQSxjQUFBO0VBQ0Esa0JBQUE7QUNBRDtBREVBO0VBQ0Msb0NFeEJxQjtFRnlCckIsYUFBQTtBQ0NEO0FEQ0E7RUFDQyxpQkFBQTtFQUNBLDBCQUFBO0VBQ0EsMEJBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0FDRUQ7QURDQztFQUNDLG9DRXJDYztFRnNDZCxZQUFBO0FDRUYiLCJmaWxlIjoic3JjL2FwcC9saXN0cmV0cm9zL2xpc3RyZXRyb3MuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJcbkBpbXBvcnQgJy4uLy4uL3ZhcmlhYmxlcy5zY3NzJztcblxuLnNlY3Rpb24taGVhZGluZyB7XG5cdHBhZGRpbmc6IDVweDtcblx0Jjpob3ZlciwgJjpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGFyZXRyby1ncmV5LWxpZ2h0O1xuXHR9XG59XG4ucmV0cm9zRGl2IHtcblx0ZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5hZGQtcmV0cm8tYnRuIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGFyZXRyby1ncmV5O1xuXHRjb2xvcjogd2hpdGU7XG5cdGZvbnQtc2l6ZTogM2VtO1xuXHQmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYXJldHJvLW9yYW5nZTtcblx0fVxufVxuLnJldHJvLWNvbW1vbiB7XG5cdG1pbi1oZWlnaHQ6IDEwMHB4O1xuXHRtYXJnaW46IDEwcHggMDtcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xufVxuLnJldHJvIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGFyZXRyby1vcmFuZ2UtbGlnaHQ7XG5cdHBhZGRpbmc6IDEwcHg7XG59XG4ucmV0cm9fdGl0bGUsIC5yZXRyb190aXRsZV9lZGl0IHtcblx0Zm9udC1zaXplOiAxLjVyZW07XG5cdGxpbmUtaGVpZ2h0OiBjYWxjKDI2IC8gMjQpO1xuXHRsZXR0ZXItc3BhY2luZzogLS4wMzc1cmVtO1xuXHRmb250LXdlaWdodDogNzAwO1xuXHRtaW4taGVpZ2h0OiA0MHB4O1xuXHRtYXJnaW4tYm90dG9tOiAwcHg7XG5cdHBhZGRpbmc6IDVweDtcbn1cbi5yZXRyb190aXRsZSB7XG5cdCY6aG92ZXIsICY6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRhcmV0cm8tb3JhbmdlO1xuXHRcdGNvbG9yOiB3aGl0ZTtcblx0fVxufVxuIiwiLnNlY3Rpb24taGVhZGluZyB7XG4gIHBhZGRpbmc6IDVweDtcbn1cbi5zZWN0aW9uLWhlYWRpbmc6aG92ZXIsIC5zZWN0aW9uLWhlYWRpbmc6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkICFpbXBvcnRhbnQ7XG59XG5cbi5yZXRyb3NEaXYge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmFkZC1yZXRyby1idG4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWFhICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiAzZW07XG59XG4uYWRkLXJldHJvLWJ0bjpob3ZlciwgLmFkZC1yZXRyby1idG46Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjE2ZTAwICFpbXBvcnRhbnQ7XG59XG5cbi5yZXRyby1jb21tb24ge1xuICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgbWFyZ2luOiAxMHB4IDA7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbn1cblxuLnJldHJvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlOCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG4ucmV0cm9fdGl0bGUsIC5yZXRyb190aXRsZV9lZGl0IHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiBjYWxjKDI2IC8gMjQpO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWluLWhlaWdodDogNDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICBwYWRkaW5nOiA1cHg7XG59XG5cbi5yZXRyb190aXRsZTpob3ZlciwgLnJldHJvX3RpdGxlOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxNmUwMCAhaW1wb3J0YW50O1xuICBjb2xvcjogd2hpdGU7XG59IiwiXG4kYXJldHJvLWRhcms6ICMxMTEgIWltcG9ydGFudDtcbiRhcmV0cm8tZ3JleTogI2FhYSAhaW1wb3J0YW50O1xuJGFyZXRyby1ncmV5LWxpZ2h0OiAjZGRkICFpbXBvcnRhbnQ7XG4kYXJldHJvLW9yYW5nZS1saWdodDogcmdiKDI1NSwgMjM5LCAyMzIpICFpbXBvcnRhbnQ7XG4kYXJldHJvLW9yYW5nZTogI2YxNmUwMCAhaW1wb3J0YW50O1xuJGFyZXRyby1vcmFuZ2UtZGFyazogI2E1NGEwMCAhaW1wb3J0YW50O1xuJGFyZXRyby1yZWQ6ICNhMDAgIWltcG9ydGFudDtcbiRhcmV0cm8tYmx1ZS1kYXJrOiAjM2U1OTk0ICFpbXBvcnRhbnQ7XG4iXX0= */\";","import { getKeys } from '../utilities/utilities';\nimport { Component, OnInit, Inject, ChangeDetectorRef, NgZone } from '@angular/core';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-listretros',\n templateUrl: './listretros.component.html',\n styleUrls: ['./listretros.component.scss']\n})\nexport class ListretrosComponent implements OnInit {\n\n private userRetrosRef;\n private receivedAuthRef;\n private userRetrosOnChildaddedCallback: Function;\n private userRetrosOnChildremovedCallback: Function;\n private otherRetrosOnChildaddedCallback: Function;\n private otherRetrosOnChildremovedCallback: Function;\n private ownRetrosList = {};\n private otherRetrosList = {};\n private getKeys = getKeys;\n\n private editingNewRetro = false;\n private editedExistingRetroId: string;\n\n constructor(\n @Inject('baseWebcomref') private webcomRef,\n @Inject('toastSvc') private toastService,\n private router: Router,\n private changeDetectorRef: ChangeDetectorRef,\n private _ngZone: NgZone\n ) {\n this.userRetrosRef = this.webcomRef.child(`spaces/${this.webcomRef.authState.uid}/retros`);\n this.receivedAuthRef = this.webcomRef.child(`spaces/${this.webcomRef.authState.uid}/receivedAuthorizations`);\n }\n \n ngOnInit(): void {\n this.fetchAndSubscribeToOwnRetros();\n this.fetchAndSubscribeToOtherRetros();\n }\n ngOnDestroy() {\n this.userRetrosRef.off('child_added', this.userRetrosOnChildaddedCallback);\n this.userRetrosRef.off('child_removed', this.userRetrosOnChildremovedCallback);\n this.receivedAuthRef.off('child_added', this.otherRetrosOnChildaddedCallback);\n this.receivedAuthRef.off('child_removed', this.otherRetrosOnChildremovedCallback);\n for (const retroId in this.ownRetrosList) {\n this.ownRetrosList[retroId]['titleSubscriptionRef']\n .off('value', this.ownRetrosList[retroId]['titleSubscriptionCallback']);\n }\n for (const retroId in this.otherRetrosList) {\n this.otherRetrosList[retroId]['titleSubscriptionRef']\n .off('value', this.otherRetrosList[retroId]['titleSubscriptionCallback']);\n }\n }\n fetchAndSubscribeToOwnRetros() {\n this.userRetrosOnChildaddedCallback = this.userRetrosRef\n .on('child_added', (snap)=> this.onOwnRetroAdded(this, snap.name()));\n \n this.userRetrosOnChildremovedCallback = this.userRetrosRef\n .on('child_removed', (snap)=> this.onRetroRemoved(snap.name(), this.ownRetrosList));\n }\n fetchAndSubscribeToOtherRetros() {\n this.otherRetrosOnChildaddedCallback = this.receivedAuthRef\n .on('child_added', (snap)=> this.onOtherRetroAdded(this, snap.name(), snap.val()));\n \n this.otherRetrosOnChildremovedCallback = this.receivedAuthRef\n .on('child_removed', (snap)=> this.onRetroRemoved(snap.name(), this.otherRetrosList));\n }\n\n onOwnRetroAdded(self: ListretrosComponent, retroId: string){\n self.ownRetrosList[retroId] = {};\n self.subscribeToRetroTitleChanges(\n retroId,\n self.ownRetrosList[retroId],\n self.webcomRef.authState.uid\n )\n }\n onOtherRetroAdded(self: ListretrosComponent, retroId: string, retroOwnerId: string){\n self.otherRetrosList[retroId] = {};\n self.otherRetrosList[retroId]['owner'] = retroOwnerId;\n self.subscribeToRetroTitleChanges(\n retroId,\n self.otherRetrosList[retroId],\n retroOwnerId\n )\n }\n onRetroRemoved(retroId: string, retroList: object){\n retroList[retroId]['titleSubscriptionRef']\n .off('value', retroList[retroId]['titleSubscriptionCallback']);\n delete retroList[retroId];\n this.changeDetectorRef.detectChanges();\n }\n\n subscribeToRetroTitleChanges(retroId: string, retroData: object, retroOwnerId: string){\n retroData['titleSubscriptionRef'] = this.webcomRef.child(`spaces/${retroOwnerId}/retros/${retroId}/title`);\n retroData['titleSubscriptionCallback'] = retroData['titleSubscriptionRef']\n .on('value', (snap)=>{\n retroData['title'] = snap.val();\n this.changeDetectorRef.detectChanges();\n });\n }\n\n\n displayEditRetroTitleField(retroId) {\n this.editedExistingRetroId = retroId;\n this.changeDetectorRef.detectChanges();\n }\n\n addRetro(retroTitle: string) {\n if(retroTitle) {\n const newRetroRef = this.userRetrosRef\n .push({'title': retroTitle}) // push new retro data\n \n // push three boards by default\n const boardsRef = newRetroRef.child('boards'); // get the boards childnode reference of this retro\n boardsRef.push({ title: 'Went well' })\n boardsRef.push({ title: 'To improve' })\n boardsRef.push({ title: 'Suggestions' })\n }\n this.editingNewRetro = false;\n this.changeDetectorRef.detectChanges();\n }\n editRetro(retroTitle: string, retroId: string) {\n if(retroTitle || confirm(\"The retro's new title you entered is blank. Update anyway ?\")) {\n this.userRetrosRef.child(`${retroId}/title`)\n .set(retroTitle, (err)=>{\n if(err) this.toastService.showDanger(err);\n });\n }\n this.editedExistingRetroId = '';\n this.changeDetectorRef.detectChanges();\n }\n removeRetro(retroId: string): void {\n if (confirm(`Your about to delete retro : ${this.ownRetrosList[retroId]['title']}. Are you sure ?`)) {\n this.userRetrosRef.child(retroId).remove();\n }\n }\n\n foldRetroTemplate(templateName: string) {\n const content = document.getElementById(templateName);\n if (!content.style.display || content.style.display === \"block\") {\n content.style.display = \"none\";\n } else {\n content.style.display = \"block\";\n }\n }\n\n openRetro(retroId: string, retroOwnerId?: string) {\n if (!retroOwnerId) retroOwnerId = this.webcomRef.authState.uid;\n this._ngZone.run(() => this.router.navigate(['retroscreen', {\n retroId: retroId,\n ownerId: retroOwnerId,\n }]));\n }\n}\n","export default \"@charset \\\"UTF-8\\\";\\n@font-face {\\n font-family: \\\"agile-retro\\\";\\n src: url('agile-retro.ttf?z8wa1y') format(\\\"truetype\\\"), url('agile-retro.woff?z8wa1y') format(\\\"woff\\\"), url('agile-retro.svg?z8wa1y#agile-retro') format(\\\"svg\\\");\\n font-weight: normal;\\n font-style: normal;\\n font-display: block;\\n}\\n[class^=agile-retro-icon-], [class*=\\\" agile-retro-icon-\\\"] {\\n /* use !important to prevent issues with browser extensions that change fonts */\\n font-family: \\\"agile-retro\\\" !important;\\n speak: never;\\n font-style: normal;\\n font-weight: normal;\\n font-variant: normal;\\n text-transform: none;\\n line-height: 1;\\n /* Better Font Rendering =========== */\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n.agile-retro-icon-sign-out:before {\\n content: \\\"\\\";\\n}\\n.agile-retro-icon-sign-in:before {\\n content: \\\"\\\";\\n}\\n.agile-retro-icon-user-plus:before {\\n content: \\\"\\\";\\n}\\n.agile-retro-icon-key:before {\\n content: \\\"\\\";\\n}\\n.agile-retro-icon-cancel-circle:before {\\n content: \\\"\\\";\\n}\\n.agile-retro-icon-enter:before {\\n content: \\\"\\\";\\n}\\n.agile-retro-icon-exit:before {\\n content: \\\"\\\";\\n}\\ninput {\\n background-color: #ffefe8 !important;\\n}\\n.unlogged-footer button {\\n font-size: 30pt;\\n font-weight: normal;\\n height: 50px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbG9naW4vbG9naW4uY29tcG9uZW50LnNjc3MiLCIvYnVpbGRzL2V0aGVydG9vbHMvcmV0cm93ZWIvc3JjL2Fzc2V0cy9hZ2lsZS1yZXRyby1pY29ucy9hcmV0cm8taWNvbnMtc3R5bGUuc2NzcyIsIi9idWlsZHMvZXRoZXJ0b29scy9yZXRyb3dlYi9zcmMvYXNzZXRzL2FnaWxlLXJldHJvLWljb25zL2FyZXRyby1pY29ucy12YXJpYWJsZXMuc2NzcyIsIi9idWlsZHMvZXRoZXJ0b29scy9yZXRyb3dlYi9zcmMvYXBwL2xvZ2luL2xvZ2luLmNvbXBvbmVudC5zY3NzIiwiL2J1aWxkcy9ldGhlcnRvb2xzL3JldHJvd2ViL3NyYy92YXJpYWJsZXMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNFaEI7RUFDRSwwQkFBQTtFQUNBLDZKQUNFO0VBR0YsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0FESEY7QUNNQTtFQUNFLCtFQUFBO0VBQ0EscUNBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VBQ0Esb0JBQUE7RUFDQSxjQUFBO0VBRUEsc0NBQUE7RUFDQSxtQ0FBQTtFQUNBLGtDQUFBO0FETEY7QUNTRTtFQUNFLFlDMUJ3QjtBRm9CNUI7QUNVRTtFQUNFLFlDOUJ1QjtBRnVCM0I7QUNXRTtFQUNFLFlDbEN5QjtBRjBCN0I7QUNZRTtFQUNFLFlDdENtQjtBRjZCdkI7QUNhRTtFQUNFLFlDMUM2QjtBRmdDakM7QUNjRTtFQUNFLFlDOUNxQjtBRm1DekI7QUNlRTtFQUNFLFlDbERvQjtBRnNDeEI7QUc1Q0E7RUFDQyxvQ0NEcUI7QUpnRHRCO0FHNUNBO0VBQ0MsZUFBQTtFQUNBLG1CQUFBO0VBQ0EsWUFBQTtBSCtDRCIsImZpbGUiOiJzcmMvYXBwL2xvZ2luL2xvZ2luLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImFnaWxlLXJldHJvXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vYXNzZXRzL2FnaWxlLXJldHJvLWljb25zL2ZvbnRzL2FnaWxlLXJldHJvLnR0Zj96OHdhMXlcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uLy4uL2Fzc2V0cy9hZ2lsZS1yZXRyby1pY29ucy9mb250cy9hZ2lsZS1yZXRyby53b2ZmP3o4d2ExeVwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi8uLi9hc3NldHMvYWdpbGUtcmV0cm8taWNvbnMvZm9udHMvYWdpbGUtcmV0cm8uc3ZnP3o4d2ExeSNhZ2lsZS1yZXRyb1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBibG9jaztcbn1cbltjbGFzc149YWdpbGUtcmV0cm8taWNvbi1dLCBbY2xhc3MqPVwiIGFnaWxlLXJldHJvLWljb24tXCJdIHtcbiAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cbiAgZm9udC1mYW1pbHk6IFwiYWdpbGUtcmV0cm9cIiAhaW1wb3J0YW50O1xuICBzcGVhazogbmV2ZXI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4uYWdpbGUtcmV0cm8taWNvbi1zaWduLW91dDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kgFwiO1xufVxuXG4uYWdpbGUtcmV0cm8taWNvbi1zaWduLWluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSBXCI7XG59XG5cbi5hZ2lsZS1yZXRyby1pY29uLXVzZXItcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ls1wiO1xufVxuXG4uYWdpbGUtcmV0cm8taWNvbi1rZXk6YmVmb3JlIHtcbiAgY29udGVudDogXCLupo1cIjtcbn1cblxuLmFnaWxlLXJldHJvLWljb24tY2FuY2VsLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ojVwiO1xufVxuXG4uYWdpbGUtcmV0cm8taWNvbi1lbnRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ok1wiO1xufVxuXG4uYWdpbGUtcmV0cm8taWNvbi1leGl0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qiUXCI7XG59XG5cbmlucHV0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlOCAhaW1wb3J0YW50O1xufVxuXG4udW5sb2dnZWQtZm9vdGVyIGJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMzBwdDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgaGVpZ2h0OiA1MHB4O1xufSIsIkBpbXBvcnQgXCJhcmV0cm8taWNvbnMtdmFyaWFibGVzXCI7XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJyN7JGljb21vb24tZm9udC1mYW1pbHl9JztcbiAgc3JjOlxuICAgIHVybCgnI3skaWNvbW9vbi1mb250LXBhdGh9LyN7JGljb21vb24tZm9udC1mYW1pbHl9LnR0Zj96OHdhMXknKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKCcjeyRpY29tb29uLWZvbnQtcGF0aH0vI3skaWNvbW9vbi1mb250LWZhbWlseX0ud29mZj96OHdhMXknKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJyN7JGljb21vb24tZm9udC1wYXRofS8jeyRpY29tb29uLWZvbnQtZmFtaWx5fS5zdmc/ejh3YTF5IyN7JGljb21vb24tZm9udC1mYW1pbHl9JykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IGJsb2NrO1xufVxuXG5bY2xhc3NePVwiYWdpbGUtcmV0cm8taWNvbi1cIl0sIFtjbGFzcyo9XCIgYWdpbGUtcmV0cm8taWNvbi1cIl0ge1xuICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xuICBmb250LWZhbWlseTogJyN7JGljb21vb24tZm9udC1mYW1pbHl9JyAhaW1wb3J0YW50O1xuICBzcGVhazogbmV2ZXI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcblxuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi5hZ2lsZS1yZXRyby1pY29uLXNpZ24tb3V0IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRhZ2lsZS1yZXRyby1pY29uLXNpZ24tb3V0OyBcbiAgfVxufVxuLmFnaWxlLXJldHJvLWljb24tc2lnbi1pbiB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkYWdpbGUtcmV0cm8taWNvbi1zaWduLWluOyBcbiAgfVxufVxuLmFnaWxlLXJldHJvLWljb24tdXNlci1wbHVzIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRhZ2lsZS1yZXRyby1pY29uLXVzZXItcGx1czsgXG4gIH1cbn1cbi5hZ2lsZS1yZXRyby1pY29uLWtleSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkYWdpbGUtcmV0cm8taWNvbi1rZXk7IFxuICB9XG59XG4uYWdpbGUtcmV0cm8taWNvbi1jYW5jZWwtY2lyY2xlIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRhZ2lsZS1yZXRyby1pY29uLWNhbmNlbC1jaXJjbGU7IFxuICB9XG59XG4uYWdpbGUtcmV0cm8taWNvbi1lbnRlciB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkYWdpbGUtcmV0cm8taWNvbi1lbnRlcjsgXG4gIH1cbn1cbi5hZ2lsZS1yZXRyby1pY29uLWV4aXQge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGFnaWxlLXJldHJvLWljb24tZXhpdDsgXG4gIH1cbn1cblxuIiwiXG4kaWNvbW9vbi1mb250LWZhbWlseTogXCJhZ2lsZS1yZXRyb1wiICFkZWZhdWx0O1xuJGljb21vb24tZm9udC1wYXRoOiBcIiN7JGFyZXRyby1pY29ucy1mb2xkZXItcGF0aH1mb250c1wiICFkZWZhdWx0O1xuXG4kYWdpbGUtcmV0cm8taWNvbi1zaWduLW91dDogXCJcXGU5MDBcIjtcbiRhZ2lsZS1yZXRyby1pY29uLXNpZ24taW46IFwiXFxlOTAxXCI7XG4kYWdpbGUtcmV0cm8taWNvbi11c2VyLXBsdXM6IFwiXFxlOTczXCI7XG4kYWdpbGUtcmV0cm8taWNvbi1rZXk6IFwiXFxlOThkXCI7XG4kYWdpbGUtcmV0cm8taWNvbi1jYW5jZWwtY2lyY2xlOiBcIlxcZWEwZFwiO1xuJGFnaWxlLXJldHJvLWljb24tZW50ZXI6IFwiXFxlYTEzXCI7XG4kYWdpbGUtcmV0cm8taWNvbi1leGl0OiBcIlxcZWExNFwiO1xuXG4iLCJAaW1wb3J0ICcuLi8uLi92YXJpYWJsZXMuc2Nzcyc7XG4kYXJldHJvLWljb25zLWZvbGRlci1wYXRoOiAnLi4vLi4vYXNzZXRzL2FnaWxlLXJldHJvLWljb25zLyc7XG5AaW1wb3J0ICcuLi8uLi9hc3NldHMvYWdpbGUtcmV0cm8taWNvbnMvYXJldHJvLWljb25zLXN0eWxlLnNjc3MnO1xuXG5pbnB1dCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRhcmV0cm8tb3JhbmdlLWxpZ2h0O1xufVxuXG4udW5sb2dnZWQtZm9vdGVyIGJ1dHRvbiB7XG5cdGZvbnQtc2l6ZTogMzBwdDtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0aGVpZ2h0OiA1MHB4O1xufVxuIiwiXG4kYXJldHJvLWRhcms6ICMxMTEgIWltcG9ydGFudDtcbiRhcmV0cm8tZ3JleTogI2FhYSAhaW1wb3J0YW50O1xuJGFyZXRyby1ncmV5LWxpZ2h0OiAjZGRkICFpbXBvcnRhbnQ7XG4kYXJldHJvLW9yYW5nZS1saWdodDogcmdiKDI1NSwgMjM5LCAyMzIpICFpbXBvcnRhbnQ7XG4kYXJldHJvLW9yYW5nZTogI2YxNmUwMCAhaW1wb3J0YW50O1xuJGFyZXRyby1vcmFuZ2UtZGFyazogI2E1NGEwMCAhaW1wb3J0YW50O1xuJGFyZXRyby1yZWQ6ICNhMDAgIWltcG9ydGFudDtcbiRhcmV0cm8tYmx1ZS1kYXJrOiAjM2U1OTk0ICFpbXBvcnRhbnQ7XG4iXX0= */\";","import { escapeHtmlSpecialchars } from './../utilities/utilities';\nimport { Component, OnInit, Inject } from '@angular/core';\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.scss']\n})\nexport class LoginComponent implements OnInit {\n\n\tprivate loginWithPassword = true;\n\tprivate pwdLoginBtnEnabled = true;\n\tprivate phoneLoginBtnEnabled = true;\n constructor(\n @Inject('webcom_img_url') private webcomImgUrl,\n @Inject ('baseWebcomref') private webcomRef,\n @Inject('idHandler') private idHandler,\n @Inject ('toastSvc') private toastService,\n ) { }\n\n\tngOnInit() { }\n\n loginOnSubmit(mail: string, password: string): boolean {\n\t\tthis.pwdLoginBtnEnabled = false;\n\t\tthis.toastService.showStandard('Processing ...');\n\n\t\t// TODo : is mail format + provider en dur dans le login\n\t\tif(!this.idHandler.matchesMailFormat(mail)) {\n\t\t\tthis.pwdLoginBtnEnabled = true;\n\t\t\tthis.toastService.showDanger(\"login : bad format\"); return false;\n\t\t}\n\n\t\tconst credentials = {\n\t\t\tid: mail,\n\t\t\tpassword: password\n\t\t};\n\t\tthis.doLogin(\"password\", credentials)\n\t\t.then(()=>{\n\t\t\tthis.toastService.showSuccess('login: user connected successfully.');\n\t\t\treturn true;\n\t\t}).catch((err)=> {\n\t\t\tthis.pwdLoginBtnEnabled = true;\n\t\t})\n\t}\n\n\n\tloginOnSubmitPhone(msisdn): boolean {\n\t\tthis.phoneLoginBtnEnabled = false;\n\t\tthis.toastService.showStandard('Processing ...');\n\n\t\tif(!this.idHandler.matchesMsisdnFormat(msisdn)) {\n\t\t\tthis.phoneLoginBtnEnabled = true;\n\t\t\tthis.toastService.showStandard(\"login : bad format\"); return false;\n\t\t}\n\t\tthis.sendAndConfirmChallenge(msisdn)\n\t\t.then((phoneBasedCreds)=> this.doLogin(\"phone\", {\n\t\t\tid: msisdn,\n\t\t\tchallenge: phoneBasedCreds['challenge'],\n\t\t\tpassword: phoneBasedCreds['otp']\n\t\t}))\n\t\t.then(()=>{\n\t\t\tthis.toastService.showSuccess('login: user connected successfully.');\n\t\t\treturn true;\n\t\t})\n\t\t.catch((err)=>{\n\t\t\tthis.phoneLoginBtnEnabled = true;\n\t\t});\n\t}\n\n\n\tdoLogin(provider: string, credentials: object) {\n\t\tconsole.log('try to log in with ', credentials);\n\n\t\treturn this.webcomRef.authInternally(provider, credentials)\n\t\t.then((auth) => {\n\t\t\tconsole.log('login: loginOnSubmit: auth==', auth);\n\t\t})\n\t\t.catch((err)=>{\n\t\t\tconst errorMsg = `login not performed. err: ${err}`;\n\t\t\tthis.toastService.showDanger(errorMsg);\n throw err;\n\t\t})\n\t}\n\n\n sendAndConfirmChallenge(phoneId: string): Promise {\n return this.webcomRef.sendOtp(\"phone\", phoneId)\n .then(challenge => {\n\t\t\tconst userOtp = escapeHtmlSpecialchars(window.prompt('Please enter the message you have received to your phone :'));\n\t\t\tif (userOtp && /^\\d{4}$/.test(userOtp)) { // four-numbers format\n\t\t\t\treturn {challenge: challenge, otp: userOtp};\n\t\t\t}\n\t\t\treturn Promise.reject('Bad format.');\n });\n\t}\n\taskTheUserForTheReceivedOtp() {\n\t\treturn null;\n\t}\n\n\tsendResetOnclick(identity: string) {\n\t\tif(!!identity) {\n\t\t\tif (confirm(`An email will be sent to : ${identity}. Confirm ?`)) {\n\t\t\t\tthis.webcomRef.sendPasswordResetCode('password', identity)\n\t\t\t\t.then(()=>this.toastService.showSuccess(\"The email has been sent successfully.\"))\n\t\t\t\t.catch((err)=>this.toastService.showDanger(`An error has occurred : ${err}`))\n\t\t\t}\n\t\t} else this.toastService.showStandard('Please enter your email address in the email field.');\n\t}\n}\n","export default \"@charset \\\"UTF-8\\\";\\n@font-face {\\n font-family: \\\"agile-retro\\\";\\n src: url('agile-retro.ttf?z8wa1y') format(\\\"truetype\\\"), url('agile-retro.woff?z8wa1y') format(\\\"woff\\\"), url('agile-retro.svg?z8wa1y#agile-retro') format(\\\"svg\\\");\\n font-weight: normal;\\n font-style: normal;\\n font-display: block;\\n}\\n[class^=agile-retro-icon-], [class*=\\\" agile-retro-icon-\\\"] {\\n /* use !important to prevent issues with browser extensions that change fonts */\\n font-family: \\\"agile-retro\\\" !important;\\n speak: never;\\n font-style: normal;\\n font-weight: normal;\\n font-variant: normal;\\n text-transform: none;\\n line-height: 1;\\n /* Better Font Rendering =========== */\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n.agile-retro-icon-sign-out:before {\\n content: \\\"\\\";\\n}\\n.agile-retro-icon-sign-in:before {\\n content: \\\"\\\";\\n}\\n.agile-retro-icon-user-plus:before {\\n content: \\\"\\\";\\n}\\n.agile-retro-icon-key:before {\\n content: \\\"\\\";\\n}\\n.agile-retro-icon-cancel-circle:before {\\n content: \\\"\\\";\\n}\\n.agile-retro-icon-enter:before {\\n content: \\\"\\\";\\n}\\n.agile-retro-icon-exit:before {\\n content: \\\"\\\";\\n}\\ninput, textarea {\\n min-width: 0 !important;\\n}\\n.retro_head a {\\n font-size: 15pt;\\n}\\n.retro_head .back-btn {\\n color: black !important;\\n}\\n.retro_head .back-btn:hover, .retro_head .back-btn:focus {\\n color: white !important;\\n}\\n.retro_head .rm-leave-retro-btn {\\n color: white !important;\\n font-weight: normal;\\n}\\n.retro_head .rm-leave-retro-btn.icon-Leave-session {\\n transform: scaleX(-1);\\n}\\n.retro_container {\\n margin: auto 0;\\n max-width: none;\\n}\\n.panel-title {\\n display: flex;\\n flex-direction: row !important;\\n align-items: space-between;\\n}\\n.retro_title {\\n line-height: calc(32 / 30);\\n letter-spacing: -0.05rem;\\n display: block;\\n font-size: 30pt;\\n -webkit-margin-before: 0.67em;\\n margin-block-start: 0.67em;\\n -webkit-margin-start: 0px;\\n margin-inline-start: 0px;\\n -webkit-margin-end: 0px;\\n margin-inline-end: 0px;\\n font-weight: bold;\\n background-color: #0000 !important;\\n border: 0;\\n}\\n.cListContainer {\\n background-color: #ffefe8 !important;\\n}\\n.cListContainer .contact-ctrl {\\n font-size: 15pt;\\n padding: 5px;\\n}\\n.cListContainer .contact-ctrl.agile-retro-icon-cancel-circle:hover, .cListContainer .contact-ctrl.agile-retro-icon-cancel-circle:focus {\\n color: white;\\n background-color: #a00 !important;\\n}\\n.cListContainer .contact-ctrl.icon-Add:hover, .cListContainer .contact-ctrl.icon-Add:focus {\\n color: white;\\n background-color: #3e5994 !important;\\n}\\n.board {\\n min-height: 180px;\\n overflow-y: auto;\\n border: 3px solid #ddd !important;\\n}\\n.board_head {\\n display: flex;\\n flex-direction: row;\\n flex-wrap: wrap;\\n overflow: hidden;\\n}\\n.board_head .board_title {\\n width: 180px;\\n border: 0;\\n}\\n.add-card-btn, .add-board-btn {\\n background-color: #aaa !important;\\n color: white;\\n font-size: 2em;\\n}\\n.add-card-btn:hover, .add-card-btn:focus, .add-board-btn:hover, .add-board-btn:focus {\\n background-color: #f16e00 !important;\\n}\\n.add-card-btn {\\n height: 70px;\\n}\\n.add-board-btn {\\n height: 180px;\\n}\\n.aretro-card {\\n border: 3px solid #aaa !important;\\n}\\n.aretro-card .cardTxt {\\n min-height: 100px;\\n border: 0;\\n font-size: 14pt;\\n overflow-wrap: break-word;\\n}\\n.aretro-card .aretro-card-controls {\\n background-color: #ddd !important;\\n font-size: 20pt;\\n}\\n.aretro-card .aretro-card-controls .icon-Thumb-up:hover {\\n color: #3e5994 !important;\\n}\\n.aretro-card .aretro-card-controls .icon-trash:hover {\\n color: #a00 !important;\\n}\\n.card-common {\\n margin: 10px 0;\\n border-radius: 2px;\\n}\\n.collab-section-heading {\\n -webkit-margin-before: 0.9em;\\n margin-block-start: 0.9em;\\n}\\n.collab-section-heading span {\\n margin-left: 5px !important;\\n}\\n.collabUid {\\n display: none;\\n word-wrap: break-word;\\n}\\n#swiper .swiper-button {\\n color: #f16e00 !important;\\n position: absolute;\\n top: 15px;\\n}\\n#swiper .swiper-button:after {\\n content: \\\"\\\";\\n}\\n#swiper .swiper-button-next {\\n right: 0px;\\n}\\n#swiper .swiper-button-prev {\\n left: 0px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcmV0cm8tc2NyZWVuL3JldHJvLXNjcmVlbi5jb21wb25lbnQuc2NzcyIsIi9idWlsZHMvZXRoZXJ0b29scy9yZXRyb3dlYi9zcmMvYXNzZXRzL2FnaWxlLXJldHJvLWljb25zL2FyZXRyby1pY29ucy1zdHlsZS5zY3NzIiwiL2J1aWxkcy9ldGhlcnRvb2xzL3JldHJvd2ViL3NyYy9hc3NldHMvYWdpbGUtcmV0cm8taWNvbnMvYXJldHJvLWljb25zLXZhcmlhYmxlcy5zY3NzIiwiL2J1aWxkcy9ldGhlcnRvb2xzL3JldHJvd2ViL3NyYy9hcHAvcmV0cm8tc2NyZWVuL3JldHJvLXNjcmVlbi5jb21wb25lbnQuc2NzcyIsIi9idWlsZHMvZXRoZXJ0b29scy9yZXRyb3dlYi9zcmMvdmFyaWFibGVzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDRWhCO0VBQ0UsMEJBQUE7RUFDQSw2SkFDRTtFQUdGLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtBREhGO0FDTUE7RUFDRSwrRUFBQTtFQUNBLHFDQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLG9CQUFBO0VBQ0EsY0FBQTtFQUVBLHNDQUFBO0VBQ0EsbUNBQUE7RUFDQSxrQ0FBQTtBRExGO0FDU0U7RUFDRSxZQzFCd0I7QUZvQjVCO0FDVUU7RUFDRSxZQzlCdUI7QUZ1QjNCO0FDV0U7RUFDRSxZQ2xDeUI7QUYwQjdCO0FDWUU7RUFDRSxZQ3RDbUI7QUY2QnZCO0FDYUU7RUFDRSxZQzFDNkI7QUZnQ2pDO0FDY0U7RUFDRSxZQzlDcUI7QUZtQ3pCO0FDZUU7RUFDRSxZQ2xEb0I7QUZzQ3hCO0FHNUNBO0VBQ0MsdUJBQUE7QUgrQ0Q7QUczQ0M7RUFDQyxlQUFBO0FIOENGO0FHNUNDO0VBQ0MsdUJBQUE7QUg4Q0Y7QUc3Q0U7RUFDQyx1QkFBQTtBSCtDSDtBRzVDQztFQUNDLHVCQUFBO0VBQ0EsbUJBQUE7QUg4Q0Y7QUc3Q0U7RUFJQyxxQkFBQTtBSCtDSDtBRzFDQTtFQUNDLGNBQUE7RUFDQSxlQUFBO0FINkNEO0FHMUNBO0VBQ0MsYUFBQTtFQUNBLDhCQUFBO0VBQ0EsMEJBQUE7QUg2Q0Q7QUczQ0E7RUFDQywwQkFBQTtFQUNBLHdCQUFBO0VBQ0EsY0FBQTtFQUNBLGVBQUE7RUFDQSw2QkFBQTtVQUFBLDBCQUFBO0VBQ0EseUJBQUE7VUFBQSx3QkFBQTtFQUNBLHVCQUFBO1VBQUEsc0JBQUE7RUFDQSxpQkFBQTtFQUVBLGtDQUFBO0VBQ0EsU0FBQTtBSDZDRDtBRzNDQTtFQUNDLG9DQ2xEcUI7QUpnR3RCO0FHN0NDO0VBQ0MsZUFBQTtFQUNBLFlBQUE7QUgrQ0Y7QUc1Q0c7RUFDQyxZQUFBO0VBQ0EsaUNDdkRTO0FKcUdiO0FHMUNHO0VBQ0MsWUFBQTtFQUNBLG9DQzVEZTtBSndHbkI7QUd0Q0E7RUFDQyxpQkFBQTtFQUNBLGdCQUFBO0VBQ0EsaUNBQUE7QUh5Q0Q7QUd2Q0E7RUFDQyxhQUFBO0VBQWUsbUJBQUE7RUFBcUIsZUFBQTtFQUNwQyxnQkFBQTtBSDRDRDtBRzNDQztFQUNDLFlBQUE7RUFDQSxTQUFBO0FINkNGO0FHekNBO0VBQ0MsaUNDdkZhO0VEd0ZiLFlBQUE7RUFDQSxjQUFBO0FINENEO0FHM0NDO0VBQ0Msb0NDeEZjO0FKcUloQjtBRzFDQTtFQUNDLFlBQUE7QUg2Q0Q7QUczQ0E7RUFDQyxhQUFBO0FIOENEO0FHNUNBO0VBQ0MsaUNBQUE7QUgrQ0Q7QUc5Q0M7RUFDQyxpQkFBQTtFQUNBLFNBQUE7RUFDQSxlQUFBO0VBQ0EseUJBQUE7QUhnREY7QUc5Q0M7RUFDQyxpQ0M1R2tCO0VENkdsQixlQUFBO0FIZ0RGO0FHOUNHO0VBQ0MseUJDM0dlO0FKMkpuQjtBRzVDRztFQUNDLHNCQ2pIUztBSitKYjtBR3pDQTtFQUNDLGNBQUE7RUFDQSxrQkFBQTtBSDRDRDtBR3pDQTtFQUNDLDRCQUFBO1VBQUEseUJBQUE7QUg0Q0Q7QUczQ0M7RUFDQywyQkFBQTtBSDZDRjtBRzFDQTtFQUNDLGFBQUE7RUFDQSxxQkFBQTtBSDZDRDtBRzFDQztFQUNDLHlCQ3pJYztFRDBJZCxrQkFBQTtFQUNBLFNBQUE7QUg2Q0Y7QUc1Q0U7RUFDQyxXQUFBO0FIOENIO0FHM0NDO0VBQ0MsVUFBQTtBSDZDRjtBRzNDQztFQUNDLFNBQUE7QUg2Q0YiLCJmaWxlIjoic3JjL2FwcC9yZXRyby1zY3JlZW4vcmV0cm8tc2NyZWVuLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImFnaWxlLXJldHJvXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vYXNzZXRzL2FnaWxlLXJldHJvLWljb25zL2ZvbnRzL2FnaWxlLXJldHJvLnR0Zj96OHdhMXlcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uLy4uL2Fzc2V0cy9hZ2lsZS1yZXRyby1pY29ucy9mb250cy9hZ2lsZS1yZXRyby53b2ZmP3o4d2ExeVwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi8uLi9hc3NldHMvYWdpbGUtcmV0cm8taWNvbnMvZm9udHMvYWdpbGUtcmV0cm8uc3ZnP3o4d2ExeSNhZ2lsZS1yZXRyb1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBibG9jaztcbn1cbltjbGFzc149YWdpbGUtcmV0cm8taWNvbi1dLCBbY2xhc3MqPVwiIGFnaWxlLXJldHJvLWljb24tXCJdIHtcbiAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cbiAgZm9udC1mYW1pbHk6IFwiYWdpbGUtcmV0cm9cIiAhaW1wb3J0YW50O1xuICBzcGVhazogbmV2ZXI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4uYWdpbGUtcmV0cm8taWNvbi1zaWduLW91dDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kgFwiO1xufVxuXG4uYWdpbGUtcmV0cm8taWNvbi1zaWduLWluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSBXCI7XG59XG5cbi5hZ2lsZS1yZXRyby1pY29uLXVzZXItcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ls1wiO1xufVxuXG4uYWdpbGUtcmV0cm8taWNvbi1rZXk6YmVmb3JlIHtcbiAgY29udGVudDogXCLupo1cIjtcbn1cblxuLmFnaWxlLXJldHJvLWljb24tY2FuY2VsLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ojVwiO1xufVxuXG4uYWdpbGUtcmV0cm8taWNvbi1lbnRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ok1wiO1xufVxuXG4uYWdpbGUtcmV0cm8taWNvbi1leGl0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qiUXCI7XG59XG5cbmlucHV0LCB0ZXh0YXJlYSB7XG4gIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xufVxuXG4ucmV0cm9faGVhZCBhIHtcbiAgZm9udC1zaXplOiAxNXB0O1xufVxuLnJldHJvX2hlYWQgLmJhY2stYnRuIHtcbiAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG59XG4ucmV0cm9faGVhZCAuYmFjay1idG46aG92ZXIsIC5yZXRyb19oZWFkIC5iYWNrLWJ0bjpmb2N1cyB7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuLnJldHJvX2hlYWQgLnJtLWxlYXZlLXJldHJvLWJ0biB7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuLnJldHJvX2hlYWQgLnJtLWxlYXZlLXJldHJvLWJ0bi5pY29uLUxlYXZlLXNlc3Npb24ge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKC0xKTtcbiAgLW1vei10cmFuc2Zvcm06IHNjYWxlWCgtMSk7XG4gIC1vLXRyYW5zZm9ybTogc2NhbGVYKC0xKTtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xufVxuXG4ucmV0cm9fY29udGFpbmVyIHtcbiAgbWFyZ2luOiBhdXRvIDA7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cblxuLnBhbmVsLXRpdGxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xuICBhbGlnbi1pdGVtczogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLnJldHJvX3RpdGxlIHtcbiAgbGluZS1oZWlnaHQ6IGNhbGMoMzIgLyAzMCk7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wNXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMzBwdDtcbiAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwLjY3ZW07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDBweDtcbiAgbWFyZ2luLWlubGluZS1lbmQ6IDBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLmNMaXN0Q29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlOCAhaW1wb3J0YW50O1xufVxuLmNMaXN0Q29udGFpbmVyIC5jb250YWN0LWN0cmwge1xuICBmb250LXNpemU6IDE1cHQ7XG4gIHBhZGRpbmc6IDVweDtcbn1cbi5jTGlzdENvbnRhaW5lciAuY29udGFjdC1jdHJsLmFnaWxlLXJldHJvLWljb24tY2FuY2VsLWNpcmNsZTpob3ZlciwgLmNMaXN0Q29udGFpbmVyIC5jb250YWN0LWN0cmwuYWdpbGUtcmV0cm8taWNvbi1jYW5jZWwtY2lyY2xlOmZvY3VzIHtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTAwICFpbXBvcnRhbnQ7XG59XG4uY0xpc3RDb250YWluZXIgLmNvbnRhY3QtY3RybC5pY29uLUFkZDpob3ZlciwgLmNMaXN0Q29udGFpbmVyIC5jb250YWN0LWN0cmwuaWNvbi1BZGQ6Zm9jdXMge1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzZTU5OTQgIWltcG9ydGFudDtcbn1cblxuLmJvYXJkIHtcbiAgbWluLWhlaWdodDogMTgwcHg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGJvcmRlcjogM3B4IHNvbGlkICNkZGQgIWltcG9ydGFudDtcbn1cblxuLmJvYXJkX2hlYWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uYm9hcmRfaGVhZCAuYm9hcmRfdGl0bGUge1xuICB3aWR0aDogMTgwcHg7XG4gIGJvcmRlcjogMDtcbn1cblxuLmFkZC1jYXJkLWJ0biwgLmFkZC1ib2FyZC1idG4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWFhICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiAyZW07XG59XG4uYWRkLWNhcmQtYnRuOmhvdmVyLCAuYWRkLWNhcmQtYnRuOmZvY3VzLCAuYWRkLWJvYXJkLWJ0bjpob3ZlciwgLmFkZC1ib2FyZC1idG46Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjE2ZTAwICFpbXBvcnRhbnQ7XG59XG5cbi5hZGQtY2FyZC1idG4ge1xuICBoZWlnaHQ6IDcwcHg7XG59XG5cbi5hZGQtYm9hcmQtYnRuIHtcbiAgaGVpZ2h0OiAxODBweDtcbn1cblxuLmFyZXRyby1jYXJkIHtcbiAgYm9yZGVyOiAzcHggc29saWQgI2FhYSAhaW1wb3J0YW50O1xufVxuLmFyZXRyby1jYXJkIC5jYXJkVHh0IHtcbiAgbWluLWhlaWdodDogMTAwcHg7XG4gIGJvcmRlcjogMDtcbiAgZm9udC1zaXplOiAxNHB0O1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xufVxuLmFyZXRyby1jYXJkIC5hcmV0cm8tY2FyZC1jb250cm9scyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZGQgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAyMHB0O1xufVxuLmFyZXRyby1jYXJkIC5hcmV0cm8tY2FyZC1jb250cm9scyAuaWNvbi1UaHVtYi11cDpob3ZlciB7XG4gIGNvbG9yOiAjM2U1OTk0ICFpbXBvcnRhbnQ7XG59XG4uYXJldHJvLWNhcmQgLmFyZXRyby1jYXJkLWNvbnRyb2xzIC5pY29uLXRyYXNoOmhvdmVyIHtcbiAgY29sb3I6ICNhMDAgIWltcG9ydGFudDtcbn1cblxuLmNhcmQtY29tbW9uIHtcbiAgbWFyZ2luOiAxMHB4IDA7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbn1cblxuLmNvbGxhYi1zZWN0aW9uLWhlYWRpbmcge1xuICBtYXJnaW4tYmxvY2stc3RhcnQ6IDAuOWVtO1xufVxuLmNvbGxhYi1zZWN0aW9uLWhlYWRpbmcgc3BhbiB7XG4gIG1hcmdpbi1sZWZ0OiA1cHggIWltcG9ydGFudDtcbn1cblxuLmNvbGxhYlVpZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxuI3N3aXBlciAuc3dpcGVyLWJ1dHRvbiB7XG4gIGNvbG9yOiAjZjE2ZTAwICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNXB4O1xufVxuI3N3aXBlciAuc3dpcGVyLWJ1dHRvbjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG4jc3dpcGVyIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICByaWdodDogMHB4O1xufVxuI3N3aXBlciAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgbGVmdDogMHB4O1xufSIsIkBpbXBvcnQgXCJhcmV0cm8taWNvbnMtdmFyaWFibGVzXCI7XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJyN7JGljb21vb24tZm9udC1mYW1pbHl9JztcbiAgc3JjOlxuICAgIHVybCgnI3skaWNvbW9vbi1mb250LXBhdGh9LyN7JGljb21vb24tZm9udC1mYW1pbHl9LnR0Zj96OHdhMXknKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKCcjeyRpY29tb29uLWZvbnQtcGF0aH0vI3skaWNvbW9vbi1mb250LWZhbWlseX0ud29mZj96OHdhMXknKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJyN7JGljb21vb24tZm9udC1wYXRofS8jeyRpY29tb29uLWZvbnQtZmFtaWx5fS5zdmc/ejh3YTF5IyN7JGljb21vb24tZm9udC1mYW1pbHl9JykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IGJsb2NrO1xufVxuXG5bY2xhc3NePVwiYWdpbGUtcmV0cm8taWNvbi1cIl0sIFtjbGFzcyo9XCIgYWdpbGUtcmV0cm8taWNvbi1cIl0ge1xuICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xuICBmb250LWZhbWlseTogJyN7JGljb21vb24tZm9udC1mYW1pbHl9JyAhaW1wb3J0YW50O1xuICBzcGVhazogbmV2ZXI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcblxuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi5hZ2lsZS1yZXRyby1pY29uLXNpZ24tb3V0IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRhZ2lsZS1yZXRyby1pY29uLXNpZ24tb3V0OyBcbiAgfVxufVxuLmFnaWxlLXJldHJvLWljb24tc2lnbi1pbiB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkYWdpbGUtcmV0cm8taWNvbi1zaWduLWluOyBcbiAgfVxufVxuLmFnaWxlLXJldHJvLWljb24tdXNlci1wbHVzIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRhZ2lsZS1yZXRyby1pY29uLXVzZXItcGx1czsgXG4gIH1cbn1cbi5hZ2lsZS1yZXRyby1pY29uLWtleSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkYWdpbGUtcmV0cm8taWNvbi1rZXk7IFxuICB9XG59XG4uYWdpbGUtcmV0cm8taWNvbi1jYW5jZWwtY2lyY2xlIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRhZ2lsZS1yZXRyby1pY29uLWNhbmNlbC1jaXJjbGU7IFxuICB9XG59XG4uYWdpbGUtcmV0cm8taWNvbi1lbnRlciB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkYWdpbGUtcmV0cm8taWNvbi1lbnRlcjsgXG4gIH1cbn1cbi5hZ2lsZS1yZXRyby1pY29uLWV4aXQge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGFnaWxlLXJldHJvLWljb24tZXhpdDsgXG4gIH1cbn1cblxuIiwiXG4kaWNvbW9vbi1mb250LWZhbWlseTogXCJhZ2lsZS1yZXRyb1wiICFkZWZhdWx0O1xuJGljb21vb24tZm9udC1wYXRoOiBcIiN7JGFyZXRyby1pY29ucy1mb2xkZXItcGF0aH1mb250c1wiICFkZWZhdWx0O1xuXG4kYWdpbGUtcmV0cm8taWNvbi1zaWduLW91dDogXCJcXGU5MDBcIjtcbiRhZ2lsZS1yZXRyby1pY29uLXNpZ24taW46IFwiXFxlOTAxXCI7XG4kYWdpbGUtcmV0cm8taWNvbi11c2VyLXBsdXM6IFwiXFxlOTczXCI7XG4kYWdpbGUtcmV0cm8taWNvbi1rZXk6IFwiXFxlOThkXCI7XG4kYWdpbGUtcmV0cm8taWNvbi1jYW5jZWwtY2lyY2xlOiBcIlxcZWEwZFwiO1xuJGFnaWxlLXJldHJvLWljb24tZW50ZXI6IFwiXFxlYTEzXCI7XG4kYWdpbGUtcmV0cm8taWNvbi1leGl0OiBcIlxcZWExNFwiO1xuXG4iLCJAaW1wb3J0ICcuLi8uLi92YXJpYWJsZXMuc2Nzcyc7XG4kYXJldHJvLWljb25zLWZvbGRlci1wYXRoOiAnLi4vLi4vYXNzZXRzL2FnaWxlLXJldHJvLWljb25zLyc7XG5AaW1wb3J0ICcuLi8uLi9hc3NldHMvYWdpbGUtcmV0cm8taWNvbnMvYXJldHJvLWljb25zLXN0eWxlLnNjc3MnO1xuXG5pbnB1dCwgdGV4dGFyZWEge1xuXHRtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbn1cblxuLnJldHJvX2hlYWQge1xuXHQmIGEge1xuXHRcdGZvbnQtc2l6ZTogMTVwdDtcblx0fVxuXHQmIC5iYWNrLWJ0biB7XG5cdFx0Y29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG5cdFx0Jjpob3ZlciwgJjpmb2N1cyB7XG5cdFx0XHRjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cblx0JiAucm0tbGVhdmUtcmV0cm8tYnRuIHtcblx0XHRjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcblx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdCYuaWNvbi1MZWF2ZS1zZXNzaW9uIHtcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xuXHRcdFx0LW1vei10cmFuc2Zvcm06IHNjYWxlWCgtMSk7XG5cdFx0XHQtby10cmFuc2Zvcm06IHNjYWxlWCgtMSk7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlWCgtMSk7XG5cdFx0fVxuXHR9XG59XG5cbi5yZXRyb19jb250YWluZXIge1xuXHRtYXJnaW46IGF1dG8gMDtcblx0bWF4LXdpZHRoOiBub25lO1xufVxuXG4ucGFuZWwtdGl0bGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93ICFpbXBvcnRhbnQ7XG5cdGFsaWduLWl0ZW1zOiBzcGFjZS1iZXR3ZWVuO1xufVxuLnJldHJvX3RpdGxlIHtcblx0bGluZS1oZWlnaHQ6IGNhbGMoMzIgLyAzMCk7XG5cdGxldHRlci1zcGFjaW5nOiAtLjA1cmVtO1xuXHRkaXNwbGF5OiBibG9jaztcblx0Zm9udC1zaXplOiAzMHB0O1xuXHRtYXJnaW4tYmxvY2stc3RhcnQ6IDAuNjdlbTtcblx0bWFyZ2luLWlubGluZS1zdGFydDogMHB4O1xuXHRtYXJnaW4taW5saW5lLWVuZDogMHB4O1xuXHRmb250LXdlaWdodDogYm9sZDtcblxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMCAhaW1wb3J0YW50O1xuXHRib3JkZXI6IDA7XG59XG4uY0xpc3RDb250YWluZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYXJldHJvLW9yYW5nZS1saWdodDtcblx0JiAuY29udGFjdC1jdHJsIHtcblx0XHRmb250LXNpemU6IDE1cHQ7XG5cdFx0cGFkZGluZzogNXB4O1xuXG5cdFx0Ji5hZ2lsZS1yZXRyby1pY29uLWNhbmNlbC1jaXJjbGUge1xuXHRcdFx0Jjpob3ZlciwgJjpmb2N1cyB7XG5cdFx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGFyZXRyby1yZWQ7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYuaWNvbi1BZGQge1xuXHRcdFx0Jjpob3ZlciwgJjpmb2N1cyB7XG5cdFx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGFyZXRyby1ibHVlLWRhcms7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5ib2FyZCB7XG5cdG1pbi1oZWlnaHQ6IDE4MHB4O1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRib3JkZXI6IDNweCBzb2xpZCAkYXJldHJvLWdyZXktbGlnaHQ7XG59XG4uYm9hcmRfaGVhZCB7XG5cdGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiByb3c7IGZsZXgtd3JhcDogd3JhcDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0JiAuYm9hcmRfdGl0bGUge1xuXHRcdHdpZHRoOiAxODBweDtcblx0XHRib3JkZXI6IDA7XG5cdH1cbn1cblxuLmFkZC1jYXJkLWJ0biwgLmFkZC1ib2FyZC1idG4ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYXJldHJvLWdyZXk7XG5cdGNvbG9yOiB3aGl0ZTtcblx0Zm9udC1zaXplOiAyZW07XG5cdCY6aG92ZXIsICY6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRhcmV0cm8tb3JhbmdlO1xuXHR9XG59XG4uYWRkLWNhcmQtYnRuIHtcblx0aGVpZ2h0OiA3MHB4O1xufVxuLmFkZC1ib2FyZC1idG4ge1xuXHRoZWlnaHQ6IDE4MHB4O1xufVxuLmFyZXRyby1jYXJkIHtcblx0Ym9yZGVyOiAzcHggc29saWQgJGFyZXRyby1ncmV5O1xuXHQmIC5jYXJkVHh0IHtcblx0XHRtaW4taGVpZ2h0OiAxMDBweDtcblx0XHRib3JkZXI6IDA7XG5cdFx0Zm9udC1zaXplOiAxNHB0O1xuXHRcdG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG5cdH1cblx0JiAuYXJldHJvLWNhcmQtY29udHJvbHMge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRhcmV0cm8tZ3JleS1saWdodDtcblx0XHRmb250LXNpemU6IDIwcHQ7XG5cdFx0JiAuaWNvbi1UaHVtYi11cCB7XG5cdFx0XHQmOmhvdmVye1xuXHRcdFx0XHRjb2xvcjogJGFyZXRyby1ibHVlLWRhcms7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYgLmljb24tdHJhc2gge1xuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGNvbG9yOiAkYXJldHJvLXJlZDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbi5jYXJkLWNvbW1vbiB7XG5cdG1hcmdpbjogMTBweCAwO1xuXHRib3JkZXItcmFkaXVzOiAycHg7XG59XG5cbi5jb2xsYWItc2VjdGlvbi1oZWFkaW5nIHtcblx0bWFyZ2luLWJsb2NrLXN0YXJ0OiAwLjkwZW07XG5cdCYgc3BhbiB7XG5cdFx0bWFyZ2luLWxlZnQ6IDVweCAhaW1wb3J0YW50O1xuXHR9XG59XG4uY29sbGFiVWlkIHtcblx0ZGlzcGxheTogbm9uZTtcblx0d29yZC13cmFwOiBicmVhay13b3JkO1xufVxuI3N3aXBlciB7XG5cdCYgLnN3aXBlci1idXR0b24ge1xuXHRcdGNvbG9yOiAkYXJldHJvLW9yYW5nZTtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAxNXB4O1xuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0fVxuXHR9XG5cdCYgLnN3aXBlci1idXR0b24tbmV4dCB7XG5cdFx0cmlnaHQ6IDBweDtcblx0fVxuXHQmIC5zd2lwZXItYnV0dG9uLXByZXYge1xuXHRcdGxlZnQ6IDBweDtcblx0fVxufVxuIiwiXG4kYXJldHJvLWRhcms6ICMxMTEgIWltcG9ydGFudDtcbiRhcmV0cm8tZ3JleTogI2FhYSAhaW1wb3J0YW50O1xuJGFyZXRyby1ncmV5LWxpZ2h0OiAjZGRkICFpbXBvcnRhbnQ7XG4kYXJldHJvLW9yYW5nZS1saWdodDogcmdiKDI1NSwgMjM5LCAyMzIpICFpbXBvcnRhbnQ7XG4kYXJldHJvLW9yYW5nZTogI2YxNmUwMCAhaW1wb3J0YW50O1xuJGFyZXRyby1vcmFuZ2UtZGFyazogI2E1NGEwMCAhaW1wb3J0YW50O1xuJGFyZXRyby1yZWQ6ICNhMDAgIWltcG9ydGFudDtcbiRhcmV0cm8tYmx1ZS1kYXJrOiAjM2U1OTk0ICFpbXBvcnRhbnQ7XG4iXX0= */\";","import { getKeys, getEntries, getLength } from './../utilities/utilities';\nimport { Component, OnInit, Inject, NgZone, ElementRef, ViewChild } from '@angular/core';\n\nimport { ActivatedRoute, Router } from '@angular/router';\n\nimport { SwiperComponent } from \"ngx-useful-swiper\";\nimport { SwiperOptions } from \"swiper\";\n\n@Component({\n selector: 'app-retro-screen',\n templateUrl: './retro-screen.component.html',\n styleUrls: ['./retro-screen.component.scss']\n})\nexport class RetroScreenComponent implements OnInit {\n static readonly DefaultRetroData = {};\n\n private retroRef;\n private collabsRef;\n private retroSubscriptionCallback;\n private contactsSubscriptionCallback;\n private retroData: Object = RetroScreenComponent.DefaultRetroData;\n private contactsData: Object = {};\n private collabsNicknames: Object = {};\n\tprivate retroId: string\n private ownerId: string\n private getKeys = getKeys;\n private getEntries = getEntries;\n private getLength = getLength;\n private displayNewBoardForm = false;\n private suppliedBoardId = \"\";\n private displayCollabsPanel = false;\n private displayContactsPanel = false;\n \n @ViewChild('boardSwiper', { static: false }) private boardSwiper: SwiperComponent;\n\n private config: SwiperOptions = {\n simulateTouch : this.isMobileOrTabletDevice(),\n allowTouchMove: true,\n breakpoints: {\n 2400: { slidesPerView: 6 },\n 2000: { slidesPerView: 5 },\n 1600: { slidesPerView: 4 },\n 1024: { slidesPerView: 3 },\n 600: { slidesPerView: 2 },\n 400: { slidesPerView: 1 }\n },\n navigation: {\n nextEl: '.swiper-button-next',\n prevEl: '.swiper-button-prev'\n },\n spaceBetween: 25,\n };\n\n\n\n constructor(\n @Inject('baseWebcomref') private webcomRef,\n @Inject('toastSvc') private toastService,\n private router: Router,\n private route: ActivatedRoute,\n private _ngZone: NgZone,\n ) { }\n\n\n ngOnInit(): void {\n\t\tthis.retroId = this.route.snapshot.paramMap.get('retroId');\n this.ownerId = this.route.snapshot.paramMap.get('ownerId');\n\n this.retroRef = this.webcomRef.child(`spaces/${this.ownerId}/retros/${this.retroId}`);\n this.collabsRef = this.retroRef.child('givenAuthorizations');\n\n this.retroSubscriptionCallback = this.retroRef.on('value', (dataSnapshot) => {\n const newValue = dataSnapshot.val();\n if (!newValue) {\n this._ngZone.run(() => this.retroData = RetroScreenComponent.DefaultRetroData);\n } else {\n this.fetchCollabsNicknames(newValue['givenAuthorizations'])\n this._ngZone.run(() => this.retroData = newValue);\n }\n console.log(\"wha happen \", newValue);\n });\n this.contactsSubscriptionCallback = this.webcomRef\n .child(`spaces/${this.webcomRef.authState.uid}/contacts`)\n .on('value', (snap)=>{\n const newValue = snap.val();\n if (!newValue) this._ngZone.run(() => this.contactsData = {});\n else this._ngZone.run(() => this.contactsData = newValue);\n })\n }\n ngOnDestroy() {\n console.log(\"ondestroy\");\n this.retroRef.off('value', this.retroSubscriptionCallback);\n this.webcomRef.off('value', this.contactsSubscriptionCallback);\n }\n\n editRetroTitle(newRetroTitle: string) {\n this.retroRef.child(`title`)\n .set(newRetroTitle, (err)=>{\n if(err) this.toastService.showDanger(err);\n });\n }\n removeRetroOnClick() {\n if(confirm(`Are you sure you want to delete this retro '${this.retroData['title']}' ? (This action is irreversible.)`)) this.retroRef.remove((err)=>{\n if(err) this.toastService.showDanger(err);\n else this._ngZone.run(() => this.router.navigate(['/listretros']));\n });\n }\n\n addBoardOnSubmit(boardTitle: string) {\n this.retroRef.child('boards')\n .push({'title': boardTitle}, (err)=>{\n if(err) this.toastService.showDanger(err);\n this._ngZone.run(() => this.displayNewBoardForm = false);\n });\n }\n editBoardTitle(newBoardTitle: string, boardId: string) {\n this.retroRef.child(`boards/${boardId}/title`)\n .set(newBoardTitle, (err)=>{\n if(err) this.toastService.showDanger(err);\n });\n }\n removeBoardOnClick(boardId: string) {\n if(confirm(`Are you sure you want to delete the board '${this.retroData['boards'][boardId]['title']}' ? (This action is irreversible.)`)) this.retroRef.child(`boards/${boardId}`).remove();\n }\n\n addCard(newCardContent: string, boardId: string) {\n this.retroRef.child(`boards/${boardId}/cards`)\n .push({'content': newCardContent}, (err)=>{\n if(err) this.toastService.showDanger(err);\n else this._ngZone.run(()=> this.suppliedBoardId = '');\n });\n }\n editCardOnSubmit(newCardContent: string, boardId: string, cardId: string, elementRef: HTMLParagraphElement) {\n const updateCardContent = ()=>{\n this.retroRef.child(`boards/${boardId}/cards/${cardId}/content`)\n .set(newCardContent, (err)=>{\n if(err) this.toastService.showDanger(err);\n });\n }\n\n if(!!!newCardContent) this.restoreAncientCardValue(boardId, cardId, elementRef);\n else if (newCardContent !== this.retroData['boards'][boardId].cards[cardId].content) updateCardContent();\n }\n restoreAncientCardValue(boardId: string, cardId: string, elementRef: HTMLParagraphElement) {\n this._ngZone.run(() => elementRef.textContent = this.retroData['boards'][boardId].cards[cardId].content);\n }\n removeCardOnClick(boardId: string, cardId: string) {\n if(confirm(`Are you sure you want to delete the card ?`)) this.retroRef.child(`boards/${boardId}/cards/${cardId}`).remove();\n }\n\n isCardLiked(boardId: string, cardId: string){\n const userId = this.webcomRef.authState.uid;\n return this.isCardLikedUserId(boardId, cardId, userId);\n }\n\n isCardLikedUserId(boardId: string, cardId: string, userId: string){\n return this.retroData['boards'][boardId].cards[cardId].votes && this.retroData['boards'][boardId].cards[cardId].votes[userId];\n }\n\n toggleVoteOnClick(boardId: string, cardId: string) {\n const userId = this.webcomRef.authState.uid;\n if(this.isCardLikedUserId(boardId, cardId, userId)){\n this.retroRef.child(`boards/${boardId}/cards/${cardId}/votes/${userId}`).remove();\n } else {\n this.retroRef.child(`boards/${boardId}/cards/${cardId}/votes/${userId}`)\n .set(new Date().toJSON(), (err)=>{\n if(err) this.toastService.showDanger(err);\n });\n }\n }\n\n addCollaborator(idObj: object) {\n if (this.retroData['givenAuthorizations'] && this.retroData['givenAuthorizations'][idObj[\"foundUid\"]]) {\n this.toastService.showStandard(`${idObj['foundId']} collaborates already to this retro.`)\n return Promise.resolve();\n }\n return new Promise((resolve, reject)=>{\n // Add collab at owner's side\n this.collabsRef.child(idObj[\"foundUid\"])\n .set((this.ownerId), ()=> {\n\n // add authorization to the retro at collab's side\n this.webcomRef.child(`spaces/${idObj[\"foundUid\"]}/receivedAuthorizations/${this.retroId}`)\n .set(this.ownerId, ()=> resolve());\n });\n })\n }\n \n removeCollaborator(userUid) {\n if (confirm(`${userUid} will quit this retro. Confirm ?`)) {\n return new Promise((resolve, reject)=>{\n this.collabsRef.child(userUid)\n .remove(()=>{\n this.webcomRef.child(`spaces/${userUid}/receivedAuthorizations/${this.retroId}`)\n .remove(()=> resolve());\n });\n });\n } else return Promise.reject();\n }\n\n leaveRetro() {\n this.removeCollaborator(this.webcomRef.authState.uid)\n .then(()=>this._ngZone.run(() => this.router.navigate(['/listretros'])))\n .catch(()=>null);\n }\n sortCardIdsByVote(o: object, boardId: string): Array {\n if (!o) return [];\n const getCardVotesNumber = (cardId: string) =>{\n return this.getLength( this.retroData['boards'][boardId]['cards'][cardId]['votes']);\n }\n return this.getKeys(o).sort((cardId_a, cardId_b) => {\n return getCardVotesNumber(cardId_b) - getCardVotesNumber(cardId_a);\n });\n }\n\n fetchCollabsNicknames(collabsObject) {\n const promiseArray = [];\n for (const collabId in collabsObject) {\n promiseArray.push(this.findNickname(collabId)\n .then((collabNickname)=>{\n this._ngZone.run(()=> this.collabsNicknames[collabId] = collabNickname);\n }))\n }\n return Promise.all(promiseArray);\n }\n\n findNickname(userId) {\n return new Promise((res,rej)=>{\n this.webcomRef.child(`spaces/${userId}/nickname`)\n .once('value', (snap)=>{\n if (snap.val()) res(snap.val());\n else res('No nickname');\n })\n });\n }\n\n nextSlide() {\n this.boardSwiper.swiper.slideNext();\n }\n\n previousSlide() {\n this.boardSwiper.swiper.slidePrev();\n }\n \n slideToThis(index) {\n this.boardSwiper.swiper.slideTo(index);\n }\n\n isMobileOrTabletDevice() {\n const toMatch = [\n /Android/i,\n /webOS/i,\n /iPhone/i,\n /iPad/i,\n /iPod/i,\n /BlackBerry/i,\n /Windows Phone/i\n ];\n\n return toMatch.some((toMatchItem) => {\n return navigator.userAgent.match(toMatchItem);\n });\n }\n}\n","export default \".row {\\n margin: 0;\\n}\\n\\n.icon-info, .icon-search {\\n font-size: 15pt;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvZXRoZXJ0b29scy9yZXRyb3dlYi9zcmMvYXBwL3NlYXJjaGJhci9zZWFyY2hiYXIuY29tcG9uZW50LnNjc3MiLCJzcmMvYXBwL3NlYXJjaGJhci9zZWFyY2hiYXIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0E7RUFDQyxTQUFBO0FDQUQ7O0FER0E7RUFDQyxlQUFBO0FDQUQiLCJmaWxlIjoic3JjL2FwcC9zZWFyY2hiYXIvc2VhcmNoYmFyLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXG4ucm93IHtcblx0bWFyZ2luOiAwO1xufVxuXG4uaWNvbi1pbmZvLCAuaWNvbi1zZWFyY2gge1xuXHRmb250LXNpemU6IDE1cHQ7XG59IiwiLnJvdyB7XG4gIG1hcmdpbjogMDtcbn1cblxuLmljb24taW5mbywgLmljb24tc2VhcmNoIHtcbiAgZm9udC1zaXplOiAxNXB0O1xufSJdfQ== */\";","import { getKeys } from '../utilities/utilities';\nimport { Component, Inject, NgZone, ViewChild, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'app-searchbar',\n templateUrl: './searchbar.component.html',\n styleUrls: ['./searchbar.component.scss']\n})\nexport class SearchbarComponent {\n static readonly DefaultData = {};\n\n @Output() private externalAddCollab: EventEmitter = new EventEmitter;\n private getKeys = getKeys;\n @ViewChild('cSearchBar', {static: false}) private cSearchBarRef: HTMLInputElement;\n private foundCollabs: object[] = [];\n\n constructor(\n @Inject('idHandler') private idHandler,\n @Inject('baseWebcomref') private webcomRef,\n @Inject('toastSvc') private toastService,\n private _ngZone: NgZone,\n ) { }\n\n browseIdentity(userId) {\n if (!userId) return false;\n this.idHandler.getIdentityFromDatabase(userId).then((id)=> {\n if(id) {\n // a msisdn is not encoded, and encoded email doesn't match email format\n if(!this.idHandler.matchesMsisdnFormat(id.foundId)) id.foundId = this.idHandler.decodeMailId(id.foundId);\n this._ngZone.run(()=>this.foundCollabs = [id]);\n }\n else {\n this.toastService.showStandard('No existing user found.');\n this._ngZone.run(()=> this.foundCollabs = []);\n }\n })\n }\n\n addCollaborator(idObj) {\n if(idObj['foundUid'] === this.webcomRef.authState.uid) {\n this.toastService.showStandard(\"You cannot add yourself !\");\n } else this.externalAddCollab.emit(idObj);\n this._ngZone.run(()=>this.foundCollabs = []);\n this._ngZone.run(()=> this.cSearchBarRef.value = '');\n }\n}\n","import { Injectable, Inject } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class IdentityHandlerService {\n \n private localAuthCB: Function\n constructor(\n @Inject ('baseWebcomref') private webcomRef\n ) { \n\n const authCallback = (error, auth)=>{\n\n if (error || !auth) { // if user is NOT connected\n if (error) { console.log('Error auth: ' + error); } else { console.log('Not connected'); }\n } else {\n const userIdentity = auth.providerUid;\n console.log('Authenticated: ' + userIdentity);\n // TODO : if the user have been invited to collaborate to a retro, the application must register her.his account to the retro_owner.\n \n this.setUserIdentityInDatabase(userIdentity, auth.uid);\n }\n }\n this.localAuthCB = authCallback\n\n this.webcomRef.addAuthCallback(this.localAuthCB);\n }\n\n ngOnDestroy() {\n\n console.log('identity service DEStroyed');\n this.webcomRef.removeAuthCallback(this.localAuthCB);\n }\n\n /**\n * getIdentityFromDatabase\n * Checks if the identity of the user exists in database.\n * @param identity : email or msisdn\n * @returns Promise<{ foundId: user_identity, foundUid: user_uid }>\n */\n getIdentityFromDatabase(identity: string): Promise {\n\n return new Promise((resolve, reject)=>{\n this.webcomRef\n .child('identities/#' + this.encodeEmailId(identity))\n .once('value', (snap)=>{\n const foundUid = snap.val();\n if(foundUid) resolve({foundId: snap.name(), foundUid: foundUid})\n else resolve(null)\n });\n })\n }\n\n encodeEmailId(id: string): string{\n return encodeURIComponent(id).replace(/[.]+/g, '%2E');\n /* ex: john.doe@example.com\n >> john%2Edoe%40example%2Ecom\n */\n }\n\n decodeMailId(encodedId: string): string {\n return decodeURIComponent(encodedId.replace(/%2E+/g, '.'));\n }\n\n /**\n * setUserIdentityInDatabase\n * sets the user's identity in database\n * @param userIdentity : email or msisdn\n */\n setUserIdentityInDatabase(userIdentity: string, userUid: string): Promise {\n \n let provider: string;\n let providerPath: string;\n let encodedUserIdentity = userIdentity;\n if (this.matchesMailFormat(userIdentity)) {\n provider = \"password\";\n providerPath = \"email\";\n encodedUserIdentity = this.encodeEmailId(userIdentity);\n }\n else if (this.matchesMsisdnFormat(userIdentity)) {\n provider = \"phone\";\n providerPath = \"msisdn\";\n }\n else {\n const errMsg = \"Create identity : NO PROVIDERS\";\n console.log(errMsg);\n return Promise.reject(errMsg);\n }\n \n\t\treturn new Promise((res, rej)=>{\n\t\t\tthis.webcomRef.child(`identities/#${encodedUserIdentity}`).set(userUid, (err)=>{\n\t\t\t\tif (err) {\n\t\t\t\t\trej(`idhandler: identity not created. Error: ${err}`);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tconst successMsg = \"idhandler: the identity of the user have been initialized.\";\n\t\t\t\t\tconsole.log(successMsg);\n\t\t\t\t\tres(successMsg);\n\t\t\t\t}\n\t\t\t})\n\t\t})\n }\n\n matchesMailFormat( identity: string ): boolean {\n /* format :\n example@example.fr \n example@example.com \n example.example@example.com \n example@example.example.com \n example.example@example.example.com \n */\n return /^\\w+([.-]?\\w+)*@\\w+([.-]?\\w+)*(\\.\\w{2,3})+$/.test(identity);\n }\n \n matchesMsisdnFormat( identity: string ): boolean {\n /* format :\n 33 xxx xxx xxx\n */\n return /^33\\d{9}$/.test(identity);\n }\n}\n","import {Component, TemplateRef, Inject} from '@angular/core';\n\n@Component({\n selector: 'app-toasts',\n template: `\n \n\n \n \n \n\n {{ toast.textOrTpl }}\n \n `,\n host: {'[class.ngb-toasts]': 'true'}\n})\nexport class ToastContainerComponent {\n constructor(@Inject('toastSvc') public toastService) {}\n\n isTemplate(toast) { return toast.textOrTpl instanceof TemplateRef; }\n}\n","import { Injectable, TemplateRef } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ToastService {\n\n toasts: any[] = [];\n\n show(textOrTpl: string | TemplateRef, options: any = {}) {\n this.toasts.push({ textOrTpl, ...options });\n }\n\n showStandard(message: string) {\n this.show(message, { classname: 'border border-primary font-weight-bold' });\n }\n showSuccess(message: string) {\n this.show(message, { classname: 'border border-success font-weight-bold' });\n }\n showDanger(message: string) {\n this.show(message, { classname: 'border border-danger font-weight-bold' });\n }\n\n remove(toast) {\n this.toasts = this.toasts.filter(t => t !== toast);\n }\n}\n","export default \"@charset \\\"UTF-8\\\";\\n@font-face {\\n font-family: \\\"agile-retro\\\";\\n src: url('agile-retro.ttf?z8wa1y') format(\\\"truetype\\\"), url('agile-retro.woff?z8wa1y') format(\\\"woff\\\"), url('agile-retro.svg?z8wa1y#agile-retro') format(\\\"svg\\\");\\n font-weight: normal;\\n font-style: normal;\\n font-display: block;\\n}\\n[class^=agile-retro-icon-], [class*=\\\" agile-retro-icon-\\\"] {\\n /* use !important to prevent issues with browser extensions that change fonts */\\n font-family: \\\"agile-retro\\\" !important;\\n speak: never;\\n font-style: normal;\\n font-weight: normal;\\n font-variant: normal;\\n text-transform: none;\\n line-height: 1;\\n /* Better Font Rendering =========== */\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n.agile-retro-icon-sign-out:before {\\n content: \\\"\\\";\\n}\\n.agile-retro-icon-sign-in:before {\\n content: \\\"\\\";\\n}\\n.agile-retro-icon-user-plus:before {\\n content: \\\"\\\";\\n}\\n.agile-retro-icon-key:before {\\n content: \\\"\\\";\\n}\\n.agile-retro-icon-cancel-circle:before {\\n content: \\\"\\\";\\n}\\n.agile-retro-icon-enter:before {\\n content: \\\"\\\";\\n}\\n.agile-retro-icon-exit:before {\\n content: \\\"\\\";\\n}\\ninput {\\n background-color: #ffefe8 !important;\\n}\\n.unlogged-footer button {\\n font-size: 30pt;\\n font-weight: normal;\\n height: 50px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2lnbnVwL3NpZ251cC5jb21wb25lbnQuc2NzcyIsIi9idWlsZHMvZXRoZXJ0b29scy9yZXRyb3dlYi9zcmMvYXNzZXRzL2FnaWxlLXJldHJvLWljb25zL2FyZXRyby1pY29ucy1zdHlsZS5zY3NzIiwiL2J1aWxkcy9ldGhlcnRvb2xzL3JldHJvd2ViL3NyYy9hc3NldHMvYWdpbGUtcmV0cm8taWNvbnMvYXJldHJvLWljb25zLXZhcmlhYmxlcy5zY3NzIiwiL2J1aWxkcy9ldGhlcnRvb2xzL3JldHJvd2ViL3NyYy9hcHAvc2lnbnVwL3NpZ251cC5jb21wb25lbnQuc2NzcyIsIi9idWlsZHMvZXRoZXJ0b29scy9yZXRyb3dlYi9zcmMvdmFyaWFibGVzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDRWhCO0VBQ0UsMEJBQUE7RUFDQSw2SkFDRTtFQUdGLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtBREhGO0FDTUE7RUFDRSwrRUFBQTtFQUNBLHFDQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLG9CQUFBO0VBQ0EsY0FBQTtFQUVBLHNDQUFBO0VBQ0EsbUNBQUE7RUFDQSxrQ0FBQTtBRExGO0FDU0U7RUFDRSxZQzFCd0I7QUZvQjVCO0FDVUU7RUFDRSxZQzlCdUI7QUZ1QjNCO0FDV0U7RUFDRSxZQ2xDeUI7QUYwQjdCO0FDWUU7RUFDRSxZQ3RDbUI7QUY2QnZCO0FDYUU7RUFDRSxZQzFDNkI7QUZnQ2pDO0FDY0U7RUFDRSxZQzlDcUI7QUZtQ3pCO0FDZUU7RUFDRSxZQ2xEb0I7QUZzQ3hCO0FHM0NBO0VBQ0Msb0NDRnFCO0FKZ0R0QjtBRzNDQTtFQUNDLGVBQUE7RUFDQSxtQkFBQTtFQUNBLFlBQUE7QUg4Q0QiLCJmaWxlIjoic3JjL2FwcC9zaWdudXAvc2lnbnVwLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImFnaWxlLXJldHJvXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vYXNzZXRzL2FnaWxlLXJldHJvLWljb25zL2ZvbnRzL2FnaWxlLXJldHJvLnR0Zj96OHdhMXlcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uLy4uL2Fzc2V0cy9hZ2lsZS1yZXRyby1pY29ucy9mb250cy9hZ2lsZS1yZXRyby53b2ZmP3o4d2ExeVwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi8uLi9hc3NldHMvYWdpbGUtcmV0cm8taWNvbnMvZm9udHMvYWdpbGUtcmV0cm8uc3ZnP3o4d2ExeSNhZ2lsZS1yZXRyb1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBibG9jaztcbn1cbltjbGFzc149YWdpbGUtcmV0cm8taWNvbi1dLCBbY2xhc3MqPVwiIGFnaWxlLXJldHJvLWljb24tXCJdIHtcbiAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cbiAgZm9udC1mYW1pbHk6IFwiYWdpbGUtcmV0cm9cIiAhaW1wb3J0YW50O1xuICBzcGVhazogbmV2ZXI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4uYWdpbGUtcmV0cm8taWNvbi1zaWduLW91dDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6kgFwiO1xufVxuXG4uYWdpbGUtcmV0cm8taWNvbi1zaWduLWluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qSBXCI7XG59XG5cbi5hZ2lsZS1yZXRyby1pY29uLXVzZXItcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ls1wiO1xufVxuXG4uYWdpbGUtcmV0cm8taWNvbi1rZXk6YmVmb3JlIHtcbiAgY29udGVudDogXCLupo1cIjtcbn1cblxuLmFnaWxlLXJldHJvLWljb24tY2FuY2VsLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ojVwiO1xufVxuXG4uYWdpbGUtcmV0cm8taWNvbi1lbnRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ok1wiO1xufVxuXG4uYWdpbGUtcmV0cm8taWNvbi1leGl0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qiUXCI7XG59XG5cbmlucHV0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlOCAhaW1wb3J0YW50O1xufVxuXG4udW5sb2dnZWQtZm9vdGVyIGJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMzBwdDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgaGVpZ2h0OiA1MHB4O1xufSIsIkBpbXBvcnQgXCJhcmV0cm8taWNvbnMtdmFyaWFibGVzXCI7XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJyN7JGljb21vb24tZm9udC1mYW1pbHl9JztcbiAgc3JjOlxuICAgIHVybCgnI3skaWNvbW9vbi1mb250LXBhdGh9LyN7JGljb21vb24tZm9udC1mYW1pbHl9LnR0Zj96OHdhMXknKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKCcjeyRpY29tb29uLWZvbnQtcGF0aH0vI3skaWNvbW9vbi1mb250LWZhbWlseX0ud29mZj96OHdhMXknKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJyN7JGljb21vb24tZm9udC1wYXRofS8jeyRpY29tb29uLWZvbnQtZmFtaWx5fS5zdmc/ejh3YTF5IyN7JGljb21vb24tZm9udC1mYW1pbHl9JykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IGJsb2NrO1xufVxuXG5bY2xhc3NePVwiYWdpbGUtcmV0cm8taWNvbi1cIl0sIFtjbGFzcyo9XCIgYWdpbGUtcmV0cm8taWNvbi1cIl0ge1xuICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xuICBmb250LWZhbWlseTogJyN7JGljb21vb24tZm9udC1mYW1pbHl9JyAhaW1wb3J0YW50O1xuICBzcGVhazogbmV2ZXI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcblxuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi5hZ2lsZS1yZXRyby1pY29uLXNpZ24tb3V0IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRhZ2lsZS1yZXRyby1pY29uLXNpZ24tb3V0OyBcbiAgfVxufVxuLmFnaWxlLXJldHJvLWljb24tc2lnbi1pbiB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkYWdpbGUtcmV0cm8taWNvbi1zaWduLWluOyBcbiAgfVxufVxuLmFnaWxlLXJldHJvLWljb24tdXNlci1wbHVzIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRhZ2lsZS1yZXRyby1pY29uLXVzZXItcGx1czsgXG4gIH1cbn1cbi5hZ2lsZS1yZXRyby1pY29uLWtleSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkYWdpbGUtcmV0cm8taWNvbi1rZXk7IFxuICB9XG59XG4uYWdpbGUtcmV0cm8taWNvbi1jYW5jZWwtY2lyY2xlIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRhZ2lsZS1yZXRyby1pY29uLWNhbmNlbC1jaXJjbGU7IFxuICB9XG59XG4uYWdpbGUtcmV0cm8taWNvbi1lbnRlciB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkYWdpbGUtcmV0cm8taWNvbi1lbnRlcjsgXG4gIH1cbn1cbi5hZ2lsZS1yZXRyby1pY29uLWV4aXQge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGFnaWxlLXJldHJvLWljb24tZXhpdDsgXG4gIH1cbn1cblxuIiwiXG4kaWNvbW9vbi1mb250LWZhbWlseTogXCJhZ2lsZS1yZXRyb1wiICFkZWZhdWx0O1xuJGljb21vb24tZm9udC1wYXRoOiBcIiN7JGFyZXRyby1pY29ucy1mb2xkZXItcGF0aH1mb250c1wiICFkZWZhdWx0O1xuXG4kYWdpbGUtcmV0cm8taWNvbi1zaWduLW91dDogXCJcXGU5MDBcIjtcbiRhZ2lsZS1yZXRyby1pY29uLXNpZ24taW46IFwiXFxlOTAxXCI7XG4kYWdpbGUtcmV0cm8taWNvbi11c2VyLXBsdXM6IFwiXFxlOTczXCI7XG4kYWdpbGUtcmV0cm8taWNvbi1rZXk6IFwiXFxlOThkXCI7XG4kYWdpbGUtcmV0cm8taWNvbi1jYW5jZWwtY2lyY2xlOiBcIlxcZWEwZFwiO1xuJGFnaWxlLXJldHJvLWljb24tZW50ZXI6IFwiXFxlYTEzXCI7XG4kYWdpbGUtcmV0cm8taWNvbi1leGl0OiBcIlxcZWExNFwiO1xuXG4iLCJAaW1wb3J0ICcuLi8uLi92YXJpYWJsZXMuc2Nzcyc7XG5cbiRhcmV0cm8taWNvbnMtZm9sZGVyLXBhdGg6ICcuLi8uLi9hc3NldHMvYWdpbGUtcmV0cm8taWNvbnMvJztcbkBpbXBvcnQgJy4uLy4uL2Fzc2V0cy9hZ2lsZS1yZXRyby1pY29ucy9hcmV0cm8taWNvbnMtc3R5bGUuc2Nzcyc7XG5cbmlucHV0IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJGFyZXRyby1vcmFuZ2UtbGlnaHQ7XG59XG5cbi51bmxvZ2dlZC1mb290ZXIgYnV0dG9uIHtcblx0Zm9udC1zaXplOiAzMHB0O1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRoZWlnaHQ6IDUwcHg7XG59XG4iLCJcbiRhcmV0cm8tZGFyazogIzExMSAhaW1wb3J0YW50O1xuJGFyZXRyby1ncmV5OiAjYWFhICFpbXBvcnRhbnQ7XG4kYXJldHJvLWdyZXktbGlnaHQ6ICNkZGQgIWltcG9ydGFudDtcbiRhcmV0cm8tb3JhbmdlLWxpZ2h0OiByZ2IoMjU1LCAyMzksIDIzMikgIWltcG9ydGFudDtcbiRhcmV0cm8tb3JhbmdlOiAjZjE2ZTAwICFpbXBvcnRhbnQ7XG4kYXJldHJvLW9yYW5nZS1kYXJrOiAjYTU0YTAwICFpbXBvcnRhbnQ7XG4kYXJldHJvLXJlZDogI2EwMCAhaW1wb3J0YW50O1xuJGFyZXRyby1ibHVlLWRhcms6ICMzZTU5OTQgIWltcG9ydGFudDtcbiJdfQ== */\";","import { Component, OnInit, Inject, ViewChild, NgZone } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { NgForm } from '@angular/forms';\nimport { escapeHtmlSpecialchars } from '../utilities/utilities';\n\n@Component({\n selector: 'app-signup',\n templateUrl: './signup.component.html',\n styleUrls: ['./signup.component.scss']\n})\nexport class SignupComponent implements OnInit {\n\n private submitOnPwdBtnEnabled = false;\n private submitOnPhoneBtnEnabled = false;\n private signupWithPassword = true;\n @ViewChild('pwdSignupForm', {static: false}) private pwdSignupFormRef: NgForm;\n @ViewChild('phoneSignupForm', {static: false}) private phoneSignupFormRef: NgForm;\n constructor(\n @Inject('webcom_img_url') private webcomImgUrl,\n @Inject('baseWebcomref') private webcomRef,\n @Inject('idHandler') private idHandler,\n @Inject('toastSvc') private toastService,\n private router: Router,\n private _ngZone: NgZone\n ) { }\n\n ngOnInit() { }\n\n notifyChanged(provider: string, identity: string, password?: string|null, repeatedPassword?: string|null) {\n if (provider === 'password') {\n const mail = identity;\n const pwd = password;\n const rPwd = repeatedPassword;\n\n if (!!mail && !!pwd && !!rPwd) {\n this.submitOnPwdBtnEnabled = pwd === rPwd; // condition to enable submit button\n }\n }\n }\n\n signupOnSubmit(mail: string, password: string): Promise {\n this.submitOnPwdBtnEnabled = false;\n this.toastService.showStandard('Processing...');\n if(!this.idHandler.matchesMailFormat(mail)) {\n this.submitOnPwdBtnEnabled = true;\n this.toastService.showstandard(\"createUser : bad format\"); return Promise.reject(false);\n } \n \n const details = {\n id: mail,\n password: password\n };\n return this.webcomRef.addIdentity(\"password\", details)\n .then(()=>{\n this.toastService.showSuccess('Your account have been saved succefully.\\nA mail confirmation is required to use the application.');\n this.router.navigate(['/login']);\n return true;\n })\n .catch((error) => {\n this.submitOnPwdBtnEnabled = true;\n switch (error.code) {\n case 'EXISTING_IDENTITY':\n this.toastService.showStandard('Identity already in use!'); break;\n case 'INVALID_EMAIL':\n this.toastService.showStandard('Identity format is not valid!'); break;\n default:\n this.toastService.showDanger('Account creation failed: ' + error); break;\n }\n });\n }\n\n signupOnSubmitPhone(msisdn: string): Promise {\n this.submitOnPhoneBtnEnabled = false;\n this.toastService.showStandard('Sending OTP ...')\n if(!this.idHandler.matchesMsisdnFormat(msisdn)) {\n this.toastService.showStandard(\"createUser : bad format\"); return Promise.reject(false);\n }\n return this.webcomRef.addIdentity(\"phone\", { id: msisdn })\n .then((auth)=>{\n const userOtp = escapeHtmlSpecialchars(window.prompt('Please enter the message you have received to your phone :'));\n this.toastService.showStandard('Processing ...')\n\n\t\t\tif (!userOtp || !/^\\d{4}$/.test(userOtp)) { // four-numbers format\n this.submitOnPhoneBtnEnabled = true;\n this.toastService.showStandard('Bad format.');\n } else this.webcomRef.verifyIdentity('phone', msisdn, {auth: auth, password: userOtp})\n .then(()=>{\n this.toastService.showSuccess('Your account have been saved succefully.');\n })\n return true;\n })\n .catch((error) => {\n switch (error.code) {\n case 'EXISTING_IDENTITY':\n this.toastService.showStandard('Identity already in use!'); break;\n case 'INVALID_EMAIL':\n this.toastService.showStandard('Identity format is not valid!'); break;\n default:\n this.toastService.showDanger('Account creation failed: ' + error); break;\n }\n });\n }\n\n initializePwdForm() {\n this.pwdSignupFormRef.setValue({password: '', repeatedPassword: '', mail: this.pwdSignupFormRef.value.mail})\n }\n}\n","export default \"input {\\n background-color: #ffefe8 !important;\\n}\\ninput#nickname-input {\\n background-color: rgba(0, 0, 0, 0) !important;\\n padding-top: 18px;\\n font-weight: bold;\\n}\\n.nickname-form .icon-Pencil {\\n color: white;\\n}\\n.nickname-form .icon-Pencil:hover, .nickname-form .icon-Pencil:focus {\\n color: white !important;\\n}\\nh6, label {\\n margin-top: 20px;\\n margin-bottom: 5px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvZXRoZXJ0b29scy9yZXRyb3dlYi9zcmMvYXBwL3VzZXJlZGl0L3VzZXJlZGl0LmNvbXBvbmVudC5zY3NzIiwiL2J1aWxkcy9ldGhlcnRvb2xzL3JldHJvd2ViL3NyYy92YXJpYWJsZXMuc2NzcyIsInNyYy9hcHAvdXNlcmVkaXQvdXNlcmVkaXQuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7RUFDQyxvQ0NDcUI7QUNGdEI7QUZFQztFQUNDLDZDQUFBO0VBQ0EsaUJBQUE7RUFDQSxpQkFBQTtBRUFGO0FGSUM7RUFDQyxZQUFBO0FFREY7QUZFRTtFQUNDLHVCQUFBO0FFQUg7QUZLQTtFQUNDLGdCQUFBO0VBQ0Esa0JBQUE7QUVGRCIsImZpbGUiOiJzcmMvYXBwL3VzZXJlZGl0L3VzZXJlZGl0LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAnLi4vLi4vdmFyaWFibGVzLnNjc3MnO1xuXG5pbnB1dCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRhcmV0cm8tb3JhbmdlLWxpZ2h0O1xuXHQmI25pY2tuYW1lLWlucHV0IHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwgMCwgMCwgMC4wKSAhaW1wb3J0YW50O1xuXHRcdHBhZGRpbmctdG9wOiAxOHB4O1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHR9XG59XG4ubmlja25hbWUtZm9ybSB7XG5cdCYgLmljb24tUGVuY2lsIHtcblx0XHRjb2xvcjogd2hpdGU7XG5cdFx0Jjpob3ZlciwgJjpmb2N1cyB7XG5cdFx0XHRjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cbn1cblxuaDYsIGxhYmVsIHtcblx0bWFyZ2luLXRvcDogMjBweDtcblx0bWFyZ2luLWJvdHRvbTogNXB4O1xufSIsIlxuJGFyZXRyby1kYXJrOiAjMTExICFpbXBvcnRhbnQ7XG4kYXJldHJvLWdyZXk6ICNhYWEgIWltcG9ydGFudDtcbiRhcmV0cm8tZ3JleS1saWdodDogI2RkZCAhaW1wb3J0YW50O1xuJGFyZXRyby1vcmFuZ2UtbGlnaHQ6IHJnYigyNTUsIDIzOSwgMjMyKSAhaW1wb3J0YW50O1xuJGFyZXRyby1vcmFuZ2U6ICNmMTZlMDAgIWltcG9ydGFudDtcbiRhcmV0cm8tb3JhbmdlLWRhcms6ICNhNTRhMDAgIWltcG9ydGFudDtcbiRhcmV0cm8tcmVkOiAjYTAwICFpbXBvcnRhbnQ7XG4kYXJldHJvLWJsdWUtZGFyazogIzNlNTk5NCAhaW1wb3J0YW50O1xuIiwiaW5wdXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZmU4ICFpbXBvcnRhbnQ7XG59XG5pbnB1dCNuaWNrbmFtZS1pbnB1dCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcbiAgcGFkZGluZy10b3A6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ubmlja25hbWUtZm9ybSAuaWNvbi1QZW5jaWwge1xuICBjb2xvcjogd2hpdGU7XG59XG4ubmlja25hbWUtZm9ybSAuaWNvbi1QZW5jaWw6aG92ZXIsIC5uaWNrbmFtZS1mb3JtIC5pY29uLVBlbmNpbDpmb2N1cyB7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG5oNiwgbGFiZWwge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59Il19 */\";","import { getKeys } from './../utilities/utilities';\nimport { Component, OnInit, Inject, ChangeDetectorRef, NgZone } from '@angular/core';\n\n@Component({\n selector: 'app-useredit',\n templateUrl: './useredit.component.html',\n styleUrls: ['./useredit.component.scss']\n})\nexport class UsereditComponent implements OnInit {\n\n static readonly DefaultUserData = {nickname: ''};\n\n private userRef;\n private contactsRef;\n private userSubscriptionRef;\n private contactsSubscriptionCallback;\n private contactsNicknames: Object = {};\n private userData: Object = UsereditComponent.DefaultUserData; // should it be typed ?\n private idRequestFormDisplayed = false;\n private getKeys = getKeys;\n\n constructor(\n @Inject('baseWebcomref') private webcomRef,\n @Inject('toastSvc') private toastService,\n private changeDetectorRef: ChangeDetectorRef,\n private _ngZone: NgZone,\n ) {\n this.userRef = this.webcomRef.child(`spaces/${this.webcomRef.authState.uid}`);\n this.contactsRef = this.userRef.child('contacts');\n }\n\n ngOnInit(): void {\n this.userSubscriptionRef = this.userRef.on('value', (dataSnapshot) => {\n if (!dataSnapshot.val()) {\n this.userData = UsereditComponent.DefaultUserData;\n } else {\n this.userData = dataSnapshot.val();\n }\n this.changeDetectorRef.detectChanges();\n });\n this.contactsSubscriptionCallback = this.contactsRef.on('value', (dataSnapshot) => {\n const newValue = dataSnapshot.val();\n if (newValue){\n this.fetchContactsNicknames(newValue)\n }\n })\n // console.log('test tab : ', this.contactsNicknames)\n }\n ngOnDestroy() {\n this.userRef.off('value', this.userSubscriptionRef);\n this.contactsRef.off('value', this.contactsSubscriptionCallback);\n }\n\n editNicknameOnSubmit(userNickname: string) {\n\n this.userRef.child(\"nickname\").set(userNickname,(err)=>{\n if (err) {\n this.toastService.showDanger(`Error when updating nickname : ${err}`);\n } else this.toastService.showSuccess('nickname updated.')\n });\n }\n\n editPasswordOnSubmit(oldPwd: string, newPwd: string, rNewPwd: string) {\n\n if (newPwd === rNewPwd) {\n this.webcomRef.changePassword(this.webcomRef.authState.providerUid, oldPwd, newPwd)\n .then((err) => {\n if (err) this.toastService.showDanger('USEREDIT webcom editpwd err==', err);\n else this.toastService.showSuccess(\"The new password has been applied successfully.\")\n }).catch((err)=> this.toastService.showDanger(`USEREDIT webcom editpwd err== ${err}`))// Because at least 1 error is returned by promise rejection !\n } else this.toastService.showStandard(\"The password aren't the same.\");\n }\n\n addContact(idObj: string) {\n if (this.userData['contacts'] && this.userData['contacts'][idObj[\"foundUid\"]]) {\n this.toastService.showStandard(`${idObj['foundId']} belongs already to your contacts.`)\n return Promise.resolve();\n }\n return new Promise((resolve, reject)=>{\n const newData = {\n 'identity': idObj[\"foundId\"],\n 'familyName': idObj[\"foundId\"],\n 'givenName': idObj[\"foundId\"],\n }\n this.contactsRef.child(`${idObj[\"foundUid\"]}`)\n .set(newData, ()=> resolve());\n })\n }\n removeContact(userUid: string) {\n if (confirm(`Remove ${userUid} from your contact ?`)) {\n this.contactsRef.child(userUid).remove();\n }\n }\n\n displayIdrequestForm() {\n this.idRequestFormDisplayed = !this.idRequestFormDisplayed;\n }\n\n fetchContactsNicknames(contactsObject) {\n const promiseArray = [];\n for (const contactId in contactsObject) {\n promiseArray.push(this.findNickname(contactId)\n .then((collabNickname)=>{\n this._ngZone.run(()=> this.contactsNicknames[contactId] = collabNickname);\n }))\n }\n return Promise.all(promiseArray);\n }\n\n findNickname(userId) {\n return new Promise((res,rej)=>{\n this.webcomRef.child(`spaces/${userId}/nickname`)\n .once('value', (snap)=>{\n if (snap.val()) res(snap.val());\n else res('No nickname');\n })\n });\n }\n\n isPhoneUser(id: string){\n const reg = new RegExp(\"^33([0-9]{9,9})$\");\n return reg.test(id);\n }\n}\n","\nexport const availableLangs = ['fr', 'en'];\nexport const availableSpacesRules = ['Member', 'Administrator'];\n\nexport const isEmpty = function(obj: Object): boolean {\n\n\tfor (const key in obj) {\n\t\tif (obj.hasOwnProperty(key)) { return false; } // This object is NOT empty.\n\t}\n\treturn true; // This object is empty.\n}\n\nexport const generateRandomId = function( contentType: string, idSize: number ): string {\n\tconst chars = 'abcdefghijklmnopqrstuvwwyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n\tconst numbers = '0123456789';\n\t\n\tlet newId: string;\n\tlet dataPicker: string;\n\n\tswitch (contentType) {\n\t\tcase 'CHARS':\n\t\t\tdataPicker = chars; break;\n\t\tcase 'CHARS_AND_NUMBERS':\n\t\t\tdataPicker = chars + numbers; break;\n\t\tcase 'NUMBERS':\n\t\t\tdataPicker = numbers; break;\n\t\tdefault: break;\n\t}\n\n\tfor (let i = 0; i < idSize; i++) {\n\t\tnewId = newId + dataPicker[ Math.floor( Math.random() * (dataPicker.length - 2) ) ] // random char between 0 and dataPicker's size -1\n\t}\n\treturn newId;\n}\n\nexport const getKeys = function(o: object|null): Array {\n\tif (!o) return [];\n\treturn Object.keys(o);\n}\nexport const getEntries = function(o: object|null): Array {\n\tif (!o) return [];\n\treturn Object.entries(o);\n}\nexport const getLength = function(o: object|null): number {\n\tif (!o) return 0;\n\treturn Object.keys(o).length;\n}\nexport const escapeHtmlSpecialchars = function(unsafe: string) {\n\tif (!unsafe) return null;\n\treturn unsafe.replace(/[&<>'\"]/g, \"&\");\n}\n\t\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n"],"sourceRoot":"webpack:///"}