diff --git a/.gitlab/issue_templates/bug.md b/.gitlab/issue_templates/bug.md
new file mode 100644
index 0000000000000000000000000000000000000000..9485632699aef7281cdc9b5308c6135754958452
--- /dev/null
+++ b/.gitlab/issue_templates/bug.md
@@ -0,0 +1,41 @@
+/label ~BUG
+
+### How is it now?
+
+(What actually happens)
+
+### How should it be?
+
+(What you should see instead)
+
+### Steps to reproduce
+
+(How one can reproduce the issue - this is very important)
+
+1. Step 1
+1. Step 2
+1. Step 3
+
+### Relevant logs and/or screenshots
+
+(Paste any relevant logs - please use code blocks to format console output,
+logs, and code as it's very hard to read otherwise.)
+
+### Possible fixes
+
+(If you can, link to the line of code that might be responsible for the problem)
+
+If you can, give an estimation of the time needed to fix (in hours)
+/estimate Xh
+
+### How to fix a Bug
+
+1. Ask any question you have in the issue comments before starting
+1. Create a new branch named issue-${ISSUE_NUMBER}
+1. Write a test that is failing to validate that this bug exists
+1. If you can not recreate this bug, feel free to submit just a test with clear name and documentation linking to this issue
+1. If a test fails indeed, continue to the next step
+1. Now, when you have a regression test ready - create a fix for that bug
+1. Write any additional tests if needed
+1. Document in docstrings in general documentation what was wrong
+1. Submit a merge request
diff --git a/.gitlab/issue_templates/feature.md b/.gitlab/issue_templates/feature.md
new file mode 100644
index 0000000000000000000000000000000000000000..6dacc385250785c061b9161c7e0220320f9a8ba7
--- /dev/null
+++ b/.gitlab/issue_templates/feature.md
@@ -0,0 +1,27 @@
+## What needs to be done?
+
+/estimate Xh
+/label ~feature
+
+
+## Technical details
+
+Are there any technical details worth mentioning?
+
+
+## Links
+
+1. Link to user story in wiki
+1. other related Gitlab issues
+
+
+## How to complete
+
+1. How to complete a Feature
+1. Ask any question you have in the issue comments before starting
+1. Create a new branch named issue-${ISSUE_NUMBER}
+1. Implement a simple test to illustrate the desired functionality
+1. Write some code to complete this task
+1. Write some additional tests to cover edge cases and some possible errors
+1. Write documentation about what have you done and why you have done it this way
+1. Submit a merge request
diff --git a/.gitlab/merge_request_templates/checklist_before_merging.md b/.gitlab/merge_request_templates/checklist_before_merging.md
new file mode 100644
index 0000000000000000000000000000000000000000..edd506b07458afbc3d567f8be5b4bcc173cd0ca2
--- /dev/null
+++ b/.gitlab/merge_request_templates/checklist_before_merging.md
@@ -0,0 +1,61 @@
+## Checklist
+
+<!---
+Please, make sure you have changed the topic and also
+described briefly what have you done. Thanks!
+-->
+
+I have done ...
+
+- [ ] This commits targets only one specific issue
+- [ ] The commit message follows our guidelines
+- [ ] Tests for the changes have been added
+- [ ] Docs have been added or updated
+- [ ] I have assigned my architect to review this merge request
+- [ ] I have checked how to create a [merge request]()
+
+
+## Issues
+
+<!---
+Which issue this PR closes? It can close only one issue.
+Which issues this PR references?
+Please, specify all issues.
+Format is: Closes #X or Refs #Y
+Docs: https://docs.gitlab.com/ee/user/project/issues/closing_issues.html#via-merge-request
+-->
+
+
+## Time spent
+
+<!---
+This information is only required for statistics and analysis.
+But we need to know exactly how much time you have spent,
+please try to be as accurate as possible.
+Format is: /spend 1h
+Docs: https://docs.gitlab.com/ee/workflow/time_tracking.html
+-->
+
+/spend Xh
+
+
+## Assignee
+
+<!---
+You need to assign your architect to review your merge request.
+Format: /assign @username
+Docs: https://docs.gitlab.com/ee/user/project/quick_actions.html
+-->
+
+/assign
+
+
+## Feedback
+
+<!---
+Did you encounter any other problems you want to share with us?
+Optional. Feel free to remove this section if you don't have any feedback.
+-->
+
+
+<!--- Thank you for you contribution! -->
diff --git a/Makefile b/Makefile
index 5ef536cfc9942f2ad46fa2743dc8b2732727ad84..d87ebf7f7d9092eb6658456334b721384a4c93c4 100644
--- a/Makefile
+++ b/Makefile
@@ -6,11 +6,6 @@ SCRIPT_DEST := $(SCRIPT_SRC:src/%=$(DIST_DIR)/%)
 
 default: build
 
-clean:
-	git clean -fXd -e !src/config.json
-
-install: node_modules copy_lib copy_samples
-
 build: $(DIST_DIR)/index.html $(DIST_DIR)/styles/index.css $(SCRIPT_DEST)
 
 watch:
@@ -21,23 +16,6 @@ watch:
 		sleep 0.5; \
 	done
 
-serve:
-	node server
-
-# npm
-node_modules:
-	npm install
-
-# vendor lib
-copy_lib:
-	@node copy_lib.js
-
-# samples
-copy_samples: src/config.json
-
-src/config.json:
-	@cp -n src/config.sample.json src/config.json
-
 # pug
 $(DIST_DIR)/index.html: src/index.pug src/config.json $(wildcard src/*.pug src/*/*.pug)
 	@echo pug: $< ➜ $@
@@ -60,7 +38,7 @@ $(DIST_DIR)/index.staging.html: src/index.pug src/config.json $(wildcard src/*.p
 	node_modules/.bin/pug --pretty $< --out $(dir $@) -E staging.html -O src/config.json || touch $@
 
 # sass
-$(DIST_DIR)/styles/index.css: src/styles/index.scss $(wildcard src/*.scss src/*/*.scss)
+$(DIST_DIR)/styles/index.css: src/styles/_index.scss $(wildcard src/*.scss src/*/*.scss src/*/*/*.scss src/*/*/*/*.scss)
 	@echo sass: $< ➜ $@
 	@node_modules/.bin/node-sass $< $@ --source-map true --source-map-contents || touch $@ 
 
@@ -76,11 +54,6 @@ buildstaging: build
 buildprod: build
 	$(MAKE) $(DIST_DIR)/index.prod.html
 
-deploy: pull install build
-
-pull:
-	git pull
-
 sync: buildstaging
 	rsync -rv www/* staging-app@ssh-staging-app.happy-dev.fr:~/staging-app.happy-dev.fr/ --exclude=www/index.html --exclude=www/index.prod.html --exclude=www/index.staging.html
 	rsync --no-R --no-implied-dirs www/index.staging.html staging-app@ssh-staging-app.happy-dev.fr:~/staging-app.happy-dev.fr/index.html
@@ -91,4 +64,4 @@ syncprod: buildprod
 	rsync --no-R --no-implied-dirs www/index.prod.html alpha@ssh-alpha.happy-dev.fr:~/www/index.html
 	rsync -v www/.htaccess alpha@ssh-alpha.happy-dev.fr:~/www/
 
-.PHONY: default install copy_lib copy_samples build watch serve clean sync syncprod buildstaging buildprod pull deploy
\ No newline at end of file
+.PHONY: default build watch sync syncprod buildstaging buildprod
\ No newline at end of file
diff --git a/copy_lib.js b/copy_lib.js
deleted file mode 100644
index 4cc69325d027bde0e037b037da819d910710b638..0000000000000000000000000000000000000000
--- a/copy_lib.js
+++ /dev/null
@@ -1,20 +0,0 @@
-const { basename, join, resolve } = require('path');
-const { readFileSync, lstatSync } = require('fs');
-const { exec } = require('child_process');
-
-const distDir = 'www/lib';
-
-const filelist = readFileSync('lib_list.txt', 'utf-8').split(/\r?\n/);
-
-exec(`mkdir -p ${distDir}`, () => {
-  filelist.forEach(path => {
-    path = resolve(path);
-    const filename = basename(path);
-    const dest = lstatSync(path).isDirectory()
-      ? distDir
-      : join(distDir, filename);
-    const cmd = `rsync -ru ${path} ${dest}`;
-    console.log(cmd);
-    exec(cmd);
-  });
-});
diff --git a/lib_list.txt b/lib_list.txt
index c3495ec77b188c3e59d48f4d87b74fe4c71fd20b..254e4ceb40d14f968c2443911689d1280aeab8e7 100644
--- a/lib_list.txt
+++ b/lib_list.txt
@@ -1,5 +1 @@
 node_modules/normalize.css/normalize.css
-node_modules/@webcomponents/webcomponentsjs
-node_modules/@webcomponents/html-imports/src/html-imports.js
-node_modules/oidc-client/dist/oidc-client.min.js
-node_modules/oidc-client/dist/oidc-client.js
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index c05eb3a270d3d1a48008b989fdb45b82201629be..21ee80756fb62ba2b7717e4f0afceeae6ecf842f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,21 +1,21 @@
 {
-  "name": "hd-app",
+  "name": "sib-app",
   "version": "1.0.0",
   "lockfileVersion": 1,
   "requires": true,
   "dependencies": {
     "@babel/cli": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.1.0.tgz",
-      "integrity": "sha512-+OdtGZcJNH92CnDqwaPxh7P7gddFyhoiHV3GBzgKpYbxIJlQ4WDEiC8m+AMcueYzlI+bXqrYlIU/Pp17NaC0hg==",
+      "version": "7.4.4",
+      "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.4.4.tgz",
+      "integrity": "sha512-XGr5YjQSjgTa6OzQZY57FAJsdeVSAKR/u/KA5exWIz66IKtv/zXtHy+fIZcMry/EgYegwuHE7vzGnrFhjdIAsQ==",
       "dev": true,
       "requires": {
-        "chokidar": "^2.0.3",
+        "chokidar": "^2.0.4",
         "commander": "^2.8.1",
         "convert-source-map": "^1.1.0",
         "fs-readdir-recursive": "^1.1.0",
         "glob": "^7.0.0",
-        "lodash": "^4.17.10",
+        "lodash": "^4.17.11",
         "mkdirp": "^0.5.1",
         "output-file-sync": "^2.0.0",
         "slash": "^2.0.0",
@@ -32,31 +32,31 @@
       }
     },
     "@babel/core": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.1.0.tgz",
-      "integrity": "sha512-9EWmD0cQAbcXSc+31RIoYgEHx3KQ2CCSMDBhnXrShWvo45TMw+3/55KVxlhkG53kw9tl87DqINgHDgFVhZJV/Q==",
+      "version": "7.4.4",
+      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.4.4.tgz",
+      "integrity": "sha512-lQgGX3FPRgbz2SKmhMtYgJvVzGZrmjaF4apZ2bLwofAKiSjxU0drPh4S/VasyYXwaTs+A1gvQ45BN8SQJzHsQQ==",
       "dev": true,
       "requires": {
         "@babel/code-frame": "^7.0.0",
-        "@babel/generator": "^7.0.0",
-        "@babel/helpers": "^7.1.0",
-        "@babel/parser": "^7.1.0",
-        "@babel/template": "^7.1.0",
-        "@babel/traverse": "^7.1.0",
-        "@babel/types": "^7.0.0",
+        "@babel/generator": "^7.4.4",
+        "@babel/helpers": "^7.4.4",
+        "@babel/parser": "^7.4.4",
+        "@babel/template": "^7.4.4",
+        "@babel/traverse": "^7.4.4",
+        "@babel/types": "^7.4.4",
         "convert-source-map": "^1.1.0",
-        "debug": "^3.1.0",
-        "json5": "^0.5.0",
-        "lodash": "^4.17.10",
+        "debug": "^4.1.0",
+        "json5": "^2.1.0",
+        "lodash": "^4.17.11",
         "resolve": "^1.3.2",
         "semver": "^5.4.1",
         "source-map": "^0.5.0"
       },
       "dependencies": {
         "debug": {
-          "version": "3.2.5",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz",
-          "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==",
+          "version": "4.1.1",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
           "dev": true,
           "requires": {
             "ms": "^2.1.1"
@@ -71,69 +71,18 @@
       }
     },
     "@babel/generator": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0.tgz",
-      "integrity": "sha512-/BM2vupkpbZXq22l1ALO7MqXJZH2k8bKVv8Y+pABFnzWdztDB/ZLveP5At21vLz5c2YtSE6p7j2FZEsqafMz5Q==",
+      "version": "7.4.4",
+      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.4.4.tgz",
+      "integrity": "sha512-53UOLK6TVNqKxf7RUh8NE851EHRxOOeVXKbK2bivdb+iziMyk03Sr4eaE9OELCbyZAAafAKPDwF2TPUES5QbxQ==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.0.0",
+        "@babel/types": "^7.4.4",
         "jsesc": "^2.5.1",
-        "lodash": "^4.17.10",
+        "lodash": "^4.17.11",
         "source-map": "^0.5.0",
         "trim-right": "^1.0.1"
       }
     },
-    "@babel/helper-annotate-as-pure": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz",
-      "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-builder-binary-assignment-operator-visitor": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz",
-      "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-explode-assignable-expression": "^7.1.0",
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-call-delegate": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz",
-      "integrity": "sha512-YEtYZrw3GUK6emQHKthltKNZwszBcHK58Ygcis+gVUrF4/FmTVr5CCqQNSfmvg2y+YDEANyYoaLz/SHsnusCwQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-hoist-variables": "^7.0.0",
-        "@babel/traverse": "^7.1.0",
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-define-map": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz",
-      "integrity": "sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-function-name": "^7.1.0",
-        "@babel/types": "^7.0.0",
-        "lodash": "^4.17.10"
-      }
-    },
-    "@babel/helper-explode-assignable-expression": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz",
-      "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==",
-      "dev": true,
-      "requires": {
-        "@babel/traverse": "^7.1.0",
-        "@babel/types": "^7.0.0"
-      }
-    },
     "@babel/helper-function-name": {
       "version": "7.1.0",
       "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz",
@@ -154,136 +103,24 @@
         "@babel/types": "^7.0.0"
       }
     },
-    "@babel/helper-hoist-variables": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz",
-      "integrity": "sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-member-expression-to-functions": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz",
-      "integrity": "sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-module-imports": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz",
-      "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-module-transforms": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.1.0.tgz",
-      "integrity": "sha512-0JZRd2yhawo79Rcm4w0LwSMILFmFXjugG3yqf+P/UsKsRS1mJCmMwwlHDlMg7Avr9LrvSpp4ZSULO9r8jpCzcw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-imports": "^7.0.0",
-        "@babel/helper-simple-access": "^7.1.0",
-        "@babel/helper-split-export-declaration": "^7.0.0",
-        "@babel/template": "^7.1.0",
-        "@babel/types": "^7.0.0",
-        "lodash": "^4.17.10"
-      }
-    },
-    "@babel/helper-optimise-call-expression": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz",
-      "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-plugin-utils": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz",
-      "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==",
-      "dev": true
-    },
-    "@babel/helper-regex": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0.tgz",
-      "integrity": "sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg==",
-      "dev": true,
-      "requires": {
-        "lodash": "^4.17.10"
-      }
-    },
-    "@babel/helper-remap-async-to-generator": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz",
-      "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-annotate-as-pure": "^7.0.0",
-        "@babel/helper-wrap-function": "^7.1.0",
-        "@babel/template": "^7.1.0",
-        "@babel/traverse": "^7.1.0",
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-replace-supers": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.1.0.tgz",
-      "integrity": "sha512-BvcDWYZRWVuDeXTYZWxekQNO5D4kO55aArwZOTFXw6rlLQA8ZaDicJR1sO47h+HrnCiDFiww0fSPV0d713KBGQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-member-expression-to-functions": "^7.0.0",
-        "@babel/helper-optimise-call-expression": "^7.0.0",
-        "@babel/traverse": "^7.1.0",
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-simple-access": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz",
-      "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==",
-      "dev": true,
-      "requires": {
-        "@babel/template": "^7.1.0",
-        "@babel/types": "^7.0.0"
-      }
-    },
     "@babel/helper-split-export-declaration": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz",
-      "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==",
+      "version": "7.4.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz",
+      "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-wrap-function": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.1.0.tgz",
-      "integrity": "sha512-R6HU3dete+rwsdAfrOzTlE9Mcpk4RjU3aX3gi9grtmugQY0u79X7eogUvfXA5sI81Mfq1cn6AgxihfN33STjJA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-function-name": "^7.1.0",
-        "@babel/template": "^7.1.0",
-        "@babel/traverse": "^7.1.0",
-        "@babel/types": "^7.0.0"
+        "@babel/types": "^7.4.4"
       }
     },
     "@babel/helpers": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.1.0.tgz",
-      "integrity": "sha512-V1jXUTNdTpBn37wqqN73U+eBpzlLHmxA4aDaghJBggmzly/FpIJMHXse9lgdzQQT4gs5jZ5NmYxOL8G3ROc29g==",
+      "version": "7.4.4",
+      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.4.4.tgz",
+      "integrity": "sha512-igczbR/0SeuPR8RFfC7tGrbdTbFL3QTvH6D+Z6zNxnTe//GyqmtHmDkzrqDmyZ3eSwPqB/LhyKoU5DXsp+Vp2A==",
       "dev": true,
       "requires": {
-        "@babel/template": "^7.1.0",
-        "@babel/traverse": "^7.1.0",
-        "@babel/types": "^7.0.0"
+        "@babel/template": "^7.4.4",
+        "@babel/traverse": "^7.4.4",
+        "@babel/types": "^7.4.4"
       }
     },
     "@babel/highlight": {
@@ -298,609 +135,43 @@
       }
     },
     "@babel/parser": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.0.tgz",
-      "integrity": "sha512-SmjnXCuPAlai75AFtzv+KCBcJ3sDDWbIn+WytKw1k+wAtEy6phqI2RqKh/zAnw53i1NR8su3Ep/UoqaKcimuLg==",
+      "version": "7.4.4",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.4.4.tgz",
+      "integrity": "sha512-5pCS4mOsL+ANsFZGdvNLybx4wtqAZJ0MJjMHxvzI3bvIsz6sQvzW8XX92EYIkiPtIvcfG3Aj+Ir5VNyjnZhP7w==",
       "dev": true
     },
-    "@babel/plugin-proposal-async-generator-functions": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.1.0.tgz",
-      "integrity": "sha512-Fq803F3Jcxo20MXUSDdmZZXrPe6BWyGcWBPPNB/M7WaUYESKDeKMOGIxEzQOjGSmW/NWb6UaPZrtTB2ekhB/ew==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-remap-async-to-generator": "^7.1.0",
-        "@babel/plugin-syntax-async-generators": "^7.0.0"
-      }
-    },
-    "@babel/plugin-proposal-json-strings": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.0.0.tgz",
-      "integrity": "sha512-kfVdUkIAGJIVmHmtS/40i/fg/AGnw/rsZBCaapY5yjeO5RA9m165Xbw9KMOu2nqXP5dTFjEjHdfNdoVcHv133Q==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-json-strings": "^7.0.0"
-      }
-    },
-    "@babel/plugin-proposal-object-rest-spread": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0.tgz",
-      "integrity": "sha512-14fhfoPcNu7itSen7Py1iGN0gEm87hX/B+8nZPqkdmANyyYWYMY2pjA3r8WXbWVKMzfnSNS0xY8GVS0IjXi/iw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-object-rest-spread": "^7.0.0"
-      }
-    },
-    "@babel/plugin-proposal-optional-catch-binding": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.0.0.tgz",
-      "integrity": "sha512-JPqAvLG1s13B/AuoBjdBYvn38RqW6n1TzrQO839/sIpqLpbnXKacsAgpZHzLD83Sm8SDXMkkrAvEnJ25+0yIpw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-optional-catch-binding": "^7.0.0"
-      }
-    },
-    "@babel/plugin-proposal-unicode-property-regex": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.0.0.tgz",
-      "integrity": "sha512-tM3icA6GhC3ch2SkmSxv7J/hCWKISzwycub6eGsDrFDgukD4dZ/I+x81XgW0YslS6mzNuQ1Cbzh5osjIMgepPQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-regex": "^7.0.0",
-        "regexpu-core": "^4.2.0"
-      }
-    },
-    "@babel/plugin-syntax-async-generators": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0.tgz",
-      "integrity": "sha512-im7ged00ddGKAjcZgewXmp1vxSZQQywuQXe2B1A7kajjZmDeY/ekMPmWr9zJgveSaQH0k7BcGrojQhcK06l0zA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-json-strings": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.0.0.tgz",
-      "integrity": "sha512-UlSfNydC+XLj4bw7ijpldc1uZ/HB84vw+U6BTuqMdIEmz/LDe63w/GHtpQMdXWdqQZFeAI9PjnHe/vDhwirhKA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-object-rest-spread": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0.tgz",
-      "integrity": "sha512-5A0n4p6bIiVe5OvQPxBnesezsgFJdHhSs3uFSvaPdMqtsovajLZ+G2vZyvNe10EzJBWWo3AcHGKhAFUxqwp2dw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-optional-catch-binding": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.0.0.tgz",
-      "integrity": "sha512-Wc+HVvwjcq5qBg1w5RG9o9RVzmCaAg/Vp0erHCKpAYV8La6I94o4GQAmFYNmkzoMO6gzoOSulpKeSSz6mPEoZw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-arrow-functions": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0.tgz",
-      "integrity": "sha512-2EZDBl1WIO/q4DIkIp4s86sdp4ZifL51MoIviLY/gG/mLSuOIEg7J8o6mhbxOTvUJkaN50n+8u41FVsr5KLy/w==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-async-to-generator": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.1.0.tgz",
-      "integrity": "sha512-rNmcmoQ78IrvNCIt/R9U+cixUHeYAzgusTFgIAv+wQb9HJU4szhpDD6e5GCACmj/JP5KxuCwM96bX3L9v4ZN/g==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-imports": "^7.0.0",
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-remap-async-to-generator": "^7.1.0"
-      }
-    },
-    "@babel/plugin-transform-block-scoped-functions": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0.tgz",
-      "integrity": "sha512-AOBiyUp7vYTqz2Jibe1UaAWL0Hl9JUXEgjFvvvcSc9MVDItv46ViXFw2F7SVt1B5k+KWjl44eeXOAk3UDEaJjQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-block-scoping": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0.tgz",
-      "integrity": "sha512-GWEMCrmHQcYWISilUrk9GDqH4enf3UmhOEbNbNrlNAX1ssH3MsS1xLOS6rdjRVPgA7XXVPn87tRkdTEoA/dxEg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "lodash": "^4.17.10"
-      }
-    },
-    "@babel/plugin-transform-classes": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.1.0.tgz",
-      "integrity": "sha512-rNaqoD+4OCBZjM7VaskladgqnZ1LO6o2UxuWSDzljzW21pN1KXkB7BstAVweZdxQkHAujps5QMNOTWesBciKFg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-annotate-as-pure": "^7.0.0",
-        "@babel/helper-define-map": "^7.1.0",
-        "@babel/helper-function-name": "^7.1.0",
-        "@babel/helper-optimise-call-expression": "^7.0.0",
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-replace-supers": "^7.1.0",
-        "@babel/helper-split-export-declaration": "^7.0.0",
-        "globals": "^11.1.0"
-      }
-    },
-    "@babel/plugin-transform-computed-properties": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0.tgz",
-      "integrity": "sha512-ubouZdChNAv4AAWAgU7QKbB93NU5sHwInEWfp+/OzJKA02E6Woh9RVoX4sZrbRwtybky/d7baTUqwFx+HgbvMA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-destructuring": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0.tgz",
-      "integrity": "sha512-Fr2GtF8YJSXGTyFPakPFB4ODaEKGU04bPsAllAIabwoXdFrPxL0LVXQX5dQWoxOjjgozarJcC9eWGsj0fD6Zsg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-dotall-regex": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.0.0.tgz",
-      "integrity": "sha512-00THs8eJxOJUFVx1w8i1MBF4XH4PsAjKjQ1eqN/uCH3YKwP21GCKfrn6YZFZswbOk9+0cw1zGQPHVc1KBlSxig==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-regex": "^7.0.0",
-        "regexpu-core": "^4.1.3"
-      }
-    },
-    "@babel/plugin-transform-duplicate-keys": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.0.0.tgz",
-      "integrity": "sha512-w2vfPkMqRkdxx+C71ATLJG30PpwtTpW7DDdLqYt2acXU7YjztzeWW2Jk1T6hKqCLYCcEA5UQM/+xTAm+QCSnuQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-exponentiation-operator": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.1.0.tgz",
-      "integrity": "sha512-uZt9kD1Pp/JubkukOGQml9tqAeI8NkE98oZnHZ2qHRElmeKCodbTZgOEUtujSCSLhHSBWbzNiFSDIMC4/RBTLQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0",
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-for-of": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0.tgz",
-      "integrity": "sha512-TlxKecN20X2tt2UEr2LNE6aqA0oPeMT1Y3cgz8k4Dn1j5ObT8M3nl9aA37LLklx0PBZKETC9ZAf9n/6SujTuXA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-function-name": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.1.0.tgz",
-      "integrity": "sha512-VxOa1TMlFMtqPW2IDYZQaHsFrq/dDoIjgN098NowhexhZcz3UGlvPgZXuE1jEvNygyWyxRacqDpCZt+par1FNg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-function-name": "^7.1.0",
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-literals": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0.tgz",
-      "integrity": "sha512-1NTDBWkeNXgpUcyoVFxbr9hS57EpZYXpje92zv0SUzjdu3enaRwF/l3cmyRnXLtIdyJASyiS6PtybK+CgKf7jA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-modules-amd": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.1.0.tgz",
-      "integrity": "sha512-wt8P+xQ85rrnGNr2x1iV3DW32W8zrB6ctuBkYBbf5/ZzJY99Ob4MFgsZDFgczNU76iy9PWsy4EuxOliDjdKw6A==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-transforms": "^7.1.0",
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-modules-commonjs": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.1.0.tgz",
-      "integrity": "sha512-wtNwtMjn1XGwM0AXPspQgvmE6msSJP15CX2RVfpTSTNPLhKhaOjaIfBaVfj4iUZ/VrFSodcFedwtPg/NxwQlPA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-transforms": "^7.1.0",
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-simple-access": "^7.1.0"
-      }
-    },
-    "@babel/plugin-transform-modules-systemjs": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.0.0.tgz",
-      "integrity": "sha512-8EDKMAsitLkiF/D4Zhe9CHEE2XLh4bfLbb9/Zf3FgXYQOZyZYyg7EAel/aT2A7bHv62jwHf09q2KU/oEexr83g==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-hoist-variables": "^7.0.0",
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-modules-umd": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.1.0.tgz",
-      "integrity": "sha512-enrRtn5TfRhMmbRwm7F8qOj0qEYByqUvTttPEGimcBH4CJHphjyK1Vg7sdU7JjeEmgSpM890IT/efS2nMHwYig==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-transforms": "^7.1.0",
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-new-target": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0.tgz",
-      "integrity": "sha512-yin069FYjah+LbqfGeTfzIBODex/e++Yfa0rH0fpfam9uTbuEeEOx5GLGr210ggOV77mVRNoeqSYqeuaqSzVSw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-object-super": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.1.0.tgz",
-      "integrity": "sha512-/O02Je1CRTSk2SSJaq0xjwQ8hG4zhZGNjE8psTsSNPXyLRCODv7/PBozqT5AmQMzp7MI3ndvMhGdqp9c96tTEw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-replace-supers": "^7.1.0"
-      }
-    },
-    "@babel/plugin-transform-parameters": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.1.0.tgz",
-      "integrity": "sha512-vHV7oxkEJ8IHxTfRr3hNGzV446GAb+0hgbA7o/0Jd76s+YzccdWuTU296FOCOl/xweU4t/Ya4g41yWz80RFCRw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-call-delegate": "^7.1.0",
-        "@babel/helper-get-function-arity": "^7.0.0",
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-regenerator": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz",
-      "integrity": "sha512-sj2qzsEx8KDVv1QuJc/dEfilkg3RRPvPYx/VnKLtItVQRWt1Wqf5eVCOLZm29CiGFfYYsA3VPjfizTCV0S0Dlw==",
-      "dev": true,
-      "requires": {
-        "regenerator-transform": "^0.13.3"
-      }
-    },
-    "@babel/plugin-transform-shorthand-properties": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0.tgz",
-      "integrity": "sha512-g/99LI4vm5iOf5r1Gdxq5Xmu91zvjhEG5+yZDJW268AZELAu4J1EiFLnkSG3yuUsZyOipVOVUKoGPYwfsTymhw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-spread": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0.tgz",
-      "integrity": "sha512-L702YFy2EvirrR4shTj0g2xQp7aNwZoWNCkNu2mcoU0uyzMl0XRwDSwzB/xp6DSUFiBmEXuyAyEN16LsgVqGGQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-sticky-regex": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0.tgz",
-      "integrity": "sha512-LFUToxiyS/WD+XEWpkx/XJBrUXKewSZpzX68s+yEOtIbdnsRjpryDw9U06gYc6klYEij/+KQVRnD3nz3AoKmjw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-regex": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-template-literals": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0.tgz",
-      "integrity": "sha512-vA6rkTCabRZu7Nbl9DfLZE1imj4tzdWcg5vtdQGvj+OH9itNNB6hxuRMHuIY8SGnEt1T9g5foqs9LnrHzsqEFg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-annotate-as-pure": "^7.0.0",
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-typeof-symbol": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0.tgz",
-      "integrity": "sha512-1r1X5DO78WnaAIvs5uC48t41LLckxsYklJrZjNKcevyz83sF2l4RHbw29qrCPr/6ksFsdfRpT/ZgxNWHXRnffg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-unicode-regex": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0.tgz",
-      "integrity": "sha512-uJBrJhBOEa3D033P95nPHu3nbFwFE9ZgXsfEitzoIXIwqAZWk7uXcg06yFKXz9FSxBH5ucgU/cYdX0IV8ldHKw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-regex": "^7.0.0",
-        "regexpu-core": "^4.1.3"
-      }
-    },
-    "@babel/preset-env": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.1.0.tgz",
-      "integrity": "sha512-ZLVSynfAoDHB/34A17/JCZbyrzbQj59QC1Anyueb4Bwjh373nVPq5/HMph0z+tCmcDjXDe+DlKQq9ywQuvWrQg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-module-imports": "^7.0.0",
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-proposal-async-generator-functions": "^7.1.0",
-        "@babel/plugin-proposal-json-strings": "^7.0.0",
-        "@babel/plugin-proposal-object-rest-spread": "^7.0.0",
-        "@babel/plugin-proposal-optional-catch-binding": "^7.0.0",
-        "@babel/plugin-proposal-unicode-property-regex": "^7.0.0",
-        "@babel/plugin-syntax-async-generators": "^7.0.0",
-        "@babel/plugin-syntax-object-rest-spread": "^7.0.0",
-        "@babel/plugin-syntax-optional-catch-binding": "^7.0.0",
-        "@babel/plugin-transform-arrow-functions": "^7.0.0",
-        "@babel/plugin-transform-async-to-generator": "^7.1.0",
-        "@babel/plugin-transform-block-scoped-functions": "^7.0.0",
-        "@babel/plugin-transform-block-scoping": "^7.0.0",
-        "@babel/plugin-transform-classes": "^7.1.0",
-        "@babel/plugin-transform-computed-properties": "^7.0.0",
-        "@babel/plugin-transform-destructuring": "^7.0.0",
-        "@babel/plugin-transform-dotall-regex": "^7.0.0",
-        "@babel/plugin-transform-duplicate-keys": "^7.0.0",
-        "@babel/plugin-transform-exponentiation-operator": "^7.1.0",
-        "@babel/plugin-transform-for-of": "^7.0.0",
-        "@babel/plugin-transform-function-name": "^7.1.0",
-        "@babel/plugin-transform-literals": "^7.0.0",
-        "@babel/plugin-transform-modules-amd": "^7.1.0",
-        "@babel/plugin-transform-modules-commonjs": "^7.1.0",
-        "@babel/plugin-transform-modules-systemjs": "^7.0.0",
-        "@babel/plugin-transform-modules-umd": "^7.1.0",
-        "@babel/plugin-transform-new-target": "^7.0.0",
-        "@babel/plugin-transform-object-super": "^7.1.0",
-        "@babel/plugin-transform-parameters": "^7.1.0",
-        "@babel/plugin-transform-regenerator": "^7.0.0",
-        "@babel/plugin-transform-shorthand-properties": "^7.0.0",
-        "@babel/plugin-transform-spread": "^7.0.0",
-        "@babel/plugin-transform-sticky-regex": "^7.0.0",
-        "@babel/plugin-transform-template-literals": "^7.0.0",
-        "@babel/plugin-transform-typeof-symbol": "^7.0.0",
-        "@babel/plugin-transform-unicode-regex": "^7.0.0",
-        "browserslist": "^4.1.0",
-        "invariant": "^2.2.2",
-        "js-levenshtein": "^1.1.3",
-        "semver": "^5.3.0"
-      }
-    },
-    "@babel/preset-es2016": {
-      "version": "7.0.0-beta.53",
-      "resolved": "https://registry.npmjs.org/@babel/preset-es2016/-/preset-es2016-7.0.0-beta.53.tgz",
-      "integrity": "sha1-pHMhHG9jybkDoWFiFxiIq2g8iu0=",
-      "requires": {
-        "@babel/helper-plugin-utils": "7.0.0-beta.53",
-        "@babel/plugin-transform-exponentiation-operator": "7.0.0-beta.53"
-      },
-      "dependencies": {
-        "@babel/code-frame": {
-          "version": "7.0.0-beta.53",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.53.tgz",
-          "integrity": "sha1-mA0VYLhjV1v1o3eSUDfgEy71kh4=",
-          "requires": {
-            "@babel/highlight": "7.0.0-beta.53"
-          }
-        },
-        "@babel/generator": {
-          "version": "7.0.0-beta.53",
-          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.53.tgz",
-          "integrity": "sha1-uMrXLFcr4yNK/94ivm2sxCUOA0s=",
-          "requires": {
-            "@babel/types": "7.0.0-beta.53",
-            "jsesc": "^2.5.1",
-            "lodash": "^4.17.5",
-            "source-map": "^0.5.0",
-            "trim-right": "^1.0.1"
-          }
-        },
-        "@babel/helper-builder-binary-assignment-operator-visitor": {
-          "version": "7.0.0-beta.53",
-          "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-beta.53.tgz",
-          "integrity": "sha1-RFZwliPX2vqivulPglUD9MDs6Fs=",
-          "requires": {
-            "@babel/helper-explode-assignable-expression": "7.0.0-beta.53",
-            "@babel/types": "7.0.0-beta.53"
-          }
-        },
-        "@babel/helper-explode-assignable-expression": {
-          "version": "7.0.0-beta.53",
-          "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-beta.53.tgz",
-          "integrity": "sha1-1bytK2tH9ATAruillk3/2TEkc6g=",
-          "requires": {
-            "@babel/traverse": "7.0.0-beta.53",
-            "@babel/types": "7.0.0-beta.53"
-          }
-        },
-        "@babel/helper-function-name": {
-          "version": "7.0.0-beta.53",
-          "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.53.tgz",
-          "integrity": "sha1-USgEro6cvOVDHr6hnkdijC7WU/I=",
-          "requires": {
-            "@babel/helper-get-function-arity": "7.0.0-beta.53",
-            "@babel/template": "7.0.0-beta.53",
-            "@babel/types": "7.0.0-beta.53"
-          }
-        },
-        "@babel/helper-get-function-arity": {
-          "version": "7.0.0-beta.53",
-          "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.53.tgz",
-          "integrity": "sha1-3tiKsp+bHbYch9G7jTijXdp3neY=",
-          "requires": {
-            "@babel/types": "7.0.0-beta.53"
-          }
-        },
-        "@babel/helper-plugin-utils": {
-          "version": "7.0.0-beta.53",
-          "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.53.tgz",
-          "integrity": "sha1-1kRYY2/8JYtCcUqd2Trrb4uM8+0="
-        },
-        "@babel/helper-split-export-declaration": {
-          "version": "7.0.0-beta.53",
-          "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.53.tgz",
-          "integrity": "sha1-rvVLix+ZYW6jfJhHhxajeAJjMls=",
-          "requires": {
-            "@babel/types": "7.0.0-beta.53"
-          }
-        },
-        "@babel/highlight": {
-          "version": "7.0.0-beta.53",
-          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.53.tgz",
-          "integrity": "sha1-9OlS2tF4fSBeGI0+OEzc5JyjaPs=",
-          "requires": {
-            "chalk": "^2.0.0",
-            "esutils": "^2.0.2",
-            "js-tokens": "^3.0.0"
-          }
-        },
-        "@babel/parser": {
-          "version": "7.0.0-beta.53",
-          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.0.0-beta.53.tgz",
-          "integrity": "sha1-H0XrYXv5Rj1IKywE00nZ5O2/SJI="
-        },
-        "@babel/plugin-transform-exponentiation-operator": {
-          "version": "7.0.0-beta.53",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-beta.53.tgz",
-          "integrity": "sha1-PiZxeSBMd1GdhBepsZnyUiIejZU=",
-          "requires": {
-            "@babel/helper-builder-binary-assignment-operator-visitor": "7.0.0-beta.53",
-            "@babel/helper-plugin-utils": "7.0.0-beta.53"
-          }
-        },
-        "@babel/template": {
-          "version": "7.0.0-beta.53",
-          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.53.tgz",
-          "integrity": "sha1-MyIpCQDQsYewpxdDgeHzu3EFDS4=",
-          "requires": {
-            "@babel/code-frame": "7.0.0-beta.53",
-            "@babel/parser": "7.0.0-beta.53",
-            "@babel/types": "7.0.0-beta.53",
-            "lodash": "^4.17.5"
-          }
-        },
-        "@babel/traverse": {
-          "version": "7.0.0-beta.53",
-          "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.53.tgz",
-          "integrity": "sha1-ANMs2NC1j0wB0xFXvmIsZigm00Q=",
-          "requires": {
-            "@babel/code-frame": "7.0.0-beta.53",
-            "@babel/generator": "7.0.0-beta.53",
-            "@babel/helper-function-name": "7.0.0-beta.53",
-            "@babel/helper-split-export-declaration": "7.0.0-beta.53",
-            "@babel/parser": "7.0.0-beta.53",
-            "@babel/types": "7.0.0-beta.53",
-            "debug": "^3.1.0",
-            "globals": "^11.1.0",
-            "invariant": "^2.2.0",
-            "lodash": "^4.17.5"
-          }
-        },
-        "@babel/types": {
-          "version": "7.0.0-beta.53",
-          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.53.tgz",
-          "integrity": "sha1-GaRhwNpRVZXftnQLS0Xce7Dms3U=",
-          "requires": {
-            "esutils": "^2.0.2",
-            "lodash": "^4.17.5",
-            "to-fast-properties": "^2.0.0"
-          }
-        },
-        "debug": {
-          "version": "3.2.6",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
-          "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
-          "requires": {
-            "ms": "^2.1.1"
-          }
-        },
-        "js-tokens": {
-          "version": "3.0.2",
-          "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
-          "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls="
-        },
-        "ms": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
-          "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
-        }
-      }
-    },
     "@babel/template": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.1.0.tgz",
-      "integrity": "sha512-yZ948B/pJrwWGY6VxG6XRFsVTee3IQ7bihq9zFpM00Vydu6z5Xwg0C3J644kxI9WOTzd+62xcIsQ+AT1MGhqhA==",
+      "version": "7.4.4",
+      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.4.tgz",
+      "integrity": "sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==",
       "dev": true,
       "requires": {
         "@babel/code-frame": "^7.0.0",
-        "@babel/parser": "^7.1.0",
-        "@babel/types": "^7.0.0"
+        "@babel/parser": "^7.4.4",
+        "@babel/types": "^7.4.4"
       }
     },
     "@babel/traverse": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.1.0.tgz",
-      "integrity": "sha512-bwgln0FsMoxm3pLOgrrnGaXk18sSM9JNf1/nHC/FksmNGFbYnPWY4GYCfLxyP1KRmfsxqkRpfoa6xr6VuuSxdw==",
+      "version": "7.4.4",
+      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.4.4.tgz",
+      "integrity": "sha512-Gw6qqkw/e6AGzlyj9KnkabJX7VcubqPtkUQVAwkc0wUMldr3A/hezNB3Rc5eIvId95iSGkGIOe5hh1kMKf951A==",
       "dev": true,
       "requires": {
         "@babel/code-frame": "^7.0.0",
-        "@babel/generator": "^7.0.0",
+        "@babel/generator": "^7.4.4",
         "@babel/helper-function-name": "^7.1.0",
-        "@babel/helper-split-export-declaration": "^7.0.0",
-        "@babel/parser": "^7.1.0",
-        "@babel/types": "^7.0.0",
-        "debug": "^3.1.0",
+        "@babel/helper-split-export-declaration": "^7.4.4",
+        "@babel/parser": "^7.4.4",
+        "@babel/types": "^7.4.4",
+        "debug": "^4.1.0",
         "globals": "^11.1.0",
-        "lodash": "^4.17.10"
+        "lodash": "^4.17.11"
       },
       "dependencies": {
         "debug": {
-          "version": "3.2.5",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz",
-          "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==",
+          "version": "4.1.1",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
           "dev": true,
           "requires": {
             "ms": "^2.1.1"
@@ -915,13 +186,13 @@
       }
     },
     "@babel/types": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0.tgz",
-      "integrity": "sha512-5tPDap4bGKTLPtci2SUl/B7Gv8RnuJFuQoWx26RJobS0fFrz4reUA3JnwIM+HVHEmWE0C1mzKhDtTp8NsWY02Q==",
+      "version": "7.4.4",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.4.tgz",
+      "integrity": "sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ==",
       "dev": true,
       "requires": {
         "esutils": "^2.0.2",
-        "lodash": "^4.17.10",
+        "lodash": "^4.17.11",
         "to-fast-properties": "^2.0.0"
       }
     },
@@ -940,16 +211,6 @@
         "@types/babel-types": "*"
       }
     },
-    "@webcomponents/html-imports": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/@webcomponents/html-imports/-/html-imports-1.2.0.tgz",
-      "integrity": "sha512-EIy8RqSfsoJ5Tk2wsfaSX4IKhXg8oYCq/xVEz8LEELXhv5tup/iZ/SInoz8SLtZGFP+vjUh2oRsgkUMhbrr0GQ=="
-    },
-    "@webcomponents/webcomponentsjs": {
-      "version": "1.2.7",
-      "resolved": "https://registry.npmjs.org/@webcomponents/webcomponentsjs/-/webcomponentsjs-1.2.7.tgz",
-      "integrity": "sha512-011DyXjpQoZ7f6oMCpYTYgrzsWJ7+0fEbt6Y8KcfZZa3ZdJ/ttoMgeH75SqHDe7aNdolfMhCvrSNNgh9wcsgpA=="
-    },
     "abbrev": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
@@ -957,13 +218,30 @@
       "dev": true
     },
     "accepts": {
-      "version": "1.3.5",
-      "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz",
-      "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=",
+      "version": "1.3.7",
+      "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
+      "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
       "dev": true,
       "requires": {
-        "mime-types": "~2.1.18",
-        "negotiator": "0.6.1"
+        "mime-types": "~2.1.24",
+        "negotiator": "0.6.2"
+      },
+      "dependencies": {
+        "mime-db": {
+          "version": "1.40.0",
+          "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
+          "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==",
+          "dev": true
+        },
+        "mime-types": {
+          "version": "2.1.24",
+          "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
+          "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==",
+          "dev": true,
+          "requires": {
+            "mime-db": "1.40.0"
+          }
+        }
       }
     },
     "acorn": {
@@ -989,22 +267,16 @@
         }
       }
     },
-    "after": {
-      "version": "0.8.2",
-      "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",
-      "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=",
-      "dev": true
-    },
     "ajv": {
-      "version": "5.5.2",
-      "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
-      "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
+      "version": "6.10.0",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz",
+      "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==",
       "dev": true,
       "requires": {
-        "co": "^4.6.0",
-        "fast-deep-equal": "^1.0.0",
+        "fast-deep-equal": "^2.0.1",
         "fast-json-stable-stringify": "^2.0.0",
-        "json-schema-traverse": "^0.3.0"
+        "json-schema-traverse": "^0.4.1",
+        "uri-js": "^4.2.2"
       }
     },
     "align-text": {
@@ -1045,6 +317,7 @@
       "version": "3.2.1",
       "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
       "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+      "dev": true,
       "requires": {
         "color-convert": "^1.9.0"
       }
@@ -1058,6 +331,18 @@
       "requires": {
         "micromatch": "^3.1.4",
         "normalize-path": "^2.1.1"
+      },
+      "dependencies": {
+        "normalize-path": {
+          "version": "2.1.1",
+          "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+          "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "remove-trailing-separator": "^1.0.1"
+          }
+        }
       }
     },
     "aproba": {
@@ -1080,19 +365,22 @@
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
       "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
-      "dev": true
+      "dev": true,
+      "optional": true
     },
     "arr-flatten": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
       "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
-      "dev": true
+      "dev": true,
+      "optional": true
     },
     "arr-union": {
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
       "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
-      "dev": true
+      "dev": true,
+      "optional": true
     },
     "array-find-index": {
       "version": "1.0.2",
@@ -1110,13 +398,8 @@
       "version": "0.3.2",
       "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
       "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
-      "dev": true
-    },
-    "arraybuffer.slice": {
-      "version": "0.0.7",
-      "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz",
-      "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==",
-      "dev": true
+      "dev": true,
+      "optional": true
     },
     "asap": {
       "version": "2.0.6",
@@ -1143,25 +426,15 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
       "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
-      "dev": true
-    },
-    "async": {
-      "version": "1.5.2",
-      "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
-      "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
-      "dev": true
+      "dev": true,
+      "optional": true
     },
     "async-each": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
-      "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
-      "dev": true
-    },
-    "async-each-series": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-0.1.1.tgz",
-      "integrity": "sha1-dhfBkXQB/Yykooqtzj266Yr+tDI=",
-      "dev": true
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
+      "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==",
+      "dev": true,
+      "optional": true
     },
     "async-foreach": {
       "version": "0.1.3",
@@ -1169,12 +442,6 @@
       "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=",
       "dev": true
     },
-    "async-limiter": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz",
-      "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==",
-      "dev": true
-    },
     "asynckit": {
       "version": "0.4.0",
       "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
@@ -1185,53 +452,26 @@
       "version": "2.1.2",
       "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
       "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
-      "dev": true
+      "dev": true,
+      "optional": true
     },
     "aws-sign2": {
       "version": "0.7.0",
       "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
-      "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
-      "dev": true
-    },
-    "aws4": {
-      "version": "1.8.0",
-      "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
-      "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
-      "dev": true
-    },
-    "axios": {
-      "version": "0.17.1",
-      "resolved": "https://registry.npmjs.org/axios/-/axios-0.17.1.tgz",
-      "integrity": "sha1-LY4+XQvb1zJ/kbyBT1xXZg+Bgk0=",
-      "dev": true,
-      "requires": {
-        "follow-redirects": "^1.2.5",
-        "is-buffer": "^1.1.5"
-      }
-    },
-    "babel-polyfill": {
-      "version": "6.26.0",
-      "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz",
-      "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=",
-      "optional": true,
-      "requires": {
-        "babel-runtime": "^6.26.0",
-        "core-js": "^2.5.0",
-        "regenerator-runtime": "^0.10.5"
-      },
-      "dependencies": {
-        "regenerator-runtime": {
-          "version": "0.10.5",
-          "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz",
-          "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=",
-          "optional": true
-        }
-      }
+      "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
+      "dev": true
+    },
+    "aws4": {
+      "version": "1.8.0",
+      "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
+      "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
+      "dev": true
     },
     "babel-runtime": {
       "version": "6.26.0",
       "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
       "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+      "dev": true,
       "requires": {
         "core-js": "^2.4.0",
         "regenerator-runtime": "^0.11.0"
@@ -1263,12 +503,6 @@
       "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
       "dev": true
     },
-    "backo2": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz",
-      "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=",
-      "dev": true
-    },
     "balanced-match": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
@@ -1280,6 +514,7 @@
       "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
       "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
       "dev": true,
+      "optional": true,
       "requires": {
         "cache-base": "^1.0.1",
         "class-utils": "^0.3.5",
@@ -1295,6 +530,7 @@
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
           "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
           "dev": true,
+          "optional": true,
           "requires": {
             "is-descriptor": "^1.0.0"
           }
@@ -1304,6 +540,7 @@
           "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
           "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
           "dev": true,
+          "optional": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -1313,6 +550,7 @@
           "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
           "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
           "dev": true,
+          "optional": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -1322,6 +560,7 @@
           "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
           "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
           "dev": true,
+          "optional": true,
           "requires": {
             "is-accessor-descriptor": "^1.0.0",
             "is-data-descriptor": "^1.0.0",
@@ -1330,54 +569,21 @@
         }
       }
     },
-    "base64-arraybuffer": {
-      "version": "0.1.5",
-      "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz",
-      "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=",
-      "dev": true
-    },
-    "base64id": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz",
-      "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=",
-      "dev": true
-    },
-    "batch": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
-      "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=",
-      "dev": true
-    },
     "bcrypt-pbkdf": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
       "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
       "dev": true,
-      "optional": true,
       "requires": {
         "tweetnacl": "^0.14.3"
       }
     },
-    "better-assert": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz",
-      "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=",
-      "dev": true,
-      "requires": {
-        "callsite": "1.0.0"
-      }
-    },
     "binary-extensions": {
-      "version": "1.12.0",
-      "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.12.0.tgz",
-      "integrity": "sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg==",
-      "dev": true
-    },
-    "blob": {
-      "version": "0.0.4",
-      "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz",
-      "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=",
-      "dev": true
+      "version": "1.13.1",
+      "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
+      "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
+      "dev": true,
+      "optional": true
     },
     "block-stream": {
       "version": "0.0.9",
@@ -1389,73 +595,21 @@
       }
     },
     "body-parser": {
-      "version": "1.18.2",
-      "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz",
-      "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=",
+      "version": "1.18.3",
+      "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz",
+      "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=",
       "dev": true,
       "requires": {
         "bytes": "3.0.0",
         "content-type": "~1.0.4",
         "debug": "2.6.9",
-        "depd": "~1.1.1",
-        "http-errors": "~1.6.2",
-        "iconv-lite": "0.4.19",
+        "depd": "~1.1.2",
+        "http-errors": "~1.6.3",
+        "iconv-lite": "0.4.23",
         "on-finished": "~2.3.0",
-        "qs": "6.5.1",
-        "raw-body": "2.3.2",
-        "type-is": "~1.6.15"
-      },
-      "dependencies": {
-        "iconv-lite": {
-          "version": "0.4.19",
-          "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
-          "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==",
-          "dev": true
-        },
-        "qs": {
-          "version": "6.5.1",
-          "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
-          "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==",
-          "dev": true
-        },
-        "raw-body": {
-          "version": "2.3.2",
-          "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz",
-          "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=",
-          "dev": true,
-          "requires": {
-            "bytes": "3.0.0",
-            "http-errors": "1.6.2",
-            "iconv-lite": "0.4.19",
-            "unpipe": "1.0.0"
-          },
-          "dependencies": {
-            "depd": {
-              "version": "1.1.1",
-              "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz",
-              "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=",
-              "dev": true
-            },
-            "http-errors": {
-              "version": "1.6.2",
-              "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz",
-              "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=",
-              "dev": true,
-              "requires": {
-                "depd": "1.1.1",
-                "inherits": "2.0.3",
-                "setprototypeof": "1.0.3",
-                "statuses": ">= 1.3.1 < 2"
-              }
-            }
-          }
-        },
-        "setprototypeof": {
-          "version": "1.0.3",
-          "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
-          "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=",
-          "dev": true
-        }
+        "qs": "6.5.2",
+        "raw-body": "2.3.3",
+        "type-is": "~1.6.16"
       }
     },
     "brace-expansion": {
@@ -1473,6 +627,7 @@
       "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
       "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
       "dev": true,
+      "optional": true,
       "requires": {
         "arr-flatten": "^1.1.0",
         "array-unique": "^0.3.2",
@@ -1491,211 +646,13 @@
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
           "dev": true,
+          "optional": true,
           "requires": {
             "is-extendable": "^0.1.0"
           }
         }
       }
     },
-    "browser-sync": {
-      "version": "2.24.7",
-      "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.24.7.tgz",
-      "integrity": "sha512-NqXek0cPNEayQm77VGnD+qrwcVBTKMIQ9bdP6IWDRUTU1Bk7tZeq5QR3OG5Rr36Rao1t+Vx1QnfolHvvr5qsTA==",
-      "dev": true,
-      "requires": {
-        "browser-sync-ui": "v1.0.1",
-        "bs-recipes": "1.3.4",
-        "chokidar": "1.7.0",
-        "connect": "3.6.6",
-        "connect-history-api-fallback": "^1.5.0",
-        "dev-ip": "^1.0.1",
-        "easy-extender": "^2.3.4",
-        "eazy-logger": "3.0.2",
-        "etag": "^1.8.1",
-        "fresh": "^0.5.2",
-        "fs-extra": "3.0.1",
-        "http-proxy": "1.15.2",
-        "immutable": "3.8.2",
-        "localtunnel": "1.9.0",
-        "micromatch": "2.3.11",
-        "opn": "5.3.0",
-        "portscanner": "2.1.1",
-        "qs": "6.2.3",
-        "raw-body": "^2.3.2",
-        "resp-modifier": "6.0.2",
-        "rx": "4.1.0",
-        "serve-index": "1.9.1",
-        "serve-static": "1.13.2",
-        "server-destroy": "1.0.1",
-        "socket.io": "2.1.1",
-        "ua-parser-js": "0.7.17",
-        "yargs": "6.4.0"
-      },
-      "dependencies": {
-        "anymatch": {
-          "version": "1.3.2",
-          "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
-          "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==",
-          "dev": true,
-          "requires": {
-            "micromatch": "^2.1.5",
-            "normalize-path": "^2.0.0"
-          }
-        },
-        "arr-diff": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
-          "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
-          "dev": true,
-          "requires": {
-            "arr-flatten": "^1.0.1"
-          }
-        },
-        "array-unique": {
-          "version": "0.2.1",
-          "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
-          "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
-          "dev": true
-        },
-        "braces": {
-          "version": "1.8.5",
-          "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
-          "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
-          "dev": true,
-          "requires": {
-            "expand-range": "^1.8.1",
-            "preserve": "^0.2.0",
-            "repeat-element": "^1.1.2"
-          }
-        },
-        "chokidar": {
-          "version": "1.7.0",
-          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
-          "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=",
-          "dev": true,
-          "requires": {
-            "anymatch": "^1.3.0",
-            "async-each": "^1.0.0",
-            "fsevents": "^1.0.0",
-            "glob-parent": "^2.0.0",
-            "inherits": "^2.0.1",
-            "is-binary-path": "^1.0.0",
-            "is-glob": "^2.0.0",
-            "path-is-absolute": "^1.0.0",
-            "readdirp": "^2.0.0"
-          }
-        },
-        "expand-brackets": {
-          "version": "0.1.5",
-          "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
-          "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
-          "dev": true,
-          "requires": {
-            "is-posix-bracket": "^0.1.0"
-          }
-        },
-        "extglob": {
-          "version": "0.3.2",
-          "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
-          "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
-          "dev": true,
-          "requires": {
-            "is-extglob": "^1.0.0"
-          }
-        },
-        "glob-parent": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
-          "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
-          "dev": true,
-          "requires": {
-            "is-glob": "^2.0.0"
-          }
-        },
-        "is-extglob": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
-          "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
-          "dev": true
-        },
-        "is-glob": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
-          "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
-          "dev": true,
-          "requires": {
-            "is-extglob": "^1.0.0"
-          }
-        },
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        },
-        "micromatch": {
-          "version": "2.3.11",
-          "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
-          "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
-          "dev": true,
-          "requires": {
-            "arr-diff": "^2.0.0",
-            "array-unique": "^0.2.1",
-            "braces": "^1.8.2",
-            "expand-brackets": "^0.1.4",
-            "extglob": "^0.3.1",
-            "filename-regex": "^2.0.0",
-            "is-extglob": "^1.0.0",
-            "is-glob": "^2.0.1",
-            "kind-of": "^3.0.2",
-            "normalize-path": "^2.0.1",
-            "object.omit": "^2.0.0",
-            "parse-glob": "^3.0.4",
-            "regex-cache": "^0.4.2"
-          }
-        }
-      }
-    },
-    "browser-sync-ui": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-1.0.1.tgz",
-      "integrity": "sha512-RIxmwVVcUFhRd1zxp7m2FfLnXHf59x4Gtj8HFwTA//3VgYI3AKkaQAuDL8KDJnE59XqCshxZa13JYuIWtZlKQg==",
-      "dev": true,
-      "requires": {
-        "async-each-series": "0.1.1",
-        "connect-history-api-fallback": "^1.1.0",
-        "immutable": "^3.7.6",
-        "server-destroy": "1.0.1",
-        "socket.io-client": "2.0.4",
-        "stream-throttle": "^0.1.3"
-      }
-    },
-    "browserslist": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.1.1.tgz",
-      "integrity": "sha512-VBorw+tgpOtZ1BYhrVSVTzTt/3+vSE3eFUh0N2GCFK1HffceOaf32YS/bs6WiFhjDAblAFrx85jMy3BG9fBK2Q==",
-      "dev": true,
-      "requires": {
-        "caniuse-lite": "^1.0.30000884",
-        "electron-to-chromium": "^1.3.62",
-        "node-releases": "^1.0.0-alpha.11"
-      }
-    },
-    "bs-recipes": {
-      "version": "1.3.4",
-      "resolved": "https://registry.npmjs.org/bs-recipes/-/bs-recipes-1.3.4.tgz",
-      "integrity": "sha1-DS1NSKcYyMBEdp/cT4lZLci2lYU=",
-      "dev": true
-    },
-    "builtin-modules": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
-      "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
-      "dev": true
-    },
     "bytes": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
@@ -1707,6 +664,7 @@
       "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
       "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
       "dev": true,
+      "optional": true,
       "requires": {
         "collection-visit": "^1.0.0",
         "component-emitter": "^1.2.1",
@@ -1719,16 +677,10 @@
         "unset-value": "^1.0.0"
       }
     },
-    "callsite": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz",
-      "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=",
-      "dev": true
-    },
     "camelcase": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
-      "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
+      "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
       "dev": true
     },
     "camelcase-keys": {
@@ -1739,22 +691,8 @@
       "requires": {
         "camelcase": "^2.0.0",
         "map-obj": "^1.0.0"
-      },
-      "dependencies": {
-        "camelcase": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
-          "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
-          "dev": true
-        }
       }
     },
-    "caniuse-lite": {
-      "version": "1.0.30000888",
-      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000888.tgz",
-      "integrity": "sha512-vftg+5p/lPsQGpnhSo/yBuYL36ai/cyjLvU3dOPJY1kkKrekLWIy8SLm+wzjX0hpCUdFTasC4/ZT7uqw4rKOnQ==",
-      "dev": true
-    },
     "caseless": {
       "version": "0.12.0",
       "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
@@ -1772,9 +710,10 @@
       }
     },
     "chalk": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
-      "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
+      "version": "2.4.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+      "dev": true,
       "requires": {
         "ansi-styles": "^3.2.1",
         "escape-string-regexp": "^1.0.5",
@@ -1791,25 +730,24 @@
       }
     },
     "chokidar": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz",
-      "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==",
+      "version": "2.1.5",
+      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.5.tgz",
+      "integrity": "sha512-i0TprVWp+Kj4WRPtInjexJ8Q+BqTE909VpH8xVhXrJkoc5QC8VO9TryGOqTr+2hljzc1sC62t22h5tZePodM/A==",
       "dev": true,
       "optional": true,
       "requires": {
         "anymatch": "^2.0.0",
-        "async-each": "^1.0.0",
-        "braces": "^2.3.0",
-        "fsevents": "^1.2.2",
+        "async-each": "^1.0.1",
+        "braces": "^2.3.2",
+        "fsevents": "^1.2.7",
         "glob-parent": "^3.1.0",
-        "inherits": "^2.0.1",
+        "inherits": "^2.0.3",
         "is-binary-path": "^1.0.0",
         "is-glob": "^4.0.0",
-        "lodash.debounce": "^4.0.8",
-        "normalize-path": "^2.1.1",
+        "normalize-path": "^3.0.0",
         "path-is-absolute": "^1.0.0",
-        "readdirp": "^2.0.0",
-        "upath": "^1.0.5"
+        "readdirp": "^2.2.1",
+        "upath": "^1.1.1"
       }
     },
     "class-utils": {
@@ -1817,6 +755,7 @@
       "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
       "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
       "dev": true,
+      "optional": true,
       "requires": {
         "arr-union": "^3.1.0",
         "define-property": "^0.2.5",
@@ -1829,6 +768,7 @@
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
           "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
           "dev": true,
+          "optional": true,
           "requires": {
             "is-descriptor": "^0.1.0"
           }
@@ -1863,12 +803,6 @@
         "wrap-ansi": "^2.0.0"
       }
     },
-    "co": {
-      "version": "4.6.0",
-      "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
-      "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
-      "dev": true
-    },
     "code-point-at": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
@@ -1880,6 +814,7 @@
       "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
       "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
       "dev": true,
+      "optional": true,
       "requires": {
         "map-visit": "^1.0.0",
         "object-visit": "^1.0.0"
@@ -1889,6 +824,7 @@
       "version": "1.9.3",
       "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
       "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+      "dev": true,
       "requires": {
         "color-name": "1.1.3"
       }
@@ -1896,12 +832,13 @@
     "color-name": {
       "version": "1.1.3",
       "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
-      "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
+      "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+      "dev": true
     },
     "combined-stream": {
-      "version": "1.0.7",
-      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz",
-      "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==",
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+      "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
       "dev": true,
       "requires": {
         "delayed-stream": "~1.0.0"
@@ -1913,23 +850,12 @@
       "integrity": "sha512-6CYPa+JP2ftfRU2qkDK+UTVeQYosOg/2GbcjIcKPHfinyOLPVGXu/ovN86RP49Re5ndJK1N0kuiidFFuepc4ZQ==",
       "dev": true
     },
-    "component-bind": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",
-      "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=",
-      "dev": true
-    },
     "component-emitter": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
-      "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
-      "dev": true
-    },
-    "component-inherit": {
-      "version": "0.0.3",
-      "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz",
-      "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=",
-      "dev": true
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
+      "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
+      "dev": true,
+      "optional": true
     },
     "concat-map": {
       "version": "0.0.1",
@@ -1937,24 +863,6 @@
       "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
       "dev": true
     },
-    "connect": {
-      "version": "3.6.6",
-      "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz",
-      "integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=",
-      "dev": true,
-      "requires": {
-        "debug": "2.6.9",
-        "finalhandler": "1.1.0",
-        "parseurl": "~1.3.2",
-        "utils-merge": "1.0.1"
-      }
-    },
-    "connect-history-api-fallback": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz",
-      "integrity": "sha1-sGhzk0vF40T+9hGhlqb6rgruAVo=",
-      "dev": true
-    },
     "console-control-strings": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
@@ -2010,12 +918,14 @@
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
       "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
-      "dev": true
+      "dev": true,
+      "optional": true
     },
     "core-js": {
       "version": "2.5.7",
       "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz",
-      "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw=="
+      "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==",
+      "dev": true
     },
     "core-util-is": {
       "version": "1.0.2",
@@ -2070,13 +980,15 @@
       "version": "0.2.0",
       "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
       "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
-      "dev": true
+      "dev": true,
+      "optional": true
     },
     "define-property": {
       "version": "2.0.2",
       "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
       "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
       "dev": true,
+      "optional": true,
       "requires": {
         "is-descriptor": "^1.0.2",
         "isobject": "^3.0.1"
@@ -2087,6 +999,7 @@
           "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
           "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
           "dev": true,
+          "optional": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -2096,6 +1009,7 @@
           "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
           "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
           "dev": true,
+          "optional": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -2105,6 +1019,7 @@
           "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
           "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
           "dev": true,
+          "optional": true,
           "requires": {
             "is-accessor-descriptor": "^1.0.0",
             "is-data-descriptor": "^1.0.0",
@@ -2137,133 +1052,34 @@
       "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
       "dev": true
     },
-    "dev-ip": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/dev-ip/-/dev-ip-1.0.1.tgz",
-      "integrity": "sha1-p2o+0YVb56ASu4rBbLgPPADcKPA=",
-      "dev": true
-    },
     "doctypes": {
       "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz",
-      "integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=",
-      "dev": true
-    },
-    "easy-extender": {
-      "version": "2.3.4",
-      "resolved": "https://registry.npmjs.org/easy-extender/-/easy-extender-2.3.4.tgz",
-      "integrity": "sha512-8cAwm6md1YTiPpOvDULYJL4ZS6WfM5/cTeVVh4JsvyYZAoqlRVUpHL9Gr5Fy7HA6xcSZicUia3DeAgO3Us8E+Q==",
-      "dev": true,
-      "requires": {
-        "lodash": "^4.17.10"
-      }
-    },
-    "eazy-logger": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/eazy-logger/-/eazy-logger-3.0.2.tgz",
-      "integrity": "sha1-oyWqXlPROiIliJsqxBE7K5Y29Pw=",
-      "dev": true,
-      "requires": {
-        "tfunk": "^3.0.1"
-      }
-    },
-    "ecc-jsbn": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
-      "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
-      "dev": true,
-      "optional": true,
-      "requires": {
-        "jsbn": "~0.1.0",
-        "safer-buffer": "^2.1.0"
-      }
-    },
-    "ee-first": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
-      "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
-      "dev": true
-    },
-    "electron-to-chromium": {
-      "version": "1.3.72",
-      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.72.tgz",
-      "integrity": "sha512-OFbXEC01Lq7A66e3UywkvWYNN00HO1I9MAPereGe0NIXrt2MeaovL1bbY+951HKG0euUdPBe0L7yfKxgqxBMMw==",
-      "dev": true
-    },
-    "encodeurl": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
-      "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
-      "dev": true
-    },
-    "engine.io": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.0.tgz",
-      "integrity": "sha512-mRbgmAtQ4GAlKwuPnnAvXXwdPhEx+jkc0OBCLrXuD/CRvwNK3AxRSnqK4FSqmAMRRHryVJP8TopOvmEaA64fKw==",
-      "dev": true,
-      "requires": {
-        "accepts": "~1.3.4",
-        "base64id": "1.0.0",
-        "cookie": "0.3.1",
-        "debug": "~3.1.0",
-        "engine.io-parser": "~2.1.0",
-        "ws": "~3.3.1"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
-          "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        }
-      }
-    },
-    "engine.io-client": {
-      "version": "3.1.6",
-      "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.1.6.tgz",
-      "integrity": "sha512-hnuHsFluXnsKOndS4Hv6SvUrgdYx1pk2NqfaDMW+GWdgfU3+/V25Cj7I8a0x92idSpa5PIhJRKxPvp9mnoLsfg==",
-      "dev": true,
-      "requires": {
-        "component-emitter": "1.2.1",
-        "component-inherit": "0.0.3",
-        "debug": "~3.1.0",
-        "engine.io-parser": "~2.1.1",
-        "has-cors": "1.1.0",
-        "indexof": "0.0.1",
-        "parseqs": "0.0.5",
-        "parseuri": "0.0.5",
-        "ws": "~3.3.1",
-        "xmlhttprequest-ssl": "~1.5.4",
-        "yeast": "0.1.2"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
-          "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        }
-      }
+      "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz",
+      "integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=",
+      "dev": true
     },
-    "engine.io-parser": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.2.tgz",
-      "integrity": "sha512-dInLFzr80RijZ1rGpx1+56/uFoH7/7InhH3kZt+Ms6hT8tNx3NGW/WNSA/f8As1WkOfkuyb3tnRyuXGxusclMw==",
+    "ecc-jsbn": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+      "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
       "dev": true,
       "requires": {
-        "after": "0.8.2",
-        "arraybuffer.slice": "~0.0.7",
-        "base64-arraybuffer": "0.1.5",
-        "blob": "0.0.4",
-        "has-binary2": "~1.0.2"
+        "jsbn": "~0.1.0",
+        "safer-buffer": "^2.1.0"
       }
     },
+    "ee-first": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+      "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
+      "dev": true
+    },
+    "encodeurl": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+      "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
+      "dev": true
+    },
     "error-ex": {
       "version": "1.3.2",
       "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
@@ -2282,12 +1098,14 @@
     "escape-string-regexp": {
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
-      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
+      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+      "dev": true
     },
     "esutils": {
       "version": "2.0.2",
       "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
-      "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs="
+      "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
+      "dev": true
     },
     "etag": {
       "version": "1.8.1",
@@ -2295,17 +1113,12 @@
       "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
       "dev": true
     },
-    "eventemitter3": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz",
-      "integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=",
-      "dev": true
-    },
     "expand-brackets": {
       "version": "2.1.4",
       "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
       "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
       "dev": true,
+      "optional": true,
       "requires": {
         "debug": "^2.3.3",
         "define-property": "^0.2.5",
@@ -2321,6 +1134,7 @@
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
           "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
           "dev": true,
+          "optional": true,
           "requires": {
             "is-descriptor": "^0.1.0"
           }
@@ -2330,72 +1144,22 @@
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
           "dev": true,
+          "optional": true,
           "requires": {
             "is-extendable": "^0.1.0"
           }
         }
       }
     },
-    "expand-range": {
-      "version": "1.8.2",
-      "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
-      "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
-      "dev": true,
-      "requires": {
-        "fill-range": "^2.1.0"
-      },
-      "dependencies": {
-        "fill-range": {
-          "version": "2.2.4",
-          "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz",
-          "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==",
-          "dev": true,
-          "requires": {
-            "is-number": "^2.1.0",
-            "isobject": "^2.0.0",
-            "randomatic": "^3.0.0",
-            "repeat-element": "^1.1.2",
-            "repeat-string": "^1.5.2"
-          }
-        },
-        "is-number": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
-          "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
-          "dev": true,
-          "requires": {
-            "kind-of": "^3.0.2"
-          }
-        },
-        "isobject": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
-          "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
-          "dev": true,
-          "requires": {
-            "isarray": "1.0.0"
-          }
-        },
-        "kind-of": {
-          "version": "3.2.2",
-          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
-          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
-          "requires": {
-            "is-buffer": "^1.1.5"
-          }
-        }
-      }
-    },
     "express": {
-      "version": "4.16.3",
-      "resolved": "http://registry.npmjs.org/express/-/express-4.16.3.tgz",
-      "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=",
+      "version": "4.16.4",
+      "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz",
+      "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==",
       "dev": true,
       "requires": {
         "accepts": "~1.3.5",
         "array-flatten": "1.1.1",
-        "body-parser": "1.18.2",
+        "body-parser": "1.18.3",
         "content-disposition": "0.5.2",
         "content-type": "~1.0.4",
         "cookie": "0.3.1",
@@ -2412,10 +1176,10 @@
         "on-finished": "~2.3.0",
         "parseurl": "~1.3.2",
         "path-to-regexp": "0.1.7",
-        "proxy-addr": "~2.0.3",
-        "qs": "6.5.1",
+        "proxy-addr": "~2.0.4",
+        "qs": "6.5.2",
         "range-parser": "~1.2.0",
-        "safe-buffer": "5.1.1",
+        "safe-buffer": "5.1.2",
         "send": "0.16.2",
         "serve-static": "1.13.2",
         "setprototypeof": "1.1.0",
@@ -2423,41 +1187,6 @@
         "type-is": "~1.6.16",
         "utils-merge": "1.0.1",
         "vary": "~1.1.2"
-      },
-      "dependencies": {
-        "finalhandler": {
-          "version": "1.1.1",
-          "resolved": "http://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz",
-          "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==",
-          "dev": true,
-          "requires": {
-            "debug": "2.6.9",
-            "encodeurl": "~1.0.2",
-            "escape-html": "~1.0.3",
-            "on-finished": "~2.3.0",
-            "parseurl": "~1.3.2",
-            "statuses": "~1.4.0",
-            "unpipe": "~1.0.0"
-          }
-        },
-        "qs": {
-          "version": "6.5.1",
-          "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
-          "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==",
-          "dev": true
-        },
-        "safe-buffer": {
-          "version": "5.1.1",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
-          "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==",
-          "dev": true
-        },
-        "statuses": {
-          "version": "1.4.0",
-          "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
-          "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==",
-          "dev": true
-        }
       }
     },
     "extend": {
@@ -2471,6 +1200,7 @@
       "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
       "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
       "dev": true,
+      "optional": true,
       "requires": {
         "assign-symbols": "^1.0.0",
         "is-extendable": "^1.0.1"
@@ -2481,6 +1211,7 @@
           "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
           "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
           "dev": true,
+          "optional": true,
           "requires": {
             "is-plain-object": "^2.0.4"
           }
@@ -2492,6 +1223,7 @@
       "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
       "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
       "dev": true,
+      "optional": true,
       "requires": {
         "array-unique": "^0.3.2",
         "define-property": "^1.0.0",
@@ -2508,6 +1240,7 @@
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
           "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
           "dev": true,
+          "optional": true,
           "requires": {
             "is-descriptor": "^1.0.0"
           }
@@ -2517,6 +1250,7 @@
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
           "dev": true,
+          "optional": true,
           "requires": {
             "is-extendable": "^0.1.0"
           }
@@ -2526,6 +1260,7 @@
           "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
           "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
           "dev": true,
+          "optional": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -2535,6 +1270,7 @@
           "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
           "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
           "dev": true,
+          "optional": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -2544,6 +1280,7 @@
           "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
           "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
           "dev": true,
+          "optional": true,
           "requires": {
             "is-accessor-descriptor": "^1.0.0",
             "is-data-descriptor": "^1.0.0",
@@ -2559,9 +1296,9 @@
       "dev": true
     },
     "fast-deep-equal": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
-      "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
+      "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
       "dev": true
     },
     "fast-json-stable-stringify": {
@@ -2570,17 +1307,12 @@
       "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
       "dev": true
     },
-    "filename-regex": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
-      "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
-      "dev": true
-    },
     "fill-range": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
       "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
       "dev": true,
+      "optional": true,
       "requires": {
         "extend-shallow": "^2.0.1",
         "is-number": "^3.0.0",
@@ -2593,6 +1325,7 @@
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
           "dev": true,
+          "optional": true,
           "requires": {
             "is-extendable": "^0.1.0"
           }
@@ -2600,17 +1333,17 @@
       }
     },
     "finalhandler": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz",
-      "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=",
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz",
+      "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==",
       "dev": true,
       "requires": {
         "debug": "2.6.9",
-        "encodeurl": "~1.0.1",
+        "encodeurl": "~1.0.2",
         "escape-html": "~1.0.3",
         "on-finished": "~2.3.0",
         "parseurl": "~1.3.2",
-        "statuses": "~1.3.1",
+        "statuses": "~1.4.0",
         "unpipe": "~1.0.0"
       }
     },
@@ -2624,40 +1357,12 @@
         "pinkie-promise": "^2.0.0"
       }
     },
-    "follow-redirects": {
-      "version": "1.5.8",
-      "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.8.tgz",
-      "integrity": "sha512-sy1mXPmv7kLAMKW/8XofG7o9T+6gAjzdZK4AJF6ryqQYUa/hnzgiypoeUecZ53x7XiqKNEpNqLtS97MshW2nxg==",
-      "dev": true,
-      "requires": {
-        "debug": "=3.1.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
-          "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        }
-      }
-    },
     "for-in": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
       "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
-      "dev": true
-    },
-    "for-own": {
-      "version": "0.1.5",
-      "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
-      "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
       "dev": true,
-      "requires": {
-        "for-in": "^1.0.1"
-      }
+      "optional": true
     },
     "forever-agent": {
       "version": "0.6.1",
@@ -2666,25 +1371,14 @@
       "dev": true
     },
     "form-data": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz",
-      "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=",
+      "version": "2.3.3",
+      "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
+      "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
       "dev": true,
       "requires": {
         "asynckit": "^0.4.0",
-        "combined-stream": "1.0.6",
+        "combined-stream": "^1.0.6",
         "mime-types": "^2.1.12"
-      },
-      "dependencies": {
-        "combined-stream": {
-          "version": "1.0.6",
-          "resolved": "http://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
-          "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
-          "dev": true,
-          "requires": {
-            "delayed-stream": "~1.0.0"
-          }
-        }
       }
     },
     "forwarded": {
@@ -2698,6 +1392,7 @@
       "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
       "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
       "dev": true,
+      "optional": true,
       "requires": {
         "map-cache": "^0.2.2"
       }
@@ -2708,17 +1403,6 @@
       "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
       "dev": true
     },
-    "fs-extra": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz",
-      "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=",
-      "dev": true,
-      "requires": {
-        "graceful-fs": "^4.1.2",
-        "jsonfile": "^3.0.0",
-        "universalify": "^0.1.0"
-      }
-    },
     "fs-readdir-recursive": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz",
@@ -2732,14 +1416,14 @@
       "dev": true
     },
     "fsevents": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz",
-      "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==",
+      "version": "1.2.9",
+      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz",
+      "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==",
       "dev": true,
       "optional": true,
       "requires": {
-        "nan": "^2.9.2",
-        "node-pre-gyp": "^0.10.0"
+        "nan": "^2.12.1",
+        "node-pre-gyp": "^0.12.0"
       },
       "dependencies": {
         "abbrev": {
@@ -2751,7 +1435,8 @@
         "ansi-regex": {
           "version": "2.1.1",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "aproba": {
           "version": "1.2.0",
@@ -2760,7 +1445,7 @@
           "optional": true
         },
         "are-we-there-yet": {
-          "version": "1.1.4",
+          "version": "1.1.5",
           "bundled": true,
           "dev": true,
           "optional": true,
@@ -2772,19 +1457,21 @@
         "balanced-match": {
           "version": "1.0.0",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "brace-expansion": {
           "version": "1.1.11",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "balanced-match": "^1.0.0",
             "concat-map": "0.0.1"
           }
         },
         "chownr": {
-          "version": "1.0.1",
+          "version": "1.1.1",
           "bundled": true,
           "dev": true,
           "optional": true
@@ -2792,17 +1479,20 @@
         "code-point-at": {
           "version": "1.1.0",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "concat-map": {
           "version": "0.0.1",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "console-control-strings": {
           "version": "1.1.0",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "core-util-is": {
           "version": "1.0.2",
@@ -2811,16 +1501,16 @@
           "optional": true
         },
         "debug": {
-          "version": "2.6.9",
+          "version": "4.1.1",
           "bundled": true,
           "dev": true,
           "optional": true,
           "requires": {
-            "ms": "2.0.0"
+            "ms": "^2.1.1"
           }
         },
         "deep-extend": {
-          "version": "0.5.1",
+          "version": "0.6.0",
           "bundled": true,
           "dev": true,
           "optional": true
@@ -2869,7 +1559,7 @@
           }
         },
         "glob": {
-          "version": "7.1.2",
+          "version": "7.1.3",
           "bundled": true,
           "dev": true,
           "optional": true,
@@ -2889,12 +1579,12 @@
           "optional": true
         },
         "iconv-lite": {
-          "version": "0.4.21",
+          "version": "0.4.24",
           "bundled": true,
           "dev": true,
           "optional": true,
           "requires": {
-            "safer-buffer": "^2.1.0"
+            "safer-buffer": ">= 2.1.2 < 3"
           }
         },
         "ignore-walk": {
@@ -2919,7 +1609,8 @@
         "inherits": {
           "version": "2.0.3",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "ini": {
           "version": "1.3.5",
@@ -2931,6 +1622,7 @@
           "version": "1.0.0",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "number-is-nan": "^1.0.0"
           }
@@ -2945,6 +1637,7 @@
           "version": "3.0.4",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "brace-expansion": "^1.1.7"
           }
@@ -2952,19 +1645,21 @@
         "minimist": {
           "version": "0.0.8",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "minipass": {
-          "version": "2.2.4",
+          "version": "2.3.5",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
-            "safe-buffer": "^5.1.1",
+            "safe-buffer": "^5.1.2",
             "yallist": "^3.0.0"
           }
         },
         "minizlib": {
-          "version": "1.1.0",
+          "version": "1.2.1",
           "bundled": true,
           "dev": true,
           "optional": true,
@@ -2976,40 +1671,41 @@
           "version": "0.5.1",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "minimist": "0.0.8"
           }
         },
         "ms": {
-          "version": "2.0.0",
+          "version": "2.1.1",
           "bundled": true,
           "dev": true,
           "optional": true
         },
         "needle": {
-          "version": "2.2.0",
+          "version": "2.3.0",
           "bundled": true,
           "dev": true,
           "optional": true,
           "requires": {
-            "debug": "^2.1.2",
+            "debug": "^4.1.0",
             "iconv-lite": "^0.4.4",
             "sax": "^1.2.4"
           }
         },
         "node-pre-gyp": {
-          "version": "0.10.0",
+          "version": "0.12.0",
           "bundled": true,
           "dev": true,
           "optional": true,
           "requires": {
             "detect-libc": "^1.0.2",
             "mkdirp": "^0.5.1",
-            "needle": "^2.2.0",
+            "needle": "^2.2.1",
             "nopt": "^4.0.1",
             "npm-packlist": "^1.1.6",
             "npmlog": "^4.0.2",
-            "rc": "^1.1.7",
+            "rc": "^1.2.7",
             "rimraf": "^2.6.1",
             "semver": "^5.3.0",
             "tar": "^4"
@@ -3026,13 +1722,13 @@
           }
         },
         "npm-bundled": {
-          "version": "1.0.3",
+          "version": "1.0.6",
           "bundled": true,
           "dev": true,
           "optional": true
         },
         "npm-packlist": {
-          "version": "1.1.10",
+          "version": "1.4.1",
           "bundled": true,
           "dev": true,
           "optional": true,
@@ -3056,7 +1752,8 @@
         "number-is-nan": {
           "version": "1.0.1",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "object-assign": {
           "version": "4.1.1",
@@ -3068,6 +1765,7 @@
           "version": "1.4.0",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "wrappy": "1"
           }
@@ -3107,12 +1805,12 @@
           "optional": true
         },
         "rc": {
-          "version": "1.2.7",
+          "version": "1.2.8",
           "bundled": true,
           "dev": true,
           "optional": true,
           "requires": {
-            "deep-extend": "^0.5.1",
+            "deep-extend": "^0.6.0",
             "ini": "~1.3.0",
             "minimist": "^1.2.0",
             "strip-json-comments": "~2.0.1"
@@ -3142,18 +1840,19 @@
           }
         },
         "rimraf": {
-          "version": "2.6.2",
+          "version": "2.6.3",
           "bundled": true,
           "dev": true,
           "optional": true,
           "requires": {
-            "glob": "^7.0.5"
+            "glob": "^7.1.3"
           }
         },
         "safe-buffer": {
-          "version": "5.1.1",
+          "version": "5.1.2",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "safer-buffer": {
           "version": "2.1.2",
@@ -3168,7 +1867,7 @@
           "optional": true
         },
         "semver": {
-          "version": "5.5.0",
+          "version": "5.7.0",
           "bundled": true,
           "dev": true,
           "optional": true
@@ -3189,6 +1888,7 @@
           "version": "1.0.2",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "code-point-at": "^1.0.0",
             "is-fullwidth-code-point": "^1.0.0",
@@ -3208,6 +1908,7 @@
           "version": "3.0.1",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "ansi-regex": "^2.0.0"
           }
@@ -3219,17 +1920,17 @@
           "optional": true
         },
         "tar": {
-          "version": "4.4.1",
+          "version": "4.4.8",
           "bundled": true,
           "dev": true,
           "optional": true,
           "requires": {
-            "chownr": "^1.0.1",
+            "chownr": "^1.1.1",
             "fs-minipass": "^1.2.5",
-            "minipass": "^2.2.4",
-            "minizlib": "^1.1.0",
+            "minipass": "^2.3.4",
+            "minizlib": "^1.1.1",
             "mkdirp": "^0.5.0",
-            "safe-buffer": "^5.1.1",
+            "safe-buffer": "^5.1.2",
             "yallist": "^3.0.2"
           }
         },
@@ -3240,23 +1941,25 @@
           "optional": true
         },
         "wide-align": {
-          "version": "1.1.2",
+          "version": "1.1.3",
           "bundled": true,
           "dev": true,
           "optional": true,
           "requires": {
-            "string-width": "^1.0.2"
+            "string-width": "^1.0.2 || 2"
           }
         },
         "wrappy": {
           "version": "1.0.2",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "yallist": {
-          "version": "3.0.2",
+          "version": "3.0.3",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         }
       }
     },
@@ -3319,7 +2022,8 @@
       "version": "2.0.6",
       "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
       "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
-      "dev": true
+      "dev": true,
+      "optional": true
     },
     "getpass": {
       "version": "0.1.7",
@@ -3344,42 +2048,6 @@
         "path-is-absolute": "^1.0.0"
       }
     },
-    "glob-base": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
-      "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
-      "dev": true,
-      "requires": {
-        "glob-parent": "^2.0.0",
-        "is-glob": "^2.0.0"
-      },
-      "dependencies": {
-        "glob-parent": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
-          "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
-          "dev": true,
-          "requires": {
-            "is-glob": "^2.0.0"
-          }
-        },
-        "is-extglob": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
-          "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
-          "dev": true
-        },
-        "is-glob": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
-          "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
-          "dev": true,
-          "requires": {
-            "is-extglob": "^1.0.0"
-          }
-        }
-      }
-    },
     "glob-parent": {
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
@@ -3404,9 +2072,10 @@
       }
     },
     "globals": {
-      "version": "11.7.0",
-      "resolved": "https://registry.npmjs.org/globals/-/globals-11.7.0.tgz",
-      "integrity": "sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg=="
+      "version": "11.12.0",
+      "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+      "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+      "dev": true
     },
     "globule": {
       "version": "1.2.1",
@@ -3432,12 +2101,12 @@
       "dev": true
     },
     "har-validator": {
-      "version": "5.0.3",
-      "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz",
-      "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=",
+      "version": "5.1.3",
+      "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
+      "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
       "dev": true,
       "requires": {
-        "ajv": "^5.1.0",
+        "ajv": "^6.5.5",
         "har-schema": "^2.0.0"
       }
     },
@@ -3459,33 +2128,11 @@
         "ansi-regex": "^2.0.0"
       }
     },
-    "has-binary2": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz",
-      "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==",
-      "dev": true,
-      "requires": {
-        "isarray": "2.0.1"
-      },
-      "dependencies": {
-        "isarray": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz",
-          "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=",
-          "dev": true
-        }
-      }
-    },
-    "has-cors": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
-      "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=",
-      "dev": true
-    },
     "has-flag": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
+      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+      "dev": true
     },
     "has-unicode": {
       "version": "2.0.1",
@@ -3498,6 +2145,7 @@
       "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
       "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
       "dev": true,
+      "optional": true,
       "requires": {
         "get-value": "^2.0.6",
         "has-values": "^1.0.0",
@@ -3509,6 +2157,7 @@
       "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
       "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
       "dev": true,
+      "optional": true,
       "requires": {
         "is-number": "^3.0.0",
         "kind-of": "^4.0.0"
@@ -3519,6 +2168,7 @@
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
           "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
           "dev": true,
+          "optional": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -3533,7 +2183,7 @@
     },
     "http-errors": {
       "version": "1.6.3",
-      "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
+      "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
       "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
       "dev": true,
       "requires": {
@@ -3541,24 +2191,6 @@
         "inherits": "2.0.3",
         "setprototypeof": "1.1.0",
         "statuses": ">= 1.4.0 < 2"
-      },
-      "dependencies": {
-        "statuses": {
-          "version": "1.5.0",
-          "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
-          "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
-          "dev": true
-        }
-      }
-    },
-    "http-proxy": {
-      "version": "1.15.2",
-      "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.15.2.tgz",
-      "integrity": "sha1-ZC/cr/5S00SNK9o7AHnpQJBk2jE=",
-      "dev": true,
-      "requires": {
-        "eventemitter3": "1.x.x",
-        "requires-port": "1.x.x"
       }
     },
     "http-signature": {
@@ -3581,12 +2213,6 @@
         "safer-buffer": ">= 2.1.2 < 3"
       }
     },
-    "immutable": {
-      "version": "3.8.2",
-      "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz",
-      "integrity": "sha1-wkOZUUVbs5kT2vKBN28VMOEErfM=",
-      "dev": true
-    },
     "in-publish": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz",
@@ -3607,12 +2233,6 @@
         "repeating": "^2.0.0"
       }
     },
-    "indexof": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
-      "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
-      "dev": true
-    },
     "inflight": {
       "version": "1.0.6",
       "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
@@ -3629,14 +2249,6 @@
       "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
       "dev": true
     },
-    "invariant": {
-      "version": "2.2.4",
-      "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
-      "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
-      "requires": {
-        "loose-envify": "^1.0.0"
-      }
-    },
     "invert-kv": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
@@ -3644,9 +2256,9 @@
       "dev": true
     },
     "ipaddr.js": {
-      "version": "1.8.0",
-      "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz",
-      "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=",
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz",
+      "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==",
       "dev": true
     },
     "is-accessor-descriptor": {
@@ -3654,6 +2266,7 @@
       "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
       "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
       "dev": true,
+      "optional": true,
       "requires": {
         "kind-of": "^3.0.2"
       },
@@ -3663,6 +2276,7 @@
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
           "dev": true,
+          "optional": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -3680,6 +2294,7 @@
       "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
       "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
       "dev": true,
+      "optional": true,
       "requires": {
         "binary-extensions": "^1.0.0"
       }
@@ -3690,20 +2305,12 @@
       "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
       "dev": true
     },
-    "is-builtin-module": {
-      "version": "1.0.0",
-      "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
-      "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
-      "dev": true,
-      "requires": {
-        "builtin-modules": "^1.0.0"
-      }
-    },
     "is-data-descriptor": {
       "version": "0.1.4",
       "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
       "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
       "dev": true,
+      "optional": true,
       "requires": {
         "kind-of": "^3.0.2"
       },
@@ -3713,6 +2320,7 @@
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
           "dev": true,
+          "optional": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -3724,6 +2332,7 @@
       "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
       "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
       "dev": true,
+      "optional": true,
       "requires": {
         "is-accessor-descriptor": "^0.1.6",
         "is-data-descriptor": "^0.1.4",
@@ -3734,25 +2343,11 @@
           "version": "5.1.0",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
           "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
-          "dev": true
+          "dev": true,
+          "optional": true
         }
       }
     },
-    "is-dotfile": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
-      "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
-      "dev": true
-    },
-    "is-equal-shallow": {
-      "version": "0.1.3",
-      "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
-      "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
-      "dev": true,
-      "requires": {
-        "is-primitive": "^2.0.0"
-      }
-    },
     "is-expression": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-3.0.0.tgz",
@@ -3775,13 +2370,15 @@
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
       "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
-      "dev": true
+      "dev": true,
+      "optional": true
     },
     "is-extglob": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
       "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
-      "dev": true
+      "dev": true,
+      "optional": true
     },
     "is-finite": {
       "version": "1.0.2",
@@ -3802,9 +2399,9 @@
       }
     },
     "is-glob": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
-      "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
+      "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
       "dev": true,
       "optional": true,
       "requires": {
@@ -3816,6 +2413,7 @@
       "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
       "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
       "dev": true,
+      "optional": true,
       "requires": {
         "kind-of": "^3.0.2"
       },
@@ -3825,21 +2423,13 @@
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
           "dev": true,
+          "optional": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
         }
       }
     },
-    "is-number-like": {
-      "version": "1.0.8",
-      "resolved": "https://registry.npmjs.org/is-number-like/-/is-number-like-1.0.8.tgz",
-      "integrity": "sha512-6rZi3ezCyFcn5L71ywzz2bS5b2Igl1En3eTlZlvKjpz1n3IZLAYMbKYAIQgFmEu0GENg92ziU/faEOA/aixjbA==",
-      "dev": true,
-      "requires": {
-        "lodash.isfinite": "^3.3.2"
-      }
-    },
     "is-plain-obj": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
@@ -3851,22 +2441,11 @@
       "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
       "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
       "dev": true,
+      "optional": true,
       "requires": {
         "isobject": "^3.0.1"
       }
     },
-    "is-posix-bracket": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
-      "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
-      "dev": true
-    },
-    "is-primitive": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
-      "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
-      "dev": true
-    },
     "is-promise": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
@@ -3898,13 +2477,8 @@
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
       "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
-      "dev": true
-    },
-    "is-wsl": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
-      "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
-      "dev": true
+      "dev": true,
+      "optional": true
     },
     "isarray": {
       "version": "1.0.0",
@@ -3922,7 +2496,8 @@
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
       "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
-      "dev": true
+      "dev": true,
+      "optional": true
     },
     "isstream": {
       "version": "0.1.2",
@@ -3931,15 +2506,9 @@
       "dev": true
     },
     "js-base64": {
-      "version": "2.4.9",
-      "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.9.tgz",
-      "integrity": "sha512-xcinL3AuDJk7VSzsHgb9DvvIXayBbadtMZ4HFPx8rUszbW1MuNMlwYVC4zzCZ6e1sqZpnNS5ZFYOhXqA39T7LQ==",
-      "dev": true
-    },
-    "js-levenshtein": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.4.tgz",
-      "integrity": "sha512-PxfGzSs0ztShKrUYPIn5r0MtyAhYcCwmndozzpz8YObbPnD1jFxzlBGbRnX2mIu6Z13xN6+PTu05TQFnZFlzow==",
+      "version": "2.5.1",
+      "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz",
+      "integrity": "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==",
       "dev": true
     },
     "js-stringify": {
@@ -3951,19 +2520,20 @@
     "js-tokens": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
-      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+      "dev": true
     },
     "jsbn": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
       "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
-      "dev": true,
-      "optional": true
+      "dev": true
     },
     "jsesc": {
-      "version": "2.5.1",
-      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.1.tgz",
-      "integrity": "sha1-5CGiqOINawgZ3yiQj3glJrlt0f4="
+      "version": "2.5.2",
+      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+      "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+      "dev": true
     },
     "json-schema": {
       "version": "0.2.3",
@@ -3972,9 +2542,9 @@
       "dev": true
     },
     "json-schema-traverse": {
-      "version": "0.3.1",
-      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
-      "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
       "dev": true
     },
     "json-stringify-safe": {
@@ -3984,18 +2554,20 @@
       "dev": true
     },
     "json5": {
-      "version": "0.5.1",
-      "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
-      "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
-      "dev": true
-    },
-    "jsonfile": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz",
-      "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=",
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz",
+      "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==",
       "dev": true,
       "requires": {
-        "graceful-fs": "^4.1.6"
+        "minimist": "^1.2.0"
+      },
+      "dependencies": {
+        "minimist": {
+          "version": "1.2.0",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+          "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+          "dev": true
+        }
       }
     },
     "jsprim": {
@@ -4010,11 +2582,6 @@
         "verror": "1.10.0"
       }
     },
-    "jsrsasign": {
-      "version": "8.0.12",
-      "resolved": "https://registry.npmjs.org/jsrsasign/-/jsrsasign-8.0.12.tgz",
-      "integrity": "sha1-Iqu5ZW00owuVMENnIINeicLlwxY="
-    },
     "jstransformer": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz",
@@ -4029,7 +2596,8 @@
       "version": "6.0.2",
       "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
       "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
-      "dev": true
+      "dev": true,
+      "optional": true
     },
     "lazy-cache": {
       "version": "1.0.4",
@@ -4046,15 +2614,9 @@
         "invert-kv": "^1.0.0"
       }
     },
-    "limiter": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/limiter/-/limiter-1.1.3.tgz",
-      "integrity": "sha512-zrycnIMsLw/3ZxTbW7HCez56rcFGecWTx5OZNplzcXUUmJLmoYArC6qdJzmAN5BWiNXGcpjhF9RQ1HSv5zebEw==",
-      "dev": true
-    },
     "load-json-file": {
       "version": "1.1.0",
-      "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+      "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
       "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
       "dev": true,
       "requires": {
@@ -4065,84 +2627,10 @@
         "strip-bom": "^2.0.0"
       }
     },
-    "localtunnel": {
-      "version": "1.9.0",
-      "resolved": "http://registry.npmjs.org/localtunnel/-/localtunnel-1.9.0.tgz",
-      "integrity": "sha512-wCIiIHJ8kKIcWkTQE3m1VRABvsH2ZuOkiOpZUofUCf6Q42v3VIZ+Q0YfX1Z4sYDRj0muiKL1bLvz1FeoxsPO0w==",
-      "dev": true,
-      "requires": {
-        "axios": "0.17.1",
-        "debug": "2.6.8",
-        "openurl": "1.1.1",
-        "yargs": "6.6.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "2.6.8",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
-          "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "yargs": {
-          "version": "6.6.0",
-          "resolved": "http://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz",
-          "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=",
-          "dev": true,
-          "requires": {
-            "camelcase": "^3.0.0",
-            "cliui": "^3.2.0",
-            "decamelize": "^1.1.1",
-            "get-caller-file": "^1.0.1",
-            "os-locale": "^1.4.0",
-            "read-pkg-up": "^1.0.1",
-            "require-directory": "^2.1.1",
-            "require-main-filename": "^1.0.1",
-            "set-blocking": "^2.0.0",
-            "string-width": "^1.0.2",
-            "which-module": "^1.0.0",
-            "y18n": "^3.2.1",
-            "yargs-parser": "^4.2.0"
-          }
-        }
-      }
-    },
     "lodash": {
       "version": "4.17.11",
       "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
-      "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg=="
-    },
-    "lodash.assign": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
-      "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=",
-      "dev": true
-    },
-    "lodash.clonedeep": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
-      "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
-      "dev": true
-    },
-    "lodash.debounce": {
-      "version": "4.0.8",
-      "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
-      "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=",
-      "dev": true,
-      "optional": true
-    },
-    "lodash.isfinite": {
-      "version": "3.3.2",
-      "resolved": "https://registry.npmjs.org/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz",
-      "integrity": "sha1-+4m2WpqAKBgz8LdHizpRBPiY67M=",
-      "dev": true
-    },
-    "lodash.mergewith": {
-      "version": "4.6.1",
-      "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz",
-      "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==",
+      "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
       "dev": true
     },
     "longest": {
@@ -4151,14 +2639,6 @@
       "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
       "dev": true
     },
-    "loose-envify": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
-      "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
-      "requires": {
-        "js-tokens": "^3.0.0 || ^4.0.0"
-      }
-    },
     "loud-rejection": {
       "version": "1.6.0",
       "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
@@ -4170,9 +2650,9 @@
       }
     },
     "lru-cache": {
-      "version": "4.1.3",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
-      "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==",
+      "version": "4.1.5",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
+      "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
       "dev": true,
       "requires": {
         "pseudomap": "^1.0.2",
@@ -4183,7 +2663,8 @@
       "version": "0.2.2",
       "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
       "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
-      "dev": true
+      "dev": true,
+      "optional": true
     },
     "map-obj": {
       "version": "1.0.1",
@@ -4196,16 +2677,11 @@
       "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
       "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
       "dev": true,
+      "optional": true,
       "requires": {
         "object-visit": "^1.0.0"
       }
     },
-    "math-random": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz",
-      "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=",
-      "dev": true
-    },
     "media-typer": {
       "version": "0.3.0",
       "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
@@ -4232,7 +2708,7 @@
       "dependencies": {
         "minimist": {
           "version": "1.2.0",
-          "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
           "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
           "dev": true
         }
@@ -4255,6 +2731,7 @@
       "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
       "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
       "dev": true,
+      "optional": true,
       "requires": {
         "arr-diff": "^4.0.0",
         "array-unique": "^0.3.2",
@@ -4312,6 +2789,7 @@
       "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
       "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==",
       "dev": true,
+      "optional": true,
       "requires": {
         "for-in": "^1.0.2",
         "is-extendable": "^1.0.1"
@@ -4322,6 +2800,7 @@
           "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
           "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
           "dev": true,
+          "optional": true,
           "requires": {
             "is-plain-object": "^2.0.4"
           }
@@ -4344,16 +2823,18 @@
       "dev": true
     },
     "nan": {
-      "version": "2.11.0",
-      "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.0.tgz",
-      "integrity": "sha512-F4miItu2rGnV2ySkXOQoA8FKz/SR2Q2sWP0sbTxNxz/tuokeC8WxOhPMcwi0qIyGtVn/rrSeLbvVkznqCdwYnw==",
-      "dev": true
+      "version": "2.13.2",
+      "resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz",
+      "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==",
+      "dev": true,
+      "optional": true
     },
     "nanomatch": {
       "version": "1.2.13",
       "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
       "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
       "dev": true,
+      "optional": true,
       "requires": {
         "arr-diff": "^4.0.0",
         "array-unique": "^0.3.2",
@@ -4369,9 +2850,9 @@
       }
     },
     "negotiator": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
-      "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=",
+      "version": "0.6.2",
+      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
+      "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==",
       "dev": true
     },
     "node-gyp": {
@@ -4402,19 +2883,10 @@
         }
       }
     },
-    "node-releases": {
-      "version": "1.0.0-alpha.12",
-      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.0.0-alpha.12.tgz",
-      "integrity": "sha512-VPB4rTPqpVyWKBHbSa4YPFme3+8WHsOSpvbp0Mfj0bWsC8TEjt4HQrLl1hsBDELlp1nB4lflSgSuGTYiuyaP7Q==",
-      "dev": true,
-      "requires": {
-        "semver": "^5.3.0"
-      }
-    },
     "node-sass": {
-      "version": "4.9.3",
-      "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.9.3.tgz",
-      "integrity": "sha512-XzXyGjO+84wxyH7fV6IwBOTrEBe2f0a6SBze9QWWYR/cL74AcQUks2AsqcCZenl/Fp/JVbuEaLpgrLtocwBUww==",
+      "version": "4.12.0",
+      "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.12.0.tgz",
+      "integrity": "sha512-A1Iv4oN+Iel6EPv77/HddXErL2a+gZ4uBeZUy+a8O35CFYTXhgA8MgLCWBtwpGZdCvTvQ9d+bQxX/QC36GDPpQ==",
       "dev": true,
       "requires": {
         "async-foreach": "^0.1.3",
@@ -4424,15 +2896,13 @@
         "get-stdin": "^4.0.1",
         "glob": "^7.0.3",
         "in-publish": "^2.0.0",
-        "lodash.assign": "^4.2.0",
-        "lodash.clonedeep": "^4.3.2",
-        "lodash.mergewith": "^4.6.0",
+        "lodash": "^4.17.11",
         "meow": "^3.7.0",
         "mkdirp": "^0.5.1",
-        "nan": "^2.10.0",
+        "nan": "^2.13.2",
         "node-gyp": "^3.8.0",
         "npmlog": "^4.0.0",
-        "request": "2.87.0",
+        "request": "^2.88.0",
         "sass-graph": "^2.2.4",
         "stdout-stream": "^1.4.0",
         "true-case-path": "^1.0.2"
@@ -4446,7 +2916,7 @@
         },
         "chalk": {
           "version": "1.1.3",
-          "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
           "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
           "dev": true,
           "requires": {
@@ -4457,6 +2927,12 @@
             "supports-color": "^2.0.0"
           }
         },
+        "nan": {
+          "version": "2.13.2",
+          "resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz",
+          "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==",
+          "dev": true
+        },
         "supports-color": {
           "version": "2.0.0",
           "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
@@ -4475,30 +2951,39 @@
       }
     },
     "normalize-package-data": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
-      "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+      "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
       "dev": true,
       "requires": {
         "hosted-git-info": "^2.1.4",
-        "is-builtin-module": "^1.0.0",
+        "resolve": "^1.10.0",
         "semver": "2 || 3 || 4 || 5",
         "validate-npm-package-license": "^3.0.1"
+      },
+      "dependencies": {
+        "resolve": {
+          "version": "1.10.1",
+          "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.1.tgz",
+          "integrity": "sha512-KuIe4mf++td/eFb6wkaPbMDnP6kObCaEtIDuHOUED6MNUo4K670KZUHuuvYPZDxNF0WVLw49n06M2m2dXphEzA==",
+          "dev": true,
+          "requires": {
+            "path-parse": "^1.0.6"
+          }
+        }
       }
     },
     "normalize-path": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
-      "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+      "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
       "dev": true,
-      "requires": {
-        "remove-trailing-separator": "^1.0.1"
-      }
+      "optional": true
     },
     "normalize.css": {
-      "version": "8.0.0",
-      "resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.0.tgz",
-      "integrity": "sha512-iXcbM3NWr0XkNyfiSBsoPezi+0V92P9nj84yVV1/UZxRUrGczgX/X91KMAGM0omWLY2+2Q1gKD/XRn4gQRDB2A=="
+      "version": "8.0.1",
+      "resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.1.tgz",
+      "integrity": "sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg=="
     },
     "npmlog": {
       "version": "4.1.2",
@@ -4519,9 +3004,9 @@
       "dev": true
     },
     "oauth-sign": {
-      "version": "0.8.2",
-      "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
-      "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
+      "version": "0.9.0",
+      "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
+      "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
       "dev": true
     },
     "object-assign": {
@@ -4530,17 +3015,12 @@
       "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
       "dev": true
     },
-    "object-component": {
-      "version": "0.0.3",
-      "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz",
-      "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=",
-      "dev": true
-    },
     "object-copy": {
       "version": "0.1.0",
       "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
       "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
       "dev": true,
+      "optional": true,
       "requires": {
         "copy-descriptor": "^0.1.0",
         "define-property": "^0.2.5",
@@ -4552,6 +3032,7 @@
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
           "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
           "dev": true,
+          "optional": true,
           "requires": {
             "is-descriptor": "^0.1.0"
           }
@@ -4561,55 +3042,33 @@
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
           "dev": true,
+          "optional": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
         }
       }
     },
-    "object-path": {
-      "version": "0.9.2",
-      "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.9.2.tgz",
-      "integrity": "sha1-D9mnT8X60a45aLWGvaXGMr1sBaU=",
-      "dev": true
-    },
     "object-visit": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
       "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
       "dev": true,
+      "optional": true,
       "requires": {
         "isobject": "^3.0.0"
       }
     },
-    "object.omit": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
-      "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
-      "dev": true,
-      "requires": {
-        "for-own": "^0.1.4",
-        "is-extendable": "^0.1.1"
-      }
-    },
     "object.pick": {
       "version": "1.3.0",
       "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
       "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
       "dev": true,
+      "optional": true,
       "requires": {
         "isobject": "^3.0.1"
       }
     },
-    "oidc-client": {
-      "version": "1.5.3-beta.1",
-      "resolved": "https://registry.npmjs.org/oidc-client/-/oidc-client-1.5.3-beta.1.tgz",
-      "integrity": "sha512-p4EcEuMuVV2mwcH59BSNE/0zNalksELSpOp/r7oH4vGppIwsE1cHvXhHqc4hX7jpfrxU7wYsEZ74ECNXXnZB5g==",
-      "requires": {
-        "babel-polyfill": ">=6.9.1",
-        "jsrsasign": "^8.0.12"
-      }
-    },
     "on-finished": {
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
@@ -4628,21 +3087,6 @@
         "wrappy": "1"
       }
     },
-    "openurl": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/openurl/-/openurl-1.1.1.tgz",
-      "integrity": "sha1-OHW0sO96UsFW8NtB1GCduw+Us4c=",
-      "dev": true
-    },
-    "opn": {
-      "version": "5.3.0",
-      "resolved": "http://registry.npmjs.org/opn/-/opn-5.3.0.tgz",
-      "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==",
-      "dev": true,
-      "requires": {
-        "is-wsl": "^1.1.0"
-      }
-    },
     "os-homedir": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
@@ -4651,7 +3095,7 @@
     },
     "os-locale": {
       "version": "1.4.0",
-      "resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
+      "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
       "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
       "dev": true,
       "requires": {
@@ -4685,35 +3129,6 @@
         "mkdirp": "^0.5.1"
       }
     },
-    "parse-glob": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
-      "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
-      "dev": true,
-      "requires": {
-        "glob-base": "^0.3.0",
-        "is-dotfile": "^1.0.0",
-        "is-extglob": "^1.0.0",
-        "is-glob": "^2.0.0"
-      },
-      "dependencies": {
-        "is-extglob": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
-          "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
-          "dev": true
-        },
-        "is-glob": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
-          "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
-          "dev": true,
-          "requires": {
-            "is-extglob": "^1.0.0"
-          }
-        }
-      }
-    },
     "parse-json": {
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
@@ -4723,35 +3138,18 @@
         "error-ex": "^1.2.0"
       }
     },
-    "parseqs": {
-      "version": "0.0.5",
-      "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz",
-      "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=",
-      "dev": true,
-      "requires": {
-        "better-assert": "~1.0.0"
-      }
-    },
-    "parseuri": {
-      "version": "0.0.5",
-      "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz",
-      "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=",
-      "dev": true,
-      "requires": {
-        "better-assert": "~1.0.0"
-      }
-    },
     "parseurl": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
-      "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=",
+      "version": "1.3.3",
+      "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+      "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
       "dev": true
     },
     "pascalcase": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
       "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
-      "dev": true
+      "dev": true,
+      "optional": true
     },
     "path-dirname": {
       "version": "1.0.2",
@@ -4825,33 +3223,12 @@
         "pinkie": "^2.0.0"
       }
     },
-    "portscanner": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.1.1.tgz",
-      "integrity": "sha1-6rtAnk3iSVD1oqUW01rnaTQ/u5Y=",
-      "dev": true,
-      "requires": {
-        "async": "1.5.2",
-        "is-number-like": "^1.0.3"
-      }
-    },
     "posix-character-classes": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
       "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
-      "dev": true
-    },
-    "preserve": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
-      "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
-      "dev": true
-    },
-    "private": {
-      "version": "0.1.8",
-      "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
-      "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
-      "dev": true
+      "dev": true,
+      "optional": true
     },
     "process-nextick-args": {
       "version": "2.0.0",
@@ -4869,13 +3246,13 @@
       }
     },
     "proxy-addr": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz",
-      "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==",
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz",
+      "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==",
       "dev": true,
       "requires": {
         "forwarded": "~0.1.2",
-        "ipaddr.js": "1.8.0"
+        "ipaddr.js": "1.9.0"
       }
     },
     "pseudomap": {
@@ -4884,6 +3261,12 @@
       "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
       "dev": true
     },
+    "psl": {
+      "version": "1.1.31",
+      "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz",
+      "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==",
+      "dev": true
+    },
     "pug": {
       "version": "2.0.3",
       "resolved": "https://registry.npmjs.org/pug/-/pug-2.0.3.tgz",
@@ -5050,40 +3433,21 @@
       "dev": true
     },
     "punycode": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
-      "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
       "dev": true
     },
     "qs": {
-      "version": "6.2.3",
-      "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.3.tgz",
-      "integrity": "sha1-HPyyXBCpsrSDBT/zn138kjOQjP4=",
+      "version": "6.5.2",
+      "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
+      "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
       "dev": true
     },
-    "randomatic": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.0.tgz",
-      "integrity": "sha512-KnGPVE0lo2WoXxIZ7cPR8YBpiol4gsSuOwDSg410oHh80ZMp5EiypNqL2K4Z77vJn6lB5rap7IkAmcUlalcnBQ==",
-      "dev": true,
-      "requires": {
-        "is-number": "^4.0.0",
-        "kind-of": "^6.0.0",
-        "math-random": "^1.0.1"
-      },
-      "dependencies": {
-        "is-number": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
-          "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==",
-          "dev": true
-        }
-      }
-    },
     "range-parser": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
-      "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=",
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+      "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
       "dev": true
     },
     "raw-body": {
@@ -5139,6 +3503,7 @@
       "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
       "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
       "dev": true,
+      "optional": true,
       "requires": {
         "graceful-fs": "^4.1.11",
         "micromatch": "^3.1.10",
@@ -5155,102 +3520,36 @@
         "strip-indent": "^1.0.1"
       }
     },
-    "regenerate": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
-      "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==",
-      "dev": true
-    },
-    "regenerate-unicode-properties": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz",
-      "integrity": "sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw==",
-      "dev": true,
-      "requires": {
-        "regenerate": "^1.4.0"
-      }
-    },
     "regenerator-runtime": {
       "version": "0.11.1",
       "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
-      "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
-    },
-    "regenerator-transform": {
-      "version": "0.13.3",
-      "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.3.tgz",
-      "integrity": "sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA==",
-      "dev": true,
-      "requires": {
-        "private": "^0.1.6"
-      }
-    },
-    "regex-cache": {
-      "version": "0.4.4",
-      "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
-      "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
-      "dev": true,
-      "requires": {
-        "is-equal-shallow": "^0.1.3"
-      }
+      "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
+      "dev": true
     },
     "regex-not": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
       "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
       "dev": true,
+      "optional": true,
       "requires": {
         "extend-shallow": "^3.0.2",
         "safe-regex": "^1.1.0"
       }
     },
-    "regexpu-core": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.2.0.tgz",
-      "integrity": "sha512-Z835VSnJJ46CNBttalHD/dB+Sj2ezmY6Xp38npwU87peK6mqOzOpV8eYktdkLTEkzzD+JsTcxd84ozd8I14+rw==",
-      "dev": true,
-      "requires": {
-        "regenerate": "^1.4.0",
-        "regenerate-unicode-properties": "^7.0.0",
-        "regjsgen": "^0.4.0",
-        "regjsparser": "^0.3.0",
-        "unicode-match-property-ecmascript": "^1.0.4",
-        "unicode-match-property-value-ecmascript": "^1.0.2"
-      }
-    },
-    "regjsgen": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.4.0.tgz",
-      "integrity": "sha512-X51Lte1gCYUdlwhF28+2YMO0U6WeN0GLpgpA7LK7mbdDnkQYiwvEpmpe0F/cv5L14EbxgrdayAG3JETBv0dbXA==",
-      "dev": true
-    },
-    "regjsparser": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.3.0.tgz",
-      "integrity": "sha512-zza72oZBBHzt64G7DxdqrOo/30bhHkwMUoT0WqfGu98XLd7N+1tsy5MJ96Bk4MD0y74n629RhmrGW6XlnLLwCA==",
-      "dev": true,
-      "requires": {
-        "jsesc": "~0.5.0"
-      },
-      "dependencies": {
-        "jsesc": {
-          "version": "0.5.0",
-          "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
-          "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
-          "dev": true
-        }
-      }
-    },
     "remove-trailing-separator": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
       "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
-      "dev": true
+      "dev": true,
+      "optional": true
     },
     "repeat-element": {
       "version": "1.1.3",
       "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
       "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
-      "dev": true
+      "dev": true,
+      "optional": true
     },
     "repeat-string": {
       "version": "1.6.1",
@@ -5268,39 +3567,31 @@
       }
     },
     "request": {
-      "version": "2.87.0",
-      "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz",
-      "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==",
+      "version": "2.88.0",
+      "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
+      "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
       "dev": true,
       "requires": {
         "aws-sign2": "~0.7.0",
-        "aws4": "^1.6.0",
+        "aws4": "^1.8.0",
         "caseless": "~0.12.0",
-        "combined-stream": "~1.0.5",
-        "extend": "~3.0.1",
+        "combined-stream": "~1.0.6",
+        "extend": "~3.0.2",
         "forever-agent": "~0.6.1",
-        "form-data": "~2.3.1",
-        "har-validator": "~5.0.3",
+        "form-data": "~2.3.2",
+        "har-validator": "~5.1.0",
         "http-signature": "~1.2.0",
         "is-typedarray": "~1.0.0",
         "isstream": "~0.1.2",
         "json-stringify-safe": "~5.0.1",
-        "mime-types": "~2.1.17",
-        "oauth-sign": "~0.8.2",
+        "mime-types": "~2.1.19",
+        "oauth-sign": "~0.9.0",
         "performance-now": "^2.1.0",
-        "qs": "~6.5.1",
-        "safe-buffer": "^5.1.1",
-        "tough-cookie": "~2.3.3",
+        "qs": "~6.5.2",
+        "safe-buffer": "^5.1.2",
+        "tough-cookie": "~2.4.3",
         "tunnel-agent": "^0.6.0",
-        "uuid": "^3.1.0"
-      },
-      "dependencies": {
-        "qs": {
-          "version": "6.5.2",
-          "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
-          "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
-          "dev": true
-        }
+        "uuid": "^3.3.2"
       }
     },
     "require-directory": {
@@ -5315,12 +3606,6 @@
       "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
       "dev": true
     },
-    "requires-port": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
-      "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
-      "dev": true
-    },
     "resolve": {
       "version": "1.8.1",
       "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz",
@@ -5334,23 +3619,15 @@
       "version": "0.2.1",
       "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
       "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
-      "dev": true
-    },
-    "resp-modifier": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/resp-modifier/-/resp-modifier-6.0.2.tgz",
-      "integrity": "sha1-sSTeXE+6/LpUH0j/pzlw9KpFa08=",
       "dev": true,
-      "requires": {
-        "debug": "^2.2.0",
-        "minimatch": "^3.0.2"
-      }
+      "optional": true
     },
     "ret": {
       "version": "0.1.15",
       "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
       "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
-      "dev": true
+      "dev": true,
+      "optional": true
     },
     "right-align": {
       "version": "0.1.3",
@@ -5362,20 +3639,14 @@
       }
     },
     "rimraf": {
-      "version": "2.6.2",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
-      "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
+      "version": "2.6.3",
+      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
+      "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
       "dev": true,
       "requires": {
-        "glob": "^7.0.5"
+        "glob": "^7.1.3"
       }
     },
-    "rx": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz",
-      "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=",
-      "dev": true
-    },
     "safe-buffer": {
       "version": "5.1.2",
       "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
@@ -5387,6 +3658,7 @@
       "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
       "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
       "dev": true,
+      "optional": true,
       "requires": {
         "ret": "~0.1.10"
       }
@@ -5407,38 +3679,6 @@
         "lodash": "^4.0.0",
         "scss-tokenizer": "^0.2.3",
         "yargs": "^7.0.0"
-      },
-      "dependencies": {
-        "yargs": {
-          "version": "7.1.0",
-          "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz",
-          "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=",
-          "dev": true,
-          "requires": {
-            "camelcase": "^3.0.0",
-            "cliui": "^3.2.0",
-            "decamelize": "^1.1.1",
-            "get-caller-file": "^1.0.1",
-            "os-locale": "^1.4.0",
-            "read-pkg-up": "^1.0.1",
-            "require-directory": "^2.1.1",
-            "require-main-filename": "^1.0.1",
-            "set-blocking": "^2.0.0",
-            "string-width": "^1.0.2",
-            "which-module": "^1.0.0",
-            "y18n": "^3.2.1",
-            "yargs-parser": "^5.0.0"
-          }
-        },
-        "yargs-parser": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz",
-          "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
-          "dev": true,
-          "requires": {
-            "camelcase": "^3.0.0"
-          }
-        }
       }
     },
     "scss-tokenizer": {
@@ -5487,29 +3727,6 @@
         "on-finished": "~2.3.0",
         "range-parser": "~1.2.0",
         "statuses": "~1.4.0"
-      },
-      "dependencies": {
-        "statuses": {
-          "version": "1.4.0",
-          "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
-          "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==",
-          "dev": true
-        }
-      }
-    },
-    "serve-index": {
-      "version": "1.9.1",
-      "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz",
-      "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=",
-      "dev": true,
-      "requires": {
-        "accepts": "~1.3.4",
-        "batch": "0.6.1",
-        "debug": "2.6.9",
-        "escape-html": "~1.0.3",
-        "http-errors": "~1.6.2",
-        "mime-types": "~2.1.17",
-        "parseurl": "~1.3.2"
       }
     },
     "serve-static": {
@@ -5524,12 +3741,6 @@
         "send": "0.16.2"
       }
     },
-    "server-destroy": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz",
-      "integrity": "sha1-8Tv5KOQrnD55OD5hzDmYtdFObN0=",
-      "dev": true
-    },
     "set-blocking": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
@@ -5541,6 +3752,7 @@
       "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
       "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
       "dev": true,
+      "optional": true,
       "requires": {
         "extend-shallow": "^2.0.1",
         "is-extendable": "^0.1.1",
@@ -5553,6 +3765,7 @@
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
           "dev": true,
+          "optional": true,
           "requires": {
             "is-extendable": "^0.1.0"
           }
@@ -5571,11 +3784,6 @@
       "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
       "dev": true
     },
-    "simple-line-icons": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/simple-line-icons/-/simple-line-icons-2.4.1.tgz",
-      "integrity": "sha1-t1vFoNh+UwkowszaVzUnS7JW8jQ="
-    },
     "slash": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
@@ -5587,6 +3795,7 @@
       "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
       "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
       "dev": true,
+      "optional": true,
       "requires": {
         "base": "^0.11.1",
         "debug": "^2.2.0",
@@ -5603,6 +3812,7 @@
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
           "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
           "dev": true,
+          "optional": true,
           "requires": {
             "is-descriptor": "^0.1.0"
           }
@@ -5612,6 +3822,7 @@
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
           "dev": true,
+          "optional": true,
           "requires": {
             "is-extendable": "^0.1.0"
           }
@@ -5623,6 +3834,7 @@
       "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
       "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
       "dev": true,
+      "optional": true,
       "requires": {
         "define-property": "^1.0.0",
         "isobject": "^3.0.0",
@@ -5634,6 +3846,7 @@
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
           "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
           "dev": true,
+          "optional": true,
           "requires": {
             "is-descriptor": "^1.0.0"
           }
@@ -5643,6 +3856,7 @@
           "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
           "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
           "dev": true,
+          "optional": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -5652,6 +3866,7 @@
           "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
           "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
           "dev": true,
+          "optional": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -5661,6 +3876,7 @@
           "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
           "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
           "dev": true,
+          "optional": true,
           "requires": {
             "is-accessor-descriptor": "^1.0.0",
             "is-data-descriptor": "^1.0.0",
@@ -5674,6 +3890,7 @@
       "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
       "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
       "dev": true,
+      "optional": true,
       "requires": {
         "kind-of": "^3.2.0"
       },
@@ -5683,161 +3900,25 @@
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
           "dev": true,
+          "optional": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
         }
       }
     },
-    "socket.io": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.1.1.tgz",
-      "integrity": "sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA==",
-      "dev": true,
-      "requires": {
-        "debug": "~3.1.0",
-        "engine.io": "~3.2.0",
-        "has-binary2": "~1.0.2",
-        "socket.io-adapter": "~1.1.0",
-        "socket.io-client": "2.1.1",
-        "socket.io-parser": "~3.2.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
-          "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "engine.io-client": {
-          "version": "3.2.1",
-          "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz",
-          "integrity": "sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==",
-          "dev": true,
-          "requires": {
-            "component-emitter": "1.2.1",
-            "component-inherit": "0.0.3",
-            "debug": "~3.1.0",
-            "engine.io-parser": "~2.1.1",
-            "has-cors": "1.1.0",
-            "indexof": "0.0.1",
-            "parseqs": "0.0.5",
-            "parseuri": "0.0.5",
-            "ws": "~3.3.1",
-            "xmlhttprequest-ssl": "~1.5.4",
-            "yeast": "0.1.2"
-          }
-        },
-        "isarray": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz",
-          "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=",
-          "dev": true
-        },
-        "socket.io-client": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.1.1.tgz",
-          "integrity": "sha512-jxnFyhAuFxYfjqIgduQlhzqTcOEQSn+OHKVfAxWaNWa7ecP7xSNk2Dx/3UEsDcY7NcFafxvNvKPmmO7HTwTxGQ==",
-          "dev": true,
-          "requires": {
-            "backo2": "1.0.2",
-            "base64-arraybuffer": "0.1.5",
-            "component-bind": "1.0.0",
-            "component-emitter": "1.2.1",
-            "debug": "~3.1.0",
-            "engine.io-client": "~3.2.0",
-            "has-binary2": "~1.0.2",
-            "has-cors": "1.1.0",
-            "indexof": "0.0.1",
-            "object-component": "0.0.3",
-            "parseqs": "0.0.5",
-            "parseuri": "0.0.5",
-            "socket.io-parser": "~3.2.0",
-            "to-array": "0.1.4"
-          }
-        },
-        "socket.io-parser": {
-          "version": "3.2.0",
-          "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz",
-          "integrity": "sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==",
-          "dev": true,
-          "requires": {
-            "component-emitter": "1.2.1",
-            "debug": "~3.1.0",
-            "isarray": "2.0.1"
-          }
-        }
-      }
-    },
-    "socket.io-adapter": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz",
-      "integrity": "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs=",
-      "dev": true
-    },
-    "socket.io-client": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.0.4.tgz",
-      "integrity": "sha1-CRilUkBtxeVAs4Dc2Xr8SmQzL44=",
-      "dev": true,
-      "requires": {
-        "backo2": "1.0.2",
-        "base64-arraybuffer": "0.1.5",
-        "component-bind": "1.0.0",
-        "component-emitter": "1.2.1",
-        "debug": "~2.6.4",
-        "engine.io-client": "~3.1.0",
-        "has-cors": "1.1.0",
-        "indexof": "0.0.1",
-        "object-component": "0.0.3",
-        "parseqs": "0.0.5",
-        "parseuri": "0.0.5",
-        "socket.io-parser": "~3.1.1",
-        "to-array": "0.1.4"
-      }
-    },
-    "socket.io-parser": {
-      "version": "3.1.3",
-      "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.1.3.tgz",
-      "integrity": "sha512-g0a2HPqLguqAczs3dMECuA1RgoGFPyvDqcbaDEdCWY9g59kdUAz3YRmaJBNKXflrHNwB7Q12Gkf/0CZXfdHR7g==",
-      "dev": true,
-      "requires": {
-        "component-emitter": "1.2.1",
-        "debug": "~3.1.0",
-        "has-binary2": "~1.0.2",
-        "isarray": "2.0.1"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
-          "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
-          "dev": true,
-          "requires": {
-            "ms": "2.0.0"
-          }
-        },
-        "isarray": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz",
-          "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=",
-          "dev": true
-        }
-      }
-    },
     "source-map": {
       "version": "0.5.7",
       "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+      "dev": true
     },
     "source-map-resolve": {
       "version": "0.5.2",
       "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
       "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
       "dev": true,
+      "optional": true,
       "requires": {
         "atob": "^2.1.1",
         "decode-uri-component": "^0.2.0",
@@ -5850,12 +3931,13 @@
       "version": "0.4.0",
       "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
       "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
-      "dev": true
+      "dev": true,
+      "optional": true
     },
     "spdx-correct": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.1.tgz",
-      "integrity": "sha512-hxSPZbRZvSDuOvADntOElzJpenIR7wXJkuoUcUtS0erbgt2fgeaoPIYretfKpslMhfFDY4k0MZ2F5CUzhBsSvQ==",
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
+      "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==",
       "dev": true,
       "requires": {
         "spdx-expression-parse": "^3.0.0",
@@ -5863,9 +3945,9 @@
       }
     },
     "spdx-exceptions": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz",
-      "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==",
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
+      "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==",
       "dev": true
     },
     "spdx-expression-parse": {
@@ -5879,9 +3961,9 @@
       }
     },
     "spdx-license-ids": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.1.tgz",
-      "integrity": "sha512-TfOfPcYGBB5sDuPn3deByxPhmfegAhpDYKSOXZQN81Oyrrif8ZCodOLzK3AesELnCx03kikhyDwh0pfvvQvF8w==",
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz",
+      "integrity": "sha512-7j8LYJLeY/Yb6ACbQ7F76qy5jHkp0U6jgBfJsk97bwWlVUnUWsAgpyaCvo17h0/RQGnQ036tVDomiwoI4pDkQA==",
       "dev": true
     },
     "split-string": {
@@ -5889,14 +3971,15 @@
       "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
       "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
       "dev": true,
+      "optional": true,
       "requires": {
         "extend-shallow": "^3.0.0"
       }
     },
     "sshpk": {
-      "version": "1.14.2",
-      "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz",
-      "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=",
+      "version": "1.16.1",
+      "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
+      "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
       "dev": true,
       "requires": {
         "asn1": "~0.2.3",
@@ -5915,6 +3998,7 @@
       "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
       "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
       "dev": true,
+      "optional": true,
       "requires": {
         "define-property": "^0.2.5",
         "object-copy": "^0.1.0"
@@ -5925,6 +4009,7 @@
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
           "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
           "dev": true,
+          "optional": true,
           "requires": {
             "is-descriptor": "^0.1.0"
           }
@@ -5932,9 +4017,9 @@
       }
     },
     "statuses": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz",
-      "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=",
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
+      "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==",
       "dev": true
     },
     "stdout-stream": {
@@ -5946,16 +4031,6 @@
         "readable-stream": "^2.0.1"
       }
     },
-    "stream-throttle": {
-      "version": "0.1.3",
-      "resolved": "https://registry.npmjs.org/stream-throttle/-/stream-throttle-0.1.3.tgz",
-      "integrity": "sha1-rdV8jXzHOoFjDTHNVdOWHPr7qcM=",
-      "dev": true,
-      "requires": {
-        "commander": "^2.2.0",
-        "limiter": "^1.0.5"
-      }
-    },
     "string-width": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
@@ -6007,6 +4082,7 @@
       "version": "5.5.0",
       "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
       "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+      "dev": true,
       "requires": {
         "has-flag": "^3.0.0"
       }
@@ -6022,59 +4098,18 @@
         "inherits": "2"
       }
     },
-    "tfunk": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/tfunk/-/tfunk-3.1.0.tgz",
-      "integrity": "sha1-OORBT8ZJd9h6/apy+sttKfgve1s=",
-      "dev": true,
-      "requires": {
-        "chalk": "^1.1.1",
-        "object-path": "^0.9.0"
-      },
-      "dependencies": {
-        "ansi-styles": {
-          "version": "2.2.1",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
-          "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
-          "dev": true
-        },
-        "chalk": {
-          "version": "1.1.3",
-          "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
-          "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^2.2.1",
-            "escape-string-regexp": "^1.0.2",
-            "has-ansi": "^2.0.0",
-            "strip-ansi": "^3.0.0",
-            "supports-color": "^2.0.0"
-          }
-        },
-        "supports-color": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
-          "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
-          "dev": true
-        }
-      }
-    },
-    "to-array": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz",
-      "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=",
-      "dev": true
-    },
     "to-fast-properties": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
-      "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
+      "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+      "dev": true
     },
     "to-object-path": {
       "version": "0.3.0",
       "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
       "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
       "dev": true,
+      "optional": true,
       "requires": {
         "kind-of": "^3.0.2"
       },
@@ -6084,6 +4119,7 @@
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
           "dev": true,
+          "optional": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -6095,6 +4131,7 @@
       "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
       "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
       "dev": true,
+      "optional": true,
       "requires": {
         "define-property": "^2.0.2",
         "extend-shallow": "^3.0.2",
@@ -6107,6 +4144,7 @@
       "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
       "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
       "dev": true,
+      "optional": true,
       "requires": {
         "is-number": "^3.0.0",
         "repeat-string": "^1.6.1"
@@ -6119,12 +4157,21 @@
       "dev": true
     },
     "tough-cookie": {
-      "version": "2.3.4",
-      "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz",
-      "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==",
+      "version": "2.4.3",
+      "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
+      "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
       "dev": true,
       "requires": {
+        "psl": "^1.1.24",
         "punycode": "^1.4.1"
+      },
+      "dependencies": {
+        "punycode": {
+          "version": "1.4.1",
+          "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+          "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+          "dev": true
+        }
       }
     },
     "trim-newlines": {
@@ -6136,7 +4183,8 @@
     "trim-right": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
-      "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM="
+      "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
+      "dev": true
     },
     "true-case-path": {
       "version": "1.0.3",
@@ -6160,25 +4208,35 @@
       "version": "0.14.5",
       "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
       "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
-      "dev": true,
-      "optional": true
+      "dev": true
     },
     "type-is": {
-      "version": "1.6.16",
-      "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz",
-      "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==",
+      "version": "1.6.18",
+      "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
+      "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
       "dev": true,
       "requires": {
         "media-typer": "0.3.0",
-        "mime-types": "~2.1.18"
+        "mime-types": "~2.1.24"
+      },
+      "dependencies": {
+        "mime-db": {
+          "version": "1.40.0",
+          "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
+          "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==",
+          "dev": true
+        },
+        "mime-types": {
+          "version": "2.1.24",
+          "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
+          "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==",
+          "dev": true,
+          "requires": {
+            "mime-db": "1.40.0"
+          }
+        }
       }
     },
-    "ua-parser-js": {
-      "version": "0.7.17",
-      "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz",
-      "integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g==",
-      "dev": true
-    },
     "uglify-js": {
       "version": "2.8.29",
       "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
@@ -6234,45 +4292,12 @@
       "dev": true,
       "optional": true
     },
-    "ultron": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz",
-      "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==",
-      "dev": true
-    },
-    "unicode-canonical-property-names-ecmascript": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
-      "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==",
-      "dev": true
-    },
-    "unicode-match-property-ecmascript": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz",
-      "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==",
-      "dev": true,
-      "requires": {
-        "unicode-canonical-property-names-ecmascript": "^1.0.4",
-        "unicode-property-aliases-ecmascript": "^1.0.4"
-      }
-    },
-    "unicode-match-property-value-ecmascript": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz",
-      "integrity": "sha512-Rx7yODZC1L/T8XKo/2kNzVAQaRE88AaMvI1EF/Xnj3GW2wzN6fop9DDWuFAKUVFH7vozkz26DzP0qyWLKLIVPQ==",
-      "dev": true
-    },
-    "unicode-property-aliases-ecmascript": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz",
-      "integrity": "sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg==",
-      "dev": true
-    },
     "union-value": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
       "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
       "dev": true,
+      "optional": true,
       "requires": {
         "arr-union": "^3.1.0",
         "get-value": "^2.0.6",
@@ -6285,6 +4310,7 @@
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
           "dev": true,
+          "optional": true,
           "requires": {
             "is-extendable": "^0.1.0"
           }
@@ -6294,6 +4320,7 @@
           "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
           "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
           "dev": true,
+          "optional": true,
           "requires": {
             "extend-shallow": "^2.0.1",
             "is-extendable": "^0.1.1",
@@ -6303,12 +4330,6 @@
         }
       }
     },
-    "universalify": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
-      "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
-      "dev": true
-    },
     "unpipe": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
@@ -6320,6 +4341,7 @@
       "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
       "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
       "dev": true,
+      "optional": true,
       "requires": {
         "has-value": "^0.3.1",
         "isobject": "^3.0.0"
@@ -6330,6 +4352,7 @@
           "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
           "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
           "dev": true,
+          "optional": true,
           "requires": {
             "get-value": "^2.0.3",
             "has-values": "^0.1.4",
@@ -6341,6 +4364,7 @@
               "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
               "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
               "dev": true,
+              "optional": true,
               "requires": {
                 "isarray": "1.0.0"
               }
@@ -6351,28 +4375,40 @@
           "version": "0.1.4",
           "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
           "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
-          "dev": true
+          "dev": true,
+          "optional": true
         }
       }
     },
     "upath": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz",
-      "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==",
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.2.tgz",
+      "integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==",
       "dev": true,
       "optional": true
     },
+    "uri-js": {
+      "version": "4.2.2",
+      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
+      "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
+      "dev": true,
+      "requires": {
+        "punycode": "^2.1.0"
+      }
+    },
     "urix": {
       "version": "0.1.0",
       "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
       "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
-      "dev": true
+      "dev": true,
+      "optional": true
     },
     "use": {
       "version": "3.1.1",
       "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
       "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
-      "dev": true
+      "dev": true,
+      "optional": true
     },
     "util-deprecate": {
       "version": "1.0.2",
@@ -6449,12 +4485,6 @@
         "string-width": "^1.0.2 || 2"
       }
     },
-    "window-size": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz",
-      "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=",
-      "dev": true
-    },
     "with": {
       "version": "5.1.1",
       "resolved": "https://registry.npmjs.org/with/-/with-5.1.1.tgz",
@@ -6473,7 +4503,7 @@
     },
     "wrap-ansi": {
       "version": "2.1.0",
-      "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
       "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
       "dev": true,
       "requires": {
@@ -6487,23 +4517,6 @@
       "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
       "dev": true
     },
-    "ws": {
-      "version": "3.3.3",
-      "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz",
-      "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==",
-      "dev": true,
-      "requires": {
-        "async-limiter": "~1.0.0",
-        "safe-buffer": "~5.1.0",
-        "ultron": "~1.1.0"
-      }
-    },
-    "xmlhttprequest-ssl": {
-      "version": "1.5.5",
-      "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz",
-      "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=",
-      "dev": true
-    },
     "y18n": {
       "version": "3.2.1",
       "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
@@ -6517,9 +4530,9 @@
       "dev": true
     },
     "yargs": {
-      "version": "6.4.0",
-      "resolved": "http://registry.npmjs.org/yargs/-/yargs-6.4.0.tgz",
-      "integrity": "sha1-gW4ahm1VmMzzTlWW3c4i2S2kkNQ=",
+      "version": "7.1.0",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz",
+      "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=",
       "dev": true,
       "requires": {
         "camelcase": "^3.0.0",
@@ -6533,25 +4546,34 @@
         "set-blocking": "^2.0.0",
         "string-width": "^1.0.2",
         "which-module": "^1.0.0",
-        "window-size": "^0.2.0",
         "y18n": "^3.2.1",
-        "yargs-parser": "^4.1.0"
+        "yargs-parser": "^5.0.0"
+      },
+      "dependencies": {
+        "camelcase": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
+          "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
+          "dev": true
+        }
       }
     },
     "yargs-parser": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz",
-      "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=",
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz",
+      "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
       "dev": true,
       "requires": {
         "camelcase": "^3.0.0"
+      },
+      "dependencies": {
+        "camelcase": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
+          "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
+          "dev": true
+        }
       }
-    },
-    "yeast": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz",
-      "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=",
-      "dev": true
     }
   }
 }
diff --git a/package.json b/package.json
index 9d65ac5d4ae5516470ce042b873a17cc57da9f8a..637731c00fc479faa1b6d4a16e321c052be1319d 100644
--- a/package.json
+++ b/package.json
@@ -1,21 +1,20 @@
 {
-  "name": "hd-app",
+  "name": "sib-app",
   "version": "1.0.0",
-  "license": "ISC",
+  "license": "MIT",
+  "scripts": {
+    "serve": "node server.js",
+    "postinstall": "node postinstall.js"
+  },
   "devDependencies": {
-    "@babel/core": "^7.1.0",
-    "@babel/cli": "^7.1.0",
-    "node-sass": "^4.9.3",
+    "@babel/core": "^7.4.4",
+    "@babel/cli": "^7.4.4",
+    "node-sass": "^4.12.0",
     "pug-cli": "^1.0.0-alpha6",
-    "browser-sync": "^2.24.7",
-    "express": "^4.16.3"
+    "express": "^4.16.4"
   },
   "dependencies": {
-    "@webcomponents/html-imports": "^1.2.0",
-    "@webcomponents/webcomponentsjs": "^1.2.7",
     "include-media": "^1.4.9",
-    "normalize.css": "^8.0.0",
-    "oidc-client": "^1.5.3-beta.1",
-    "simple-line-icons": "^2.4.1"
+    "normalize.css": "^8.0.1"
   }
 }
diff --git a/postinstall.js b/postinstall.js
new file mode 100644
index 0000000000000000000000000000000000000000..ff2fe590b0f6bdd25ce18cb41c3fa8977b1759c7
--- /dev/null
+++ b/postinstall.js
@@ -0,0 +1,8 @@
+const fs = require('fs');
+const { exec } = require('child_process');
+
+if (!fs.existsSync('src/config.json')) {
+  const cmd = `rsync -ru src/config.sample.json src/config.json`;
+  console.log(cmd);
+  exec(cmd);
+}
\ No newline at end of file
diff --git a/server.js b/server.js
index 7b0f15646c86abf3e02456c5f4f0665a4ea6ed1a..f525bc34e44b1ea44d0c7039c1c5a2cc1f2d6472 100644
--- a/server.js
+++ b/server.js
@@ -1,5 +1,4 @@
-const port = 9000;
-const browserSyncPort = 3000;
+const port = 3000;
 const distPath = 'www';
 
 // express server
@@ -8,19 +7,5 @@ const express = require('express');
 const app = express();
 app
   .use(express.static(distPath))
-  // .use('/src', express.static(join(__dirname, 'src')))
-  .get(/^[^.]*$/, (req, rep) =>
-    rep.sendFile(join(__dirname, distPath, '/index.html')),
-  )
+  .get(/^[^.]*$/, (req, rep) => rep.sendFile(join(__dirname, distPath, '/index.html')))
   .listen(port);
-
-// browser sync
-const bs = require('browser-sync').create();
-bs.init({
-  files: [distPath + '/**/*'],
-  proxy: `http://localhost:${port}`,
-  open: false,
-  notify: false,
-  port: browserSyncPort
-  // tunnel: true,
-});
diff --git a/src/dependencies.pug b/src/dependencies.pug
index 97000fc3b789751db52709e0e861bee3a197a031..f1c82fd2c7e77b31140050df7f55e79665d6b2bc 100644
--- a/src/dependencies.pug
+++ b/src/dependencies.pug
@@ -1,32 +1,24 @@
-// Scripts
-//- script(src="https://unpkg.com/@webcomponents/webcomponentsjs@1.2.7/webcomponents-loader.js")
-//script(src="/lib/webcomponentsjs/webcomponents-loader.js")
-//- script(src="lib/html-imports.js")
-
-script(type="module" src="https://unpkg.com/@startinblox/oidc@0.6")
-
+script(type="module" src="https://unpkg.com/@startinblox/oidc@0.6.0")
 script(src="/scripts/index.js")
 
-// Stylesheets
-link(rel='stylesheet', href='/lib/normalize.css')
+//- Stylesheets
 link(rel='stylesheet', href='/styles/index.css')
 link(rel='stylesheet', href='https://fonts.googleapis.com/css?family=Open+Sans:300,400,400i,600,700&amp;subset=latin-ext')
 link(rel='stylesheet', href='https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i,800,800i')
 
-// Web components
-
 //- local
-//script(type="module" src="/lib/sib-core/sib-display.js")
-//script(type="module" src="/lib/sib-router/sib-router.js")
-//script(type="module" src="/lib/sib-core/sib-form.js")
-
-//link(rel='import', href='/lib/sib-chat/sib-chat.html')
-
-//- cdn
+//- script(type="module" src="/lib/sib-core/src/index.js")
+//- script(type="module" src="/lib/sib-router/src/index.js")
+//- script(type="module" src="/lib/sib-chat/sib-chat.js")
+//- script(type="module" src="/lib/sib-notifications/sib-notifications.js")
+//- script(type="module" src="/lib/sib-conversation/sib-conversation.js")
+//- script(type="module" src="/lib/sib-directory/sib-directory.js")
+
+//- CDN
 script(type="module" src="https://unpkg.com/@startinblox/core@0.7")
-script(type="module" src="https://unpkg.com/@startinblox/router@0.6")
+script(type="module" src="https://unpkg.com/@startinblox/router@0.7.2")
 script(type="module" src="https://unpkg.com/@startinblox/component-chat@0.1.7")
-script(type="module" src="https://unpkg.com/@startinblox/component-notifications@0.1")
-script(type="module" src="https://unpkg.com/@startinblox/component-conversation@0.2")
-script(type="module" src="https://unpkg.com/@startinblox/component-directory@0.1")
+script(type="module" src="https://unpkg.com/@startinblox/component-notifications@0.1.12")
+script(type="module" src="https://unpkg.com/@startinblox/component-conversation@0.2.1")
+script(type="module" src="https://unpkg.com/@startinblox/component-directory@0.1.15")
 
diff --git a/src/get_config.pug b/src/get_config.pug
index befcb19ac4dbca463fe625ac3efc5defc6fb6830..5a04ca785b9572bbd2e96358ee936022e2193197 100644
--- a/src/get_config.pug
+++ b/src/get_config.pug
@@ -1,6 +1,5 @@
-- var __env = locals[process.env.ENV]
-
 -
+  var __env = locals[process.env.ENV]
   for(k in __env){
     eval(`var ${k} = __env[${JSON.stringify(k)}]`);
   }
\ No newline at end of file
diff --git a/src/header.pug b/src/header.pug
index 6aced934afa9b3aa754c0d2deabb754872ca8c83..9099c889b83161d883999b6b849d9739144997c7 100644
--- a/src/header.pug
+++ b/src/header.pug
@@ -1,4 +1,3 @@
-#button-toggle
 #logo
   img(src="/images/logo.png" width=111 height=32)
 
diff --git a/src/index.pug b/src/index.pug
index 86e1bbc6dddb7c9c5d5abe04e379b7a061c3e0f9..0a96eec1a60731b8ab85faf71b7ccaec6613e610 100644
--- a/src/index.pug
+++ b/src/index.pug
@@ -1,4 +1,5 @@
 include get_config.pug
+doctype html
 html(lang="en")
   head
     meta(charset="UTF-8")
@@ -8,30 +9,33 @@ html(lang="en")
     link(rel="icon" type="image/png" href="/images/favicon.png")
     include dependencies.pug
   body
-    div.layer
-      header#header.row(role='banner')
-        include header.pug
-      .content.row
-        include menu-left.pug
-        
-        main#mainContainer
-          //- #dashboard(hidden)
-            include page-dashboard.pug
-          #members(hidden)
-            include page-members.pug
-          #member-chat(hidden)
-            include page-member-chat.pug
-          #job-offers(hidden)
-            include page-job-offers.pug
-          #job-offer-create(hidden)
-            include page-job-offer-create.pug
-          #project(hidden)
-            include page-project.pug
-          //- #client-creation(hidden)
-            include page-client-creation.pug
-          //-#groups(hidden)
-            include page-groups.pug
-          #circle(hidden)
-            include page-group.pug
-          //- #search(hidden)
-            include page-search.pug
+    header#header(role='banner')
+      include header.pug
+    main
+      include menu-left.pug
+      div#viewport
+
+        #members(hidden).no-sidebar
+          include page-members-directory.pug
+
+        #job-offers(hidden).no-sidebar
+          include page-job-offers.pug
+
+        #job-offer-create(hidden).no-sidebar
+          sib-link(class="backlink", next="job-offers") Back
+          include page-job-offer-create.pug
+
+        #project(hidden).with-sidebar
+          include page-project.pug
+
+        #circle(hidden).with-sidebar
+          include page-circle.pug
+
+        #member-chat(hidden).with-sidebar
+          include page-member-chat.pug
+
+        #user-profile(hidden)
+
+        #user-settings(hidden)
+
+        #user-admin(hidden)
diff --git a/src/menu-left.pug b/src/menu-left.pug
index a9a83d91864814e0d0dbeefe5f9c5717d777148a..beb5cfcde0c2f369b36d57782b0faa12a65c6316 100644
--- a/src/menu-left.pug
+++ b/src/menu-left.pug
@@ -1,22 +1,10 @@
-nav#navbar
+nav#main__menu
   sib-router#navbar-router(default-route='members')
     sib-route.menu(name='members')
-      div.menu-notification
-        sib-display(
-        data-fields,
-        data-src=`${sdn}/members/`,
-        counter-template='${counter}'
-        )
       div.menu-label Members
       div.menu-icon.icon-people
     div.divider
-    sib-route.menu(name='job-offers')
-      div.menu-notification
-        sib-display(
-        data-fields,
-        data-src=`${sdn}/job-offers/`,
-        counter-template='${counter}'
-        )
+    sib-route.menu(name='job-offers', rdf-type='hd:joboffer')
       div.menu-label Job offers
       div.menu-icon.icon-briefcase
     sib-route(hidden, name='job-offer-create')
@@ -27,7 +15,7 @@ nav#navbar
           div.menu-icon.icon-arrow-up
         div.menu-label Projects
         div.menu-icon.icon-folder-alt
-      sib-route(hidden,name='project', id-prefix=`${sdn}/projects/`)
+      sib-route(hidden,name='project', id-prefix=`${sdn}/projects/`, rdf-type='hd:project', use-id='')
       div.sub-menu
         sib-display(
           data-src=`${sdn}/projects/`,
@@ -43,7 +31,7 @@ nav#navbar
           div.menu-icon.icon-arrow-up
         div.menu-label Cercles
         div.menu-icon.icon-globe
-      sib-route(hidden, name='circle', id-prefix=`${sdn}/circles/`)
+      sib-route(hidden, name='circle', id-prefix=`${sdn}/circles/`, rdf-type='hd:circle')
       div.sub-menu
         sib-display(
           data-src=`${sdn}/circles/`,
@@ -58,7 +46,7 @@ nav#navbar
           div.menu-icon.icon-arrow-up
         div.menu-label Chat
         div.menu-icon.icon-envelope-letter
-      sib-route(hidden, name='member-chat', id-prefix=`${sdn}/members/`)
+      sib-route(hidden, name='member-chat', id-prefix=`${sdn}/members/`, rdf-type='foaf:user', use-id='')
       div.sub-menu
         sib-display(
           data-src=`${sdn}/members/`,
diff --git a/src/page-chat.pug b/src/page-chat.pug
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/page-group-chat.pug b/src/page-circle-chat.pug
similarity index 83%
rename from src/page-group-chat.pug
rename to src/page-circle-chat.pug
index 72bb999ff84ddd842c3ff9bb4cef6d7b52709864..606e5a7327d19b5e2a4778545643aecc9a3dcbb9 100644
--- a/src/page-group-chat.pug
+++ b/src/page-circle-chat.pug
@@ -1,4 +1,4 @@
-.chat-view
+.content-box.full-width.chat-view
   sib-chat(
     data-authentication='login',
     data-auto-login='true',
diff --git a/src/page-circle-create.pug b/src/page-circle-create.pug
new file mode 100644
index 0000000000000000000000000000000000000000..e7eeb59b0a7eec67865824f5ee9d8a722fb942c6
--- /dev/null
+++ b/src/page-circle-create.pug
@@ -0,0 +1,26 @@
+.content-box.with-form.full-width
+  h1 New group
+  p Here you can create a new group according to your interests, what you want to share, etc.
+
+  sib-form(
+    data-src=`${sdn}/circles/`,
+    range-owner=`${sdn}/users/`, 
+    range-team=`${sdn}/members/`
+    
+    data-fields='name, description, description-text, owner, owner-text, team, team-text, jabberRoom, foaf:jabberID',
+
+    label-name="Channel's name",
+    label-description='Description',
+    label-owner='Owner of this channel',
+    label-foaf:jabberID='Chatroom id',
+    label-team='Member(s) of this channel',
+
+    value-description-text='You can write a short description like "Here, we are like Pinky and the Brain, we talk about strategy to conquer the world".',
+    value-owner-text='The one who will admin this channel',
+    value-team-text='Add any members as you want.',
+
+
+    widget-description='sib-form-textarea',
+    widget-jabberRoom='sib-form-checkbox',
+    widget-team='sib-form-multiple-dropdown'
+  )
diff --git a/src/page-circle-edit.pug b/src/page-circle-edit.pug
new file mode 100644
index 0000000000000000000000000000000000000000..008bc6d3ae2d5dc6e76eb72938593953ebfb12fd
--- /dev/null
+++ b/src/page-circle-edit.pug
@@ -0,0 +1,9 @@
+#circle-edit.content-box.with-form.full-width
+  h1 Edit group
+  sib-form.block(
+    range-owner=`${sdn}/members/`,
+    data-fields="name, description, owner, team, jabberID, jabberRoom"
+    range-team=`${sdn}/members/`,
+    widget-team='sib-form-multiple-dropdown',
+    bind-resources
+  )
diff --git a/src/page-group-profile.pug b/src/page-circle-profile.pug
similarity index 96%
rename from src/page-group-profile.pug
rename to src/page-circle-profile.pug
index 55114d3d5801706f9ab06e3074e5d083e9ba4dc3..7784abfeab123add0c3832e80daf27ea6a30f4bb 100644
--- a/src/page-group-profile.pug
+++ b/src/page-circle-profile.pug
@@ -1,4 +1,4 @@
-.frame
+.content-box.full-width
   h2 Channel's name:
   sib-display(
     data-fields='name',
diff --git a/src/page-group.pug b/src/page-circle.pug
similarity index 53%
rename from src/page-group.pug
rename to src/page-circle.pug
index 2c1cb896c6096dbc1e6d4da8cb8c87cffc795228..a8fd84d4ce9e5b0145a5d1543d723366801760a0 100644
--- a/src/page-group.pug
+++ b/src/page-circle.pug
@@ -1,3 +1,12 @@
+.views-container
+  #circle-chat
+    include page-circle-chat.pug
+  #circle-profile
+    include page-circle-profile.pug
+  #circle-edit
+    include page-circle-edit.pug
+  #circle-create
+    include page-circle-create.pug
 nav.jsRightMenu(role='navigation')
   sib-router(default-route='circle-chat')
     ul
@@ -8,20 +17,10 @@ nav.jsRightMenu(role='navigation')
           a Chat
       sib-route(name='circle-profile')
         li
-          a Info
-      sib-ac-checker(permission='change' bind-resources)
-        sib-route(name='circle-edit')
-          li
-            a Edit
+          a Information
+      sib-route(name='circle-edit')
+        li
+          a Edit
       sib-route(name='circle-create')
         li
-          a Add new
-#views-container
-  #circle-chat
-    include page-group-chat.pug
-  #circle-profile
-    include page-group-profile.pug
-  #circle-edit
-    include page-group-edit.pug
-  #circle-create
-    include page-group-create.pug
+          a Add new
\ No newline at end of file
diff --git a/src/page-group-create.pug b/src/page-group-create.pug
deleted file mode 100644
index 922bd3a3495ac122476bc3a02c977b6e63711613..0000000000000000000000000000000000000000
--- a/src/page-group-create.pug
+++ /dev/null
@@ -1,26 +0,0 @@
-.frame-form
-  h1 New group
-  p.form-goal Here you can create a new group according to your interests, what you want to share, etc.
-  .form-view
-    sib-form(
-      data-src=`${sdn}/circles/`,
-      range-owner=`${sdn}/users/`, 
-      range-team=`${sdn}/members/`
-      
-      data-fields='name, description, description-text, owner, owner-text, team, team-text, jabberRoom, foaf:jabberID',
-
-      label-name="Channel's name",
-      label-description='Description',
-      label-owner='Owner of this channel',
-      label-foaf:jabberID='Chatroom id',
-      label-team='Member(s) of this channel',
-
-      value-description-text='You can write a short description like "Here, we are like Pinky and the Brain, we talk about strategy to conquer the world".',
-      value-owner-text='The one who will admin this channel',
-      value-team-text='Add any members as you want.',
-
-
-      widget-description='sib-form-textarea',
-      widget-jabberRoom='sib-form-checkbox',
-      widget-team='sib-form-multiple-dropdown'
-    )
diff --git a/src/page-group-edit.pug b/src/page-group-edit.pug
deleted file mode 100644
index edcfa1cdd7fadc2b2e44320323a173f4f830d2bb..0000000000000000000000000000000000000000
--- a/src/page-group-edit.pug
+++ /dev/null
@@ -1,10 +0,0 @@
-#circle-edit
-  h1 Edit group
-  .form-view
-    sib-form.block(
-      range-owner=`${sdn}/members/`,
-      data-fields="name, description, owner, team, jabberID, jabberRoom"
-      range-team=`${sdn}/members/`,
-      widget-team='sib-form-multiple-dropdown',
-      bind-resources
-    )
diff --git a/src/page-groups.pug b/src/page-groups.pug
deleted file mode 100644
index 68885fb059d09fec0564dcd0a206c597c6b58fd5..0000000000000000000000000000000000000000
--- a/src/page-groups.pug
+++ /dev/null
@@ -1,7 +0,0 @@
-#circles
-  sib-display#circles-list(
-    data-src=`${sdn}/circles/`,
-    data-fields='name, description',
-    search-fields='name, description',
-    next='group'
-  )
diff --git a/src/page-job-offer-create.pug b/src/page-job-offer-create.pug
index 14f93886ac0dabed1936a6df21c325e72a8f7804..f15bf1a93e0ad85f1c3c9423ad11d51ffd69626a 100644
--- a/src/page-job-offer-create.pug
+++ b/src/page-job-offer-create.pug
@@ -1,5 +1,7 @@
-.frame-form
-
+.content-box.with-form
+  h1 Post a new job offer
+  p.center This form allows you to share an offer to all members of the network.
+    
   sib-widget(name='title-text')
     template
       p Be clear and specific with the name of your offer. You can indicate which skill is important, the start date or the name of the client. Ex: "Looking for a plumber for planet Mars ASAP".
@@ -8,24 +10,20 @@
     template
       p Be specific and exhaustive to avoid answering too many questions later. Indicate what is the best way to fill the offer, the prerequisites...'
   
-  sib-link(next='job-offers' class='back') Back
-  h1 Post a new job offer
-  p.form-goal This form allows you to share an offer to all members of the network.
-  .form-view
-    sib-form.block(
-      data-src=`${sdn}/job-offers/`,
-      range-skills= `${sdn}/skills/`,
-      range-author= `${sdn}/users/`,
+  sib-form.block(
+    data-src=`${sdn}/job-offers/`,
+    range-skills= `${sdn}/skills/`,
+    range-author= `${sdn}/users/`,
 
-      data-fields='title, title-text, description, description-text, skills',
+    data-fields='title, title-text, description, description-text, skills',
 
-      label-title='Title*',
-      label-description='Description*',
-      label-skills='The required skills for this mission:*',
-      
-      widget-title-text='title-text',
-      widget-description-text='description-text',
-      widget-skills='sib-form-auto-completion',
-      
-      next="job-offers"
-    )
+    label-title='Title*',
+    label-description='Description*',
+    label-skills='The required skills for this mission:*',
+    
+    widget-title-text='title-text',
+    widget-description-text='description-text',
+    widget-skills='sib-form-auto-completion',
+    
+    next="job-offers"
+  )
diff --git a/src/page-job-offers.pug b/src/page-job-offers.pug
index 23731dccc7ac1ebd7960259b61fec012b988cc7c..f648a42a47e306cb86464c32ddfc491568c21ab8 100644
--- a/src/page-job-offers.pug
+++ b/src/page-job-offers.pug
@@ -1,11 +1,11 @@
-div.grid-layer
+div.job-offers__main
 
   include templates/template-groups.pug
   include templates/template-skills.pug
   include templates/template-joboffers-filter.pug
 
-  div.grid-layer-main.containerV
-    h2 New offers
+  div.job-offers__content
+    h1 New offers
       span Here you can find and post offers
     sib-display#offers-list(
       data-src=`${sdn}/job-offers/`,
@@ -16,7 +16,7 @@ div.grid-layer
       widget-author.groups='groups-name',
       multiple-author.groups,
 
-      
+      widget-skills='skills-name',
       multiple-skills,
       
       action-send='member-chat',
@@ -35,15 +35,9 @@ div.grid-layer
       search-widget-open='joboffers-filter'
     )
     
-  div.grid-layer-links.containerV
+  div.job-offers__newoffer
     template#groups-list-template
       p ${value}
-    sib-link(next="job-offer-create").containerH.containerCenter.action-link
+    sib-link(next="job-offer-create").plus-button
       div.icon-plus
       div Post a new offer
-    //-sib-link().containerH.containerCenter.how-link
-      div.icon-idea
-      div.grow How To find a new offer?
-    //-sib-link().containerH.containerCenter.how-link
-      div.icon-idea
-      div.grow How to set notification?
diff --git a/src/page-member-chat.pug b/src/page-member-chat.pug
index a082cf02c7ae653f150f59b4be92084f7b1c9858..fdc62b265c8c2633ca05edb40e20e8b4566d940b 100644
--- a/src/page-member-chat.pug
+++ b/src/page-member-chat.pug
@@ -1,10 +1,9 @@
-div
-  .chat-view
-    sib-chat(
-      data-authentication='login',
-      data-auto-login='true',
-      data-bosh-service-url=xmpp,
-      data-debug='false',
-      data-locales-url='en',
-      bind-resources
-    )
+.content-box.full-width.chat-view
+  sib-chat(
+    data-authentication='login',
+    data-auto-login='true',
+    data-bosh-service-url=xmpp,
+    data-debug='false',
+    data-locales-url='en',
+    bind-resources
+  )
diff --git a/src/page-member-edit.pug b/src/page-member-edit.pug
deleted file mode 100644
index 31aaa9e39e4b8225b6fd692f404dccd155d64067..0000000000000000000000000000000000000000
--- a/src/page-member-edit.pug
+++ /dev/null
@@ -1,96 +0,0 @@
-.form-view
-  sib-form.block(
-    data-fields='user.first_name, user.last_name, user.account.picture, bio, groups, phone, skills, website',
-    widget-user='hdapp-usereditinfo',
-    range-groups=`${sdn}/groups/`, widget-skills='sib-form-multiple-dropdown',
-    range-skills=`${sdn}/skills/`,
-    bind-resources
-  )
-
-  #crop-modal
-    .crop-wrapper
-      img#crop-preview(src='')
-    .control-bar
-      button#cancel-img-cropping.btn.btn-link Annuler
-      i#rotate-img.fa.fa-undo(aria-hidden='true')
-      button#crop-img.btn.btn-link Valider
-
-
-//-script.
-  class LDPFormImgUpload extends SIBWidget {
-    get template() {
-      return `<label for="${this.name}"><img id="${this.name}-preview" src="${this.value}"/></label>
-        <input id="${this.name}" type="file" name="${this.name}" value="${this.value}" />`;
-    }
-
-    render() {
-      store.get(this.value).then( (value) => {
-        this._value = value;
-        this.innerHTML = this.template;
-      });
-    }
-  }
-  customElements.define("ldp-form-img-upload", LDPFormImgUpload);
-  widget-avatar="ldp-form-img-upload"
-
-
-//-script.
-  // Constant declaration
-  const avatarPreview = document.querySelector("#avatar-preview");
-  const avatarInput   = document.querySelector("#avatar-input");
-  const cropModal     = document.querySelector("#crop-modal");
-  const cropPreview   = cropModal.querySelector("#crop-preview");
-  const $cropPreview  = $(cropPreview);
-
-  // Triggers cropping on image upload
-  avatarInput.addEventListener("change", function(e) {
-    var img     = avatarInput.files[0];
-    var reader  = new FileReader();
-
-    reader.onloadend = function () {
-      cropPreview.src = reader.result;
-      cropModal.classList.add("cropping-mode");
-    }
-
-    if (img) {
-      reader.readAsDataURL(img);//reads the data as a URL
-    } 
-  });
-  cropPreview.addEventListener("load", () => {
-    $cropPreview.cropper({
-      aspectRatio:  1/1,
-      viewMode:     3,
-      zoomable:     false,
-    });
-  });
-
-
-  // Rotate image 
-  cropModal.querySelector("#rotate-img").addEventListener("click", () => {
-    $cropPreview.cropper("rotate", -90);
-  });
-
-
-  // Cancel cropping
-  cropModal.querySelector("#cancel-img-cropping").addEventListener("click", () => {
-    closeCropping();
-  });
-
-  // Shortcut
-  document.querySelector("body").addEventListener("keydown", function(e) {
-    // Escape key
-    if (e.keyCode == 27 && cropModal.classList.contains("cropping-mode")) {
-      closeCropping();
-    }
-  });
-  function closeCropping() {
-    cropModal.classList.remove("cropping-mode");
-    avatarInput.value = null;
-  }
-
-
-  // Validating cropping 
-  cropModal.querySelector("#crop-img").addEventListener("click", () => {
-    avatarPreview.src = $cropPreview.cropper("getCroppedCanvas").toDataURL()
-    closeCropping();
-  });
diff --git a/src/page-members.pug b/src/page-members-directory.pug
similarity index 100%
rename from src/page-members.pug
rename to src/page-members-directory.pug
diff --git a/src/page-project-chat.pug b/src/page-project-chat.pug
index 59730e711d2840f00195fe6ff9cc359657e6a781..fdc62b265c8c2633ca05edb40e20e8b4566d940b 100644
--- a/src/page-project-chat.pug
+++ b/src/page-project-chat.pug
@@ -1,4 +1,4 @@
-.chat-view
+.content-box.full-width.chat-view
   sib-chat(
     data-authentication='login',
     data-auto-login='true',
diff --git a/src/page-project-create.pug b/src/page-project-create.pug
index 7e8fc7ebc21444b96db857c62bc4006ffc81b19a..e954c5ad867e65317f8d3e7237af75f4c5e967e9 100644
--- a/src/page-project-create.pug
+++ b/src/page-project-create.pug
@@ -1,33 +1,33 @@
-.frame-form
+.content-box.with-form.full-width
   h1 New project
-  p.form-goal Here you can create your project, add members and assign them a job.
-  .form-view
-    sib-form.block(
-      data-src=`${sdn}/projects/`,
-      range-members=`${sdn}/members/`,
-      range-team=`${sdn}/users/`,
+  p Here you can create your project, add members and assign them a job.
+  
+  sib-form.block(
+    data-src=`${sdn}/projects/`,
+    range-members=`${sdn}/members/`,
+    range-team=`${sdn}/users/`,
 
-      data-fields='block-project__info, block-project__fee, block-project__customer',
+    data-fields='block-project__info, block-project__fee, block-project__customer',
 
-      set-block-project__info='customer.name, name, customer.logo, description',
-      label-customer.name='Customer\'s name',
-      label-name='Project\'s name',
-      label-customer.logo='Customer\'s logo',
-      label-description='Project description',
-      
-      set-block-project__fee='fieldset-fee, businessProvider, businessProviderFee',
-      widget-fieldset-fee='template-legend-fee',
-      label-businessProvider='Business provider',
-      label-businessProviderFee='Amount of the contribution',
-      
-      set-block-project__customer='fieldset-customer, customer.companyRegister, customer.address, customer.firstName, customer.lastName, customer.role, customer.email, customer.phone',
-      widget-fieldset-customer='template-legend-customer',
-      label-customer.companyRegister='Company register',
-      label-customer.address='Address',
-      label-customer.firstName='Name of the contact at the customer\'s premises',
-      label-customer.lastName='Firstname of the contact at the customer\'s premises',
-      label-customer.role='Role within the company',
-      label-customer.email='Email',
-      label-customer.phone='Phone'
-    )
+    set-block-project__info='customer.name, name, customer.logo, description',
+    label-customer.name='Customer\'s name',
+    label-name='Project\'s name',
+    label-customer.logo='Customer\'s logo',
+    label-description='Project description',
+    
+    set-block-project__fee='fieldset-fee, businessProvider, businessProviderFee',
+    widget-fieldset-fee='hd-template-project-title',
+    label-businessProvider='Business provider',
+    label-businessProviderFee='Amount of the contribution',
+    
+    set-block-project__customer='fieldset-customer, customer.companyRegister, customer.address, customer.firstName, customer.lastName, customer.role, customer.email, customer.phone',
+    widget-fieldset-customer='hd-template-project-title',
+    label-customer.companyRegister='Company register',
+    label-customer.address='Address',
+    label-customer.firstName='Name of the contact at the customer\'s premises',
+    label-customer.lastName='Firstname of the contact at the customer\'s premises',
+    label-customer.role='Role within the company',
+    label-customer.email='Email',
+    label-customer.phone='Phone'
+  )
     
\ No newline at end of file
diff --git a/src/page-project-edit.pug b/src/page-project-edit.pug
index 8549be4d18bfbd53a5604e5493c8e65bd7828abc..3038890e225c4d2f292b93a5ec79baaf4b99af47 100644
--- a/src/page-project-edit.pug
+++ b/src/page-project-edit.pug
@@ -1,60 +1,59 @@
-sib-widget(name='template-legend-fee')
-  template
-    span Fee
 
-sib-widget(name='template-legend-customer')
-  template
-    span Customer information
 
-sib-widget(name='template-legend-team')
-  template
-    span The team
-
-.frame-form
+.content-box.with-form.full-width
   h1 Edit your project
-  p.form-goal Here you can edit your projet's details
-  .form-view
-    sib-form.block(
-      range-businessProvider=`${sdn}/businessproviders/`,
-      range-team=`${sdn}/users/`,
-      range-members=`${sdn}/project-members/`,
-
-      data-fields='block-project__info, block-project__fee, block-project__customer, block-project__team',
-
-      set-block-project__info='customer.name, name, customer.logo, description',
-      label-customer.name='Customer\'s name',
-      label-name='Project\'s name',
-      label-customer.logo='Customer\'s logo',
-      label-description='Project description',
-      
-      set-block-project__fee='fieldset-fee, businessProvider, businessProvider.fee',
-      label-businessProvider='Business provider',
-      label-businessProvider.fee='Amount of the contribution (%)',
-      widget-fieldset-fee='template-legend-fee',
-      widget-businessProvider.fee='sib-form-number',
-      
-      set-block-project__customer='fieldset-customer, customer.companyRegister, customer.address, customer.firstName, customer.lastName, customer.role, customer.email, customer.phone',
-      label-customer.companyRegister='Company registration number',
-      label-customer.address='Address',
-      label-customer.firstName='Name of the contact at the customer\'s premises',
-      label-customer.lastName='Firstname of the contact at the customer\'s premises',
-      label-customer.role='Role within the company',
-      label-customer.email='Email',
-      label-customer.phone='Phone',
-      widget-fieldset-customer='template-legend-customer',
-
-      set-block-project__team='fieldset-team, team, members',
-      label-team='Member',
-      label-members='Role',
-      widget-fieldset-team='template-legend-team',
-      multiple-team,
-      multiple-members,
-
-      bind-resources
-    )
-
-    //-
-      set-block-project__team='fieldset-team, team',
-      widget-fieldset-team='template-legend-team',
-      widget-team='sib-form-multiple-dropdown',
-      (sib-form-multiple-dropdown ne fonctionne pas).
\ No newline at end of file
+  p Here you can edit your projet's details
+
+  sib-widget(name='hd-template-project-title')
+    template
+      span ${label}
+
+  sib-widget(name='template-members')
+    template
+      sib-form.team.is-horizontal(
+        naked,
+        data-src='${id}',
+        data-fields='user.name, name',
+        range-user.name=`${sdn}/users/`,
+        class-name='field',
+        class-user.name='field',
+        label-name='Role',
+        label-user.name='Member(s)',
+      )
+
+  sib-form.block(
+    data-fields='block-project__info, block-project__fee, block-project__customer, block-project__team',
+
+    set-block-project__info='customer.name, name, customer.logo, description',
+    label-customer.name='Customer\'s name',
+    label-name='Project\'s name',
+    label-customer.logo='Customer\'s logo',
+    label-description='Project description',
+
+    set-block-project__fee='fieldset-fee, businessProvider, businessProvider.fee',
+    range-businessProvider=`${sdn}/businessproviders/`,
+    label-businessProvider='Business provider',
+    label-businessProvider.fee='Amount of the contribution (%)',
+    widget-fieldset-fee='hd-template-project-title',
+    widget-businessProvider.fee='sib-form-number',
+    label-fieldset-fee='Fee',
+
+    set-block-project__customer='fieldset-customer, customer.companyRegister, customer.address, customer.firstName, customer.lastName, customer.role, customer.email, customer.phone',
+    label-customer.companyRegister='Company registration number',
+    label-customer.address='Address',
+    label-customer.firstName='Name of the contact at the customer\'s premises',
+    label-customer.lastName='Firstname of the contact at the customer\'s premises',
+    label-customer.role='Role within the company',
+    label-customer.email='Email',
+    label-customer.phone='Phone',
+    widget-fieldset-customer='hd-template-project-title',
+    label-fieldset-customer='Customer information',
+
+    set-block-project__team='fieldset-team, members',
+    label-fieldset-team='The team',
+    widget-fieldset-team='hd-template-project-title',
+    widget-members='template-members',
+    multiple-members,
+
+    bind-resources
+  )
diff --git a/src/page-project-profile.pug b/src/page-project-profile.pug
index b4f6cb64d52b78df391c20fa9675070302dac38c..fb8cf934e1c28ed62fcd63ace06e0ae1a4597993 100644
--- a/src/page-project-profile.pug
+++ b/src/page-project-profile.pug
@@ -1,4 +1,4 @@
-.frame
+.content-box.full-width
 
   include templates/template-business-provider.pug
   include templates/template-customer.pug
@@ -23,13 +23,13 @@
     widget-businessProvider='template-business-provider'
 
     set-block-customer='label-customer, customer',
-    value-label-customer='CUSTOMER INFORMATIONS:'
+    value-label-customer='CUSTOMER INFORMATIONS:',
     widget-customer='customer-template',
     
     set-block-team='label-team, members',
-    value-label-team='TEAM:'
+    value-label-team='TEAM:',
     widget-members='team-template',
-    multiple-members,
+    multiple-members='',
 
     bind-resources
   )
diff --git a/src/page-project.pug b/src/page-project.pug
index 9a93ff1b92b113702b28f4b339b46191c514382e..ec2e276ddef10686a5662f26a476c649c10b03f6 100644
--- a/src/page-project.pug
+++ b/src/page-project.pug
@@ -1,26 +1,26 @@
+.views-container
+  #project-chat
+    include page-project-chat.pug
+  #project-profile
+    include page-project-profile.pug
+  #project-edit
+    include page-project-edit.pug
+  #project-create
+    include page-project-create.pug
 nav.jsRightMenu(role='navigation')
   sib-router(default-route='project-chat')
     ul
       li.jsOffsiteToggle
         a Fold menu
-      sib-route(name='project-chat')
+      sib-route(name='project-chat', use-id)
         li 
           a Chat
-      sib-route(name='project-profile')
+      sib-route(name='project-profile', use-id)
         li 
           a Information
-      sib-route(name='project-edit')
+      sib-route(name='project-edit', use-id)
         li 
           a Edit
-      sib-route(name='project-create')
+      sib-route(name='project-create', use-id)
         li
-          a Add new
-#views-container
-  #project-chat
-    include page-project-chat.pug
-  #project-profile
-    include page-project-profile.pug
-  #project-edit
-    include page-project-edit.pug
-  #project-create
-    include page-project-create.pug
+          a Add new
\ No newline at end of file
diff --git a/src/page-projects.pug b/src/page-projects.pug
deleted file mode 100644
index 4490ae255c62e8ca11ae7f2615efe4c03a9527ce..0000000000000000000000000000000000000000
--- a/src/page-projects.pug
+++ /dev/null
@@ -1,10 +0,0 @@
-//#projects
-div
-  h1 Projects
-  sib-display(
-    data-src=`${sdn}/projects/`,
-    data-fields='phone, customer, name',
-    widget-customer='hdapp-client',
-    search-fields='phone, name',
-    next='project'
-  )
diff --git a/src/page-user-panel.pug b/src/page-user-panel.pug
index b4ad00011c0e0c2037dfbea9422e591172520c23..efec855e0bb118ee976a2f9e6e6c2aa1f539a668 100644
--- a/src/page-user-panel.pug
+++ b/src/page-user-panel.pug
@@ -1,13 +1,13 @@
 nav(role="user's functionalities menu")
   sib-router
     ul
-      sib-route(name='')
+      sib-route(name='user-profile')
         li
           a(href='#') My profile
-      sib-route(name='')
+      sib-route(name='user-settings')
         li
           a(href='#') Settings
-      sib-route(name='')
+      sib-route(name='user-admin')
         li
           a Admin
     button(role='log out' onclick="document.querySelector('sib-auth').logout();") Log out
diff --git a/src/scripts/hd-app.js b/src/scripts/hd-app.js
deleted file mode 100644
index 1fe90ce18b88541ffd482f28f7814c8a955e0f09..0000000000000000000000000000000000000000
--- a/src/scripts/hd-app.js
+++ /dev/null
@@ -1,63 +0,0 @@
-document.addEventListener("DOMContentLoaded", function (event) {
-  // Constants declaration
-  const navBar = document.querySelector("#navbar");
-  const searchBar = document.querySelector("#search-bar");
-  const searchView = document.querySelector("#search-view");
-  const searchInput = searchBar.querySelector("#search-input");
-  const btnToggle = document.querySelector("#button-toggle");
-
-
-  // Shortcuts
-  window.addEventListener("keydown", function (e) {
-    // CTRL + K triggers the search feature
-    if ((e.keyCode == 75 || e.keyCode == 80) && (e.ctrlKey === true || e.metaKey === true)) {
-      e.preventDefault();
-      e.stopPropagation();
-      openSearchBar();
-    }
-
-    // Escape key
-    else if (e.keyCode == 27 && navBar.classList.contains("search-mode")) {
-      closeSearchBar();
-    }
-  });
-
-  searchBar.querySelector("#close-search-icon").addEventListener("click", emptySearchBar);
-
-  function openSearchBar(e) {
-    navBar.classList.add("search-mode");
-    searchBar.querySelector("#search-input").focus();
-    searchView.classList.add("search-mode");
-  }
-
-  function closeSearchBar(e) {
-    navBar.classList.remove("search-mode");
-    searchView.classList.remove("search-mode");
-  }
-
-  function emptySearchBar(e) {
-    searchInput.value = '';
-    openSearchBar();
-    searchInput.focus;
-  }
-
-
-  // Synchronizes the search input with the <ldp-form>s 
-  searchInput.addEventListener("keyup", (e) => {
-    searchView.querySelectorAll("ldp-form input[type=text]").forEach((el) => {
-      el.value = searchInput.value;
-    });
-  });
-
-
-  btnToggle.addEventListener('click', e => {
-    navBar.classList.toggle('open');
-    e.stopPropagation();
-  });
-
-  window.addEventListener('click', e => {
-    navBar.classList.remove('open');
-  });
-
-
-});
diff --git a/src/scripts/index.js b/src/scripts/index.js
index 9b4fac6b787c70da1e0fe18a5e6db0bd04c0834b..7146e971d7e0fc133f88575b912ac70c7eb52d18 100644
--- a/src/scripts/index.js
+++ b/src/scripts/index.js
@@ -1,35 +1,9 @@
 document.addEventListener('DOMContentLoaded', function (event) {
-  const navBar = document.querySelector('#navbar');
-  const btnToggle = document.querySelector('#button-toggle');
   const menuWrappers = Array.from(document.querySelectorAll('.menu-wrapper'));
   const rightMenus = Array.from(document.querySelectorAll('nav.jsRightMenu'));
-  
-  if (!navBar || !btnToggle) return;
+  const viewsContainer = Array.from(document.querySelectorAll('.views-container'));
 
-  btnToggle.addEventListener('click', e => {
-    navBar.classList.toggle('open');
-    e.stopPropagation();
-  });
-
-  window.addEventListener('click', e => {
-    navBar.classList.remove('open');
-  });
-
-  function resize() {
-    setTimeout(() =>
-      Array.from(document.querySelectorAll('.chat-view')).forEach(elm => {
-        if (!elm.offsetParent) return;
-        elm.style.setProperty('--pos-top', elm.offsetTop + 'px');
-      }));
-  }
-  window.addEventListener('resize', resize);
-  window.addEventListener('navigate', resize);
-  window.addEventListener('popstate', resize);
-  document.addEventListener('load', resize);
-  document.addEventListener('WebComponentsReady', resize);
-  resize();
-
-  // Toggle sub-menus
+  //- Toggle sub-menus
   menuWrappers.forEach(menuWrapper => {
     const menu = menuWrapper.querySelector('.menu');
     menu.addEventListener('click', e => {
@@ -37,12 +11,14 @@ document.addEventListener('DOMContentLoaded', function (event) {
     });
   });
 
-  // Open/close menu on the right
+  //- Open/close menu on the right
   rightMenus.forEach(rightMenu => {
     const btnRightMenu = rightMenu.querySelector("li.jsOffsiteToggle");
-    
+
     btnRightMenu.addEventListener('click', e => {
-      rightMenu.classList.toggle('offsite-is-closed');
+      rightMenus.forEach(rM => rM.classList.toggle('offsite-is-closed'));
+      viewsContainer.forEach(vC => vC.classList.toggle('sidebar-is-closed'));
     })
-  })
-});
+  });
+
+});
\ No newline at end of file
diff --git a/src/styles/_index.scss b/src/styles/_index.scss
new file mode 100644
index 0000000000000000000000000000000000000000..7da580214bb4a5b74cfe210701ebc25d38863856
--- /dev/null
+++ b/src/styles/_index.scss
@@ -0,0 +1,21 @@
+@charset "UTF-8";
+
+@import '../../node_modules/include-media/dist/include-media';
+@import '../../node_modules/normalize.css/normalize';
+
+@import 'abstracts/variables';
+@import 'abstracts/mixins';
+@import 'components/icons/index';
+@import 'base/main';
+
+div#viewport {
+    display: flex;
+    flex-grow: 1;
+    flex-shrink: 1;
+    overflow-y: auto;
+    @import 'components/index';
+    @import 'layout/members/index';
+    @import 'layout/job-offers/index';
+    @import 'layout/project-profile/index';
+    @import 'layout/circle-profile/index';
+}
diff --git a/src/styles/abstracts/_mixins.scss b/src/styles/abstracts/_mixins.scss
new file mode 100644
index 0000000000000000000000000000000000000000..741219e31331057b1547a2dc770bf07e939f4aae
--- /dev/null
+++ b/src/styles/abstracts/_mixins.scss
@@ -0,0 +1,4 @@
+@mixin window-style-modal($background: $color-0-0-100, $shadow: hsla(212, 7%, 55%, 0.19)) {
+  box-shadow: 0 0 8px 0 $shadow;
+  background-color: $background;
+}
\ No newline at end of file
diff --git a/src/styles/abstracts/_variables.scss b/src/styles/abstracts/_variables.scss
new file mode 100644
index 0000000000000000000000000000000000000000..e63db81aec093d3d221b0a1f4e18d1dae4f1f552
--- /dev/null
+++ b/src/styles/abstracts/_variables.scss
@@ -0,0 +1,25 @@
+// Color Variables
+$color-43-100-50: hsl(43, 100%, 50%);
+$color-45-95-54: hsl(45, 95%, 54%);
+$color-46-100-67: hsl(46, 100%, 67%);
+$color-46-100-50: hsl(46, 100%, 50%);
+$color-0-0-100: hsl(0, 0%, 100%);
+$color-210-17-91: hsl(210, 17%, 91%);
+$color-222-52-90: hsl(222, 52%, 90%);
+$color-210-25-95: hsl(210, 25%, 95%);
+$color-222-57-95: hsl(222, 57%, 95%);
+$color-213-20-91: hsl(213, 20%, 91%);
+$color-221-51-90: hsl(221, 51%, 90%);
+$color-0-0-85: hsl(0, 0%, 85%);
+$color-229-25-79: hsl(229, 25%, 79%);
+$color-215-9-73: hsl(215, 9%, 73%);
+$color-244-10-70: hsl(244, 10%, 70%);
+$color-215-6-63: hsl(215, 6%, 63%);
+$color-210-5-56: hsl(210, 5%, 56%);
+$color-210-4-50: hsl(210, 4%, 50%);
+$color-213-4-50: hsl(213, 4%, 50%);
+$color-213-13-86: hsla(213, 13%, 86%, 0.2);
+$color-0-0-29: hsl(0, 0%, 29%);
+$color-233-18-29: hsl(233, 18%, 29%);
+$color-216-4-22: hsl(216, 4%, 22%);
+$color-244-73-62: hsl(244, 73%, 62%);
diff --git a/src/styles/base/_compat.scss b/src/styles/base/_compat.scss
new file mode 100644
index 0000000000000000000000000000000000000000..4a5b3451252b7c4a7ad93ada305255d04182bd28
--- /dev/null
+++ b/src/styles/base/_compat.scss
@@ -0,0 +1,34 @@
+%grid-layer {
+    display: grid;
+    font-size: 16px;
+    grid-template-columns: [start]auto[middle]25%[end];
+    grid-template-rows: [start]7em[middle]auto[end];
+}
+
+%flex-grid-layer {
+    display: flex;
+    flex-direction: column;
+    align-items: stretch;
+}
+
+%grid-layer-main {
+    @extend %flex-grid-layer;
+    grid-column-start: start;
+    grid-column-end: end;
+    grid-row-start: start;
+    grid-row-end: end;
+}
+
+%grid-layer-links {
+    @extend %flex-grid-layer;
+    grid-column-start: middle;
+    grid-column-end: end;
+    grid-row-start: start;
+    grid-row-end: middle;
+}
+
+%containerV {
+    display: flex;
+    flex-direction: column;
+    align-items: stretch;
+}
\ No newline at end of file
diff --git a/src/styles/base/form.scss b/src/styles/base/form.scss
new file mode 100644
index 0000000000000000000000000000000000000000..526555151c8fb310c23002ae671c60569a2d4a69
--- /dev/null
+++ b/src/styles/base/form.scss
@@ -0,0 +1,294 @@
+.content-box {
+
+  &.with-form {
+
+    hd-template-project-title {
+      border-bottom: 1px solid $color-221-51-90;
+      color: $color-233-18-29;
+      font-size: 1.8rem;
+      font-weight: 600;
+      padding-bottom: 1rem;
+    }
+
+    sib-form {
+      border-bottom: 1px solid $color-210-17-91;
+      padding-bottom: 2.55rem;
+    }
+
+    h1 {
+      color: $color-233-18-29;
+      font-weight: bold;
+      font-size: 2rem;
+      text-align: center;
+    }
+
+    p.center {
+      margin-bottom: 6.8rem;
+      text-align: center;
+    }
+
+    [name$='-text'] {
+      font-size: 1.5rem;
+      margin-bottom: 2em;
+    }
+
+    div[name^='block-'] {
+      display: flex;
+      flex-direction: column;
+    }
+
+    input {
+      -webkit-appearance: none;
+      align-items: center;
+      background: $color-222-57-95;
+      border: none;
+      color: $color-233-18-29;
+      display: inline-flex;
+      justify-content: flex-start;
+      line-height: 1.5;
+      vertical-align: top;
+    }
+
+    sib-form-auto-completion,
+    sib-form-checkbox,
+    sib-form-dropdown,
+    sib-form-label-text,
+    sib-form-multiple-dropdown,
+    sib-form-number,
+    sib-form-textarea {
+      display: flex;
+      flex-direction: column;
+
+      >label {
+        color: $color-244-10-70;
+        font-weight: 600;
+        margin: 2em 0 0.5em;
+        text-transform: uppercase;
+
+        >div {
+          padding-bottom: 1rem;
+        }
+      }
+
+      select,
+      textarea {
+        background: $color-222-57-95;
+        border: none;
+        color: $color-233-18-29;
+        line-height: 1.5;
+        width: 100%;
+
+      }
+
+      select,
+      textarea {
+        padding: 1.7rem;
+      }
+
+      select {
+        margin-bottom: 1.7rem;
+      }
+    }
+
+    sib-form-auto-completion,
+    sib-form-checkbox,
+    sib-form-multiple-dropdown {
+
+      label {
+        color: $color-216-4-22;
+        font-weight: 600;
+        text-transform: initial;
+      }
+    }
+
+    sib-form-auto-completion {
+
+      div.choices__inner {
+        background-color: inherit;
+        border: none;
+        display: flex;
+        flex-direction: column-reverse;
+        padding-left: 0;
+
+        div.choices__list {
+          margin-top: 1.7rem;
+
+          div.choices__item {
+
+            button.choices__button {
+              border-left: 1px solid $color-43-100-50;
+              opacity: 1;
+              padding-left: 0;
+            }
+          }
+        }
+
+        input[type='text'].choices__input {
+          max-width: 27.2rem;
+          min-width: 27.2rem;
+        }
+      }
+    }
+
+    sib-form-checkbox {
+      flex-direction: row;
+
+      [type='checkbox'] {
+        position: relative;
+        margin-top: 2em;
+
+        &:before {
+          border: 2px solid $color-210-5-56;
+          content: '';
+          height: 1rem;
+          left: 0;
+          margin-left: 1rem;
+          padding-bottom: 0.2rem;
+          position: absolute;
+          width: 1.2rem;
+          z-index: 1;
+        }
+
+        &:checked {
+          &:before {
+            border: 2px solid $color-210-5-56;
+            color: $color-244-73-62;
+            height: 1rem;
+            left: 0;
+            margin-left: 1rem;
+            padding-bottom: 0.2rem;
+            position: absolute;
+            width: 1.2rem;
+            z-index: 1;
+            @include mdi('check');
+          }
+        }
+
+        &:after {
+          background: $color-0-0-100;
+          content: '';
+          height: 1rem;
+          position: absolute;
+          width: 1rem;
+        }
+      }
+    }
+
+    sib-form-dropdown {
+
+      select {
+        appearance: none;
+        -moz-appearance: none;
+        -webkit-appearance: none;
+        background-image: url("/images/chevron-down.png");
+        background-position: right 12px top 60%;
+        background-repeat: no-repeat;
+        background-size: 14px 9px;
+        box-sizing: border-box;
+      }
+    }
+
+    /* A REFACTORISER. PAS ENCORE UTILISE SUR L'APPLI */
+
+    sib-form-multiple-dropdown {
+
+      button {
+        appearance: none;
+        background-color: $color-0-0-100;
+        border: 1px solid;
+        border-radius: 100%;
+        color: $color-244-73-62;
+        font-size: 2.55rem;
+        height: 1em;
+        line-height: 0;
+        margin: 0.34rem;
+        padding: 0 0.04em 0.08em;
+        vertical-align: middle;
+        width: 1em;
+      }
+    }
+
+    sib-form-textarea {
+      align-items: stretch;
+    }
+
+    sib-multiple-form {
+
+      >label {
+        display: none;
+      }
+    }
+
+    input[type='submit'] {
+      margin-top: 6rem;
+      background-color: $color-233-18-29;
+      color: $color-0-0-100;
+      float: right;
+      font-weight: bold;
+      text-transform: uppercase;
+    }
+  }
+
+  .is-horizontal {
+    display: flex;
+  }
+
+  sib-multiple-form[name='members'] {
+
+    >div {
+      align-items: center;
+      display: flex;
+    }
+
+    >div:not(:nth-child(-n + 2)) {
+
+      label {
+
+        >div {
+          display: none;
+        }
+      }
+    }
+
+    button {
+      appearance: none;
+      background-color: $color-0-0-100;
+      border: 1px solid;
+      border-radius: 100%;
+      color: $color-244-73-62;
+      font-size: 2.55rem;
+      height: 1em;
+      line-height: 0;
+      margin: 0.34rem;
+      padding: 0 0.04em 0.08em;
+      vertical-align: middle;
+      width: 1em;
+
+      &::after {
+        content: Add;
+      }
+    }
+  }
+}
+sib-form {
+
+  form > * {
+    margin-top: 0.85rem;
+  }
+
+  // button like
+  input[type='color'],
+  input[type='file'],
+  input[type='reset'],
+  input[type='submit'] {
+    display: inline-block;
+    padding: 0.85rem 2.55rem;
+    border: none;
+    border-radius: 100em;
+    font-weight: normal;
+  }
+
+  input[type='reset'] {
+    display: none;
+  }
+}
\ No newline at end of file
diff --git a/src/styles/header.scss b/src/styles/base/header.scss
similarity index 84%
rename from src/styles/header.scss
rename to src/styles/base/header.scss
index 8b448dadfedbe3f4a75630d88a2b3b6070a2c313..c9bafca851c55e23e2b775dcd8ef6b70430a5e9f 100644
--- a/src/styles/header.scss
+++ b/src/styles/base/header.scss
@@ -1,8 +1,9 @@
-
 #header {
+  max-height: 51px;
+  height: 51px;
   align-items: center;
-  background-color: $color-white;
-  color: $color-dark-lava;
+  background-color: $color-0-0-100;
+  color: $color-216-4-22;
   box-shadow: 0 2px 4px rgba(0, 0, 0, 0.09);
   display: flex;
   flex-shrink: 0;
@@ -15,15 +16,6 @@
   }
 }
 
-#button-toggle {
-  color: $color-dark-lava;
-  cursor: pointer;
-  display: none;
-  font-size: 3.2rem;
-  padding: 2.3rem;
-  @include icon('menu');
-}
-
 #logo {
   flex: 1 1 0;
 }
@@ -34,14 +26,14 @@
   #search-input {
     border-radius: 10em;
     padding: 0.64rem 1.28rem;
-    border: 1px solid $color-bombay;
+    border: 1px solid $color-215-9-73;
     height: 3.8rem;
     width: 28rem;
     -webkit-appearance: textfield;
   
     & ~ #close-search-icon,
     & ~ #search-icon {
-      color: $color-bombay;
+      color: $color-215-9-73;
       display: block;
       font-size: 1.7rem;
       margin: auto;
@@ -49,7 +41,7 @@
       right: 3.7rem;
       top: 50%;
       transform: translateY(-50%);
-      -webkit-text-stroke: 1px $color-bombay;
+      -webkit-text-stroke: 1px $color-215-9-73;
     }
   
     & ~ #close-search-icon {
@@ -115,8 +107,8 @@ details {
 details#user-controls {
 
   summary:focus {
-    background-color: $color-purple-dark;
-    color: $color-white;
+    background-color: $color-233-18-29;
+    color: $color-0-0-100;
     outline: none;
   }
 
@@ -160,7 +152,7 @@ details#user-controls {
     z-index: 1;
     
     > nav {
-      background-color: $color-white;
+      background-color: $color-0-0-100;
       box-shadow: 0 7px 8px 0 rgba(0, 0, 0, 0.16);
       position: absolute;
       right: 0;
@@ -178,14 +170,14 @@ details#user-controls {
           padding: 1.6rem 1.3rem;
 
           a {
-            color: $color-text-base;
+            color: $color-213-4-50;
             text-decoration: none;
           }
         }
       }
 
       button {
-        color: $color-text-base;
+        color: $color-213-4-50;
         padding: 1.6rem 1.3rem;
         text-align: left;
         width: 100%;
@@ -194,8 +186,8 @@ details#user-controls {
   }
 
   &[open] {
-    background-color: $color-purple-dark;
-    color: $color-white;
+    background-color: $color-233-18-29;
+    color: $color-0-0-100;
 
     #user-controls__profile {
 
diff --git a/src/styles/base/main.scss b/src/styles/base/main.scss
new file mode 100644
index 0000000000000000000000000000000000000000..c8274c4b7d84781f7040d315b8de7ff65af0e7ee
--- /dev/null
+++ b/src/styles/base/main.scss
@@ -0,0 +1,147 @@
+$breakpoints: (phone: 480px,
+  tablet: 768px,
+  desktop: 1024px) !default;
+
+[hidden],
+.hidden {
+  display: none !important;
+}
+
+* {
+  outline: none;
+}
+
+:root {
+  font-size: 10px;
+  font-family: Open Sans, sans-serif;
+  --sib-notifications-theme: #{$color-46-100-50};
+
+  body {
+    background-color: $color-210-25-95;
+    color: $color-213-4-50;
+    font-size: 1.6rem;
+    overflow: hidden;
+    overflow-wrap: break-word;
+    display: flex;
+    flex-direction: column;
+    height: 100vh;
+    overflow: hidden;
+  }
+
+  main {
+    display: flex;
+    flex-direction: row;
+    height: 100%;
+    max-width: 100%;
+    overflow: hidden;
+  }
+}
+
+img {
+  max-height: 100%;
+  max-width: 100%;
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+  color: $color-216-4-22;
+  font-weight: 600;
+  padding: 0;
+
+  span {
+    font-weight: 400;
+    padding-left: 0.85rem;
+
+    &:before {
+      content: '// ';
+    }
+  }
+}
+
+h1 {
+  font-size: 2.1rem;
+}
+
+h2 {
+  font-size: 2rem;
+}
+
+h3 {
+  font-size: 1.6rem;
+}
+
+h4 {
+  font-size: 1.2rem;
+}
+
+h5 {
+  font-size: 2rem;
+}
+
+button {
+  background: none;
+  border: none;
+  padding: 0;
+}
+
+sib-route,
+sib-link,
+button,
+input,
+a {
+  cursor: pointer;
+  &:hover,
+  &:link,
+  &:active {
+    cursor: pointer;
+  }
+}
+
+%padding-main {
+  padding: 5rem;
+}
+
+.content-box {
+  @include window-style-modal();
+  @extend %padding-main;
+  display: flex;
+  flex-direction: column;
+  flex-grow: 1;
+  margin: 2rem 1rem 5rem 2rem;
+
+  &.full-width {
+    background: $color-0-0-100;
+    flex: 1;
+    font-size: 1.5rem;
+    margin: 0 auto;
+    min-height: calc(100vh - 84px);
+  }
+}
+
+.backlink {
+  font-size: 1.5rem;
+  margin: 2rem 0 0 2rem;
+  @include icon('arrow-left-circle');
+  color: #3d4057;
+  text-decoration: underline;
+
+  &::before {
+    text-decoration: none;
+  }
+
+  &::before {
+    font-size: 2rem;
+    margin-right: 1rem;
+  }
+}
+
+// Compatibility layer for non-updated components
+@import 'compat';
+// Other base components
+@import 'form';
+@import 'header';
+@import 'menu-left';
\ No newline at end of file
diff --git a/src/styles/menu-left.scss b/src/styles/base/menu-left.scss
similarity index 56%
rename from src/styles/menu-left.scss
rename to src/styles/base/menu-left.scss
index 223051cfc0fec13c78c23444e6ef8d48178b19fc..4f10076e9d57cd4ae3ff6e0700217a07ad3cfb40 100644
--- a/src/styles/menu-left.scss
+++ b/src/styles/base/menu-left.scss
@@ -1,14 +1,10 @@
-#navbar {
-  background-color: $color-purple-dark;
-  color: $color-white;
+#main__menu {
+  background-color: $color-233-18-29;
+  color: $color-0-0-100;
   display: block;
-  flex: 0 0 16em;
-  flex-direction: column;
   overflow: auto;
+  flex: 0 0 16em;
   transition: flex-basis 0.5s ease-in-out;
-  // max-width: 16rem;
-  // position: relative;
-  // min-height: 100%;
 
   &.open {
     transform: translateX(0);
@@ -35,18 +31,17 @@
       padding: 1.6rem;
   
       &[active] {
-        background-color: $color-mustard;
-        color: $color-purple-dark;
+        background-color: $color-46-100-67;
+        color: $color-233-18-29;
   
         .menu-icon:before {
-          background-color: $color-purple-dark;
-          color: $color-white;
-          // transform: perspective(1000px) translateZ(1px) scale(0.8);
+          background-color: $color-233-18-29;
+          color: $color-0-0-100;
         }
   
         .menu-notification > sib-display > div:first-child {
-          background-color: $color-purple-dark;
-          color: $color-mustard;
+          background-color: $color-233-18-29;
+          color: $color-46-100-67;
         }
       }
   
@@ -64,9 +59,6 @@
           height: 1.9em;
           line-height: 1.9em;
           width: 1.9em;
-          // transform: perspective(1000px) translateZ(1px) scale(1);
-          // will-change: transform;
-          // transition: all 0.3s ease, transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.4);
         }
       }
       
@@ -81,27 +73,10 @@
         text-transform: uppercase;
         width: 8em;
       }
-      
-      /*Fix: presque doublon avec main.scss ligne 71 qui gère le nombre de notifications sur la cloche */
-      .menu-notification {
-        align-self: center;
-        display: flex;
-        flex-grow: 0;
-        flex-shrink: 0;
-        justify-content: center;
-        width: 2em;
-  
-        > sib-display {
-          
-          > div:first-of-type {
-            @extend %notification;
-          }
-        }
-      }
 
       .menu-chevron {
         align-items: center;
-        color: $color-spun-pearl;
+        color: $color-244-10-70;
         display: flex;
         flex-grow: 0;
         flex-shrink: 0;
@@ -118,7 +93,7 @@
       padding-left: 2.88rem;
       
       div {
-        color: $color-spun-pearl;
+        color: $color-244-10-70;
         cursor: pointer;
         padding-bottom: 1.12rem;
   
@@ -138,24 +113,8 @@
 
     .divider {
       height: 1px;
-      background-color: $color-gainsboro-a02;
+      background-color: $color-213-13-86;
     }
   }
 }
 
-@include media('width<phone') {
-  #button-toggle {
-    display: block;
-  }
-
-  #navbar {
-    //transform: translateX(-120%);
-    transition: flex-basis 0.5s ease-in-out;
-    flex-basis: 0;
-    //position: absolute;
-    //top: auto;
-    //display: none;
-    //z-index: 1;
-  }
-}
-
diff --git a/src/styles/components/_index.scss b/src/styles/components/_index.scss
new file mode 100644
index 0000000000000000000000000000000000000000..ee78562b8a04541a6eff878a327abcab492dd4bd
--- /dev/null
+++ b/src/styles/components/_index.scss
@@ -0,0 +1,6 @@
+@import 'chat';
+@import 'filters';
+@import 'howto';
+@import 'sidebar';
+@import 'skills';
+@import 'user-role';
\ No newline at end of file
diff --git a/src/styles/components/chat.scss b/src/styles/components/chat.scss
new file mode 100644
index 0000000000000000000000000000000000000000..26407aff844f2e7d1c6fb980bd1aa7ac7d2bc619
--- /dev/null
+++ b/src/styles/components/chat.scss
@@ -0,0 +1,19 @@
+
+// chat
+
+.chat-view {
+  padding: 0;
+  height: calc(100vh - 84px);
+  position: relative;
+
+  > sib-chat {
+    position: absolute;
+    top: 0;
+    left: 0;
+    right: 0;
+    bottom: 0;
+    max-height: calc(100vh - 84px);
+    z-index: 0;
+  }
+}
+
diff --git a/src/styles/filters.scss b/src/styles/components/filters.scss
similarity index 94%
rename from src/styles/filters.scss
rename to src/styles/components/filters.scss
index d97dc63e79094cb84d616d590877562f906aa98e..03faa2e71d9005a52828441b04dd3340c7e59a27 100644
--- a/src/styles/filters.scss
+++ b/src/styles/components/filters.scss
@@ -14,7 +14,7 @@
     -webkit-appearance: none;
     border-style: none;
     box-shadow: 0 0 5px 0 rgba(133, 140, 148, 0.09);
-    color: $color-taupe-gray;
+    color: $color-210-5-56;
     font-size: 1.36rem;
     line-height: 1.80;
     margin-top: 1.36rem;
@@ -27,7 +27,7 @@
   }
 
   select {
-    background: $color-white;
+    background: $color-0-0-100;
     background-image: url("/images/chevron-down.png");
     background-position: right 12px top 60%;
     background-repeat: no-repeat;
diff --git a/src/styles/components/howto.scss b/src/styles/components/howto.scss
new file mode 100644
index 0000000000000000000000000000000000000000..391e9ba25b3f51f2cc6333189fd015d29507cc5a
--- /dev/null
+++ b/src/styles/components/howto.scss
@@ -0,0 +1,17 @@
+.howto {
+  padding: 0.85rem;
+  margin-bottom: 1.7rem;
+  margin-left: 8.5rem;
+  flex-basis: auto;
+  border-radius: 2em;
+
+  div[class*="icon-"] {
+    align-items: center;
+    display: flex;
+    flex-grow: 0;
+    flex-shrink: 0;
+  }
+}
+
+
+
diff --git a/src/styles/components/icons/_index.scss b/src/styles/components/icons/_index.scss
new file mode 100644
index 0000000000000000000000000000000000000000..37259f7c96b6425071948013058d66bdb7b3b140
--- /dev/null
+++ b/src/styles/components/icons/_index.scss
@@ -0,0 +1,3 @@
+@import 'custom-icons';
+@import 'icons';
+@import 'material-design-icons';
\ No newline at end of file
diff --git a/src/styles/icons/custom-icons.scss b/src/styles/components/icons/custom-icons.scss
similarity index 100%
rename from src/styles/icons/custom-icons.scss
rename to src/styles/components/icons/custom-icons.scss
diff --git a/src/styles/icons/icons.scss b/src/styles/components/icons/icons.scss
similarity index 100%
rename from src/styles/icons/icons.scss
rename to src/styles/components/icons/icons.scss
diff --git a/src/styles/icons/material-design-icons.scss b/src/styles/components/icons/material-design-icons.scss
similarity index 100%
rename from src/styles/icons/material-design-icons.scss
rename to src/styles/components/icons/material-design-icons.scss
diff --git a/src/styles/components/sidebar.scss b/src/styles/components/sidebar.scss
new file mode 100644
index 0000000000000000000000000000000000000000..ed30795d51612d7285898cf9614cf64b4cc1a53a
--- /dev/null
+++ b/src/styles/components/sidebar.scss
@@ -0,0 +1,107 @@
+.no-sidebar {
+  flex: 1;
+  @extend %padding-main;
+}
+
+.with-sidebar {
+  flex-grow: 1;
+  display: flex;
+  flex-direction: row;
+  align-items: stretch;
+  overflow-x: hidden;
+
+  .views-container {
+    flex: 1 0 0;
+    overflow-y: auto;
+    -webkit-backface-visibility: hidden;
+
+    &.sidebar-is-closed {
+      margin-left: -15.5rem;
+      transform: translate(15.5rem);
+    }
+  }
+
+  >div {
+    transition: all 0.5s;
+  }
+
+  nav {
+    transition: all 0.5s;
+
+    >sib-router {
+      background-color: $color-222-52-90;
+      color: $color-233-18-29;
+      flex: 0 0 auto;
+      font-weight: 600;
+
+      >ul {
+        cursor: pointer;
+        list-style: none;
+        margin: 0;
+        padding-left: 0;
+
+        li {
+          align-items: center;
+          border-bottom: 1px solid $color-229-25-79;
+          display: flex;
+          margin: 0;
+          padding: 2.55rem 2.55rem;
+          position: relative;
+          width: 12em;
+
+          &::before {
+            float: left;
+            font-size: 4rem;
+            margin-left: 0;
+            margin-right: 2.55rem;
+          }
+        }
+
+        >li {
+          @include icon('arrow-right-circle');
+        }
+
+        >sib-route {
+
+          &[active] {
+            background-color: $color-233-18-29;
+            color: $color-46-100-67;
+            display: inline-block;
+          }
+
+          &[name^='circle'],
+          &[name^='project'] {
+
+            >li::before {
+              font-size: 4rem;
+            }
+          }
+
+          &[name$='chat']>li {
+            @include ci('chat');
+          }
+
+          &[name$='create']>li {
+            @include ci('offer');
+          }
+
+          &[name$='edit']>li {
+            @include ci('list');
+          }
+
+          &[name$='profile']>li {
+            @include ci('information');
+          }
+        }
+      }
+    }
+
+    &.offsite-is-closed {
+      transform: translate(15.5rem);
+
+      & .jsOffsiteToggle::before {
+        transform: rotate(180deg);
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/src/styles/components/skills.scss b/src/styles/components/skills.scss
new file mode 100644
index 0000000000000000000000000000000000000000..a5265489f1578b263b163ce0f8b74ee02141ef35
--- /dev/null
+++ b/src/styles/components/skills.scss
@@ -0,0 +1,16 @@
+sib-multiple[name*='skills'] {
+    display: flex;
+    flex-wrap: wrap;
+}
+
+.skill {
+    background-color: $color-43-100-50;
+    border: 1px solid $color-43-100-50;
+    border-radius: 2em;
+    color: $color-0-0-100;
+    display: block;
+    font-size: 1.4rem;
+    font-weight: bold;
+    margin: 0.4rem 1rem 0.4rem 0;
+    padding: 0.5rem 2rem;
+}
\ No newline at end of file
diff --git a/src/styles/components/user-role.scss b/src/styles/components/user-role.scss
new file mode 100644
index 0000000000000000000000000000000000000000..fed7680d90ab9e1a3fc2ec2608c76f60357c803e
--- /dev/null
+++ b/src/styles/components/user-role.scss
@@ -0,0 +1,9 @@
+%user-role {
+    border: 1px solid $color-45-95-54;
+    border-radius: 3px;
+    color: $color-210-4-50;
+    font-size: 1.4rem;
+    font-weight: 400;
+    margin-right: 0.4rem;
+    padding: calc(1.6rem - 0.8em) 0.7em;
+  }
\ No newline at end of file
diff --git a/src/styles/content.scss b/src/styles/content.scss
deleted file mode 100644
index 4d66ca73537ac718e45ae4e6294fab0107b770f8..0000000000000000000000000000000000000000
--- a/src/styles/content.scss
+++ /dev/null
@@ -1,191 +0,0 @@
-// job offers
-// .new-job-offer {
-//   @extend %button;
-//   text-transform: uppercase;
-//   margin-left: 1em;
-//   margin-bottom: 1em
-//   //float: right;
-// }
-
-// skills
-
-/*#member-profile sib-display-lookuplist {
-  display: flex;
-
-  ul {
-    display: flex;
-    flex-wrap: wrap;
-    list-style: none;
-  }
-
-  li[name*='skills'] {
-    padding: 0.3em 1.2em;
-    border: 1px solid;
-    border-radius: 2em;
-    margin: 0.25em;
-    background-color: $color-selective-yellow;
-    color: $color-white;
-    font-weight: bold;
-  }
-}
-*/
-// group
-
-#group-profile {
-  sib-display-div[name='name'] div {
-    @extend h1;
-  }
-
-  sib-display-div[name='label-description'] div {
-    @extend h2;
-  }
-}
-// chat
-
-.chat-view {
-  padding: 1.7rem;
-  position: relative;
-  z-index: 0;
-  @extend %frame;
-  height: calc(100vh - 104px);
-
-  > sib-chat {
-    @include pos();
-  }
-}
-// member-profile && members
-
-/*.members-list-condensed {
-  img {
-    width: 50px;
-    height: 100px;
-    border-radius: 100%;
-    object-fit: cover;
-    object-position: top;
-  }
-
-  label {
-    display: none;
-  }
-
-  > div > sib-display > div {
-    display: grid;
-    grid-template-columns: 0.5fr 2fr;
-    grid-template-rows: repeat(3, auto);
-    grid-column-gap: 3rem;
-    align-items: center;
-
-    div[name="teammate-img"] {
-      background: blue;
-      grid-row: 1 / -1;
-    }
-      
-    }
-
-
-    ul{
-      margin-top: 0px;
-      margin-bottom: 0px;
-      list-style-type: none;
-    }
-    >[name$="user"]{
-      color: $color-dark-lava;
-    }
-    >[name$="avatar"]{
-      grid-column-start: first;
-      grid-column-end: middle;
-      grid-row-start: first;
-      grid-row-end: end;
-    }
-  }
-
-  // ul {
-  //   padding-left: 1em;
-  // }
-}*/
-
-hdapp-available {
-  display: block;
-  text-align: right;
-
-  strong {
-    @extend %button;
-  }
-}
-
-/*#member-profile {
-  ul {
-    @include list-reset();
-  }
-}*/
-
-#member-profile {
-  @include media('width>tablet') {
-    div[name='header'] {
-      float: left;
-      width: 50%;
-    }
-  }
-
-  div[name='name'] {
-    @extend h1;
-
-    div {
-      display: inline-block;
-      margin-right: 0.7rem;
-    }
-  }
-
-  sib-link[next='member-chat'] {
-    border-style: solid;
-    display: flex;
-    border-radius: 25px;
-    border-style: solid;
-    border-color: $color-majorelle-blue;
-    color: $color-majorelle-blue;
-    padding: 1.7rem;
-    text-decoration:none;
-  }
-
-  div[name='pseudonym'] {
-    margin-top: -1.7rem;
-    margin-bottom: 1.7rem;
-  }
-
-  #member-info {
-    &:after {
-      content: '';
-      display: block;
-      clear: both;
-    }
-  }
-}
-
-sib-form {
-
-  form > * {
-    margin-top: 0.85rem;
-  }
-
-  // button like
-  input[type='color'],
-  input[type='file'],
-  input[type='reset'],
-  input[type='submit'] {
-    @extend %button;
-  }
-
-  input[type='reset'] {
-    display: none;
-  }
-}
-
-/*
-label {
-  @extend h2;
-  &:after {
-    content: ':';
-  }
-}
-*/
-
diff --git a/src/styles/form.scss b/src/styles/form.scss
deleted file mode 100644
index ab6514fd539ba43d2cc9e07b334f3f8170ec57e1..0000000000000000000000000000000000000000
--- a/src/styles/form.scss
+++ /dev/null
@@ -1,223 +0,0 @@
-.frame-form {
-  display: flex;
-  flex-direction: column;
-  margin: 0 auto;
-  min-height: 100vh;
-  padding: 6.8rem 8.5rem 10.2rem;
-  @extend %frame;
-  
-  .form-view {
-    border-bottom: 1px solid $color-platinum;
-    padding-bottom: 2.55rem;
-  }
-}
-
-@include styleTemplateFieldset('fee');
-@include styleTemplateFieldset('customer');
-@include styleTemplateFieldset('team');
-
-#circle-create,
-#circle-edit,
-#job-offer-create,
-#project-create,
-#project-edit {
-  flex: 1;
-  font-size: 1.5rem;
-
-  h1 {
-    color: $color-purple-dark;
-    font-weight: bold;
-    font-size: 2rem;
-    text-align: center;
-  }
-
-  p.form-goal {
-    margin-bottom: 6.8rem;
-    text-align: center;
-  }
-
-  [name$='-text'] {
-    font-size: 1.5rem;
-    margin-bottom: 2em;
-  }
-
-  div[name^='block-'] {
-    display: flex;
-    flex-direction: column;
-  }
-
-  
-  sib-form-auto-completion,
-  sib-form-checkbox,
-  sib-form-dropdown,
-  sib-form-label-text,
-  sib-form-multiple-dropdown,
-  sib-form-number,
-  sib-form-textarea {
-    display: flex;
-    flex-direction: column;
-
-    > label {
-      @extend %label;
-    }
-
-    input,
-    select,
-    textarea {
-      background: $color-glitter;
-      border: none;
-      color: $color-purple-dark;
-      line-height: 1.5;
-      width: 100%;
-    }
-
-    input,
-    select,
-    textarea {
-      padding: 1.7rem;
-    }
-
-    select {
-      margin-bottom: 1.7rem;
-    }
-  }
-
-  sib-form-auto-completion,
-  sib-form-checkbox,
-  sib-form-multiple-dropdown {
-
-    label {
-      color: $color-dark-lava;
-      font-weight: 600;
-      text-transform: initial;
-    }
-  }
-
-  sib-form-auto-completion {
-
-    div.choices__inner {
-      background-color: inherit;
-      border: none;
-      display: flex;
-      flex-direction: column-reverse;
-      padding-left: 0;
-
-      div.choices__list {
-        margin-top: 1.7rem;
-
-        div.choices__item {
-          /*@extend %skill;*/
-
-          button.choices__button {
-            border-left: 1px solid $color-selective-yellow;
-            opacity: 1;
-            padding-left: 0;
-          }
-        }
-      }
-
-      input[type='text'].choices__input {
-        max-width: 27.2rem;
-        min-width: 27.2rem;
-      }
-    }
-  }
-
-  sib-form-checkbox {
-    flex-direction: row;
-
-    [type='checkbox'] {
-      cursor: pointer;
-      position: relative;
-      margin-top: 2em;
-      
-      &:before {
-        border: 2px solid $color-taupe-gray; 
-        content: '';
-        height: 1rem;
-        left: 0;
-        margin-left: 1rem;
-        padding-bottom: 0.2rem;
-        position: absolute;
-        width: 1.2rem;
-        z-index: 1;
-      }
-      
-      &:checked {
-        &:before {
-          border: 2px solid $color-taupe-gray; 
-          color: $color-majorelle-blue;
-          height: 1rem;
-          left: 0;
-          margin-left: 1rem;
-          padding-bottom: 0.2rem;
-          position: absolute;
-          width: 1.2rem;
-          z-index: 1;
-          @include mdi('check');
-        } 
-      }
-      
-      &:after {
-        background: $color-white;
-        content: '';
-        height: 1rem;
-        position: absolute;
-        width: 1rem;
-      }
-    }
-  }
-
-  sib-form-dropdown {
-
-    select {
-      appearance: none;
-      -moz-appearance: none;
-      -webkit-appearance: none;
-      background-image: url("/images/chevron-down.png");
-      background-position: right 12px top 60%;
-      background-repeat: no-repeat;
-      background-size: 14px 9px;
-      box-sizing: border-box;
-    }
-  }
-
-  /* A REFACTORISER. PAS ENCORE UTILISE SUR L'APPLI */
-  
-  sib-form-multiple-dropdown {
-
-    button {
-      appearance: none;
-      background-color: $color-white;
-      border: 1px solid;
-      border-radius: 100%;
-      color: $color-majorelle-blue;
-      cursor: pointer;
-      font-size: 2.55rem;
-      height: 1em;
-      line-height: 0;
-      margin: 0.34rem;
-      padding: 0 0.04em 0.08em;
-      vertical-align: middle;
-      width: 1em;
-    }
-  }
-
-  sib-form-textarea {
-    align-items: stretch;
-  }
-
-  input[type='submit'] {
-    margin-top: 6rem;
-    @extend %submit-form;
-  }
-}
-
-#project-create,
-#project-edit {
-
-  input,
-  textarea {
-    margin-bottom: 3.4rem;
-  }
-}
diff --git a/src/styles/index.scss b/src/styles/index.scss
deleted file mode 100644
index 14a79e8d271ecf0ad029a8b2a71f98de27f8ff81..0000000000000000000000000000000000000000
--- a/src/styles/index.scss
+++ /dev/null
@@ -1,28 +0,0 @@
-@charset "UTF-8";
-
-@import '../../node_modules/include-media/dist/include-media';
-@import 'https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.1/normalize.min.css';
-@import 'icons/custom-icons';
-@import 'icons/icons';
-@import 'icons/material-design-icons';
-
-@import 'variables';
-@import 'mixins';
-@import 'main';
-@import 'form';
-@import 'content';
-
-@import 'filters';
-@import 'right-panel';
-
-@import 'group-profile';
-@import 'job-offers';
-@import 'member-profile';
-@import 'members';
-@import 'project-profile';
-@import 'member-chat';
-
-// @import 'members';
-@import 'header';
-@import 'menu-left';
-@import 'menu-right';
\ No newline at end of file
diff --git a/src/styles/job-offers.scss b/src/styles/job-offers.scss
deleted file mode 100644
index 473156e3a66136d5187f842b79638a4e5e593c28..0000000000000000000000000000000000000000
--- a/src/styles/job-offers.scss
+++ /dev/null
@@ -1,124 +0,0 @@
-#offers-list {
-  @extend .grid-layer;
-  
-  > sib-form {
-    grid-column-start: start;
-    grid-column-end: middle;
-    grid-row-start: start;
-    grid-row-end: middle;
-  }
-  
-  > div {
-    grid-column-start: start;
-    grid-column-end: end;
-    grid-row-start: middle;
-    grid-row-end: end;
-    
-    &:first-of-type {
-      margin-top: 5rem;
-    }
-    
-    > sib-display {
-      @extend %frame;
-      display: block;
-      font-size: 1.5rem;
-      margin: 1.7rem 0;
-      padding: 3.4rem;
-      /*&:nth-child(odd) {
-        background-color: $color-anti-flash-white;
-      }*/
-      
-      [name='user-thumb'] {
-        align-items: center;
-        display: flex;
-        margin: -0.25em;
-      
-        > * {
-          margin: 0.25em;
-        }
-  
-        [name='author.first_name'] {
-          color: $color-quartz;
-          font-weight: 600;
-        }
-
-        sib-multiple[name$='groups'] {
-          display: flex;
-
-          > * {
-            @extend %group;
-          }
-        }
-      
-        sib-display-img {
-          background-color: $color-white;
-          border-radius: 50%;
-          height: 4.25rem;
-          overflow: hidden;
-          position: relative;
-          width: 4.25rem;
-
-          img {
-            height: 100%;
-            left: 0;
-            object-fit: cover;
-            position: absolute;
-            top: 0;
-            width: 100%;
-          }
-        }
-      }
-      
-      [name='creationDate'] {
-        display: block;
-        margin-bottom: 0.7rem;
-        margin-top: 2rem;
-      }
-
-      [name='title'] {
-        @extend h3;
-        display: block;
-        font-weight: bold;
-        line-height: 19px;
-      }
-      
-      [name='description'] {
-        display: block;
-        line-height: 1.6;
-        margin-bottom: 1.6rem;
-      }
-      
-      [name='send'] {
-        color: $color-majorelle-blue;
-        font-size: 1.3rem;
-        float: right;
-      
-        > sib-link {
-          cursor: pointer;
-          @include icon('speech');
-      
-          &::before {
-            font-size: 1.5rem;
-            margin-right: 1.2rem;
-          }
-        }
-      }
-      
-      [name='status'] {
-        float: right;
-        display: flex;
-        align-items: center;
-        margin: -0.25em;
-        
-        > * {
-          margin: 0.25em;
-        }
-        
-        strong {
-          @extend %status-open;
-        }
-      } 
-    }
-  }
-}
-
diff --git a/src/styles/layout/circle-profile/_index.scss b/src/styles/layout/circle-profile/_index.scss
new file mode 100644
index 0000000000000000000000000000000000000000..293bc89d18edef441868c87a50263f92dec8d61b
--- /dev/null
+++ b/src/styles/layout/circle-profile/_index.scss
@@ -0,0 +1 @@
+@import 'circle-profile';
\ No newline at end of file
diff --git a/src/styles/group-profile.scss b/src/styles/layout/circle-profile/circle-profile.scss
similarity index 92%
rename from src/styles/group-profile.scss
rename to src/styles/layout/circle-profile/circle-profile.scss
index ddc1f87fe309d39a1774a0333e0726bf16733cb0..94d0bbf04d9652b7584070e2796f02655c9f94c8 100644
--- a/src/styles/group-profile.scss
+++ b/src/styles/layout/circle-profile/circle-profile.scss
@@ -1,5 +1,4 @@
 #circle-profile {
-  min-height: 100%;
 
   .block-group > div {
     display: flex;
@@ -31,7 +30,7 @@
       }
 
       > div[name='teammate-img'] {
-        background-color: $color-bombay;
+        background-color: $color-215-9-73;
         border-radius: 50%;
         grid-column: 1 / span 2;
         grid-row: 1 / span 2;
@@ -61,7 +60,7 @@
       }
 
       > sib-display-value[name='teammate-profile'] {
-        color: $color-dark-lava;
+        color: $color-216-4-22;
         display: block;
         font-size: 1.2rem;
         grid-column: 1 / span 2;
@@ -69,7 +68,7 @@
       }
 
       > sib-display-value[name='teammate-contact'] {
-        color: $color-majorelle-blue;
+        color: $color-244-73-62;
         font-size: 1.2rem;
         justify-self: stretch;
         grid-column: 3 / span 2;
diff --git a/src/styles/layout/job-offers/_index.scss b/src/styles/layout/job-offers/_index.scss
new file mode 100644
index 0000000000000000000000000000000000000000..07a4c0ecc412a9a4624cdd45f136bd98d8fcd9a0
--- /dev/null
+++ b/src/styles/layout/job-offers/_index.scss
@@ -0,0 +1 @@
+@import 'job-offers.scss';
\ No newline at end of file
diff --git a/src/styles/layout/job-offers/job-offers.scss b/src/styles/layout/job-offers/job-offers.scss
new file mode 100644
index 0000000000000000000000000000000000000000..186b44658e85d81bbd2f8614b9e94089b044b24d
--- /dev/null
+++ b/src/styles/layout/job-offers/job-offers.scss
@@ -0,0 +1,174 @@
+.job-offers__main {
+  @extend %grid-layer;
+}
+
+.job-offers__content {
+  @extend %grid-layer-main;
+  @extend %containerV;
+}
+
+.job-offers__newoffer {
+  @extend %grid-layer-links;
+  @extend %containerV;
+}
+
+#job-offers {
+
+  .plus-button {
+    @extend .howto;
+    background-color: $color-43-100-50;
+    color: $color-0-0-100;
+    font-weight: bold;
+    text-transform: uppercase;
+    cursor: pointer;
+    display: flex;
+    flex-wrap: wrap;
+    justify-content: center;
+    align-items: center;
+
+    .icon-plus {
+      font-size: 20px;
+      justify-content: center;
+      margin: 0.5rem 0.5rem 0.5rem 0;
+
+    }
+  }
+
+  #offers-list {
+    @extend %grid-layer;
+
+    >sib-form {
+      grid-column-start: start;
+      grid-column-end: middle;
+      grid-row-start: start;
+      grid-row-end: middle;
+    }
+
+    >div {
+      grid-column-start: start;
+      grid-column-end: end;
+      grid-row-start: middle;
+      grid-row-end: end;
+
+      &:first-of-type {
+        margin-top: 5rem;
+      }
+
+      >sib-display {
+        @include window-style-modal();
+        display: block;
+        font-size: 1.5rem;
+        margin: 1.7rem 0;
+        padding: 3.4rem;
+
+        [name='user-thumb'] {
+          align-items: center;
+          display: flex;
+          margin: -0.25em;
+
+          >* {
+            margin: 0.25em;
+          }
+
+          [name='author.first_name'] {
+            color: $color-0-0-29;
+            font-weight: 600;
+          }
+
+          sib-multiple[name$='groups'] {
+            display: flex;
+
+            label {
+              display: none;
+            }
+
+            >* {
+              @extend %user-role;
+            }
+          }
+
+          sib-display-img {
+            background-color: $color-0-0-100;
+            border-radius: 50%;
+            height: 4.25rem;
+            overflow: hidden;
+            position: relative;
+            width: 4.25rem;
+
+            img {
+              height: 100%;
+              left: 0;
+              object-fit: cover;
+              position: absolute;
+              top: 0;
+              width: 100%;
+            }
+          }
+        }
+
+        [name='creationDate'] {
+          display: block;
+          margin-bottom: 0.7rem;
+          margin-top: 2rem;
+        }
+
+        [name='title'] {
+          @extend h3;
+          display: block;
+          font-weight: bold;
+          line-height: 19px;
+        }
+
+        [name='description'] {
+          display: block;
+          line-height: 1.6;
+          margin-bottom: 1.6rem;
+        }
+
+        [name='skills'] {
+          label {
+            display: none;
+          }
+        }
+
+        [name='send'] {
+          color: $color-244-73-62;
+          font-size: 1.3rem;
+          float: right;
+
+          >sib-link {
+            cursor: pointer;
+            @include icon('speech');
+
+            &::before {
+              font-size: 1.5rem;
+              margin-right: 1.2rem;
+            }
+          }
+        }
+
+        [name='status'] {
+          float: right;
+          display: flex;
+          align-items: center;
+          margin: -0.25em;
+
+          >* {
+            margin: 0.25em;
+          }
+
+          strong {
+            background-color: $color-244-73-62;
+            border: none;
+            border-radius: 100em;
+            color: $color-0-0-100;
+            display: inline-block;
+            font-weight: normal;
+            padding: 0.85rem 1.7rem;
+          }
+        }
+      }
+    }
+  }
+
+}
\ No newline at end of file
diff --git a/src/styles/layout/members/_index.scss b/src/styles/layout/members/_index.scss
new file mode 100644
index 0000000000000000000000000000000000000000..2450f36d56a9af223545685799008319a8357362
--- /dev/null
+++ b/src/styles/layout/members/_index.scss
@@ -0,0 +1,2 @@
+@import 'members';
+@import 'member-profile';
diff --git a/src/styles/member-profile.scss b/src/styles/layout/members/member-profile.scss
similarity index 84%
rename from src/styles/member-profile.scss
rename to src/styles/layout/members/member-profile.scss
index db515857b991990c37ae2205f8c215f94e12b184..183a6e9715b078b1490d9d35f4e34a2cf31b1b88 100644
--- a/src/styles/member-profile.scss
+++ b/src/styles/layout/members/member-profile.scss
@@ -3,25 +3,14 @@
   flex-direction: column;
   flex-grow: 1;
 
-  .backlink {
-    font-size: 1.5rem;
-    margin: 2rem 0 0 2rem;
-    @extend %backlink; 
-
-    &::before {
-      font-size: 2rem;
-      margin-right: 1rem;
-    }
-  }
-
   #member-info {
-    background-color: $color-white;
+    background-color: $color-0-0-100;
     box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.14);
     margin: 2rem 1rem 5rem 2rem;
     min-height: 100vh;
 
     div[name='member-profile__bio'] {
-      border-bottom: 1px solid $color-link-water;
+      border-bottom: 1px solid $color-221-51-90;
       display: grid;
       grid-template-areas: "avatar name status"
                            "avatar pseudo status"
@@ -49,7 +38,7 @@
         grid-area: name;
   
         > sib-display-value[name^='user.'] {
-          color: $color-dark-lava;
+          color: $color-216-4-22;
           font-weight: bold;
           @extend h1;
         }
@@ -80,7 +69,7 @@
 
       member-status[name$='available']{
         align-self: flex-end;
-        color: $color-majorelle-blue;
+        color: $color-244-73-62;
         grid-area: status;
         justify-self: flex-end;
 
@@ -97,7 +86,7 @@
           @include ci('awareness');
 
           &::before {
-            border-bottom: 2px solid $color-selective-yellow;
+            border-bottom: 2px solid $color-43-100-50;
             font-size: 7.3rem;
             padding-bottom: 1.5rem;
           }
@@ -107,7 +96,7 @@
           @include ci('armor');
 
           &::before {
-            border-bottom: 2px solid $color-selective-yellow;
+            border-bottom: 2px solid $color-43-100-50;
             font-size: 7.3rem;
             padding-bottom: 1.5rem;
           }
@@ -122,9 +111,9 @@
       
       [next=member-chat] {
         @include icon('speech');
-        border: 1px solid $color-majorelle-blue;
+        border: 1px solid $color-244-73-62;
         border-radius: 2em;
-        color: $color-majorelle-blue;
+        color: $color-244-73-62;
         font-size: 18px;
         font-weight: bold;
         justify-self: end;
@@ -146,6 +135,7 @@
 
       label {
         font-weight: bold;
+        display: block;
         padding-bottom: 0.5rem;
       }
     }
diff --git a/src/styles/members.scss b/src/styles/layout/members/members.scss
similarity index 76%
rename from src/styles/members.scss
rename to src/styles/layout/members/members.scss
index 07c3fa4ab0b90df61d68194f9a56c156b51f41c6..e430fbb95385ce392152f924221ba39606d92f5a 100644
--- a/src/styles/members.scss
+++ b/src/styles/layout/members/members.scss
@@ -1,8 +1,45 @@
+%member-info {
+
+  sib-multiple[name^='user.'],
+  > member-info > div,
+  > sib-display-value {
+    display: flex;
+    flex-wrap: wrap;
+    margin-bottom: 0;
+    margin-top: 1.7rem;
+
+    &::before {
+      color: $color-43-100-50;
+      padding: 0 0.6em 0 0;
+    }
+  }
+  
+  [name$='city'] * {
+    @include mdi('atom');
+  }
+
+  [name$='email'] * {
+    @include mdi('email-outline');
+  }
+
+  [name$='phone'] * {
+    @include mdi('cellphone-iphone');
+  }
+
+  [name="foaf:homepage"]:not(:empty) {
+    @include mdi('link-variant');
+  }
+}
+
+member-info-groups {
+  @extend %user-role;
+}
+
 #members-list {
-  @extend .grid-layer;
+  @extend %grid-layer;
 
   #members-list__content {
-    @extend .grid-layer;
+    @extend %grid-layer;
 
     nav {
       align-items: center;
@@ -11,15 +48,15 @@
       justify-content: center;
 
       button {
-        color: $color-anti-flash-white;
+        color: $color-210-25-95;
         
         &:before {
-          color: $color-dark-lava;
+          color: $color-216-4-22;
           @include icon('arrow-left-circle');
         }
 
         &:disabled::before {
-          color: $color-manatee;
+          color: $color-215-6-63;
         }
       }
 
@@ -53,14 +90,14 @@
       justify-content: space-between;
 
       &:first-of-type {
-        color: $color-quartz;
+        color: $color-0-0-29;
         font-weight: bold;
         justify-content: center;
         margin: 3.75rem 0;
         position: relative;
 
         &::before {
-          border-top: 1px solid $color-timberwolf;
+          border-top: 1px solid $color-0-0-85;
           bottom: 0;
           content: '';
           left: 0;
@@ -73,7 +110,7 @@
         }
 
         span {
-          background-color: $color-anti-flash-white;
+          background-color: $color-210-25-95;
           padding: 0 60px;
         }
       }
@@ -81,7 +118,7 @@
       > sib-display {
         background-color: white;
         box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.14);
-        color: $color-rolling-stone;
+        color: $color-210-4-50;
         cursor: pointer;
         display: flex;
         flex-flow: column wrap;
@@ -110,7 +147,7 @@
         }
 
         div[name='header'] {
-          border-bottom: 1px solid $color-anti-flash-white;
+          border-bottom: 1px solid $color-210-25-95;
           display: flex;
           flex-direction: column;
           padding: 0.85rem 0 3.4rem;
@@ -122,7 +159,7 @@
           }
 
           member-picture {
-            background-color: $color-white;
+            background-color: $color-0-0-100;
             border-radius: 50%;
             height: 28vh;
             margin: 1.7rem auto;
@@ -142,7 +179,6 @@
 
           [name='user.name'] {
             font-weight: bold;
-            margin: 0;
             @extend h1;
           }
 
@@ -157,9 +193,9 @@
           
           [next=member-chat] {
             align-self: center;
-            border: 1px solid $color-majorelle-blue;
+            border: 1px solid $color-244-73-62;
             border-radius: 3.4rem;
-            color: $color-majorelle-blue;
+            color: $color-244-73-62;
             font-size: 1.8rem;
             font-weight: bold;
             padding: 1rem 2.55rem 0.7rem;
diff --git a/src/styles/layout/project-profile/_index.scss b/src/styles/layout/project-profile/_index.scss
new file mode 100644
index 0000000000000000000000000000000000000000..c00467b7680edaaf48966a837320a1b3abfe0f63
--- /dev/null
+++ b/src/styles/layout/project-profile/_index.scss
@@ -0,0 +1 @@
+@import 'project-profile'
\ No newline at end of file
diff --git a/src/styles/layout/project-profile/project-profile.scss b/src/styles/layout/project-profile/project-profile.scss
new file mode 100644
index 0000000000000000000000000000000000000000..67adc47c95d6dc12358ecea64f041bef8d3b8f2b
--- /dev/null
+++ b/src/styles/layout/project-profile/project-profile.scss
@@ -0,0 +1,240 @@
+#project-profile {
+
+  [name^='block-']:not([name='block-title']) {
+    margin-top: 5.1rem;
+
+    [name^='label-'] {
+      display: block;
+      font-weight: bold;
+      margin-bottom: 1.4rem;
+      text-transform: uppercase;
+      @extend h2;
+    }
+
+    sib-display-value:not(:first-of-type),
+    ul,
+    [name*='job'] {
+      font-size: 1.5rem;
+    }
+  }
+
+  [name='block-title'] {
+    border-bottom: 1px solid $color-221-51-90;
+    display: flex;
+    padding-bottom: 3.4rem;
+
+    >* {
+      color: $color-216-4-22;
+      font-size: 2rem;
+      font-weight: bold;
+      padding-right: 0.85rem;
+      text-transform: uppercase;
+    }
+
+    >[name^='const-'] {
+      padding: 0;
+    }
+
+    >sib-display-value[name='name'] {
+      padding-left: 0.85rem;
+    }
+
+    > :nth-child(5) {
+      color: $color-233-18-29;
+      font-weight: normal;
+      text-transform: none;
+    }
+
+    [name='entitled'] {
+      margin-left: auto;
+    }
+
+    > :nth-last-child(-n+2) {
+      color: $color-213-4-50;
+      font-size: 1.6rem;
+      font-weight: normal;
+      text-transform: none;
+    }
+  }
+
+  [name='infos'] {
+    display: flex;
+    justify-content: space-between;
+
+    [name='description'] {
+      display: flex;
+      flex-direction: column;
+      width: 90%;
+    }
+
+    [name='block-logo'] {
+      box-sizing: border-box;
+      display: block;
+      height: 8.5vh;
+      position: relative;
+      text-align: end;
+      width: 15vw;
+    }
+  }
+
+  [name='businessProvider'] {
+
+    ul {
+      list-style: none;
+      padding-left: 0;
+
+      li {
+
+        &:first-child {
+          margin-bottom: 0.5em;
+        }
+
+        span {
+          font-weight: bold;
+        }
+      }
+    }
+  }
+
+  #clientBox {
+    display: flex;
+    margin-left: auto;
+    margin-right: auto;
+    margin-top: 1.7rem;
+    max-width: 100%;
+
+    >* {
+      border: 1px solid $color-221-51-90;
+      flex: 1 1 auto;
+      justify-content: space-between;
+      margin: 0 -0.1rem -0.1rem 0;
+      min-width: 25vw;
+      padding: 0;
+
+      h5 {
+        margin-left: 2rem;
+        margin-top: 2rem;
+      }
+
+      ul {
+        font-size: 1.5rem;
+        list-style: none;
+        margin: -2.04rem 0 3.74rem -2.04rem;
+
+        li {
+
+          span {
+            font-weight: bold;
+          }
+        }
+      }
+
+      &:first-child {
+        li {
+
+          span {
+            margin-right: 0.3em;
+          }
+
+          &:first-child {
+            margin-bottom: 0.5em;
+          }
+
+          &:last-child {
+            margin-top: 2.4em;
+          }
+        }
+      }
+
+      &:not(:first-child) {
+        padding-left: 5.1rem;
+
+        li {
+          margin-bottom: 1.7rem;
+
+          &:last-child {
+            margin-top: 2.2rem;
+          }
+
+          &::before {
+            color: $color-43-100-50;
+            font-size: 2.2rem;
+            padding: 0 1rem 0 0;
+          }
+        }
+      }
+    }
+  }
+
+  [name='block-team'] {
+
+    >sib-multiple {
+
+      label {
+        display: none;
+      }
+
+      >team-template[name='members'] {
+        display: grid;
+        grid-column-gap: 1.6rem;
+        grid-template-columns: 7vh auto;
+        grid-template-rows: repeat(2, 5.2vh);
+
+        >sib-display:first-child {
+          align-self: center;
+          grid-column: 1 / span 1;
+          grid-row: 1 / span 2;
+
+          div {
+            background-color: $color-0-0-100;
+            border-radius: 50%;
+            height: 7vh;
+            overflow: hidden;
+            position: relative;
+            width: 7vh;
+
+            img {
+              height: 100%;
+              left: 0;
+              object-fit: cover;
+              position: absolute;
+              top: 0;
+              width: 100%;
+            }
+          }
+        }
+
+        >div:nth-child(2) {
+          align-self: end;
+          display: flex;
+          grid-column: 2 / span 1;
+          grid-row: 1 / span 1;
+
+          span {
+            align-self: center;
+            font-weight: 600;
+          }
+
+          span~sib-display {
+
+            >div {
+              display: flex;
+              margin-left: 1rem;
+
+              sib-multiple [name='name'] {
+                @extend %user-role;
+              }
+            }
+          }
+        }
+
+        >span:nth-child(3) {
+          align-self: start;
+          grid-column: 2 / span 1;
+          grid-row: 2 / span 1;
+        }
+      }
+    }
+  }
+
+}
\ No newline at end of file
diff --git a/src/styles/main.scss b/src/styles/main.scss
deleted file mode 100644
index 89aaa14cbc4865048aa7d1481ce7738cda68c59f..0000000000000000000000000000000000000000
--- a/src/styles/main.scss
+++ /dev/null
@@ -1,331 +0,0 @@
-[hidden],
-.hidden,
-.is-hidden {
-  display: none !important;
-}
-
-:root {
-  font-size: 62.5%;
-  font-family: Open Sans, sans-serif;
-  --sib-notifications-theme: #{$color-46-100-50};
-  
-  body {
-    /*Will help to make .content fit your height screen size. Part.1*/
-    background-color: $color-anti-flash-white;
-    color: $color-text-base;
-    display: flex;
-    flex-direction: column;
-    font-size: 1.6rem;
-    height: 100vh;
-    margin: 0;
-    overflow: hidden;
-    overflow-wrap: break-word;
-  }
-}
-
-img {
-  max-width: 100%;
-}
-
-h1,
-h2,
-h3,
-h4,
-h5,
-h6 {
-  color: $color-dark-lava;
-  font-weight: 600;
-  padding: 0;
-  /*margin: 0.67em 0;*/
-
-  span {
-    font-weight: 400;
-    padding-left: 0.85rem;
-
-    &:before {
-      content: '// ';
-    }
-  }
-}
-
-h1 {
-  font-size: 2.1rem;
-}
-
-h2 {  font-size: 2rem;
-}
-
-h3 {
-  font-size: 1.6rem;
-}
-
-h4 {
-  font-size: 1.2rem;
-}
-
-h5 {
-  font-size: 2rem;
-}
-
-.debug {
-  outline: 2px dotted red;
-}
-
-button {
-  background: none;
-  border: none;
-  cursor: pointer;
-  margin: 0;
-  padding: 0;
-  text-decoration: none;
-  -webkit-appearance: none;
-}
-
-li {
-  list-style: none;
-  margin-right: 0.4rem;
-  padding-left: 0;
-}
-
-#job-offers,
-#members {
-  @extend %content-padding;
-}
-
-.frame {
-  @extend %frame;
-  padding: 5rem;
-}
-
-.layer {
-  position: absolute;
-  bottom: 0;
-  top: 0;
-  right: 0;
-  left: 0;
-  display: flex;
-  flex-direction: column;
-  align-items: stretch;
-  overflow-x: hidden;
-}
-
-/*
-#content {
-  display: flex;
-  overflow: hidden;
-}
-*/
-
-#mainContainer {
-  flex-grow: 1;
-  flex-shrink: 1;
-  overflow-y: auto;
-}
-
-.limiter {
-  display: block;
-  max-width: 650px;
-}
-/* sub menu (right menu) */
-#mainContainer {
-  display: flex;
-  > div#project,
-  > div#circle {
-    flex-grow: 1;
-    display: flex;
-    flex-direction: row-reverse;
-    align-items: stretch;
-    overflow-x: hidden;
-
-    > div {
-      transition: all 0.5s;
-    }
-  }
-}
-
-sib-route,
-sib-link {
-  cursor: pointer;
-}
-
-sib-link.back {
-  color: $color-purple-dark;
-  display: block;
-  font-size: 2rem;
-  font-weight: bold;
-  text-align: right;
-}
-
-.containerH {
-  display: flex;
-  flex-wrap: wrap;
-}
-
-.containerV {
-  display: flex;
-  flex-direction: column;
-  align-items: stretch;
-}
-
-.grow {
-  flex-grow: 1;
-  flex-shrink: 1;
-}
-
-.fix {
-  flex-grow: 0;
-  flex-shrink: 0;
-}
-
-.containerCenter {
-  justify-content: center;
-  align-items: center;
-}
-
-.reverse {
-  flex-direction: row-reverse;
-}
-
-#views-container {
-  flex: 1 0 0;
-  overflow-y: auto;
-}
-
-.grid-layer{
-  display: grid;
-  font-size: 16px;
-  grid-template-columns: [start]auto[middle]25%[end];
-  grid-template-rows: [start]7em[middle]auto[end];
-}
-.grid-layer-main {
-  grid-column-start: start;
-  grid-column-end: end;
-  grid-row-start: start;
-  grid-row-end: end;
-}
-.grid-layer-links {
-  grid-column-start: middle;
-  grid-column-end: end;
-  grid-row-start: start;
-  grid-row-end: middle;
-}
-
-
-/* TEMPLATE SKILLS*/
-
-sib-multiple[name*='skills'] {
-  display: flex;
-  flex-wrap: wrap;
-}
-
-.skill {
-  background-color: $color-selective-yellow;
-  border: 1px solid $color-selective-yellow;
-  border-radius: 2em;
-  color: $color-white;
-  font-size: 1.4rem;
-  font-weight: bold;
-  margin: 0.4rem 1rem 0.4rem 0;
-  padding: 0.5rem 2rem;
-}
-
-member-info-groups {
-  @extend %group;
-}
-
-
-/* NEW RESPONSIVE */
-
-.right-sidebar {
-  overflow: hidden;
-  transition: width 0.3s;
-}
-
-.right-sidebar.js-right-sidebar-expanded {
-  width: 130px;
-}
-
-.right-sidebar.js-right-sidebar-collapsed {
-  width: 62px;
-}
-
-/*Define the basic row-column properties that construct the foundation*/
-.row {
-  display: flex;
-  max-width: 100%;
-}
-
-.content {
-  /*Will help to make .content fit your height screen size. Part 2*/
-  flex-direction: row;
-  height: 100%;
-  overflow: hidden;
-}
-
-.col {
-  min-width: 0;
-}
-
-.block-grid {
-  display: flex;
-  flex-wrap: nowrap;
-  height: 100%;
-}
-
-/* Dividing into columns */
-@mixin respond-to($breakpoint) {
-  
-  @if map-has-key($breakpoints, $breakpoint) {
-
-    @media (min-width: map-get($breakpoints, $breakpoint)) {
-      @content;
-    }
-  }
-
-  @else {
-    @warn "Sorry, no value could be retrieved from `#{$breakpoint}`."
-      + "Available breakpoints are: #{map-keys($breakpoints)}.";
-  }
-}
-
-.small-2 {
-
-  @include respond-to('phone'){
-    display: block;
-    flex: 0 1 calc(100% / 12 * 2);
-  }
-}
-
-.small-shrink {
-
-  @include respond-to('phone') {
-    display: block;
-    flex: 0 1 auto;
-  }
-}
-
-.medium-auto {
-
-  @include respond-to('tablet') {
-    display: block;
-    flex: 1;
-    overflow: auto;
-  }
-}
-
-.small-12 {
-
-  @include respond-to('phone') {
-    display: block;
-    flex: 0 1 calc(100% / 12 * 12);
-  }
-}
-
-.small-auto {
-
-  @include respond-to ('phone') {
-    display: block;
-    flex: 1;
-    overflow: auto;
-  }
-}
diff --git a/src/styles/member-chat.scss b/src/styles/member-chat.scss
deleted file mode 100644
index bd679dc7a59f64247feaebfae4d9996d0051587b..0000000000000000000000000000000000000000
--- a/src/styles/member-chat.scss
+++ /dev/null
@@ -1,3 +0,0 @@
-#member-chat {
-  width: 100%;
-}
\ No newline at end of file
diff --git a/src/styles/menu-right.scss b/src/styles/menu-right.scss
deleted file mode 100644
index 4d4003463101dcaf85258ebe99076c6a2c63a8d9..0000000000000000000000000000000000000000
--- a/src/styles/menu-right.scss
+++ /dev/null
@@ -1,90 +0,0 @@
-#mainContainer {
-  
-  > div {
-
-    nav {
-      transition: all 0.5s;
-
-      > sib-router {
-        background-color: $color-222-52-90;
-        color: $color-purple-dark;
-        flex: 0 0 auto;
-        font-weight: 600;
-
-        > ul {  
-          cursor: pointer;
-          list-style: none;
-          margin: 0;
-          padding-left: 0;
-
-          li {
-            align-items: center;
-            border-bottom: 1px solid $color-lavender-gray;
-            display: flex;
-            margin: 0;
-            padding: 2.55rem 2.55rem;
-            position: relative;
-            width: 12em;
-
-            &::before {
-              float: left;
-              font-size: 4rem;
-              margin-left: 0;
-              margin-right: 2.55rem;
-            }
-          }
-
-          > li {
-            @include icon('arrow-right-circle');
-          }
-          
-          > sib-route {
-            
-            &[active] {
-              background-color: $color-purple-dark;
-              color: $color-mustard;
-              display: inline-block;
-            }
-
-            &[name^='circle'],
-            &[name^='project'] {
-              
-              > li::before {
-                font-size: 4rem;
-              }
-            }
-            
-            &[name$='chat'] > li {
-              @include ci('chat');
-            }
-            
-            &[name$='create'] > li {
-              @include ci('offer');
-            }
-            
-            &[name$='edit'] > li {
-              @include ci('list');
-            }
-            
-            &[name$='profile'] > li {
-              @include ci('information');
-            }          
-          }
-        }
-      }
-      
-      &.offsite-is-closed {
-        transform: translate(15.5rem);
-        
-        & .jsOffsiteToggle::before {
-          transform: rotate(180deg);
-        }
-
-        & ~ #views-container {
-          margin-left: -15.5rem;
-          transform: translate(15.5rem);
-        }
-      }
-    }
-  }
-}
diff --git a/src/styles/mixins.scss b/src/styles/mixins.scss
deleted file mode 100644
index d8d0b6efe0c43abd99f5e56932f8bdaf8e1c8184..0000000000000000000000000000000000000000
--- a/src/styles/mixins.scss
+++ /dev/null
@@ -1,160 +0,0 @@
-@charset "UTF-8";
-@mixin debug {
-  $hsla: hsla(random(360), 100%, 50%, 0.3);
-  background-color: $hsla;
-}
-@mixin log($v) {
-  font-family: '__log__:#{$v}';
-}
-
-@mixin offset($corner: 1, $x: 0, $y: 0) {
-  // corner:
-  // 1-----2
-  // |     |
-  // |     |
-  // 3-----4
-  position: absolute;
-  @if ($corner == 1) {
-    top: $y;
-    left: $x;
-  }
-  @if ($corner == 2) {
-    top: $y;
-    right: $x;
-  }
-  @if ($corner == 3) {
-    bottom: $y;
-    left: $x;
-  }
-  @if ($corner == 4) {
-    bottom: $y;
-    right: $x;
-  }
-}
-
-@mixin position($top: 0, $right: null, $bottom: null, $left: null) {
-  //  --1--
-  // |     |
-  // 4     2
-  // |     |
-  //  --3--
-  @if ($right == null) {
-    $right: $top;
-  }
-
-  @if ($bottom == null) {
-    $bottom: $top;
-  }
-
-  @if ($left == null) {
-    $left: $right;
-  }
-
-  position: absolute;
-  top: $top;
-  left: $left;
-  right: $right;
-  bottom: $bottom;
-}
-
-@mixin pos($pos: 5, $position: absolute) {
-  // ╔═──┐ ╔═══╗ ┌──═╗
-  // │ 1 │ │ 2 │ │ 3 │
-  // └───┘ └───┘ └───┘
-  // ╔═──┐ ╔═══╗ ┌──═╗
-  // ║ 4 │ ║ 5 ║ │ 6 ║
-  // ╚═──┘ ╚═══╝ └──═╝
-  // ┌───┐ ┌───┐ ┌───┐
-  // │ 7 │ │ 8 │ │ 9 │
-  // ╚═──┘ ╚═══╝ └──═╝
-
-  $mod: ($pos - 1) % 3;
-
-  position: $position;
-  @if ($pos <= 6) {
-    top: 0;
-  }
-  @if ($mod <= 1) {
-    left: 0;
-  }
-  @if ($mod >= 1) {
-    right: 0;
-  }
-  @if ($pos >= 4) {
-    bottom: 0;
-  }
-}
-
-// @mixin border-shadow($border: top, $size: 4px, $opacity: 0.05, $color: black) {
-//   &:after {
-//     content: '';
-//     position: absolute;
-//     top: if(($border == bottom), auto, 0);
-//     left: if(($border == right), auto, 0);
-//     right: if(($border == left), auto, 0);
-//     bottom: if(($border == top), auto, 0);
-//     background-image: linear-gradient(to #{$border}, $color, transparent);
-//     #{$border}: -$size;
-//     opacity: $opacity;
-//     @if ($border == top or $border == bottom) {
-//       height: $size;
-//     } @else {
-//       width: $size;
-//     }
-//   }
-// }
-
-@mixin align($horizontal: center, $vertical: middle) {
-  text-align: $horizontal;
-  white-space: nowrap;
-  &:after,
-  > * {
-    display: inline-block;
-    vertical-align: $vertical;
-  }
-  &:after {
-    content: '';
-    height: 100%;
-    width: 0;
-    visibility: hidden;
-  }
-  > * {
-    //text-align:left;
-    white-space: normal;
-  }
-}
-
-@mixin list-reset($deep: 0) {
-  padding: 0;
-  margin: 0;
-  display: block;
-  list-style: none;
-  @if ($deep == 0) {
-    > li {
-      padding: 0;
-      margin: 0;
-      display: block;
-      list-style: none;
-    }
-  } @else {
-    ul,
-    ol,
-    li {
-      padding: 0;
-      margin: 0;
-      display: block;
-      list-style: none;
-    }
-  }
-}
-
-@mixin styleTemplateFieldset($name) {
-  template-legend-#{$name} {
-    border-bottom: 1px solid $color-link-water;
-    color: $color-purple-dark;
-    font-size: 1.8rem;
-    font-weight: 600;
-    padding-bottom: 1rem;
-  }
-}
-
diff --git a/src/styles/project-profile.scss b/src/styles/project-profile.scss
deleted file mode 100644
index 17d17f20666af3c1fef92ade16ddaba967c813c0..0000000000000000000000000000000000000000
--- a/src/styles/project-profile.scss
+++ /dev/null
@@ -1,235 +0,0 @@
-#project-profile {
-  
-  [name^='block-']:not([name='block-title']) {
-    margin-top: 5.1rem;
-  
-    [name^='label-'] {
-      display: block;
-      font-weight: bold;
-      margin-bottom: 1.4rem;
-      text-transform: uppercase;
-      @extend h2;
-    }
-  
-    sib-display-value:not(:first-of-type),
-    ul,
-    [name*='job'] {
-      font-size: 1.5rem;
-    }
-  }
-
-  [name='block-title'] {
-    border-bottom: 1px solid $color-link-water;
-    display: flex;
-    padding-bottom: 3.4rem;
-  
-    > * {
-      color: $color-dark-lava;
-      font-size: 2rem;
-      font-weight: bold;
-      padding-right: 0.85rem;
-      text-transform: uppercase;
-    }
-  
-    > [name^='const-'] {
-      padding: 0;
-    }
-
-    > sib-display-value[name='name'] {
-      padding-left: 0.85rem;
-    }
-    
-    > :nth-child(5) {
-      color: $color-purple-dark;
-      font-weight: normal;
-      text-transform: none;
-    }
-
-    [name='entitled'] {
-      margin-left: auto;
-    }
-
-    > :nth-last-child(-n+2) {
-      color: $color-text-base;
-      font-size: 1.6rem;
-      font-weight: normal;
-      text-transform: none;
-    }
-  }
-
-  [name='infos'] {
-    display: flex;
-    justify-content: space-between;
-
-    [name='description'] {
-      display: flex;
-      flex-direction: column;
-      width: 90%;
-    }
-    
-    [name='block-logo'] {
-      box-sizing: border-box;
-      display: block;
-      height: 8.5vh;
-      position: relative;
-      text-align: end;
-      width: 15vw;
-    }
-  }
-
-  [name='businessProvider'] {
-    
-    ul {
-      list-style: none;
-      padding-left: 0;
-
-      li {
-        
-        &:first-child {
-          margin-bottom: 0.5em;
-        }
-        
-        span {
-          font-weight: bold;
-        }
-      }
-    }
-  }
-}
-
-#clientBox {
-  display: flex;
-  margin-left: auto;
-  margin-right: auto;
-  margin-top: 1.7rem;
-  max-width: 100%;
-
-  > * {
-    border: 1px solid $color-link-water;
-    flex: 1 1 auto;
-    justify-content: space-between;
-    margin: 0 -0.1rem -0.1rem 0;
-    min-width: 25vw;
-    padding: 0;
-
-    h5 {
-      margin-left: 2rem;
-      margin-top: 2rem;
-    }
-
-    ul {
-      font-size: 1.5rem;
-      list-style: none;
-      margin: -2.04rem 0 3.74rem -2.04rem;
-
-      li {
-
-        span {
-          font-weight: bold;
-        }
-      }
-    }
-
-    &:first-child {
-      li {
-      
-        span {
-          margin-right: 0.3em;
-        }
-
-        &:first-child {
-          margin-bottom: 0.5em;
-        }
-
-        &:last-child {
-          margin-top: 2.4em;
-        }
-      }
-    }
-
-    &:not(:first-child) {
-      padding-left: 5.1rem;
-
-      li {
-        margin-bottom: 1.7rem;
-
-        &:last-child {
-          margin-top: 2.2rem;
-        }
-
-        &::before {
-          color: $color-selective-yellow;
-          font-size: 2.2rem;
-          padding: 0 1rem 0 0;
-        }
-      }
-    }
-  }
-}
-
-[name='block-team'] {
-  
-  > sib-multiple {
-
-    > team-template[name='members'] {
-      display: grid;
-      grid-column-gap: 1.6rem;
-      grid-template-columns: 7vh auto;
-      grid-template-rows: repeat(2, 5.2vh);
-
-      > sib-display:first-child {
-        align-self: center; 
-        grid-column: 1 / span 1;
-        grid-row: 1 / span 2;
-
-        div {
-          background-color: $color-white;
-          border-radius: 50%;
-          height: 7vh;
-          overflow: hidden;
-          position: relative;
-          width: 7vh;
-
-          img {
-            height: 100%;
-            left: 0;
-            object-fit: cover;
-            position: absolute;
-            top: 0;
-            width: 100%;
-          }
-        }
-      }
-
-      > div:nth-child(2) {
-        align-self: end;
-        display: flex;
-        grid-column: 2 / span 1;
-        grid-row: 1 / span 1;
-
-        span {
-          align-self: center;
-          font-weight: 600;
-        }
-
-        span ~ sib-display {
-          
-          > div {
-            display: flex;
-            margin-left: 1rem;
-            
-            div[name='name'] {
-              @extend %group;
-            }
-          }
-        }
-      }
-
-      > span:nth-child(3) {
-        align-self: start;
-        grid-column: 2 / span 1;
-        grid-row: 2 / span 1;
-      }
-    }
-  }
-}
diff --git a/src/styles/right-panel.scss b/src/styles/right-panel.scss
deleted file mode 100644
index 8f8ff5b84f65c5bf6364adb6e81867629309d538..0000000000000000000000000000000000000000
--- a/src/styles/right-panel.scss
+++ /dev/null
@@ -1,50 +0,0 @@
-.right-link {
-  padding: 0.85rem;
-  margin-bottom: 1.7rem;
-  margin-left: 8.5rem;
-  flex-basis: auto;
-  border-radius: 2em;
-
-  div[class*="icon-"] {
-    align-items: center;
-    display: flex;
-    flex-grow: 0;
-    flex-shrink: 0;
-  }
-}
-
-.how-link {
-  @extend .right-link;
-  background-color: $color-white;
-  color: $color-dark-lava;
-  flex-wrap: nowrap;
-  .icon-idea {
-    background-color: $color-mustard;
-    border-radius: 100%;
-    justify-content: center;
-    margin-right: 1.2rem;
-    //flex-direction: column;
-    width: 1.8em;
-    height: 1.8em;
-    //margin-right: 1em;
-  }
-}
-
-.action-link {
-  @extend .right-link;
-  background-color: $color-selective-yellow;
-  color: $color-white;
-  font-weight: bold;
-  text-transform: uppercase;
-  cursor: pointer;
-
-  .icon-plus {
-    font-size: 20px;
-    justify-content: center;
-    margin: 0.5rem 0.5rem 0.5rem 0;
-
-    &:before {
-      //font-size: 1.3em;
-    }
-  }
-}
\ No newline at end of file
diff --git a/src/styles/variables.scss b/src/styles/variables.scss
deleted file mode 100644
index b9d021989be855c32bdf56da2829c4b016d12357..0000000000000000000000000000000000000000
--- a/src/styles/variables.scss
+++ /dev/null
@@ -1,150 +0,0 @@
-//Color Variables
-$color-quartz:           hsl(0, 0%, 29%);
-$color-timberwolf:       hsl(0, 0%, 85%);
-$color-white:            hsl(0, 0%,100%);
-
-$color-selective-yellow: hsl(43, 100%, 50%);
-$color-mikado-yellow:    hsl(45, 95%, 54%);
-$color-mustard:          hsl(46, 100%, 67%);
-$color-46-100-50:        hsl(46, 100%, 50%);
-
-$color-rolling-stone:    hsl(210, 4%, 50%);
-$color-taupe-gray:       hsl(210, 5%, 56%);
-$color-platinum:         hsl(210, 17%, 91%);
-$color-anti-flash-white: hsl(210, 25%, 95%);
-$color-text-base:        hsl(213, 4%, 50%);
-$color-gainsboro:        hsl(213, 13%, 86%);
-$color-gainsboro-a02:    hsla(213, 13%, 86%, 0.2);
-$color-213-20-91:        hsl(213, 20%, 91%);
-$color-bombay:           hsl(215, 9%, 73%);
-$color-manatee:          hsl(215, 6%, 63%);
-$color-dark-lava:        hsl(216, 4%, 22%);
-$color-link-water:       hsl(221, 51%, 90%);
-$color-222-52-90:        hsl(222, 52%, 90%);
-$color-glitter:          hsl(222, 57%, 95%);
-$color-lavender-gray:    hsl(229, 25%, 79%);
-$color-purple-dark:      hsl(233, 18%, 29%);
-$color-spun-pearl:       hsl(244, 10%, 70%);
-$color-majorelle-blue:   hsl(244, 73%, 62%);
-
-%backlink {
-  @include icon('arrow-left-circle');
-  color: #3d4057;
-  text-decoration: underline;
-
-  &::before {
-    text-decoration: none;
-  }
-}
-
-%button {
-  display: inline-block;
-  padding: 0.85rem 2.55rem;
-  border: none;
-  border-radius: 100em;
-  font-weight: normal;
-}  
-
-%content-padding {
-  flex: 1;
-  padding: 4.4rem;
-}
-
-%frame {
-  @extend %shadow;
-  background-color: $color-white;
-}
-
-%group {
-  border: 1px solid $color-mikado-yellow;
-  border-radius: 3px;
-  color: $color-rolling-stone;
-  font-size: 1.4rem;
-  font-weight: 400;
-  margin-right: 0.4rem;
-  padding: calc(1.6rem - 0.8em) 0.7em;
-}
-
-%member-info {
-
-  sib-multiple[name^='user.'],
-  > member-info > div,
-  > sib-display-value {
-    display: flex;
-    flex-wrap: wrap;
-    margin-bottom: 0;
-    margin-top: 1.7rem;
-
-    &::before {
-      color: $color-selective-yellow;
-      padding: 0 0.6em 0 0;
-    }
-  }
-  
-  [name$='city'] * {
-    @include mdi('atom');
-  }
-
-  [name$='email'] * {
-    @include mdi('email-outline');
-  }
-
-  [name$='phone'] * {
-    @include mdi('cellphone-iphone');
-  }
-
-  [name="foaf:homepage"] {
-    @include mdi('link-variant');
-  }
-}
-
-%label {
-  color: $color-spun-pearl;
-  font-weight: 600;
-  margin: 2em 0 0.5em;
-  text-transform: uppercase;
-
-  > div {
-    padding-bottom: 1rem;
-  }
-}
-
-%notification {
-  align-items: center;
-  background-color: $color-mustard;
-  border-radius: 100%;
-  color: $color-dark-lava;
-  display: flex !important;
-  font-size: 1.3rem;
-  height: 1.7em;
-  justify-content: center;
-  width: 1.7em;
-}
-
-%shadow {
-  box-shadow: 0 0 8px 0 hsla(212, 7%, 55%, 0.19);
-}
-
-%status-open {
-  background-color: $color-majorelle-blue;
-  border: none;
-  border-radius: 100em;
-  color: $color-white;
-  display: inline-block;
-  font-weight: normal;
-  padding: 0.85rem 1.7rem;
-}
-
-%submit-form {
-  background-color: $color-purple-dark;
-  color: $color-white;
-  float: right;
-  font-weight: bold;
-  text-transform: uppercase;
-}
-
-$breakpoints: (
-  phone: 480px,
-  tablet: 768px,
-  desktop: 1024px
-) !default;
diff --git a/src/templates/template-team.pug b/src/templates/template-team.pug
index f4551f1f086ff1ff7e863d8ceb6617dc2e5e7ecf..1f42849337138b8e9ad1019b6b2f271359668757 100644
--- a/src/templates/template-team.pug
+++ b/src/templates/template-team.pug
@@ -1,6 +1,5 @@
 sib-widget(name='team-template')
   template
-    p ${value}
     sib-display(
       data-src="${value.user['@id']}"
       data-fields='account.picture',
diff --git a/www/lib/sib-chat b/www/lib/sib-chat
deleted file mode 160000
index 2456ba747dfdacf96cfaf70469b0eff059287e67..0000000000000000000000000000000000000000
--- a/www/lib/sib-chat
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 2456ba747dfdacf96cfaf70469b0eff059287e67
diff --git a/www/lib/sib-core b/www/lib/sib-core
deleted file mode 160000
index 9ff71f4d047a101f633872db0820736b8baf792c..0000000000000000000000000000000000000000
--- a/www/lib/sib-core
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 9ff71f4d047a101f633872db0820736b8baf792c
diff --git a/www/lib/sib-oidc b/www/lib/sib-oidc
deleted file mode 160000
index 9ce7e6cec7447b7d3c04dee03bf068744373ac3f..0000000000000000000000000000000000000000
--- a/www/lib/sib-oidc
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 9ce7e6cec7447b7d3c04dee03bf068744373ac3f
diff --git a/www/lib/sib-router b/www/lib/sib-router
deleted file mode 160000
index c358adefa38f93cd3acdf1f75c8c79e4b8379dc4..0000000000000000000000000000000000000000
--- a/www/lib/sib-router
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit c358adefa38f93cd3acdf1f75c8c79e4b8379dc4