diff --git a/.circleci/config.yml b/.circleci/config.yml
index 65979bbdf96145c188a3c4fa373f9ceb3bc53498..673ddf13b631df4f5b1e2c65750659d0a4e6cbda 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -6,7 +6,7 @@ jobs:
   build:
     <<: *defaults
     docker:
-      - image: circleci/node:8.9
+      - image: circleci/node:8.11
 
     steps:
       - checkout
@@ -135,9 +135,9 @@ jobs:
   test-with-oplog:
     <<: *defaults
     docker:
-      - image: circleci/node:8.9-browsers
-      - image: mongo:3.4
-        command: [mongod, --nojournal, --noprealloc, --smallfiles, --replSet=rs0]
+      - image: circleci/node:8.11-browsers
+      - image: mongo:4.0
+        command: [mongod, --noprealloc, --smallfiles, --replSet=rs0]
 
     environment:
       TEST_MODE: "true"
@@ -154,9 +154,9 @@ jobs:
           name: Install dependencies
           command: |
             wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
-            sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
+            sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
             echo "deb [ arch=amd64 ] http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google.list
-            echo "deb [ arch=amd64 ] http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
+            echo "deb [ arch=amd64 ] http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
             sudo apt-get update
             sudo apt-get install -y mongodb-org-shell google-chrome-stable
 
@@ -182,8 +182,8 @@ jobs:
   test-without-oplog:
     <<: *defaults
     docker:
-      - image: circleci/node:8.9-browsers
-      - image: circleci/mongo:3.4
+      - image: circleci/node:8.11-browsers
+      - image: circleci/mongo:4.0
 
     environment:
       TEST_MODE: "true"
@@ -199,9 +199,9 @@ jobs:
           name: Install dependencies
           command: |
             wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
-            sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
+            sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
             echo "deb [ arch=amd64 ] http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google.list
-            echo "deb [ arch=amd64 ] http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
+            echo "deb [ arch=amd64 ] http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
             sudo apt-get update
             sudo apt-get install -y mongodb-org-shell google-chrome-stable
 
@@ -221,7 +221,7 @@ jobs:
   deploy:
     <<: *defaults
     docker:
-      - image: circleci/node:8.9
+      - image: circleci/node:8.11
 
     steps:
       - attach_workspace:
diff --git a/.docker/Dockerfile.rhel b/.docker/Dockerfile.rhel
index 3b8967f7896592d3e21335e075d83f14f277b82f..e2aa41f34415c1c63e00f31766d497050fc166a9 100644
--- a/.docker/Dockerfile.rhel
+++ b/.docker/Dockerfile.rhel
@@ -1,6 +1,6 @@
 FROM registry.access.redhat.com/rhscl/nodejs-8-rhel7
 
-ENV RC_VERSION 0.71.1
+ENV RC_VERSION 0.72.0
 
 MAINTAINER buildmaster@rocket.chat
 
diff --git a/.eslintignore b/.eslintignore
index f8e66c28c01d86229fe1f65a9fed927aed1454a2..a557dee6c2f534b06a5b2898b56032bd74ab02d9 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -9,12 +9,12 @@ packages/rocketchat-livechat/.app/node_modules
 packages/rocketchat-livechat/.app/.meteor
 packages/rocketchat-livechat/assets/rocketchat-livechat.min.js
 packages/rocketchat-livechat/assets/rocket-livechat.js
-packages/rocketchat-theme/client/minicolors/jquery.minicolors.js
+packages/rocketchat_theme/client/minicolors/jquery.minicolors.js
+packages/rocketchat_theme/client/vendor/
 packages/rocketchat-ui/client/lib/customEventPolyfill.js
 packages/rocketchat-ui/client/lib/Modernizr.js
 packages/rocketchat-ui/client/lib/recorderjs/recorder.js
 packages/rocketchat-videobridge/client/public/external_api.js
-packages/rocketchat-theme/client/vendor/
 packages/tap-i18n/lib/tap_i18next/tap_i18next-1.7.3.js
 private/moment-locales/
 public/livechat/
diff --git a/.eslintrc b/.eslintrc
index 75450d624d506992e0b8c5538f1232838e15c423..427e6d39adffdd7336f1ea81ac848336ba02f43c 100644
--- a/.eslintrc
+++ b/.eslintrc
@@ -4,26 +4,16 @@
 	"globals": {
 		"__meteor_runtime_config__"   : false,
 		"AccountBox"                  : false,
-		"Accounts"                    : false,
 		"AgentUsers"                  : false,
 		"Apps"                        : false,
 		"Assets"                      : false,
-		"Blaze"                       : false,
-		"BlazeLayout"                 : false,
 		"browser"                     : false,
 		"ChatMessage"                 : false,
 		"ChatMessages"                : false,
 		"ChatRoom"                    : false,
 		"ChatSubscription"            : false,
-		"check"                       : false,
-		"CryptoJS"                    : false,
 		"Department"                  : false,
-		"DDPRateLimiter"              : false,
-		"EJSON"                       : false,
-		"Email"                       : false,
-		"FlowRouter"                  : false,
 		"FileUpload"                  : false,
-		"HTTP"                        : false,
 		"getNextAgent"                : false,
 		"handleError"                 : false,
 		"getAvatarUrlFromUsername"    : false,
@@ -35,40 +25,22 @@
 		"LivechatPageVisited"         : false,
 		"LivechatTrigger"             : false,
 		"Logger"                      : false,
-		"Match"                       : false,
-		"Meteor"                      : false,
 		"modal"                       : false,
-		"moment"                      : false,
-		"Mongo"                       : false,
 		"Npm"                         : false,
 		"Package"                     : false,
 		"parentCall"                  : false,
-		"Promise"                     : false,
-		"Random"                      : false,
-		"ReactiveDict"                : false,
-		"ReactiveVar"                 : false,
-		"Reload"                      : false,
 		"RocketChat"                  : true,
-		"RocketChatFile"              : false,
 		"RoomHistoryManager"          : false,
 		"RoomManager"                 : false,
 		"ServiceConfiguration"        : false,
-		"Session"                     : false,
 		"Settings"                    : false,
-		"SHA256"                      : false,
 		"SideNav"                     : false,
 		"t"                           : false,
-		"TAPi18n"                     : false,
-		"TAPi18next"                  : false,
-		"Template"                    : false,
 		"TimeSync"                    : false,
 		"toastr"                      : false,
-		"Tracker"                     : false,
 		"Trigger"                     : false,
 		"Triggers"                    : false,
-		"UAParser"                    : false,
 		"visitor"                     : false,
-		"WebApp"                      : false,
 		"VideoRecorder"               : false,
 		"VRecDialog"                  : false
 	}
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
deleted file mode 100644
index 066b2d920a28db73b4ba3a0b35e6905eeeef5772..0000000000000000000000000000000000000000
--- a/.github/ISSUE_TEMPLATE/feature_request.md
+++ /dev/null
@@ -1,17 +0,0 @@
----
-name: Feature request
-about: Suggest an idea for this project
-
----
-
-**Is your feature request related to a problem? Please describe.**
-A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
-
-**Describe the solution you'd like**
-A clear and concise description of what you want to happen.
-
-**Describe alternatives you've considered**
-A clear and concise description of any alternative solutions or features you've considered.
-
-**Additional context**
-Add any other context or screenshots about the feature request here.
diff --git a/.github/history-manual.json b/.github/history-manual.json
index 394af77f43a0b9af854afd214234e46d76562c6a..d3783a7b48e22ffe2156ae0c46d99c1d385daa53 100644
--- a/.github/history-manual.json
+++ b/.github/history-manual.json
@@ -11,5 +11,10 @@
 		"title": "[FIX] Removed Deprecated Package rocketchat:sharedsecret`",
 		"userLogin": "rodrigok",
 		"contributors": []
+	}],
+	"0.72.0-rc.0": [{
+		"title": "[BREAK] Support for Cordova (Rocket.Chat Legacy app) has reached End-of-life, support has been discontinued",
+		"userLogin": "sampaiodiego",
+		"contributors": []
 	}]
 }
diff --git a/.github/history.json b/.github/history.json
index 6e93977d832826ac245a01278d4564b42ec0810c..94af4750486ccff45ff01625e3da8aeb689c20d0 100644
--- a/.github/history.json
+++ b/.github/history.json
@@ -20370,6 +20370,1265 @@
       "node_version": "8.11.3",
       "npm_version": "5.6.0",
       "pull_requests": [
+        {
+          "pr": "12499",
+          "title": "Release 0.71.1",
+          "userLogin": "sampaiodiego",
+          "contributors": [
+            "sampaiodiego"
+          ]
+        },
+        {
+          "pr": "12487",
+          "title": "[FIX] Email sending with GDPR user data",
+          "userLogin": "sampaiodiego",
+          "contributors": [
+            "sampaiodiego"
+          ]
+        }
+      ]
+    },
+    "0.72.0-rc.0": {
+      "pull_requests": [
+        {
+          "pr": "12684",
+          "title": "LingoHub based on develop",
+          "userLogin": "engelgabriel",
+          "milestone": "0.72.0",
+          "contributors": [
+            "rodrigok"
+          ]
+        },
+        {
+          "pr": "12309",
+          "title": "[NEW] Add permission to enable personal access token to specific roles",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto",
+            "rodrigok",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12563",
+          "title": "[IMPROVE] Improve unreads and unreadsFrom response, prevent it to be equal null",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto",
+            "rodrigok",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12483",
+          "title": "[NEW] Option to reset e2e key",
+          "userLogin": "Hudell",
+          "milestone": "0.72.0",
+          "contributors": [
+            "Hudell",
+            "web-flow",
+            "engelgabriel"
+          ]
+        },
+        {
+          "pr": "12633",
+          "title": "[FIX] Fixed Anonymous Registration",
+          "userLogin": "wreiske",
+          "milestone": "0.72.0",
+          "contributors": [
+            "wreiske",
+            "web-flow",
+            "engelgabriel",
+            "rodrigok"
+          ]
+        },
+        {
+          "pr": "12105",
+          "title": "[IMPROVE] Add rooms property in user object, if the user has the permission, with rooms roles",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12682",
+          "title": "Convert rocketchat-mail-messages to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12679",
+          "title": " Convert rocketchat-livestream to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12675",
+          "title": "[IMPROVE] border-radius to use --border-radius",
+          "userLogin": "engelgabriel",
+          "milestone": "0.72.0",
+          "contributors": [
+            "engelgabriel",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12677",
+          "title": "[FIX] high cpu usage ~ svg icon",
+          "userLogin": "ph1p",
+          "contributors": [
+            null,
+            "ph1p"
+          ]
+        },
+        {
+          "pr": "12374",
+          "title": "Added \"npm install\" to quick start for developers",
+          "userLogin": "wreiske",
+          "milestone": "0.72.0",
+          "contributors": [
+            "wreiske",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12651",
+          "title": "[NEW] /api/v1/spotlight: return joinCodeRequired field for rooms",
+          "userLogin": "cardoso",
+          "milestone": "0.72.0",
+          "contributors": [
+            "cardoso",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12678",
+          "title": "Convert rocketchat-ldap to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12674",
+          "title": "Convert rocketchat-issuelinks to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12670",
+          "title": "Convert rocketchat-integrations to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12672",
+          "title": "Convert rocketchat-irc to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12671",
+          "title": "Convert rocketchat-internal-hubot to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12665",
+          "title": "Convert rocketchat-importer-hipchat-enterprise to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12669",
+          "title": "Convert rocketchat-importer-slack-users to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12666",
+          "title": " Convert rocketchat-importer-slack to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12661",
+          "title": "Convert rocketchat-iframe-login to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12662",
+          "title": "Convert rocketchat-importer to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12663",
+          "title": "Convert rocketchat-importer-csv to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12664",
+          "title": "Convert rocketchat-importer-hipchat to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12659",
+          "title": "Convert rocketchat-highlight-words to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12657",
+          "title": "Convert rocketchat-grant to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12658",
+          "title": "Convert rocketchat-graphql to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12564",
+          "title": "[IMPROVE] Update the 'keyboard shortcuts' documentation",
+          "userLogin": "nicolasbock",
+          "milestone": "0.72.0",
+          "contributors": [
+            "nicolasbock",
+            "tassoevan",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12643",
+          "title": "[FIX] Fix favico error",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12649",
+          "title": "Convert rocketchat-google-vision to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12650",
+          "title": "Removed RocketChatFile from globals",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12623",
+          "title": "[NEW] New API Endpoints for the new version of JS SDK",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto",
+            "engelgabriel",
+            "web-flow",
+            "rodrigok"
+          ]
+        },
+        {
+          "pr": "12647",
+          "title": "Added imports for global variables in rocketchat-google-natural-language package",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12646",
+          "title": "Convert rocketchat-gitlab to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12644",
+          "title": "Convert rocketchat-file to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12642",
+          "title": "Convert rocketchat-github-enterprise to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12645",
+          "title": "Fix: Add email dependency in package.js",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12561",
+          "title": "[IMPROVE] Add new acceptable header for Livechat REST requests",
+          "userLogin": "renatobecker",
+          "milestone": "0.72.0",
+          "contributors": [
+            "renatobecker"
+          ]
+        },
+        {
+          "pr": "12599",
+          "title": "Convert rocketchat-custom-sounds to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto",
+            "rodrigok",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12641",
+          "title": "Fix crowd error with import of SyncedCron",
+          "userLogin": "rodrigok",
+          "milestone": "0.72.0",
+          "contributors": [
+            "rodrigok"
+          ]
+        },
+        {
+          "pr": "12605",
+          "title": "Convert emoji-emojione to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto",
+            "rodrigok",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12607",
+          "title": "Convert rocketchat-favico to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto",
+            "rodrigok",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12604",
+          "title": " Convert rocketchat-emoji-custom to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto",
+            "rodrigok",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12632",
+          "title": "[FIX] Condition to not render PDF preview",
+          "userLogin": "tassoevan",
+          "milestone": "0.72.0",
+          "contributors": [
+            "tassoevan",
+            "web-flow",
+            "rodrigok"
+          ]
+        },
+        {
+          "pr": "12606",
+          "title": "Convert rocketchat-error-handler to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto",
+            "rodrigok",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12601",
+          "title": "Convert rocketchat-drupal to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto",
+            "rodrigok",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12596",
+          "title": "Convert rocketchat-crowd to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto",
+            "rodrigok",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12603",
+          "title": "Convert rocketchat-emoji to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto",
+            "rodrigok",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12625",
+          "title": "Fix users.setAvatar endpoint tests and logic",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto",
+            "rodrigok",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12616",
+          "title": "[IMPROVE] Atlassian Crowd settings and option to sync user data",
+          "userLogin": "rodrigok",
+          "milestone": "0.72.0",
+          "contributors": [
+            null,
+            "rodrigok",
+            "sampaiodiego",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12583",
+          "title": "[DOCS] Remove Cordova links, include F-Droid download button and few other adjustments",
+          "userLogin": "rafaelks",
+          "contributors": [
+            "rafaelks",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12600",
+          "title": "Convert rocketchat-dolphin to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12594",
+          "title": " Convert rocketchat-channel-settings to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12595",
+          "title": "Convert rocketchat-cors to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12618",
+          "title": "[IMPROVE] CircleCI to use MongoDB 4.0 for testing",
+          "userLogin": "engelgabriel",
+          "milestone": "0.72.0",
+          "contributors": [
+            "engelgabriel",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12614",
+          "title": "[FIX] Admin styles",
+          "userLogin": "engelgabriel",
+          "milestone": "0.72.0",
+          "contributors": [
+            "engelgabriel"
+          ]
+        },
+        {
+          "pr": "12602",
+          "title": "[FIX] Admin styles",
+          "userLogin": "engelgabriel",
+          "milestone": "0.72.0",
+          "contributors": [
+            "engelgabriel"
+          ]
+        },
+        {
+          "pr": "9336",
+          "title": "[FIX] Change registration message when user need to confirm email",
+          "userLogin": "karlprieb",
+          "milestone": "0.72.0",
+          "contributors": [
+            "karlprieb",
+            "tassoevan",
+            "ggazzo",
+            "web-flow",
+            "rodrigok"
+          ]
+        },
+        {
+          "pr": "12570",
+          "title": "[FIX] Import missed file in rocketchat-authorization",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12558",
+          "title": "[FIX] Prevent subscriptions and calls to rooms events that the user is not participating",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12382",
+          "title": "[IMPROVE] Japanese translations",
+          "userLogin": "ura14h",
+          "contributors": [
+            "ura14h",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12525",
+          "title": "[IMPROVE] Add CTRL modifier for keyboard shortcut",
+          "userLogin": "nicolasbock",
+          "milestone": "0.72.0",
+          "contributors": [
+            "nicolasbock"
+          ]
+        },
+        {
+          "pr": "12530",
+          "title": "Convert rocketchat-autotranslate to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto",
+            "rodrigok",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12537",
+          "title": "Convert rocketchat-channel-settings-mail-messages to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12538",
+          "title": "Convert rocketchat-colors to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12532",
+          "title": "Convert rocketchat-cas to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12531",
+          "title": "Convert rocketchat-bot-helpers to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12529",
+          "title": "Convert rocketchat-autolinker to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12523",
+          "title": "Convert rocketchat-authorization to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12547",
+          "title": "[NEW] Setting to configure robots.txt content",
+          "userLogin": "Hudell",
+          "contributors": [
+            "Hudell"
+          ]
+        },
+        {
+          "pr": "12539",
+          "title": "[FIX] Wrong test case for `users.setAvatar` endpoint",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto",
+            "sampaiodiego"
+          ]
+        },
+        {
+          "pr": "12536",
+          "title": "[FIX] Spotlight method being called multiple times",
+          "userLogin": "sampaiodiego",
+          "contributors": [
+            "sampaiodiego"
+          ]
+        },
+        {
+          "pr": "12524",
+          "title": "Fix CSS import order",
+          "userLogin": "sampaiodiego",
+          "contributors": [
+            "sampaiodiego"
+          ]
+        },
+        {
+          "pr": "12518",
+          "title": "[FIX] German translation for for API_EmbedIgnoredHosts label",
+          "userLogin": "mbrodala",
+          "milestone": "0.72.0",
+          "contributors": [
+            "mbrodala"
+          ]
+        },
+        {
+          "pr": "12426",
+          "title": "Remove template for feature requests as issues",
+          "userLogin": "tassoevan",
+          "contributors": [
+            "tassoevan",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12451",
+          "title": "Fix punctuation, spelling, and grammar",
+          "userLogin": "imronras",
+          "milestone": "0.72.0",
+          "contributors": [
+            "imronras",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12522",
+          "title": "[IMPROVE] Ignore non-existent Livechat custom fields on Livechat API",
+          "userLogin": "renatobecker",
+          "milestone": "0.72.0",
+          "contributors": [
+            "renatobecker",
+            "rodrigok",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12507",
+          "title": "[FIX] Handle all events for enter key in message box",
+          "userLogin": "tassoevan",
+          "milestone": "0.72.0",
+          "contributors": [
+            "tassoevan",
+            "rodrigok",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12378",
+          "title": "[NEW] Make Livechat's widget draggable",
+          "userLogin": "tassoevan",
+          "milestone": "0.72.0",
+          "contributors": [
+            "tassoevan"
+          ]
+        },
+        {
+          "pr": "12408",
+          "title": "[FIX] Fix wrong parameter in chat.delete endpoint and add some test cases",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12452",
+          "title": "[IMPROVE] Emoji search on messageBox behaving like emojiPicker's search (#9607)",
+          "userLogin": "vinade",
+          "milestone": "0.72.0",
+          "contributors": [
+            "vinade"
+          ]
+        },
+        {
+          "pr": "12521",
+          "title": "Convert rocketchat-assets to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12510",
+          "title": "Convert rocketchat-api to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "rodrigok",
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12506",
+          "title": "Convert rocketchat-analytics to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "rodrigok",
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12503",
+          "title": "Convert rocketchat-action-links to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "rodrigok",
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12501",
+          "title": "Convert rocketchat-2fa to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "rodrigok",
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12495",
+          "title": "Convert meteor-timesync to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "rodrigok",
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12491",
+          "title": "Convert meteor-autocomplete package to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "rodrigok",
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12486",
+          "title": "Convert meteor-accounts-saml to main module structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "rodrigok",
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12485",
+          "title": "Convert chatpal search package to modular structure",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "rodrigok",
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12467",
+          "title": "Removal of TAPi18n and TAPi18next global variables",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "rodrigok",
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12433",
+          "title": "Removal of Template, Blaze, BlazeLayout, FlowRouter, DDPRateLimiter, Session, UAParser, Promise, Reload and CryptoJS global variables",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "rodrigok",
+            "MarcosSpessatto",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12410",
+          "title": "Removal of Match, check, moment, Tracker and Mongo global variables",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "rodrigok",
+            "MarcosSpessatto",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12377",
+          "title": "Removal of EJSON, Accounts, Email, HTTP, Random, ReactiveDict, ReactiveVar, SHA256 and WebApp global variables",
+          "userLogin": "rodrigok",
+          "milestone": "0.72.0",
+          "contributors": [
+            "rodrigok",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12371",
+          "title": "Removal of Meteor global variable",
+          "userLogin": "rodrigok",
+          "contributors": [
+            "rodrigok",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12468",
+          "title": "[BREAK] Update to Meteor to 1.8",
+          "userLogin": "ggazzo",
+          "contributors": [
+            "ggazzo",
+            "web-flow",
+            "sampaiodiego"
+          ]
+        },
+        {
+          "pr": "12509",
+          "title": "Fix ES translation",
+          "userLogin": "tassoevan",
+          "contributors": [
+            "tassoevan"
+          ]
+        },
+        {
+          "pr": "12487",
+          "title": "[FIX] Email sending with GDPR user data",
+          "userLogin": "sampaiodiego",
+          "contributors": [
+            "sampaiodiego"
+          ]
+        },
+        {
+          "pr": "12471",
+          "title": "[IMPROVE] German translations",
+          "userLogin": "mrsimpson",
+          "contributors": [
+            "mrsimpson",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12470",
+          "title": "LingoHub based on develop",
+          "userLogin": "engelgabriel",
+          "contributors": [
+            "sampaiodiego",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12397",
+          "title": "[FIX] Manage own integrations permissions check",
+          "userLogin": "ggazzo",
+          "milestone": "0.72.0",
+          "contributors": [
+            "ggazzo",
+            "sampaiodiego",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12411",
+          "title": "[FIX] stream room-changed",
+          "userLogin": "ggazzo",
+          "milestone": "0.72.0",
+          "contributors": [
+            "ggazzo",
+            "sampaiodiego"
+          ]
+        },
+        {
+          "pr": "12457",
+          "title": "[FIX] Emoji picker is not in viewport on small screens",
+          "userLogin": "ramrami",
+          "milestone": "0.72.0",
+          "contributors": [
+            "ramrami"
+          ]
+        },
+        {
+          "pr": "12400",
+          "title": "[IMPROVE] Limit the number of typing users shown (#8722)",
+          "userLogin": "vinade",
+          "contributors": [
+            "vinade",
+            "tassoevan",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12406",
+          "title": "[FIX] `Disabled` word translation to Spanish",
+          "userLogin": "Ismaw34",
+          "contributors": [
+            "Ismaw34",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12260",
+          "title": "[FIX] `Disabled` word translation to Chinese",
+          "userLogin": "AndreamApp",
+          "milestone": "0.72.0",
+          "contributors": [
+            "AndreamApp",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12465",
+          "title": "Update npm dependencies",
+          "userLogin": "sampaiodiego",
+          "contributors": [
+            "sampaiodiego"
+          ]
+        },
+        {
+          "pr": "12440",
+          "title": "Fix: Developers not being able to debug root files in VSCode",
+          "userLogin": "mrsimpson",
+          "contributors": [
+            "mrsimpson"
+          ]
+        },
+        {
+          "pr": "12453",
+          "title": "[FIX] Correct roomName value in Mail Messages (#12363)",
+          "userLogin": "vinade",
+          "milestone": "0.72.0",
+          "contributors": [
+            "vinade"
+          ]
+        },
+        {
+          "pr": "12460",
+          "title": "Merge master into develop & Set version to 0.72.0-develop",
+          "userLogin": "sampaiodiego",
+          "contributors": [
+            "sampaiodiego",
+            "web-flow",
+            "Hudell"
+          ]
+        },
+        {
+          "pr": "12499",
+          "title": "Release 0.71.1",
+          "userLogin": "sampaiodiego",
+          "contributors": [
+            "sampaiodiego"
+          ]
+        },
+        {
+          "pr": "12487",
+          "title": "[FIX] Email sending with GDPR user data",
+          "userLogin": "sampaiodiego",
+          "contributors": [
+            "sampaiodiego"
+          ]
+        }
+      ]
+    },
+    "0.72.0-rc.1": {
+      "pull_requests": [
+        {
+          "pr": "12712",
+          "title": "Fix some Ukrainian translations",
+          "userLogin": "zdumitru",
+          "milestone": "0.72.0",
+          "contributors": [
+            "zdumitru",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12713",
+          "title": "[FIX] Update caret position on insert a new line in message box",
+          "userLogin": "tassoevan",
+          "milestone": "0.72.0",
+          "contributors": [
+            "tassoevan"
+          ]
+        },
+        {
+          "pr": "12714",
+          "title": "[IMPROVE] Allow apps to update persistence by association",
+          "userLogin": "marceloschmidt",
+          "contributors": [
+            "marceloschmidt",
+            "rodrigok",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12708",
+          "title": "Improve: Add missing translation keys.",
+          "userLogin": "ura14h",
+          "milestone": "0.72.0",
+          "contributors": [
+            "ura14h",
+            "rodrigok",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12705",
+          "title": "Bump Apps Engine to 1.3.0",
+          "userLogin": "rodrigok",
+          "milestone": "0.72.0",
+          "contributors": [
+            "rodrigok",
+            "web-flow"
+          ]
+        },
+        {
+          "pr": "12699",
+          "title": "Fix: Exception when registering a user with gravatar",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto",
+            "engelgabriel",
+            "web-flow",
+            "rodrigok"
+          ]
+        },
+        {
+          "pr": "12637",
+          "title": "[FIX] DE translation for idle-time-limit",
+          "userLogin": "pfuender",
+          "milestone": "0.72.0",
+          "contributors": [
+            null,
+            "engelgabriel",
+            "web-flow",
+            "pfuender"
+          ]
+        },
+        {
+          "pr": "12707",
+          "title": "Fix: Fix tests by increasing window size",
+          "userLogin": "MarcosSpessatto",
+          "milestone": "0.72.0",
+          "contributors": [
+            "MarcosSpessatto"
+          ]
+        },
+        {
+          "pr": "12680",
+          "title": "[IMPROVE] Add more methods to deal with rooms via Rocket.Chat.Apps",
+          "userLogin": "marceloschmidt",
+          "milestone": "0.72.0",
+          "contributors": [
+            "marceloschmidt"
+          ]
+        },
+        {
+          "pr": "12692",
+          "title": "[IMPROVE] Better query for finding subscriptions that need a new E2E Key",
+          "userLogin": "Hudell",
+          "milestone": "0.72.0",
+          "contributors": [
+            "Hudell"
+          ]
+        }
+      ]
+    },
+    "0.72.0-rc.2": {
+      "pull_requests": [
+        {
+          "pr": "12741",
+          "title": "Update Apps Engine to 1.3.1",
+          "userLogin": "rodrigok",
+          "milestone": "0.72.0",
+          "contributors": [
+            "rodrigok"
+          ]
+        },
+        {
+          "pr": "12736",
+          "title": "Regression: Expand Administration sections by toggling section title",
+          "userLogin": "tassoevan",
+          "milestone": "0.72.0",
+          "contributors": [
+            "tassoevan"
+          ]
+        },
+        {
+          "pr": "12737",
+          "title": "Regression: Fix Safari detection in PDF previewing",
+          "userLogin": "tassoevan",
+          "milestone": "0.72.0",
+          "contributors": [
+            "tassoevan"
+          ]
+        },
+        {
+          "pr": "12735",
+          "title": "Regression: Account pages layout",
+          "userLogin": "tassoevan",
+          "milestone": "0.72.0",
+          "contributors": [
+            "tassoevan"
+          ]
+        },
+        {
+          "pr": "12729",
+          "title": "Regression: Inherit font-family for message box",
+          "userLogin": "tassoevan",
+          "milestone": "0.72.0",
+          "contributors": [
+            "tassoevan"
+          ]
+        }
+      ]
+    },
+    "0.72.0": {
+      "pull_requests": [
+        {
+          "pr": "12499",
+          "title": "Release 0.71.1",
+          "userLogin": "sampaiodiego",
+          "contributors": [
+            "sampaiodiego"
+          ]
+        },
         {
           "pr": "12487",
           "title": "[FIX] Email sending with GDPR user data",
diff --git a/.meteor/packages b/.meteor/packages
index 53c2c67aaf88d28e612a1cbc7196bb3cddcfada5..32f6caec5229e49a59576c71ce67060327109506 100644
--- a/.meteor/packages
+++ b/.meteor/packages
@@ -5,38 +5,38 @@
 
 rocketchat:cors
 
-accounts-facebook@1.3.1
-accounts-github@1.4.1
-accounts-google@1.3.1
-accounts-meteor-developer@1.4.1
-accounts-password@1.5.0
-accounts-twitter@1.4.1
+accounts-facebook@1.3.2
+accounts-github@1.4.2
+accounts-google@1.3.2
+accounts-meteor-developer@1.4.2
+accounts-password@1.5.1
+accounts-twitter@1.4.2
 blaze-html-templates
-check@1.3.0
+check@1.3.1
 ddp-rate-limiter@1.0.7
 ddp-common@1.4.0
-dynamic-import@0.3.0
-ecmascript@0.10.6
+dynamic-import@0.5.0
+ecmascript@0.12.0
 ejson@1.1.0
 email@1.2.3
 fastclick@1.0.13
-http@1.4.0
+http@1.4.1
 jquery@1.11.10
-logging@1.1.19
-meteor-base@1.3.0
+logging@1.1.20
+meteor-base@1.4.0
 mobile-experience@1.0.5
-mongo@1.4.2
+mongo@1.6.0
 random@1.1.0
-rate-limit@1.0.8
-reactive-dict@1.2.0
+rate-limit@1.0.9
+reactive-dict@1.2.1
 reactive-var@1.0.11
 reload@1.2.0
 service-configuration@1.0.11
-session@1.1.7
-shell-server@0.3.1
+session@1.1.8
+shell-server@0.4.0
 spacebars
-standard-minifier-js@2.3.1
-tracker@1.1.3
+standard-minifier-js@2.4.0
+tracker@1.2.0
 
 rocketchat:2fa
 rocketchat:action-links
@@ -108,7 +108,6 @@ rocketchat:monitoring
 rocketchat:oauth2-server-config
 rocketchat:oembed
 rocketchat:otr
-rocketchat:postcss
 rocketchat:push-notifications
 rocketchat:reactions
 rocketchat:retention-policy
@@ -183,7 +182,6 @@ nimble:restivus
 nooitaf:colors
 ostrio:cookies
 pauli:accounts-linkedin
-percolate:synced-cron
 raix:handlebar-helpers
 rocketchat:push
 raix:ui-dropped-event
@@ -199,6 +197,8 @@ rocketchat:search
 chatpal:search
 rocketchat:lazy-load
 tap:i18n
-underscore
+underscore@1.0.10
 rocketchat:bigbluebutton
 rocketchat:mailmessages
+juliancwirko:postcss
+littledata:synced-cron
diff --git a/.meteor/platforms b/.meteor/platforms
index 81ae7012de9ed1a8462ac18018a7c94b3820ccda..8a3a35f9f6279bd7d2c8e9eb3836224684108ecc 100644
--- a/.meteor/platforms
+++ b/.meteor/platforms
@@ -1,3 +1,2 @@
 browser
-ios
 server
diff --git a/.meteor/release b/.meteor/release
index 8fed0e8ee8746bc29dc6d46c018d611841e21cbb..e76dedee10d021202d95d0e839caed66a8b94a9e 100644
--- a/.meteor/release
+++ b/.meteor/release
@@ -1 +1 @@
-METEOR@1.6.1.3
+METEOR@1.8
diff --git a/.meteor/versions b/.meteor/versions
index 1c959d536b68a4d6d5dbf7ced5ce8905b2d1fa1d..1117dea6c248af4173c7f62eff9604c174df91db 100644
--- a/.meteor/versions
+++ b/.meteor/versions
@@ -1,24 +1,24 @@
-accounts-base@1.4.2
-accounts-facebook@1.3.1
-accounts-github@1.4.1
-accounts-google@1.3.1
-accounts-meteor-developer@1.4.1
-accounts-oauth@1.1.15
+accounts-base@1.4.3
+accounts-facebook@1.3.2
+accounts-github@1.4.2
+accounts-google@1.3.2
+accounts-meteor-developer@1.4.2
+accounts-oauth@1.1.16
 accounts-password@1.5.1
-accounts-twitter@1.4.1
+accounts-twitter@1.4.2
 aldeed:simple-schema@1.5.4
 allow-deny@1.1.0
-autoupdate@1.4.0
-babel-compiler@7.0.9
-babel-runtime@1.2.2
+autoupdate@1.5.0
+babel-compiler@7.2.1
+babel-runtime@1.3.0
 base64@1.0.11
-binary-heap@1.0.10
-blaze@2.3.2
+binary-heap@1.0.11
+blaze@2.3.3
 blaze-html-templates@1.1.2
 blaze-tools@1.0.10
-boilerplate-generator@1.4.0
-caching-compiler@1.1.12
-caching-html-compiler@1.1.2
+boilerplate-generator@1.6.0
+caching-compiler@1.2.0
+caching-html-compiler@1.1.3
 callback-hook@1.1.0
 cfs:http-methods@0.0.32
 chatpal:search@0.0.1
@@ -26,35 +26,37 @@ check@1.3.1
 coffeescript@1.0.17
 dandv:caret-position@2.1.1
 ddp@1.4.0
-ddp-client@2.3.2
+ddp-client@2.3.3
 ddp-common@1.4.0
 ddp-rate-limiter@1.0.7
-ddp-server@2.1.2
+ddp-server@2.2.0
 deepwell:bootstrap-datepicker2@1.3.0
 deps@1.0.12
 diff-sequence@1.1.0
 dispatch:run-as-user@1.1.1
-dynamic-import@0.3.0
-ecmascript@0.10.9
-ecmascript-runtime@0.5.0
-ecmascript-runtime-client@0.6.2
-ecmascript-runtime-server@0.5.0
+dynamic-import@0.5.0
+ecmascript@0.12.1
+ecmascript-runtime@0.7.0
+ecmascript-runtime-client@0.8.0
+ecmascript-runtime-server@0.7.1
 edgee:slingshot@0.7.1
 ejson@1.1.0
 email@1.2.3
 emojione:emojione@2.2.6
-es5-shim@4.7.3
-facebook-oauth@1.4.1
+es5-shim@4.8.0
+facebook-oauth@1.5.0
 fastclick@1.0.13
+fetch@0.1.0
 francocatena:status@1.5.3
 geojson-utils@1.0.10
-github-oauth@1.2.0
-google-oauth@1.2.5
+github-oauth@1.2.2
+google-oauth@1.2.6
 hot-code-push@1.0.4
 html-tools@1.0.11
 htmljs@1.0.11
 http@1.4.1
 id-map@1.1.0
+inter-process-messaging@0.1.0
 jalik:ufs@0.7.5
 jalik:ufs-gridfs@0.2.1
 jalik:ufs-local@0.2.9
@@ -62,6 +64,7 @@ jparker:crypto-core@0.1.0
 jparker:crypto-md5@0.1.1
 jparker:gravatar@0.5.1
 jquery@1.11.11
+juliancwirko:postcss@2.0.3
 kadira:blaze-layout@2.3.0
 kadira:flow-router@2.12.1
 keepnox:perfect-scrollbar@0.6.8
@@ -72,28 +75,31 @@ konecty:mongo-counter@0.0.5_3
 konecty:multiple-instances-status@1.1.0
 konecty:user-presence@2.2.0
 launch-screen@1.1.1
-less@2.7.12
+less@2.8.0
+littledata:synced-cron@1.5.1
 livedata@1.0.18
 localstorage@1.2.0
 logging@1.1.20
 matb33:collection-hooks@0.8.4
 mdg:validation-error@0.5.1
-meteor@1.8.6
-meteor-base@1.3.0
-meteor-developer-oauth@1.2.0
+meteor@1.9.2
+meteor-base@1.4.0
+meteor-developer-oauth@1.2.1
 meteorhacks:inject-initial@1.0.4
 meteorhacks:meteorx@1.4.1
 meteorspark:util@0.2.0
-minifier-css@1.3.1
-minifier-js@2.3.5
-minimongo@1.4.4
+minifier-css@1.4.0
+minifier-js@2.4.0
+minimongo@1.4.5
 mizzao:autocomplete@0.5.1
 mizzao:timesync@0.3.4
 mobile-experience@1.0.5
 mobile-status-bar@1.0.14
-modules@0.11.8
-modules-runtime@0.9.2
-mongo@1.4.7
+modern-browsers@0.1.2
+modules@0.13.0
+modules-runtime@0.10.3
+mongo@1.6.0
+mongo-decimal@0.1.0
 mongo-dev-server@1.1.0
 mongo-id@1.0.7
 mongo-livedata@1.0.12
@@ -102,24 +108,23 @@ mystor:device-detection@0.2.0
 nimble:restivus@0.8.12
 nooitaf:colors@1.1.2_1
 npm-bcrypt@0.9.3
-npm-mongo@2.2.34
-oauth@1.2.3
-oauth1@1.2.0
-oauth2@1.2.0
+npm-mongo@3.1.1
+oauth@1.2.5
+oauth1@1.2.1
+oauth2@1.2.1
 observe-sequence@1.0.16
 ordered-dict@1.1.0
-ostrio:cookies@2.2.4
+ostrio:cookies@2.3.0
 pauli:accounts-linkedin@2.1.5
 pauli:linkedin-oauth@1.2.0
-percolate:synced-cron@1.3.2
-promise@0.10.2
+promise@0.11.1
 raix:eventemitter@0.1.3
 raix:eventstate@0.0.4
 raix:handlebar-helpers@0.2.5
 raix:ui-dropped-event@0.0.7
 random@1.1.0
 rate-limit@1.0.9
-reactive-dict@1.2.0
+reactive-dict@1.2.1
 reactive-var@1.0.11
 reload@1.2.0
 retry@1.1.0
@@ -202,7 +207,6 @@ rocketchat:oauth2-server@2.0.0
 rocketchat:oauth2-server-config@1.0.0
 rocketchat:oembed@0.0.1
 rocketchat:otr@0.0.1
-rocketchat:postcss@1.0.0
 rocketchat:push@3.3.1
 rocketchat:push-notifications@0.0.1
 rocketchat:reactions@0.0.1
@@ -232,7 +236,7 @@ rocketchat:smarsh-connector@0.0.1
 rocketchat:sms@0.0.1
 rocketchat:spotify@0.0.1
 rocketchat:statistics@0.0.1
-rocketchat:streamer@0.6.2
+rocketchat:streamer@1.0.1
 rocketchat:theme@0.0.1
 rocketchat:tokenpass@0.0.1
 rocketchat:tooltip@0.0.1
@@ -254,19 +258,17 @@ rocketchat:videobridge@0.2.0
 rocketchat:webdav@0.0.1
 rocketchat:webrtc@0.0.1
 rocketchat:wordpress@0.0.1
-routepolicy@1.0.13
-server-render@0.3.1
+routepolicy@1.1.0
 service-configuration@1.0.11
-session@1.1.7
+session@1.1.8
 sha@1.0.9
-shell-server@0.3.1
-shim-common@0.1.0
+shell-server@0.4.0
 simple:json-routes@2.1.0
-socket-stream-client@0.1.0
+socket-stream-client@0.2.2
 spacebars@1.0.15
 spacebars-compiler@1.1.3
-srp@1.0.10
-standard-minifier-js@2.3.4
+srp@1.0.12
+standard-minifier-js@2.4.0
 steffo:meteor-accounts-saml@0.0.1
 swydo:graphql@0.4.0
 tap:i18n@1.8.2
@@ -274,13 +276,14 @@ templating@1.3.2
 templating-compiler@1.3.3
 templating-runtime@1.3.2
 templating-tools@1.1.2
+tmeasday:check-npm-versions@0.3.2
 todda00:friendly-slugs@0.6.0
-tracker@1.1.3
+tracker@1.2.0
 twitter-oauth@1.2.0
 ui@1.0.13
 underscore@1.0.10
 url@1.2.0
-webapp@1.5.0
+webapp@1.7.0
 webapp-hashing@1.0.9
 yasaricli:slugify@0.0.7
 yasinuslu:blaze-meta@0.3.3
diff --git a/.postcssrc b/.postcssrc
index f0e4aa4b697e79a037ce17b1569ea073f749aa6b..3816f7d2c9fa201b6d5c8264f20d6e3983a3664c 100644
--- a/.postcssrc
+++ b/.postcssrc
@@ -1,6 +1,6 @@
 {
 	"plugins": {
-		"postcss-import": {},
+		"postcss-easy-import": {},
 		"postcss-custom-properties": {
 			"preserve": true
 		},
@@ -9,18 +9,12 @@
 		"postcss-nested": {},
 		"autoprefixer": {
 			"browsers": [
-				"ie > 10",
-				"last 2 Edge versions",
-				"last 2 Firefox versions",
-				"last 1 FirefoxAndroid versions",
-				"last 2 Chrome versions",
-				"last 1 ChromeAndroid versions",
-				"Safari > 7",
-				"last 2 Opera versions",
-				"last 2 iOS versions",
-				"last 1 Android version"
+				"last 2 versions"
 			]
 		}
 	},
-	"excludedPackages": ["deepwell:bootstrap-datepicker2", "smoral:sweetalert"]
+	"excludedPackages": [
+		"deepwell:bootstrap-datepicker2",
+		"smoral:sweetalert"
+	]
 }
diff --git a/.sandstorm/sandstorm-pkgdef.capnp b/.sandstorm/sandstorm-pkgdef.capnp
index 83bb35b7294a0b96c8d9efcca02dc4854139d45f..690c86caa9e9ad03d6e9ac9db4edc1e22b693e1c 100644
--- a/.sandstorm/sandstorm-pkgdef.capnp
+++ b/.sandstorm/sandstorm-pkgdef.capnp
@@ -19,9 +19,9 @@ const pkgdef :Spk.PackageDefinition = (
 
 		appTitle = (defaultText = "Rocket.Chat"),
 
-		appVersion = 112,  # Increment this for every release.
+		appVersion = 116,  # Increment this for every release.
 
-		appMarketingVersion = (defaultText = "0.71.1"),
+		appMarketingVersion = (defaultText = "0.72.0"),
 		# Human-readable representation of appVersion. Should match the way you
 		# identify versions of your app in documentation and marketing.
 
diff --git a/.scripts/translationDiff.js b/.scripts/translationDiff.js
new file mode 100644
index 0000000000000000000000000000000000000000..f3ef783c8ac5955e3d18d479445e0edb44330f9f
--- /dev/null
+++ b/.scripts/translationDiff.js
@@ -0,0 +1,38 @@
+#!/usr/bin/env node
+
+const path = require('path');
+const fs = require('fs');
+const util = require('util');
+
+// Convert fs.readFile into Promise version of same
+const readFile = util.promisify(fs.readFile);
+
+const translationDir = path.resolve(__dirname, '../packages/rocketchat-i18n/i18n/');
+
+async function translationDiff(source, target) {
+	console.debug('loading translations from', translationDir);
+
+	function diffKeys(a, b) {
+		const diff = {};
+		Object.keys(a).forEach((key) => {
+			if (!b[key]) {
+				diff[key] = a[key];
+			}
+		});
+
+		return diff;
+	}
+
+	const sourceTranslations = JSON.parse(await readFile(`${ translationDir }/${ source }.i18n.json`, 'utf8'));
+	const targetTranslations = JSON.parse(await readFile(`${ translationDir }/${ target }.i18n.json`, 'utf8'));
+
+	return diffKeys(sourceTranslations, targetTranslations);
+}
+
+console.log('Note: You can set the source and target language of the comparison with env-variables SOURCE/TARGET_LANGUAGE');
+const sourceLang = process.env.SOURCE_LANGUAGE || 'en';
+const targetLang = process.env.TARGET_LANGUAGE || 'de';
+translationDiff(sourceLang, targetLang).then((diff) => {
+	console.log('Diff between', sourceLang, 'and', targetLang);
+	console.log(JSON.stringify(diff, '', 2));
+});
diff --git a/.stylelintignore b/.stylelintignore
index 8e94b289684f497f254db6d7bd54ea32a5daa9e3..88092312fb9306ebc3486f29a9e53ce99f7a1bf3 100644
--- a/.stylelintignore
+++ b/.stylelintignore
@@ -1,2 +1,2 @@
-packages/rocketchat-theme/client/vendor/fontello/css/fontello.css
+packages/rocketchat_theme/client/vendor/fontello/css/fontello.css
 packages/meteor-autocomplete/client/autocomplete.css
diff --git a/.travis/snap.sh b/.travis/snap.sh
index 2005bc709434a5721eada6e570fd181499b57314..d0e9e59b3c5dfe7424f7c0f278a585d35b04136b 100755
--- a/.travis/snap.sh
+++ b/.travis/snap.sh
@@ -17,7 +17,7 @@ elif [[ $TRAVIS_TAG ]]; then
     RC_VERSION=$TRAVIS_TAG
 else
     CHANNEL=edge
-    RC_VERSION=0.71.1
+    RC_VERSION=0.72.0
 fi
 
 echo "Preparing to trigger a snap release for $CHANNEL channel"
diff --git a/.vscode/launch.json b/.vscode/launch.json
index 05ddc20b97958b5ca88488a5aee5538501cc84fb..465d780a4a590c22a93e588914b3e61aec18933e 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -10,7 +10,9 @@
 			"restart": false,
 			"sourceMaps": true,
 			"sourceMapPathOverrides": {
-				"meteor://💻app/packages/rocketchat:*": "${workspaceFolder}/packages/rocketchat-*"
+				"meteor://💻app/*": "${workspaceFolder}/*",
+				"meteor://💻app/packages/rocketchat:*": "${workspaceFolder}/packages/rocketchat-*",
+				"meteor://💻app/packages/chatpal:*": "${workspaceFolder}/packages/chatpal-*",
 			},
 			"protocol": "inspector"
 		},
@@ -21,7 +23,9 @@
 			"url": "http://localhost:3000",
 			"webRoot": "${workspaceFolder}",
 			"sourceMapPathOverrides": {
-				"meteor://💻app/packages/rocketchat:*": "${workspaceFolder}/packages/rocketchat-*"
+				"meteor://💻app/*": "${workspaceFolder}/*",
+				"meteor://💻app/packages/rocketchat:*": "${workspaceFolder}/packages/rocketchat-*",
+				"meteor://💻app/packages/chatpal:*": "${workspaceFolder}/packages/chatpal-*",
 			}
 		},
 		{
@@ -36,7 +40,9 @@
 			"port": 9229,
 			"timeout": 300000, //Rocket.Chat really takes some time to startup, so play it safe
 			"sourceMapPathOverrides": {
-				"meteor://💻app/packages/rocketchat:*": "${workspaceFolder}/packages/rocketchat-*"
+				"meteor://💻app/*": "${workspaceFolder}/*",
+				"meteor://💻app/packages/rocketchat:*": "${workspaceFolder}/packages/rocketchat-*",
+				"meteor://💻app/packages/chatpal:*": "${workspaceFolder}/packages/chatpal-*",
 			},
 			"protocol": "inspector"
 		},
@@ -52,7 +58,9 @@
 			"port": 9229,
 			"timeout": 300000, //Rocket.Chat really takes some time to startup, so play it safe
 			"sourceMapPathOverrides": {
-				"meteor://💻app/packages/rocketchat:*": "${workspaceFolder}/packages/rocketchat-*"
+				"meteor://💻app/*": "${workspaceFolder}/*",
+				"meteor://💻app/packages/rocketchat:*": "${workspaceFolder}/packages/rocketchat-*",
+				"meteor://💻app/packages/chatpal:*": "${workspaceFolder}/packages/chatpal-*",
 			},
 			"protocol": "inspector"
 		},
@@ -68,7 +76,9 @@
 			"port": 9229,
 			"timeout": 300000, //Rocket.Chat really takes some time to startup, so play it safe
 			"sourceMapPathOverrides": {
-				"meteor://💻app/packages/rocketchat:*": "${workspaceFolder}/packages/rocketchat-*"
+				"meteor://💻app/*": "${workspaceFolder}/*",
+				"meteor://💻app/packages/rocketchat:*": "${workspaceFolder}/packages/rocketchat-*",
+				"meteor://💻app/packages/chatpal:*": "${workspaceFolder}/packages/chatpal-*",
 			},
 			"env": {
 				"TEST_MODE": "true"
diff --git a/HISTORY.md b/HISTORY.md
index d99a6496e9a4f4f9085ab0cd10c02b30767bcffb..26a2996f3a710cbdacf978e6fdd815c2b7a8e73c 100644
--- a/HISTORY.md
+++ b/HISTORY.md
@@ -1,6 +1,182 @@
 
+# 0.72.0
+`2018-11-27  ·  1 ️️️⚠️  ·  6 🎉  ·  16 🚀  ·  22 🐛  ·  79 🔍  ·  25 👩‍💻👨‍💻`
+
+### ⚠️ BREAKING CHANGES
+
+- Update to Meteor to 1.8 ([#12468](https://github.com/RocketChat/Rocket.Chat/pull/12468))
+
+### 🎉 New features
+
+- Add permission to enable personal access token to specific roles ([#12309](https://github.com/RocketChat/Rocket.Chat/pull/12309))
+- Option to reset e2e key ([#12483](https://github.com/RocketChat/Rocket.Chat/pull/12483))
+- /api/v1/spotlight: return joinCodeRequired field for rooms ([#12651](https://github.com/RocketChat/Rocket.Chat/pull/12651))
+- New API Endpoints for the new version of JS SDK ([#12623](https://github.com/RocketChat/Rocket.Chat/pull/12623))
+- Setting to configure robots.txt content ([#12547](https://github.com/RocketChat/Rocket.Chat/pull/12547))
+- Make Livechat's widget draggable ([#12378](https://github.com/RocketChat/Rocket.Chat/pull/12378))
+
+### 🚀 Improvements
+
+- Improve unreads and unreadsFrom response, prevent it to be equal null ([#12563](https://github.com/RocketChat/Rocket.Chat/pull/12563))
+- Add rooms property in user object, if the user has the permission, with rooms roles ([#12105](https://github.com/RocketChat/Rocket.Chat/pull/12105))
+- border-radius to use --border-radius ([#12675](https://github.com/RocketChat/Rocket.Chat/pull/12675))
+- Update the 'keyboard shortcuts' documentation ([#12564](https://github.com/RocketChat/Rocket.Chat/pull/12564) by [@nicolasbock](https://github.com/nicolasbock))
+- Add new acceptable header for Livechat REST requests ([#12561](https://github.com/RocketChat/Rocket.Chat/pull/12561))
+- Atlassian Crowd settings and option to sync user data ([#12616](https://github.com/RocketChat/Rocket.Chat/pull/12616))
+- CircleCI to use MongoDB 4.0 for testing ([#12618](https://github.com/RocketChat/Rocket.Chat/pull/12618))
+- Japanese translations ([#12382](https://github.com/RocketChat/Rocket.Chat/pull/12382) by [@ura14h](https://github.com/ura14h))
+- Add CTRL modifier for keyboard shortcut ([#12525](https://github.com/RocketChat/Rocket.Chat/pull/12525) by [@nicolasbock](https://github.com/nicolasbock))
+- Ignore non-existent Livechat custom fields on Livechat API ([#12522](https://github.com/RocketChat/Rocket.Chat/pull/12522))
+- Emoji search on messageBox behaving like emojiPicker's search (#9607) ([#12452](https://github.com/RocketChat/Rocket.Chat/pull/12452) by [@vinade](https://github.com/vinade))
+- German translations ([#12471](https://github.com/RocketChat/Rocket.Chat/pull/12471))
+- Limit the number of typing users shown (#8722) ([#12400](https://github.com/RocketChat/Rocket.Chat/pull/12400) by [@vinade](https://github.com/vinade))
+- Allow apps to update persistence by association ([#12714](https://github.com/RocketChat/Rocket.Chat/pull/12714))
+- Add more methods to deal with rooms via Rocket.Chat.Apps ([#12680](https://github.com/RocketChat/Rocket.Chat/pull/12680))
+- Better query for finding subscriptions that need a new E2E Key ([#12692](https://github.com/RocketChat/Rocket.Chat/pull/12692))
+
+### 🐛 Bug fixes
+
+- Fixed Anonymous Registration ([#12633](https://github.com/RocketChat/Rocket.Chat/pull/12633) by [@wreiske](https://github.com/wreiske))
+- high cpu usage ~ svg icon ([#12677](https://github.com/RocketChat/Rocket.Chat/pull/12677) by [@ph1p](https://github.com/ph1p))
+- Fix favico error ([#12643](https://github.com/RocketChat/Rocket.Chat/pull/12643))
+- Condition to not render PDF preview ([#12632](https://github.com/RocketChat/Rocket.Chat/pull/12632))
+- Admin styles ([#12614](https://github.com/RocketChat/Rocket.Chat/pull/12614))
+- Admin styles ([#12602](https://github.com/RocketChat/Rocket.Chat/pull/12602))
+- Change registration message when user need to confirm email ([#9336](https://github.com/RocketChat/Rocket.Chat/pull/9336) by [@karlprieb](https://github.com/karlprieb))
+- Import missed file in rocketchat-authorization ([#12570](https://github.com/RocketChat/Rocket.Chat/pull/12570))
+- Prevent subscriptions and calls to rooms events that the user is not participating ([#12558](https://github.com/RocketChat/Rocket.Chat/pull/12558))
+- Wrong test case for `users.setAvatar` endpoint ([#12539](https://github.com/RocketChat/Rocket.Chat/pull/12539))
+- Spotlight method being called multiple times ([#12536](https://github.com/RocketChat/Rocket.Chat/pull/12536))
+- German translation for for API_EmbedIgnoredHosts label ([#12518](https://github.com/RocketChat/Rocket.Chat/pull/12518) by [@mbrodala](https://github.com/mbrodala))
+- Handle all events for enter key in message box ([#12507](https://github.com/RocketChat/Rocket.Chat/pull/12507))
+- Fix wrong parameter in chat.delete endpoint and add some test cases ([#12408](https://github.com/RocketChat/Rocket.Chat/pull/12408))
+- Manage own integrations permissions check ([#12397](https://github.com/RocketChat/Rocket.Chat/pull/12397))
+- stream room-changed ([#12411](https://github.com/RocketChat/Rocket.Chat/pull/12411))
+- Emoji picker is not in viewport on small screens ([#12457](https://github.com/RocketChat/Rocket.Chat/pull/12457) by [@ramrami](https://github.com/ramrami))
+- `Disabled` word translation to Spanish ([#12406](https://github.com/RocketChat/Rocket.Chat/pull/12406) by [@Ismaw34](https://github.com/Ismaw34))
+- `Disabled` word translation to Chinese ([#12260](https://github.com/RocketChat/Rocket.Chat/pull/12260) by [@AndreamApp](https://github.com/AndreamApp))
+- Correct roomName value in Mail Messages (#12363) ([#12453](https://github.com/RocketChat/Rocket.Chat/pull/12453) by [@vinade](https://github.com/vinade))
+- Update caret position on insert a new line in message box ([#12713](https://github.com/RocketChat/Rocket.Chat/pull/12713))
+- DE translation for idle-time-limit ([#12637](https://github.com/RocketChat/Rocket.Chat/pull/12637) by [@pfuender](https://github.com/pfuender))
+
+<details>
+<summary>🔍 Minor changes</summary>
+
+- LingoHub based on develop ([#12684](https://github.com/RocketChat/Rocket.Chat/pull/12684))
+- Convert rocketchat-mail-messages to main module structure ([#12682](https://github.com/RocketChat/Rocket.Chat/pull/12682))
+-  Convert rocketchat-livestream to main module structure ([#12679](https://github.com/RocketChat/Rocket.Chat/pull/12679))
+- Added "npm install" to quick start for developers ([#12374](https://github.com/RocketChat/Rocket.Chat/pull/12374) by [@wreiske](https://github.com/wreiske))
+- Convert rocketchat-ldap to main module structure ([#12678](https://github.com/RocketChat/Rocket.Chat/pull/12678))
+- Convert rocketchat-issuelinks to main module structure ([#12674](https://github.com/RocketChat/Rocket.Chat/pull/12674))
+- Convert rocketchat-integrations to main module structure ([#12670](https://github.com/RocketChat/Rocket.Chat/pull/12670))
+- Convert rocketchat-irc to main module structure ([#12672](https://github.com/RocketChat/Rocket.Chat/pull/12672))
+- Convert rocketchat-internal-hubot to main module structure ([#12671](https://github.com/RocketChat/Rocket.Chat/pull/12671))
+- Convert rocketchat-importer-hipchat-enterprise to main module structure ([#12665](https://github.com/RocketChat/Rocket.Chat/pull/12665))
+- Convert rocketchat-importer-slack-users to main module structure ([#12669](https://github.com/RocketChat/Rocket.Chat/pull/12669))
+-  Convert rocketchat-importer-slack to main module structure ([#12666](https://github.com/RocketChat/Rocket.Chat/pull/12666))
+- Convert rocketchat-iframe-login to main module structure ([#12661](https://github.com/RocketChat/Rocket.Chat/pull/12661))
+- Convert rocketchat-importer to main module structure ([#12662](https://github.com/RocketChat/Rocket.Chat/pull/12662))
+- Convert rocketchat-importer-csv to main module structure ([#12663](https://github.com/RocketChat/Rocket.Chat/pull/12663))
+- Convert rocketchat-importer-hipchat to main module structure ([#12664](https://github.com/RocketChat/Rocket.Chat/pull/12664))
+- Convert rocketchat-highlight-words to main module structure ([#12659](https://github.com/RocketChat/Rocket.Chat/pull/12659))
+- Convert rocketchat-grant to main module structure ([#12657](https://github.com/RocketChat/Rocket.Chat/pull/12657))
+- Convert rocketchat-graphql to main module structure ([#12658](https://github.com/RocketChat/Rocket.Chat/pull/12658))
+- Convert rocketchat-google-vision to main module structure ([#12649](https://github.com/RocketChat/Rocket.Chat/pull/12649))
+- Removed RocketChatFile from globals ([#12650](https://github.com/RocketChat/Rocket.Chat/pull/12650))
+- Added imports for global variables in rocketchat-google-natural-language package ([#12647](https://github.com/RocketChat/Rocket.Chat/pull/12647))
+- Convert rocketchat-gitlab to main module structure ([#12646](https://github.com/RocketChat/Rocket.Chat/pull/12646))
+- Convert rocketchat-file to main module structure ([#12644](https://github.com/RocketChat/Rocket.Chat/pull/12644))
+- Convert rocketchat-github-enterprise to main module structure ([#12642](https://github.com/RocketChat/Rocket.Chat/pull/12642))
+- Fix: Add email dependency in package.js ([#12645](https://github.com/RocketChat/Rocket.Chat/pull/12645))
+- Convert rocketchat-custom-sounds to main module structure ([#12599](https://github.com/RocketChat/Rocket.Chat/pull/12599))
+- Fix crowd error with import of SyncedCron ([#12641](https://github.com/RocketChat/Rocket.Chat/pull/12641))
+- Convert emoji-emojione to main module structure ([#12605](https://github.com/RocketChat/Rocket.Chat/pull/12605))
+- Convert rocketchat-favico to main module structure ([#12607](https://github.com/RocketChat/Rocket.Chat/pull/12607))
+-  Convert rocketchat-emoji-custom to main module structure ([#12604](https://github.com/RocketChat/Rocket.Chat/pull/12604))
+- Convert rocketchat-error-handler to main module structure ([#12606](https://github.com/RocketChat/Rocket.Chat/pull/12606))
+- Convert rocketchat-drupal to main module structure ([#12601](https://github.com/RocketChat/Rocket.Chat/pull/12601))
+- Convert rocketchat-crowd to main module structure ([#12596](https://github.com/RocketChat/Rocket.Chat/pull/12596))
+- Convert rocketchat-emoji to main module structure ([#12603](https://github.com/RocketChat/Rocket.Chat/pull/12603))
+- Fix users.setAvatar endpoint tests and logic ([#12625](https://github.com/RocketChat/Rocket.Chat/pull/12625))
+- [DOCS] Remove Cordova links, include F-Droid download button and few other adjustments ([#12583](https://github.com/RocketChat/Rocket.Chat/pull/12583))
+- Convert rocketchat-dolphin to main module structure ([#12600](https://github.com/RocketChat/Rocket.Chat/pull/12600))
+-  Convert rocketchat-channel-settings to main module structure ([#12594](https://github.com/RocketChat/Rocket.Chat/pull/12594))
+- Convert rocketchat-cors to main module structure ([#12595](https://github.com/RocketChat/Rocket.Chat/pull/12595))
+- Convert rocketchat-autotranslate to main module structure ([#12530](https://github.com/RocketChat/Rocket.Chat/pull/12530))
+- Convert rocketchat-channel-settings-mail-messages to main module structure ([#12537](https://github.com/RocketChat/Rocket.Chat/pull/12537))
+- Convert rocketchat-colors to main module structure ([#12538](https://github.com/RocketChat/Rocket.Chat/pull/12538))
+- Convert rocketchat-cas to main module structure ([#12532](https://github.com/RocketChat/Rocket.Chat/pull/12532))
+- Convert rocketchat-bot-helpers to main module structure ([#12531](https://github.com/RocketChat/Rocket.Chat/pull/12531))
+- Convert rocketchat-autolinker to main module structure ([#12529](https://github.com/RocketChat/Rocket.Chat/pull/12529))
+- Convert rocketchat-authorization to main module structure ([#12523](https://github.com/RocketChat/Rocket.Chat/pull/12523))
+- Fix CSS import order ([#12524](https://github.com/RocketChat/Rocket.Chat/pull/12524))
+- Remove template for feature requests as issues ([#12426](https://github.com/RocketChat/Rocket.Chat/pull/12426))
+- Fix punctuation, spelling, and grammar ([#12451](https://github.com/RocketChat/Rocket.Chat/pull/12451) by [@imronras](https://github.com/imronras))
+- Convert rocketchat-assets to main module structure ([#12521](https://github.com/RocketChat/Rocket.Chat/pull/12521))
+- Convert rocketchat-api to main module structure ([#12510](https://github.com/RocketChat/Rocket.Chat/pull/12510))
+- Convert rocketchat-analytics to main module structure ([#12506](https://github.com/RocketChat/Rocket.Chat/pull/12506))
+- Convert rocketchat-action-links to main module structure ([#12503](https://github.com/RocketChat/Rocket.Chat/pull/12503))
+- Convert rocketchat-2fa to main module structure ([#12501](https://github.com/RocketChat/Rocket.Chat/pull/12501))
+- Convert meteor-timesync to main module structure ([#12495](https://github.com/RocketChat/Rocket.Chat/pull/12495))
+- Convert meteor-autocomplete package to main module structure ([#12491](https://github.com/RocketChat/Rocket.Chat/pull/12491))
+- Convert meteor-accounts-saml to main module structure ([#12486](https://github.com/RocketChat/Rocket.Chat/pull/12486))
+- Convert chatpal search package to modular structure ([#12485](https://github.com/RocketChat/Rocket.Chat/pull/12485))
+- Removal of TAPi18n and TAPi18next global variables ([#12467](https://github.com/RocketChat/Rocket.Chat/pull/12467))
+- Removal of Template, Blaze, BlazeLayout, FlowRouter, DDPRateLimiter, Session, UAParser, Promise, Reload and CryptoJS global variables ([#12433](https://github.com/RocketChat/Rocket.Chat/pull/12433))
+- Removal of Match, check, moment, Tracker and Mongo global variables ([#12410](https://github.com/RocketChat/Rocket.Chat/pull/12410))
+- Removal of EJSON, Accounts, Email, HTTP, Random, ReactiveDict, ReactiveVar, SHA256 and WebApp global variables ([#12377](https://github.com/RocketChat/Rocket.Chat/pull/12377))
+- Removal of Meteor global variable ([#12371](https://github.com/RocketChat/Rocket.Chat/pull/12371))
+- Fix ES translation ([#12509](https://github.com/RocketChat/Rocket.Chat/pull/12509))
+- LingoHub based on develop ([#12470](https://github.com/RocketChat/Rocket.Chat/pull/12470))
+- Update npm dependencies ([#12465](https://github.com/RocketChat/Rocket.Chat/pull/12465))
+- Fix: Developers not being able to debug root files in VSCode ([#12440](https://github.com/RocketChat/Rocket.Chat/pull/12440))
+- Merge master into develop & Set version to 0.72.0-develop ([#12460](https://github.com/RocketChat/Rocket.Chat/pull/12460))
+- Fix some Ukrainian translations ([#12712](https://github.com/RocketChat/Rocket.Chat/pull/12712) by [@zdumitru](https://github.com/zdumitru))
+- Improve: Add missing translation keys. ([#12708](https://github.com/RocketChat/Rocket.Chat/pull/12708) by [@ura14h](https://github.com/ura14h))
+- Bump Apps Engine to 1.3.0 ([#12705](https://github.com/RocketChat/Rocket.Chat/pull/12705))
+- Fix: Exception when registering a user with gravatar ([#12699](https://github.com/RocketChat/Rocket.Chat/pull/12699))
+- Fix: Fix tests by increasing window size ([#12707](https://github.com/RocketChat/Rocket.Chat/pull/12707))
+- Update Apps Engine to 1.3.1 ([#12741](https://github.com/RocketChat/Rocket.Chat/pull/12741))
+- Regression: Expand Administration sections by toggling section title ([#12736](https://github.com/RocketChat/Rocket.Chat/pull/12736))
+- Regression: Fix Safari detection in PDF previewing ([#12737](https://github.com/RocketChat/Rocket.Chat/pull/12737))
+- Regression: Account pages layout ([#12735](https://github.com/RocketChat/Rocket.Chat/pull/12735))
+- Regression: Inherit font-family for message box ([#12729](https://github.com/RocketChat/Rocket.Chat/pull/12729))
+
+</details>
+
+### 👩‍💻👨‍💻 Contributors 😍
+
+- [@AndreamApp](https://github.com/AndreamApp)
+- [@Ismaw34](https://github.com/Ismaw34)
+- [@imronras](https://github.com/imronras)
+- [@karlprieb](https://github.com/karlprieb)
+- [@mbrodala](https://github.com/mbrodala)
+- [@nicolasbock](https://github.com/nicolasbock)
+- [@pfuender](https://github.com/pfuender)
+- [@ph1p](https://github.com/ph1p)
+- [@ramrami](https://github.com/ramrami)
+- [@ura14h](https://github.com/ura14h)
+- [@vinade](https://github.com/vinade)
+- [@wreiske](https://github.com/wreiske)
+- [@zdumitru](https://github.com/zdumitru)
+
+### 👩‍💻👨‍💻 Core Team 🤓
+
+- [@Hudell](https://github.com/Hudell)
+- [@MarcosSpessatto](https://github.com/MarcosSpessatto)
+- [@cardoso](https://github.com/cardoso)
+- [@engelgabriel](https://github.com/engelgabriel)
+- [@ggazzo](https://github.com/ggazzo)
+- [@marceloschmidt](https://github.com/marceloschmidt)
+- [@mrsimpson](https://github.com/mrsimpson)
+- [@rafaelks](https://github.com/rafaelks)
+- [@renatobecker](https://github.com/renatobecker)
+- [@rodrigok](https://github.com/rodrigok)
+- [@sampaiodiego](https://github.com/sampaiodiego)
+- [@tassoevan](https://github.com/tassoevan)
+
 # 0.71.1
-`2018-10-31  ·  1 🐛  ·  1 👩‍💻👨‍💻`
+`2018-10-31  ·  1 🐛  ·  1 🔍  ·  1 👩‍💻👨‍💻`
 
 ### Engine versions
 - Node: `8.11.3`
@@ -10,6 +186,13 @@
 
 - Email sending with GDPR user data ([#12487](https://github.com/RocketChat/Rocket.Chat/pull/12487))
 
+<details>
+<summary>🔍 Minor changes</summary>
+
+- Release 0.71.1 ([#12499](https://github.com/RocketChat/Rocket.Chat/pull/12499))
+
+</details>
+
 ### 👩‍💻👨‍💻 Core Team 🤓
 
 - [@sampaiodiego](https://github.com/sampaiodiego)
diff --git a/README.md b/README.md
index 01964b8724da590f66ace0411023555765e66e58..361a9afd2a894611aad6d81afab120355a6184fb 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,8 @@
-![Rocket.Chat logo](https://upload.wikimedia.org/wikipedia/commons/1/12/Rocket.Chat_Logo.svg)
+![](https://user-images.githubusercontent.com/551004/43643393-884b00a4-9701-11e8-94d8-14c46d1f3660.png)
 
-# The Ultimate Open Source WebChat Platform
+<h1 align="center">
+  The Ultimate Open Source WebChat Platform
+</h1>
 
 [![Rocket.Chat](https://open.rocket.chat/images/join-chat.svg)](https://open.rocket.chat/)
 [![Build Status](https://img.shields.io/travis/RocketChat/Rocket.Chat/master.svg)](https://travis-ci.org/RocketChat/Rocket.Chat)
@@ -87,17 +89,7 @@ Download the Native Cross-Platform Desktop Application at [Rocket.Chat.Electron]
 
 # Mobile Apps
 
-## Native Mobile Apps
-*Note: currently the native apps doesn't support all the features that web does. If you're looking for it, you should download the Cordova apps.*
-
-[![Rocket.Chat on Apple App Store](https://user-images.githubusercontent.com/551004/29770691-a2082ff4-8bc6-11e7-89a6-964cd405ea8e.png)](https://itunes.apple.com/us/app/rocket-chat/id1148741252?mt=8) [![Rocket.Chat on Google Play](https://user-images.githubusercontent.com/551004/29770692-a20975c6-8bc6-11e7-8ab0-1cde275496e0.png)](https://play.google.com/store/apps/details?id=chat.rocket.android)
-
-## Hybrid Mobile Apps (Cordova)
-
-[![Rocket.Chat on Apple App Store](https://user-images.githubusercontent.com/551004/29770691-a2082ff4-8bc6-11e7-89a6-964cd405ea8e.png)](https://itunes.apple.com/us/app/rocket.chat/id1028869439?mt=8) [![Rocket.Chat on Google Play](https://user-images.githubusercontent.com/551004/29770692-a20975c6-8bc6-11e7-8ab0-1cde275496e0.png)](https://play.google.com/store/apps/details?id=com.konecty.rocket.chat)
-
-*Now compatible with all Android devices as old as version 4.0.x - [download here](https://rocket.chat/docs/developer-guides/mobile-apps/), even on BlackBerry Passport!*
-
+[![Rocket.Chat on Apple App Store](https://user-images.githubusercontent.com/551004/29770691-a2082ff4-8bc6-11e7-89a6-964cd405ea8e.png)](https://itunes.apple.com/us/app/rocket-chat/id1148741252?mt=8) [![Rocket.Chat on Google Play](https://user-images.githubusercontent.com/551004/29770692-a20975c6-8bc6-11e7-8ab0-1cde275496e0.png)](https://play.google.com/store/apps/details?id=chat.rocket.android)  [![](https://user-images.githubusercontent.com/551004/48210349-50649480-e35e-11e8-97d9-74a4331faf3a.png)](https://f-droid.org/en/packages/chat.rocket.android/)
 
 # Deployment
 
@@ -111,7 +103,7 @@ sudo snap install rocketchat-server
 
 [![Rocket.Chat Snap is recommended for Linux deployments](https://github.com/Sing-Li/bbug/raw/master/images/ubuntulogo.png)](https://uappexplorer.com/snap/ubuntu/rocketchat-server)
 
-Installing snaps is very quick. By running that command you have your full Rocket.Chat server up and running. Snaps are secure. They are isolated with all of their dependencies. Snaps also auto update when we release new versions.
+Installing snaps is very quick. By running that command you have your full Rocket.Chat server up and running. Snaps are secure. They are isolated with all of their dependencies. Snaps also auto-update when we release new versions.
 
 Our snap features a built-in reverse proxy that can request and maintain free Let's Encrypt SSL certificates. You can go from zero to a public-facing SSL-secured Rocket.Chat server in less than 5 minutes.
 
@@ -143,7 +135,7 @@ Host your own Rocket.Chat server in a few seconds.
 
 ## DPlatform
 
-Easiest way to install a ready-to-run Rocket.Chat server on a Linux machine, VM, or VPS.
+The easiest way to install a ready-to-run Rocket.Chat server on a Linux machine, VM, or VPS.
 
 [![DP deploy](https://raw.githubusercontent.com/DFabric/DPlatform-ShellCore/images/logo.png)](https://dfabric.github.io/DPlatform-ShellCore)
 
@@ -213,7 +205,7 @@ Automated production-grade deployment in minutes, for RHEL / CentOS 7 or Ubuntu
 [![Ansible deployment](https://raw.githubusercontent.com/Sing-Li/bbug/master/images/ansible.png)](https://rocket.chat/docs/installation/automation-tools/ansible/)
 
 ## Raspberry Pi 2
-Run Rocket.Chat on this world famous $30 quad core server.
+Run Rocket.Chat on this world famous $30 quad-core server.
 
 [![Raspberry Pi 2](https://raw.githubusercontent.com/Sing-Li/bbug/master/images/pitiny.png)](https://github.com/RocketChat/Rocket.Chat.RaspberryPi)
 
@@ -310,7 +302,7 @@ It is a great solution for communities and companies wanting to privately host t
 - (Beta) Jitsi integration
 - Audio calls
 - Multi-users Audio Conference
-- Screensharing
+- Screen sharing
 - Drupal 7.x and 8.x Plug-in (both stable and development flavours) ([download](https://www.drupal.org/project/rocket_chat)  and [source code](https://git.drupal.org/project/rocket_chat.git) )
 - XMPP bridge ([try it](https://open.rocket.chat/channel/general))
 - REST APIs
@@ -331,9 +323,6 @@ It is a great solution for communities and companies wanting to privately host t
 - XMPP Support via [Webhook bridge](https://github.com/saqura/xmppwb) [Issue #404](https://github.com/RocketChat/Rocket.Chat/issues/404)
 - Federation via [matrix.org](https://www.matrix.org/), see [hubot-freddie](https://www.npmjs.com/package/hubot-freddie) and [Federation project](https://github.com/RocketChat/Rocket.Chat.Federation) : [Issue #520](https://github.com/RocketChat/Rocket.Chat/issues/520), [Issue #601](https://github.com/RocketChat/Rocket.Chat/issues/601)
 - Support for PostgreSQL: [Issue #533](https://github.com/RocketChat/Rocket.Chat/issues/533), [Issue #822](https://github.com/RocketChat/Rocket.Chat/pull/822)
-- Native iOS Application [Issue #270](https://github.com/RocketChat/Rocket.Chat/issues/270), [Rocket.Chat.iOS - HELP WANTED](https://github.com/RocketChat/Rocket.Chat.iOS)
-- Native Android Application [Issue #271 - HELP WANTED](https://github.com/RocketChat/Rocket.Chat/issues/271)
-- Off the Record Messaging [Issue #36](https://github.com/RocketChat/Rocket.Chat/issues/36), [Issue #268](https://github.com/RocketChat/Rocket.Chat/issues/268)
 - WordPress Plug-in [Issue # 1920](https://github.com/RocketChat/Rocket.Chat/issues/1920)
 - Integration with PSTN (Public Switched Telephone Networks)
 - API-enabled methods: [Issue #202](https://github.com/RocketChat/Rocket.Chat/issues/202), [Issue #454](https://github.com/RocketChat/Rocket.Chat/issues/454), [Issue #455](https://github.com/RocketChat/Rocket.Chat/issues/455), [Issue #759](https://github.com/RocketChat/Rocket.Chat/issues/759)
@@ -394,7 +383,7 @@ We are developing the APIs based on the competition, so stay tuned and you will
 
 ## Documentation
 
-Checkout [Rocket.Chat documentation](https://rocket.chat/docs/).
+Check out [Rocket.Chat documentation](https://rocket.chat/docs/).
 
 ## License
 
@@ -415,6 +404,7 @@ Now just clone and start the app:
 ```sh
 git clone https://github.com/RocketChat/Rocket.Chat.git
 cd Rocket.Chat
+meteor npm install
 meteor npm start
 ```
 
@@ -429,7 +419,7 @@ It is based on [Gitflow Workflow](http://nvie.com/posts/a-successful-git-branchi
 See also this [Git Workflows Comparison](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow) for more details.
 
 ## Translations
-We are experimenting [Lingohub](https://translate.lingohub.com/rocketchat/dashboard).
+We are experimenting with [Lingohub](https://translate.lingohub.com/rocketchat/dashboard).
 If you want to help, send an email to support at rocket.chat to be invited to the translation project.
 
 ## How to Contribute
@@ -466,7 +456,7 @@ Testing with [BrowserStack](https://www.browserstack.com)
 
 # Donate
 
-Rocket.Chat will be free forever, but you can help us speed-up the development!
+Rocket.Chat will be free forever, but you can help us speed up the development!
 
 [![Donate](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=ZL94ZE6LGVUSN)
 
diff --git a/client/helpers/escapeCssUrl.js b/client/helpers/escapeCssUrl.js
index bc4344794d3a4724a2ee845c6d3374a2aa733d8d..fccb4e69a91eec399b2424dc2bb13065b3f9c83f 100644
--- a/client/helpers/escapeCssUrl.js
+++ b/client/helpers/escapeCssUrl.js
@@ -1 +1,3 @@
+import { Template } from 'meteor/templating';
+
 Template.registerHelper('escapeCssUrl', (url) => url.replace(/(['"])/g, '\\$1'));
diff --git a/client/helpers/log.js b/client/helpers/log.js
index cdbd6fa466dc4970e17534d7429267c7925e3e9b..748583b9a0dbd2f743a2550b97de4d3dacc2609f 100644
--- a/client/helpers/log.js
+++ b/client/helpers/log.js
@@ -1,3 +1,5 @@
+import { Template } from 'meteor/templating';
+
 Template.registerHelper('log', (...args) => {
 	console.log.apply(console, args);
 });
diff --git a/client/helpers/not.js b/client/helpers/not.js
index 9d5597e28f2551fb2deac2bd0ea70416360d1424..a47086b4468bbcda2a0d2d9913a2f371a2b49f9f 100644
--- a/client/helpers/not.js
+++ b/client/helpers/not.js
@@ -1 +1,3 @@
+import { Template } from 'meteor/templating';
+
 Template.registerHelper('not', (value) => !value);
diff --git a/client/methods/deleteMessage.js b/client/methods/deleteMessage.js
index 2c63a58da76a07d0507975179549abc2ec4860ff..3988d0cccf21a927467289247c6151e3cd6e7453 100644
--- a/client/methods/deleteMessage.js
+++ b/client/methods/deleteMessage.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
 import _ from 'underscore';
 import moment from 'moment';
 
diff --git a/client/methods/hideRoom.js b/client/methods/hideRoom.js
index 210937dd62db4c9eb8430e4585f503dfde5230f8..195235ce802b9cab7898da2475807661dd293e86 100644
--- a/client/methods/hideRoom.js
+++ b/client/methods/hideRoom.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 Meteor.methods({
 	hideRoom(rid) {
 		if (!Meteor.userId()) {
diff --git a/client/methods/openRoom.js b/client/methods/openRoom.js
index 87c082ced8633b00a252ba2d8f5ea1200b38f776..ac7ce40c32f3c716fc3ca59f044c28b16492f1fc 100644
--- a/client/methods/openRoom.js
+++ b/client/methods/openRoom.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 Meteor.methods({
 	openRoom(rid) {
 		if (!Meteor.userId()) {
diff --git a/client/methods/setUserActiveStatus.js b/client/methods/setUserActiveStatus.js
index 97cbe7c7dbbba95c9fbf951a93630b06bd1c22bc..99121d34b710bb009fba18a8a214a607573c7614 100644
--- a/client/methods/setUserActiveStatus.js
+++ b/client/methods/setUserActiveStatus.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 Meteor.methods({
 	setUserActiveStatus(userId, active) {
 		Meteor.users.update(userId, { $set: { active } });
diff --git a/client/methods/toggleFavorite.js b/client/methods/toggleFavorite.js
index e9c55b3440df91708392f4a1c0dec8fae11088ea..63309fe05e0be6ae04cf808ec0fe2ce62a3c5160 100644
--- a/client/methods/toggleFavorite.js
+++ b/client/methods/toggleFavorite.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 Meteor.methods({
 	toggleFavorite(rid, f) {
 		if (!Meteor.userId()) {
diff --git a/client/methods/updateMessage.js b/client/methods/updateMessage.js
index 43552aa88f8162ec8b49d5bd95ce1317e8ed27c2..ddcdae14c49d77e098d68933b748039a08af5df8 100644
--- a/client/methods/updateMessage.js
+++ b/client/methods/updateMessage.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
+import { TimeSync } from 'meteor/mizzao:timesync';
 import _ from 'underscore';
 import moment from 'moment';
 import toastr from 'toastr';
diff --git a/client/notifications/UsersNameChanged.js b/client/notifications/UsersNameChanged.js
index 88438545b678b99bd7085892549be2b9c397e6de..eddaa5e4e0522c01f8a3ef914445cd71a86b33cb 100644
--- a/client/notifications/UsersNameChanged.js
+++ b/client/notifications/UsersNameChanged.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.startup(function() {
 	RocketChat.Notifications.onLogged('Users:NameChanged', function({ _id, name, username }) {
 		RocketChat.models.Messages.update({
diff --git a/client/notifications/notification.js b/client/notifications/notification.js
index 6aff57a1cf631c8ba44f0b1920bd8e3d20bf837b..52d7083b2350dca852d717a5522c183a3866ebbb 100644
--- a/client/notifications/notification.js
+++ b/client/notifications/notification.js
@@ -1,4 +1,8 @@
 /* globals KonchatNotification, fireGlobalEvent, readMessage, CachedChatSubscription */
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Session } from 'meteor/session';
 
 // Show notifications and play a sound for new messages.
 // We trust the server to only send notifications for interesting messages, e.g. direct messages or
diff --git a/client/notifications/updateAvatar.js b/client/notifications/updateAvatar.js
index dfa628e9df5f7f0987730d0f4e935afe93a01438..28d7cb3dba74e99b20376bf33822072add6dea5b 100644
--- a/client/notifications/updateAvatar.js
+++ b/client/notifications/updateAvatar.js
@@ -1,4 +1,5 @@
 /* globals updateAvatarOfUsername */
+import { Meteor } from 'meteor/meteor';
 
 Meteor.startup(function() {
 	RocketChat.Notifications.onLogged('updateAvatar', function(data) {
diff --git a/client/notifications/updateUserState.js b/client/notifications/updateUserState.js
index 367ded6c497570faca7779c8ccfdb8d3e3172bd6..9144bce0fdc782ab04aa3aeb2ac840b4e6e3764b 100644
--- a/client/notifications/updateUserState.js
+++ b/client/notifications/updateUserState.js
@@ -1,4 +1,5 @@
 /* globals fireGlobalEvent */
+import { Meteor } from 'meteor/meteor';
 
 /* fire user state change globally, to listen on desktop electron client */
 Meteor.startup(function() {
diff --git a/client/routes/adminRouter.js b/client/routes/adminRouter.js
index 5f75a3733fa1bca38fbdcff04fa69673cedaf5a5..0c30a678f86a6b8f9f0a5935524dbcb0896d68b8 100644
--- a/client/routes/adminRouter.js
+++ b/client/routes/adminRouter.js
@@ -1,3 +1,6 @@
+import { FlowRouter } from 'meteor/kadira:flow-router' ;
+import { BlazeLayout } from 'meteor/kadira:blaze-layout';
+
 FlowRouter.route('/admin/users', {
 	name: 'admin-users',
 	action() {
diff --git a/client/routes/roomRoute.js b/client/routes/roomRoute.js
index dc36397d3fb4176384887f11a0aeb5b8dd2c2d9a..e9782bd6f460b0f5a6e23d355ce652fe89306412 100644
--- a/client/routes/roomRoute.js
+++ b/client/routes/roomRoute.js
@@ -1,3 +1,5 @@
+import { FlowRouter } from 'meteor/kadira:flow-router';
+
 FlowRouter.goToRoomById = (roomId) => {
 	const subscription = ChatSubscription.findOne({ rid: roomId });
 	if (subscription) {
diff --git a/client/routes/router.js b/client/routes/router.js
index 69b69dac0b5a9591323d2deb1e08afd949133755..9d80c73ee9fdda259ae7cc661a67a1d0d46aba39 100644
--- a/client/routes/router.js
+++ b/client/routes/router.js
@@ -1,4 +1,11 @@
 /* globals KonchatNotification */
+import { Meteor } from 'meteor/meteor';
+import { Accounts } from 'meteor/accounts-base';
+import { Tracker } from 'meteor/tracker';
+import { Blaze } from 'meteor/blaze';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { BlazeLayout } from 'meteor/kadira:blaze-layout';
+import { Session } from 'meteor/session';
 import s from 'underscore.string';
 
 Blaze.registerHelper('pathFor', function(path, kw) {
diff --git a/client/startup/emailVerification.js b/client/startup/emailVerification.js
index db0e4c368914a9b1b1c2f1e7b37952de1cc2a677..04cdd75cfbb1c43beae9b48a88fc43bc845d148f 100644
--- a/client/startup/emailVerification.js
+++ b/client/startup/emailVerification.js
@@ -1,4 +1,9 @@
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
+import { Session } from 'meteor/session';
+import { TAPi18n } from 'meteor/tap:i18n';
 import toastr from 'toastr';
+
 Meteor.startup(function() {
 	Tracker.autorun(function() {
 		const user = Meteor.user();
diff --git a/client/startup/i18n.js b/client/startup/i18n.js
index 5e426f4dd69811ce6274dd65713e0d7c5d4f8058..61ca1031914e6dc306424d3c8d3b0114739bdc21 100644
--- a/client/startup/i18n.js
+++ b/client/startup/i18n.js
@@ -1,5 +1,8 @@
 /* globals isRtl */
-
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Tracker } from 'meteor/tracker';
+import { TAPi18n } from 'meteor/tap:i18n';
 import moment from 'moment';
 
 const currentLanguage = new ReactiveVar();
diff --git a/client/startup/loginViaQuery.js b/client/startup/loginViaQuery.js
index 5804be24b3bb8c122d92ebe41930e8fca9dc50b8..b6fe6dc84774758940c602b22c560b304c45463b 100644
--- a/client/startup/loginViaQuery.js
+++ b/client/startup/loginViaQuery.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+
 Meteor.startup(() => {
 	if (FlowRouter.getQueryParam('resumeToken')) {
 		Meteor.loginWithToken(FlowRouter.getQueryParam('resumeToken'), () => {
diff --git a/client/startup/roomObserve.js b/client/startup/roomObserve.js
index 6681b89f8f7a7da9d1c78dc535abb7ce3d2e5d30..4fcfedb26e3a2695c489278923c0f6bacc4ebc38 100644
--- a/client/startup/roomObserve.js
+++ b/client/startup/roomObserve.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Session } from 'meteor/session';
+
 Meteor.startup(function() {
 	ChatRoom.find().observe({
 		added(data) {
diff --git a/client/startup/startup.js b/client/startup/startup.js
index d29aae306a911494c26ae5b2aa840e83b9bc9455..cf2c1eea246b9213571f846ca32933c6ad3c98f7 100644
--- a/client/startup/startup.js
+++ b/client/startup/startup.js
@@ -1,5 +1,8 @@
 /* globals UserPresence, fireGlobalEvent */
-
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
+import { Session } from 'meteor/session';
+import { TimeSync } from 'meteor/mizzao:timesync';
 import toastr from 'toastr';
 import hljs from 'highlight.js';
 import 'highlight.js/styles/github.css';
diff --git a/client/startup/unread.js b/client/startup/unread.js
index 82c123e495cb9f1dd793f30478cd018398c38ecf..5580c0635bf7a4a0951dddf7e8b46b96c636097a 100644
--- a/client/startup/unread.js
+++ b/client/startup/unread.js
@@ -1,4 +1,9 @@
-/* globals fireGlobalEvent, readMessage, Favico, favico, menu */
+/* globals fireGlobalEvent, readMessage, favico, menu */
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Session } from 'meteor/session';
+import { Favico } from 'meteor/rocketchat:favico';
 
 Meteor.startup(function() {
 	Tracker.autorun(function() {
diff --git a/client/startup/userSetUtcOffset.js b/client/startup/userSetUtcOffset.js
index 7916222214b3422d8d17ed7b78c329206c24c444..a266acb05978afdde55cf8df7a2086b840be0de3 100644
--- a/client/startup/userSetUtcOffset.js
+++ b/client/startup/userSetUtcOffset.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
 import moment from 'moment';
 
 Meteor.startup(function() {
diff --git a/client/startup/usersObserve.js b/client/startup/usersObserve.js
index 3ed237430286b666b524efd76435bd78a079948e..0bbc53102b52eacdee737c81da6b6a9278c2b345 100644
--- a/client/startup/usersObserve.js
+++ b/client/startup/usersObserve.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Session } from 'meteor/session';
+
 Meteor.startup(function() {
 	Meteor.users.find({}, { fields: { name: 1, username: 1, pictures: 1, status: 1, emails: 1, phone: 1, services: 1, utcOffset: 1 } }).observe({
 		added(user) {
diff --git a/imports/message-read-receipt/client/main.js b/imports/message-read-receipt/client/main.js
index a40a8b0a6190e9a220ee7582dba904484ce63720..5203d1bb11a030bebae9c583322142b43d6d90fb 100644
--- a/imports/message-read-receipt/client/main.js
+++ b/imports/message-read-receipt/client/main.js
@@ -1,3 +1,5 @@
+import { Template } from 'meteor/templating';
+
 Template.main.helpers({
 	readReceiptsEnabled() {
 		if (RocketChat.settings.get('Message_Read_Receipt_Store_Users')) {
diff --git a/imports/message-read-receipt/client/readReceipts.js b/imports/message-read-receipt/client/readReceipts.js
index bfdac29a99e1757454505aa8ec63c4f3bc8e07bc..7b350be120f0fb7b573672481d26b08e467270d5 100644
--- a/imports/message-read-receipt/client/readReceipts.js
+++ b/imports/message-read-receipt/client/readReceipts.js
@@ -1,4 +1,6 @@
+import { Meteor } from 'meteor/meteor';
 import { ReactiveVar } from 'meteor/reactive-var';
+import { Template } from 'meteor/templating';
 import moment from 'moment';
 
 import './readReceipts.css';
diff --git a/imports/message-read-receipt/server/lib/ReadReceipt.js b/imports/message-read-receipt/server/lib/ReadReceipt.js
index 04261faadee8038d7c98686e83d8e0517a9b2874..d1660f7474b7b3d2aabdaaf6e07136163dab96c0 100644
--- a/imports/message-read-receipt/server/lib/ReadReceipt.js
+++ b/imports/message-read-receipt/server/lib/ReadReceipt.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import { Random } from 'meteor/random';
 import ModelReadReceipts from '../models/ReadReceipts';
 
diff --git a/imports/personal-access-tokens/client/personalAccessTokens.html b/imports/personal-access-tokens/client/personalAccessTokens.html
index 31a0e7e3adab746f63472389c9d2602ede0f84e1..a707a270cf938e7bd93a8b1638327e236e457138 100644
--- a/imports/personal-access-tokens/client/personalAccessTokens.html
+++ b/imports/personal-access-tokens/client/personalAccessTokens.html
@@ -1,30 +1,22 @@
 <template name="accountTokens">
-	<section class="preferences-page preferences-page--new">
+	<section class="preferences-page preferences-page--new page-container page-home page-static page-settings">
 		{{> header sectionName="Personal_Access_Tokens" hideHelp=true fullpage=true}}
-		<div class="preferences-page__content">
-			{{# if isAllowed}}
-			<h2>{{_ "API_Personal_Access_Tokens_To_REST_API"}}</h2>
-			<br>
-			<form id="form-tokens" class="">
 
-				<div class="rc-form-group rc-form-group--inline">
-					<!-- <input id="input-token-name"
-					type="text"
-					name="tokenName"
-					placeholder={{_ "Enter_a_name"}}
-					value="{{tokenName}}"> -->
-					<div class="rc-input rc-input--small rc-directory-search rc-form-item-inline">
-						<label class="rc-input__label">
-							<div class="rc-input__wrapper">
-								<input type="text" class="rc-input__element rc-input__element--small js-search" name="tokenName" id="tokenName"
-								 placeholder={{_ "API_Add_Personal_Access_Token"}} autocomplete="off">
-							</div>
-						</label>
+		<div class="content">
+			{{# if isAllowed}}
+			<form id="form-tokens">
+				<div class="section-content border-component-color">
+					<div class="input-line double-col">
+						<label for="tokenName" class="setting-label">{{_ "API_Personal_Access_Tokens_To_REST_API"}}</label>
+						<div class="setting-field">
+							<input type="text" class="rc-input__element js-search" name="tokenName" id="tokenName"
+								placeholder={{_ "API_Add_Personal_Access_Token"}} autocomplete="off" />
+						</div>
+						<button name="add" class="rc-button rc-button--primary setting-action save-token">{{_ "Add"}}</button>
 					</div>
-					<button name="add" class="rc-button rc-button--primary rc-form-item-inline save-token">{{_ "Add"}}</button>
 				</div>
 			</form>
-			<br>
+
 			<div class="rc-table-content">
 				{{#table}}
 				<thead>
diff --git a/imports/personal-access-tokens/client/personalAccessTokens.js b/imports/personal-access-tokens/client/personalAccessTokens.js
index c28896968dfc08bd9b8f3e35ef20729e96063787..98260fe5ef81d4f5ba47bca1ed4ad12df5d466c7 100644
--- a/imports/personal-access-tokens/client/personalAccessTokens.js
+++ b/imports/personal-access-tokens/client/personalAccessTokens.js
@@ -1,4 +1,8 @@
+import { Meteor } from 'meteor/meteor';
+import { Mongo } from 'meteor/mongo';
 import { ReactiveVar } from 'meteor/reactive-var';
+import { Tracker } from 'meteor/tracker';
+import { Template } from 'meteor/templating';
 import toastr from 'toastr';
 import moment from 'moment';
 
@@ -8,7 +12,7 @@ const PersonalAccessTokens = new Mongo.Collection('personal_access_tokens');
 
 Template.accountTokens.helpers({
 	isAllowed() {
-		return RocketChat.settings.get('API_Enable_Personal_Access_Tokens');
+		return RocketChat.authz.hasAllPermission(['create-personal-access-tokens']);
 	},
 	tokens() {
 		return (PersonalAccessTokens.find({}).fetch()[0] && PersonalAccessTokens.find({}).fetch()[0].tokens) || [];
@@ -42,7 +46,7 @@ Template.accountTokens.events({
 				return toastr.error(t(error.error));
 			}
 			showSuccessModal(token);
-			instance.find('#input-token-name').value = '';
+			instance.find('#tokenName').value = '';
 		});
 	},
 	'click .remove-personal-access-token'() {
diff --git a/imports/personal-access-tokens/server/api/methods/generateToken.js b/imports/personal-access-tokens/server/api/methods/generateToken.js
index 68f337e357c5e16b7efb49fbbfb0e4cbc37e0712..ff6ca2f764c6f109de7822550c15dc3ea7293874 100644
--- a/imports/personal-access-tokens/server/api/methods/generateToken.js
+++ b/imports/personal-access-tokens/server/api/methods/generateToken.js
@@ -7,8 +7,8 @@ Meteor.methods({
 		if (!Meteor.userId()) {
 			throw new Meteor.Error('not-authorized', 'Not Authorized', { method: 'personalAccessTokens:generateToken' });
 		}
-		if (!RocketChat.settings.get('API_Enable_Personal_Access_Tokens')) {
-			throw new Meteor.Error('error-personal-access-tokens-are-current-disabled', 'Personal Access Tokens are currently disabled', { method: 'personalAccessTokens:generateToken' });
+		if (!RocketChat.authz.hasPermission(Meteor.userId(), 'create-personal-access-tokens')) {
+			throw new Meteor.Error('not-authorized', 'Not Authorized', { method: 'personalAccessTokens:generateToken' });
 		}
 
 		const token = Random.secret();
diff --git a/imports/personal-access-tokens/server/api/methods/regenerateToken.js b/imports/personal-access-tokens/server/api/methods/regenerateToken.js
index 6b36f9adf25c63b83c247df709e19e0cd8442631..48f030c895f835468619f8fcda48cd3e7b5353d3 100644
--- a/imports/personal-access-tokens/server/api/methods/regenerateToken.js
+++ b/imports/personal-access-tokens/server/api/methods/regenerateToken.js
@@ -5,8 +5,8 @@ Meteor.methods({
 		if (!Meteor.userId()) {
 			throw new Meteor.Error('not-authorized', 'Not Authorized', { method: 'personalAccessTokens:regenerateToken' });
 		}
-		if (!RocketChat.settings.get('API_Enable_Personal_Access_Tokens')) {
-			throw new Meteor.Error('error-personal-access-tokens-are-current-disabled', 'Personal Access Tokens are currently disabled', { method: 'personalAccessTokens:regenerateToken' });
+		if (!RocketChat.authz.hasPermission(Meteor.userId(), 'create-personal-access-tokens')) {
+			throw new Meteor.Error('not-authorized', 'Not Authorized', { method: 'personalAccessTokens:regenerateToken' });
 		}
 
 		const tokenExist = RocketChat.models.Users.findPersonalAccessTokenByTokenNameAndUserId({
diff --git a/imports/personal-access-tokens/server/api/methods/removeToken.js b/imports/personal-access-tokens/server/api/methods/removeToken.js
index ff7be8de698ccaf5ba5956f7302c862484033169..3e94195132d22b6c4fc65f50af4f66d04f67daa3 100644
--- a/imports/personal-access-tokens/server/api/methods/removeToken.js
+++ b/imports/personal-access-tokens/server/api/methods/removeToken.js
@@ -5,8 +5,8 @@ Meteor.methods({
 		if (!Meteor.userId()) {
 			throw new Meteor.Error('not-authorized', 'Not Authorized', { method: 'personalAccessTokens:removeToken' });
 		}
-		if (!RocketChat.settings.get('API_Enable_Personal_Access_Tokens')) {
-			throw new Meteor.Error('error-personal-access-tokens-are-current-disabled', 'Personal Access Tokens are currently disabled', { method: 'personalAccessTokens:removeToken' });
+		if (!RocketChat.authz.hasPermission(Meteor.userId(), 'create-personal-access-tokens')) {
+			throw new Meteor.Error('not-authorized', 'Not Authorized', { method: 'personalAccessTokens:removeToken' });
 		}
 		const tokenExist = RocketChat.models.Users.findPersonalAccessTokenByTokenNameAndUserId({
 			userId: Meteor.userId(),
diff --git a/imports/personal-access-tokens/server/index.js b/imports/personal-access-tokens/server/index.js
index ca18192c8e77523a6e3e02b7f141090d7196e823..861bc4add4a650a74af78e4934255b2dc547e037 100644
--- a/imports/personal-access-tokens/server/index.js
+++ b/imports/personal-access-tokens/server/index.js
@@ -1,5 +1,4 @@
 import './api/methods';
-import './settings';
 import './models';
 import './publications';
 
diff --git a/imports/personal-access-tokens/server/publications/personalAccessTokens.js b/imports/personal-access-tokens/server/publications/personalAccessTokens.js
index bdc75b9a9ecf2267afa44f13b37969b43cdaebb2..3760a85f74011efba4569965b3141abad2ba0464 100644
--- a/imports/personal-access-tokens/server/publications/personalAccessTokens.js
+++ b/imports/personal-access-tokens/server/publications/personalAccessTokens.js
@@ -4,7 +4,7 @@ Meteor.publish('personalAccessTokens', function() {
 	if (!this.userId) {
 		return this.ready();
 	}
-	if (!RocketChat.settings.get('API_Enable_Personal_Access_Tokens')) {
+	if (!RocketChat.authz.hasPermission(this.userId, 'create-personal-access-tokens')) {
 		return this.ready();
 	}
 	const self = this;
diff --git a/imports/personal-access-tokens/server/settings.js b/imports/personal-access-tokens/server/settings.js
deleted file mode 100644
index fa2aba8cfb248286de51c4dff3bce1fac7b15119..0000000000000000000000000000000000000000
--- a/imports/personal-access-tokens/server/settings.js
+++ /dev/null
@@ -1,5 +0,0 @@
-RocketChat.settings.addGroup('General', function() {
-	this.section('REST API', function() {
-		this.add('API_Enable_Personal_Access_Tokens', false, { type: 'boolean', public: true });
-	});
-});
diff --git a/lib/francocatena_fix.js b/lib/francocatena_fix.js
index 12125e91853975bc793ba249edb0fd3e61ef0fff..f8806bf32baa455840d01b263f333c38c82c3816 100644
--- a/lib/francocatena_fix.js
+++ b/lib/francocatena_fix.js
@@ -1,3 +1,5 @@
+import { TAPi18n } from 'meteor/tap:i18n';
+
 this.i18n_status_func = function(key, options) {
 	return TAPi18n.__(key, options);
 };
diff --git a/package-lock.json b/package-lock.json
index d7ec035d634fe25d7861ac54a9c71d9944fa8a4e..34a9026904b0ee997d196b5f1bbc5e34461a97d9 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
 {
 	"name": "Rocket.Chat",
-	"version": "0.71.0-develop",
+	"version": "0.72.0-develop",
 	"lockfileVersion": 1,
 	"requires": true,
 	"dependencies": {
@@ -10,7 +10,52 @@
 			"integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==",
 			"dev": true,
 			"requires": {
-				"@babel/highlight": "7.0.0"
+				"@babel/highlight": "^7.0.0"
+			}
+		},
+		"@babel/core": {
+			"version": "7.1.2",
+			"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.1.2.tgz",
+			"integrity": "sha512-IFeSSnjXdhDaoysIlev//UzHZbdEmm7D0EIH2qtse9xK7mXEZQpYjs2P00XlP1qYsYvid79p+Zgg6tz1mp6iVw==",
+			"dev": true,
+			"requires": {
+				"@babel/code-frame": "^7.0.0",
+				"@babel/generator": "^7.1.2",
+				"@babel/helpers": "^7.1.2",
+				"@babel/parser": "^7.1.2",
+				"@babel/template": "^7.1.2",
+				"@babel/traverse": "^7.1.0",
+				"@babel/types": "^7.1.2",
+				"convert-source-map": "^1.1.0",
+				"debug": "^3.1.0",
+				"json5": "^0.5.0",
+				"lodash": "^4.17.10",
+				"resolve": "^1.3.2",
+				"semver": "^5.4.1",
+				"source-map": "^0.5.0"
+			},
+			"dependencies": {
+				"debug": {
+					"version": "3.2.6",
+					"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+					"integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+					"dev": true,
+					"requires": {
+						"ms": "^2.1.1"
+					}
+				},
+				"json5": {
+					"version": "0.5.1",
+					"resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+					"integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
+					"dev": true
+				},
+				"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==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/generator": {
@@ -19,11 +64,11 @@
 			"integrity": "sha512-ZoCZGcfIJFJuZBqxcY9OjC1KW2lWK64qrX1o4UYL3yshVhwKFYgzpWZ0vvtGMNJdTlvkw0W+HR1VnYN8q3QPFQ==",
 			"dev": true,
 			"requires": {
-				"@babel/types": "7.1.3",
-				"jsesc": "2.5.1",
-				"lodash": "4.17.10",
-				"source-map": "0.5.7",
-				"trim-right": "1.0.1"
+				"@babel/types": "^7.1.3",
+				"jsesc": "^2.5.1",
+				"lodash": "^4.17.10",
+				"source-map": "^0.5.0",
+				"trim-right": "^1.0.1"
 			},
 			"dependencies": {
 				"jsesc": {
@@ -40,9 +85,9 @@
 			"integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-get-function-arity": "7.0.0",
-				"@babel/template": "7.1.2",
-				"@babel/types": "7.1.3"
+				"@babel/helper-get-function-arity": "^7.0.0",
+				"@babel/template": "^7.1.0",
+				"@babel/types": "^7.0.0"
 			}
 		},
 		"@babel/helper-get-function-arity": {
@@ -51,7 +96,7 @@
 			"integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
 			"dev": true,
 			"requires": {
-				"@babel/types": "7.1.3"
+				"@babel/types": "^7.0.0"
 			}
 		},
 		"@babel/helper-split-export-declaration": {
@@ -60,7 +105,18 @@
 			"integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==",
 			"dev": true,
 			"requires": {
-				"@babel/types": "7.1.3"
+				"@babel/types": "^7.0.0"
+			}
+		},
+		"@babel/helpers": {
+			"version": "7.1.2",
+			"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.1.2.tgz",
+			"integrity": "sha512-Myc3pUE8eswD73aWcartxB16K6CGmHDv9KxOmD2CeOs/FaEAQodr3VYGmlvOmog60vNQ2w8QbatuahepZwrHiA==",
+			"dev": true,
+			"requires": {
+				"@babel/template": "^7.1.2",
+				"@babel/traverse": "^7.1.0",
+				"@babel/types": "^7.1.2"
 			}
 		},
 		"@babel/highlight": {
@@ -69,9 +125,9 @@
 			"integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==",
 			"dev": true,
 			"requires": {
-				"chalk": "2.4.1",
-				"esutils": "2.0.2",
-				"js-tokens": "4.0.0"
+				"chalk": "^2.0.0",
+				"esutils": "^2.0.2",
+				"js-tokens": "^4.0.0"
 			},
 			"dependencies": {
 				"ansi-styles": {
@@ -80,7 +136,7 @@
 					"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
 					"dev": true,
 					"requires": {
-						"color-convert": "1.9.1"
+						"color-convert": "^1.9.0"
 					}
 				},
 				"chalk": {
@@ -89,9 +145,9 @@
 					"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
 					"dev": true,
 					"requires": {
-						"ansi-styles": "3.2.1",
-						"escape-string-regexp": "1.0.5",
-						"supports-color": "5.5.0"
+						"ansi-styles": "^3.2.1",
+						"escape-string-regexp": "^1.0.5",
+						"supports-color": "^5.3.0"
 					}
 				},
 				"has-flag": {
@@ -112,7 +168,7 @@
 					"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
 					"dev": true,
 					"requires": {
-						"has-flag": "3.0.0"
+						"has-flag": "^3.0.0"
 					}
 				}
 			}
@@ -124,12 +180,18 @@
 			"dev": true
 		},
 		"@babel/runtime": {
-			"version": "7.0.0-beta.49",
-			"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.49.tgz",
-			"integrity": "sha1-A7O/B+uYIHLI6FHdLd1RECguYb8=",
+			"version": "7.1.2",
+			"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.1.2.tgz",
+			"integrity": "sha512-Y3SCjmhSupzFB6wcv1KmmFucH6gDVnI30WjOcicV10ju0cZjak3Jcs67YLIXBrmZYw1xCrVeJPbycFwrqNyxpg==",
 			"requires": {
-				"core-js": "2.5.7",
-				"regenerator-runtime": "0.11.1"
+				"regenerator-runtime": "^0.12.0"
+			},
+			"dependencies": {
+				"regenerator-runtime": {
+					"version": "0.12.1",
+					"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz",
+					"integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg=="
+				}
 			}
 		},
 		"@babel/template": {
@@ -138,9 +200,9 @@
 			"integrity": "sha512-SY1MmplssORfFiLDcOETrW7fCLl+PavlwMh92rrGcikQaRq4iWPVH0MpwPpY3etVMx6RnDjXtr6VZYr/IbP/Ag==",
 			"dev": true,
 			"requires": {
-				"@babel/code-frame": "7.0.0",
-				"@babel/parser": "7.1.3",
-				"@babel/types": "7.1.3"
+				"@babel/code-frame": "^7.0.0",
+				"@babel/parser": "^7.1.2",
+				"@babel/types": "^7.1.2"
 			}
 		},
 		"@babel/traverse": {
@@ -149,15 +211,15 @@
 			"integrity": "sha512-my9mdrAIGdDiSVBuMjpn/oXYpva0/EZwWL3sm3Wcy/AVWO2eXnsoZruOT9jOGNRXU8KbCIu5zsKnXcAJ6PcV6Q==",
 			"dev": true,
 			"requires": {
-				"@babel/code-frame": "7.0.0",
-				"@babel/generator": "7.1.3",
-				"@babel/helper-function-name": "7.1.0",
-				"@babel/helper-split-export-declaration": "7.0.0",
-				"@babel/parser": "7.1.3",
-				"@babel/types": "7.1.3",
-				"debug": "3.2.6",
-				"globals": "11.8.0",
-				"lodash": "4.17.10"
+				"@babel/code-frame": "^7.0.0",
+				"@babel/generator": "^7.1.3",
+				"@babel/helper-function-name": "^7.1.0",
+				"@babel/helper-split-export-declaration": "^7.0.0",
+				"@babel/parser": "^7.1.3",
+				"@babel/types": "^7.1.3",
+				"debug": "^3.1.0",
+				"globals": "^11.1.0",
+				"lodash": "^4.17.10"
 			},
 			"dependencies": {
 				"debug": {
@@ -166,7 +228,7 @@
 					"integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
 					"dev": true,
 					"requires": {
-						"ms": "2.1.1"
+						"ms": "^2.1.1"
 					}
 				},
 				"globals": {
@@ -189,9 +251,9 @@
 			"integrity": "sha512-RpPOVfK+yatXyn8n4PB1NW6k9qjinrXrRR8ugBN8fD6hCy5RXI6PSbVqpOJBO9oSaY7Nom4ohj35feb0UR9hSA==",
 			"dev": true,
 			"requires": {
-				"esutils": "2.0.2",
-				"lodash": "4.17.10",
-				"to-fast-properties": "2.0.0"
+				"esutils": "^2.0.2",
+				"lodash": "^4.17.10",
+				"to-fast-properties": "^2.0.0"
 			},
 			"dependencies": {
 				"to-fast-properties": {
@@ -204,36 +266,36 @@
 		},
 		"@google-cloud/common": {
 			"version": "0.17.0",
-			"resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.17.0.tgz",
+			"resolved": "http://registry.npmjs.org/@google-cloud/common/-/common-0.17.0.tgz",
 			"integrity": "sha512-HRZLSU762E6HaKoGfJGa8W95yRjb9rY7LePhjaHK9ILAnFacMuUGVamDbTHu1csZomm1g3tZTtXfX/aAhtie/Q==",
 			"requires": {
-				"array-uniq": "1.0.3",
-				"arrify": "1.0.1",
-				"concat-stream": "1.6.2",
-				"create-error-class": "3.0.2",
-				"duplexify": "3.6.0",
-				"ent": "2.2.0",
-				"extend": "3.0.1",
-				"google-auto-auth": "0.10.1",
-				"is": "3.2.1",
+				"array-uniq": "^1.0.3",
+				"arrify": "^1.0.1",
+				"concat-stream": "^1.6.0",
+				"create-error-class": "^3.0.2",
+				"duplexify": "^3.5.0",
+				"ent": "^2.2.0",
+				"extend": "^3.0.1",
+				"google-auto-auth": "^0.10.0",
+				"is": "^3.2.0",
 				"log-driver": "1.2.7",
-				"methmeth": "1.1.0",
-				"modelo": "4.2.3",
-				"request": "2.87.0",
-				"retry-request": "3.3.1",
-				"split-array-stream": "1.0.3",
-				"stream-events": "1.0.4",
-				"string-format-obj": "1.1.1",
-				"through2": "2.0.3"
+				"methmeth": "^1.1.0",
+				"modelo": "^4.2.0",
+				"request": "^2.79.0",
+				"retry-request": "^3.0.0",
+				"split-array-stream": "^1.0.0",
+				"stream-events": "^1.0.1",
+				"string-format-obj": "^1.1.0",
+				"through2": "^2.0.3"
 			}
 		},
 		"@google-cloud/language": {
 			"version": "1.2.0",
-			"resolved": "https://registry.npmjs.org/@google-cloud/language/-/language-1.2.0.tgz",
+			"resolved": "http://registry.npmjs.org/@google-cloud/language/-/language-1.2.0.tgz",
 			"integrity": "sha512-lHgSUORR6tNtwZ6cdTtmFqCVtwrp6SJp/8NdKdX4pabibiqYlZBDrQPNq+96qRF9YSYkSpsl9px41T1i/NUrWw==",
 			"requires": {
-				"google-gax": "0.16.1",
-				"lodash.merge": "4.6.1"
+				"google-gax": "^0.16.0",
+				"lodash.merge": "^4.6.0"
 			}
 		},
 		"@google-cloud/storage": {
@@ -241,42 +303,42 @@
 			"resolved": "https://registry.npmjs.org/@google-cloud/storage/-/storage-1.7.0.tgz",
 			"integrity": "sha512-QaAxzCkbhspwajoaEnT0GcnQcpjPRcBrHYuQsXtD05BtOJgVnHCLXSsfUiRdU0nVpK+Thp7+sTkQ0fvk5PanKg==",
 			"requires": {
-				"@google-cloud/common": "0.17.0",
-				"arrify": "1.0.1",
-				"async": "2.6.1",
-				"compressible": "2.0.13",
-				"concat-stream": "1.6.2",
-				"create-error-class": "3.0.2",
-				"duplexify": "3.6.0",
-				"extend": "3.0.1",
-				"gcs-resumable-upload": "0.10.2",
-				"hash-stream-validation": "0.2.1",
-				"is": "3.2.1",
-				"mime": "2.3.1",
-				"mime-types": "2.1.18",
-				"once": "1.4.0",
-				"pumpify": "1.5.1",
-				"request": "2.87.0",
-				"safe-buffer": "5.1.2",
-				"snakeize": "0.1.0",
-				"stream-events": "1.0.4",
-				"through2": "2.0.3",
-				"xdg-basedir": "3.0.0"
+				"@google-cloud/common": "^0.17.0",
+				"arrify": "^1.0.0",
+				"async": "^2.0.1",
+				"compressible": "^2.0.12",
+				"concat-stream": "^1.5.0",
+				"create-error-class": "^3.0.2",
+				"duplexify": "^3.5.0",
+				"extend": "^3.0.0",
+				"gcs-resumable-upload": "^0.10.2",
+				"hash-stream-validation": "^0.2.1",
+				"is": "^3.0.1",
+				"mime": "^2.2.0",
+				"mime-types": "^2.0.8",
+				"once": "^1.3.1",
+				"pumpify": "^1.5.1",
+				"request": "^2.85.0",
+				"safe-buffer": "^5.1.1",
+				"snakeize": "^0.1.0",
+				"stream-events": "^1.0.1",
+				"through2": "^2.0.0",
+				"xdg-basedir": "^3.0.0"
 			}
 		},
 		"@google-cloud/vision": {
 			"version": "0.19.0",
-			"resolved": "https://registry.npmjs.org/@google-cloud/vision/-/vision-0.19.0.tgz",
+			"resolved": "http://registry.npmjs.org/@google-cloud/vision/-/vision-0.19.0.tgz",
 			"integrity": "sha512-ull7J16iYWSlejmdBCfJgeLWHeTe6HusUANwmy6OUgKgh/1rUBG4ivUFMHy5UZ/6rdaUvNzLicYodnMywqWTYg==",
 			"requires": {
-				"@google-cloud/common": "0.17.0",
-				"async": "2.6.1",
-				"extend": "3.0.1",
-				"google-gax": "0.16.1",
-				"google-proto-files": "0.15.1",
-				"is": "3.2.1",
-				"lodash.merge": "4.6.1",
-				"protobufjs": "6.8.6"
+				"@google-cloud/common": "^0.17.0",
+				"async": "^2.0.1",
+				"extend": "^3.0.0",
+				"google-gax": "^0.16.0",
+				"google-proto-files": "^0.15.0",
+				"is": "^3.0.1",
+				"lodash.merge": "^4.6.0",
+				"protobufjs": "^6.8.6"
 			}
 		},
 		"@mrmlnc/readdir-enhanced": {
@@ -284,8 +346,8 @@
 			"resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
 			"integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==",
 			"requires": {
-				"call-me-maybe": "1.0.1",
-				"glob-to-regexp": "0.3.0"
+				"call-me-maybe": "^1.0.1",
+				"glob-to-regexp": "^0.3.0"
 			}
 		},
 		"@nodelib/fs.stat": {
@@ -294,29 +356,36 @@
 			"integrity": "sha512-LAQ1d4OPfSJ/BMbI2DuizmYrrkD9JMaTdi2hQTlI53lQ4kRQPyZQRS4CYQ7O66bnBBnP/oYdRxbk++X0xuFU6A=="
 		},
 		"@octokit/rest": {
-			"version": "15.8.1",
-			"resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-15.8.1.tgz",
-			"integrity": "sha512-IpC/ctwwauiiSrnNTHOG4CyAPz5YwEX8wSSGuTBb0M1mJcAYJCaYZr11dSZTB4K2p2XFY4AY5+SZcW5aub3hSQ==",
-			"dev": true,
-			"requires": {
-				"before-after-hook": "1.1.0",
-				"btoa-lite": "1.0.0",
-				"debug": "3.1.0",
-				"http-proxy-agent": "2.1.0",
-				"https-proxy-agent": "2.2.1",
-				"lodash": "4.17.10",
-				"node-fetch": "2.1.2",
-				"url-template": "2.0.8"
+			"version": "15.15.1",
+			"resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-15.15.1.tgz",
+			"integrity": "sha512-TnuzjE880qbknEFAVqEr3VeOcE0yXo0kJEW+EK8TASpzMbykKCydei6WUmDSV3bq7aI+llkMrBYes1kIjpU7fA==",
+			"dev": true,
+			"requires": {
+				"before-after-hook": "^1.1.0",
+				"btoa-lite": "^1.0.0",
+				"debug": "^3.1.0",
+				"http-proxy-agent": "^2.1.0",
+				"https-proxy-agent": "^2.2.0",
+				"lodash": "^4.17.4",
+				"node-fetch": "^2.1.1",
+				"universal-user-agent": "^2.0.0",
+				"url-template": "^2.0.8"
 			},
 			"dependencies": {
 				"debug": {
-					"version": "3.1.0",
-					"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
-					"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+					"version": "3.2.6",
+					"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+					"integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
 					"dev": true,
 					"requires": {
-						"ms": "2.0.0"
+						"ms": "^2.1.1"
 					}
+				},
+				"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==",
+					"dev": true
 				}
 			}
 		},
@@ -345,8 +414,8 @@
 			"resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
 			"integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=",
 			"requires": {
-				"@protobufjs/aspromise": "1.1.2",
-				"@protobufjs/inquire": "1.1.0"
+				"@protobufjs/aspromise": "^1.1.1",
+				"@protobufjs/inquire": "^1.1.0"
 			}
 		},
 		"@protobufjs/float": {
@@ -375,16 +444,16 @@
 			"integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA="
 		},
 		"@rocket.chat/apps-engine": {
-			"version": "1.1.1",
-			"resolved": "https://registry.npmjs.org/@rocket.chat/apps-engine/-/apps-engine-1.1.1.tgz",
-			"integrity": "sha512-6mToxpbISR2SiXKUaSvwTutlSNnPzmPOWFjaxdl6P1T0s+g5hed5PcJXcNQzsmp0dTf27XcuCT8BLVi32YNyBw==",
+			"version": "1.3.1",
+			"resolved": "https://registry.npmjs.org/@rocket.chat/apps-engine/-/apps-engine-1.3.1.tgz",
+			"integrity": "sha512-zmxbU1crUVrjbqDtAyq3cCfPnoJU5tiRIjivj4nGCBra8voy4ddtMvutJS6yTMBjRzzKzTFzh4BLoMicvS/JMg==",
 			"requires": {
-				"adm-zip": "0.4.11",
-				"lodash.clonedeep": "4.5.0",
-				"semver": "5.5.0",
+				"adm-zip": "^0.4.9",
+				"lodash.clonedeep": "^4.5.0",
+				"semver": "^5.5.0",
 				"stack-trace": "0.0.10",
-				"typescript": "2.9.2",
-				"uuid": "3.2.1"
+				"typescript": "^2.9.2",
+				"uuid": "^3.2.1"
 			}
 		},
 		"@rocket.chat/eslint-config": {
@@ -393,80 +462,126 @@
 			"integrity": "sha512-QhoSk8n77UMo889EtipRrCiJnayDYqxHDuD3TdL06SHnB8urZ1mCVBSf/ocsdV5TxevnE2TeZHDyjAQwvOvM0A==",
 			"dev": true,
 			"requires": {
-				"eslint-plugin-import": "2.14.0"
+				"eslint-plugin-import": "^2.14.0"
 			}
 		},
-		"@sindresorhus/is": {
-			"version": "0.7.0",
-			"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz",
-			"integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow=="
-		},
 		"@slack/client": {
-			"version": "4.2.2",
-			"resolved": "https://registry.npmjs.org/@slack/client/-/client-4.2.2.tgz",
-			"integrity": "sha512-fxEIKykNLN//hIS+9KTWadS9sKcVqAjIYM2RbkSqB6SJQfR05ymDhXYd5n+UHIPhHKij6JJ+EkZI/q9UxhA/UA==",
-			"requires": {
-				"@types/delay": "2.0.1",
-				"@types/form-data": "2.2.1",
-				"@types/got": "7.1.8",
-				"@types/is-stream": "1.1.0",
-				"@types/loglevel": "1.5.3",
-				"@types/node": "9.6.20",
-				"@types/p-cancelable": "0.3.0",
-				"@types/p-queue": "2.3.1",
-				"@types/p-retry": "1.0.1",
-				"@types/retry": "0.10.2",
-				"@types/url-join": "0.8.2",
-				"@types/ws": "4.0.2",
-				"delay": "2.0.0",
-				"eventemitter3": "3.1.0",
-				"finity": "0.5.4",
-				"form-data": "2.3.2",
-				"got": "8.3.1",
-				"is-stream": "1.1.0",
-				"loglevel": "1.6.1",
-				"object.entries": "1.0.4",
-				"object.getownpropertydescriptors": "2.0.3",
-				"object.values": "1.0.4",
-				"p-cancelable": "0.3.0",
-				"p-queue": "2.4.2",
-				"p-retry": "1.0.0",
-				"retry": "0.10.1",
-				"url-join": "4.0.0",
-				"ws": "4.1.0"
+			"version": "4.8.0",
+			"resolved": "https://registry.npmjs.org/@slack/client/-/client-4.8.0.tgz",
+			"integrity": "sha512-c4PKsRMtTp3QVYg+6cNqqxbU/50gnYfMlZgPCGUuMDMm9mkx50y0PEuERcVyLIe5j61imrhQx9DoNIfybEhTTw==",
+			"requires": {
+				"@types/form-data": "^2.2.1",
+				"@types/is-stream": "^1.1.0",
+				"@types/loglevel": "^1.5.3",
+				"@types/node": ">=6.0.0",
+				"@types/p-cancelable": "^0.3.0",
+				"@types/p-queue": "^2.3.1",
+				"@types/p-retry": "^1.0.1",
+				"@types/retry": "^0.10.2",
+				"@types/ws": "^5.1.1",
+				"axios": "^0.18.0",
+				"eventemitter3": "^3.0.0",
+				"finity": "^0.5.4",
+				"form-data": "^2.3.1",
+				"is-stream": "^1.1.0",
+				"loglevel": "^1.6.1",
+				"object.entries": "^1.0.4",
+				"object.getownpropertydescriptors": "^2.0.3",
+				"object.values": "^1.0.4",
+				"p-cancelable": "^0.3.0",
+				"p-queue": "^2.3.0",
+				"p-retry": "^2.0.0",
+				"retry": "^0.12.0",
+				"ws": "^5.2.0"
 			},
 			"dependencies": {
-				"@types/node": {
-					"version": "9.6.20",
-					"resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.20.tgz",
-					"integrity": "sha512-mIMXUbH2MmJAQQjzFUIRpxa+FtA27IaHMrIgoJ1fyu/EfpVN/UZw3ISMNnwVec4lau8R8SM4pNFXSCZpJFX2Bw=="
+				"@types/ws": {
+					"version": "5.1.2",
+					"resolved": "https://registry.npmjs.org/@types/ws/-/ws-5.1.2.tgz",
+					"integrity": "sha512-NkTXUKTYdXdnPE2aUUbGOXE1XfMK527SCvU/9bj86kyFF6kZ9ZnOQ3mK5jADn98Y2vEUD/7wKDgZa7Qst2wYOg==",
+					"requires": {
+						"@types/events": "*",
+						"@types/node": "*"
+					}
+				},
+				"p-retry": {
+					"version": "2.0.0",
+					"resolved": "https://registry.npmjs.org/p-retry/-/p-retry-2.0.0.tgz",
+					"integrity": "sha512-ZbCuzAmiwJ45q4evp/IG9D+5MUllGSUeCWwPt3j/tdYSi1KPkSD+46uqmAA1LhccDhOXv8kYZKNb8x78VflzfA==",
+					"requires": {
+						"retry": "^0.12.0"
+					}
+				},
+				"retry": {
+					"version": "0.12.0",
+					"resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
+					"integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs="
+				},
+				"ws": {
+					"version": "5.2.2",
+					"resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz",
+					"integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==",
+					"requires": {
+						"async-limiter": "~1.0.0"
+					}
 				}
 			}
 		},
-		"@types/delay": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/@types/delay/-/delay-2.0.1.tgz",
-			"integrity": "sha512-D1/YuYOcdOIdaQnaiUJ77VcilVvESkynw79CtGqpjkXyv4OUezEVZtdXnSOwXL8Zcelu66QbyC8QQcVQ/ZPdig=="
+		"@types/body-parser": {
+			"version": "1.17.0",
+			"resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.17.0.tgz",
+			"integrity": "sha512-a2+YeUjPkztKJu5aIF2yArYFQQp8d51wZ7DavSHjFuY1mqVgidGyzEQ41JIVNy82fXj8yPgy2vJmfIywgESW6w==",
+			"requires": {
+				"@types/connect": "*",
+				"@types/node": "*"
+			}
+		},
+		"@types/connect": {
+			"version": "3.4.32",
+			"resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.32.tgz",
+			"integrity": "sha512-4r8qa0quOvh7lGD0pre62CAb1oni1OO6ecJLGCezTmhQ8Fz50Arx9RUszryR8KlgK6avuSXvviL6yWyViQABOg==",
+			"requires": {
+				"@types/node": "*"
+			}
+		},
+		"@types/estree": {
+			"version": "0.0.38",
+			"resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.38.tgz",
+			"integrity": "sha512-F/v7t1LwS4vnXuPooJQGBRKRGIoxWUTmA4VHfqjOccFsNDThD5bfUNpITive6s352O7o384wcpEaDV8rHCehDA==",
+			"dev": true,
+			"optional": true
 		},
 		"@types/events": {
 			"version": "1.2.0",
-			"resolved": "https://registry.npmjs.org/@types/events/-/events-1.2.0.tgz",
+			"resolved": "http://registry.npmjs.org/@types/events/-/events-1.2.0.tgz",
 			"integrity": "sha512-KEIlhXnIutzKwRbQkGWb/I4HFqBuUykAdHgDED6xqwXJfONCjF5VoE0cXEiurh3XauygxzeDzgtXUqvLkxFzzA=="
 		},
+		"@types/express": {
+			"version": "4.16.0",
+			"resolved": "https://registry.npmjs.org/@types/express/-/express-4.16.0.tgz",
+			"integrity": "sha512-TtPEYumsmSTtTetAPXlJVf3kEqb6wZK0bZojpJQrnD/djV4q1oB6QQ8aKvKqwNPACoe02GNiy5zDzcYivR5Z2w==",
+			"requires": {
+				"@types/body-parser": "*",
+				"@types/express-serve-static-core": "*",
+				"@types/serve-static": "*"
+			}
+		},
+		"@types/express-serve-static-core": {
+			"version": "4.16.0",
+			"resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.16.0.tgz",
+			"integrity": "sha512-lTeoCu5NxJU4OD9moCgm0ESZzweAx0YqsAcab6OB0EB3+As1OaHtKnaGJvcngQxYsi9UNv0abn4/DRavrRxt4w==",
+			"requires": {
+				"@types/events": "*",
+				"@types/node": "*",
+				"@types/range-parser": "*"
+			}
+		},
 		"@types/form-data": {
 			"version": "2.2.1",
 			"resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-2.2.1.tgz",
 			"integrity": "sha512-JAMFhOaHIciYVh8fb5/83nmuO/AHwmto+Hq7a9y8FzLDcC1KCU344XDOMEmahnrTFlHjgh4L0WJFczNIX2GxnQ==",
 			"requires": {
-				"@types/node": "8.10.18"
-			}
-		},
-		"@types/got": {
-			"version": "7.1.8",
-			"resolved": "https://registry.npmjs.org/@types/got/-/got-7.1.8.tgz",
-			"integrity": "sha512-QxcSkx9PjHH7uqbzqKTKOAjGbayyo+dECnnqM3BBMC0WjYAqx0e6Qi9AFR4jluvx91e7qzgz4aGka7AhCTHYRw==",
-			"requires": {
-				"@types/node": "8.10.18"
+				"@types/node": "*"
 			}
 		},
 		"@types/is-stream": {
@@ -474,7 +589,7 @@
 			"resolved": "https://registry.npmjs.org/@types/is-stream/-/is-stream-1.1.0.tgz",
 			"integrity": "sha512-jkZatu4QVbR60mpIzjINmtS1ZF4a/FqdTUTBeQDVOQ2PYyidtwFKr0B5G6ERukKwliq+7mIXvxyppwzG5EgRYg==",
 			"requires": {
-				"@types/node": "8.10.18"
+				"@types/node": "*"
 			}
 		},
 		"@types/loglevel": {
@@ -487,6 +602,11 @@
 			"resolved": "https://registry.npmjs.org/@types/long/-/long-3.0.32.tgz",
 			"integrity": "sha512-ZXyOOm83p7X8p3s0IYM3VeueNmHpkk/yMlP8CLeOnEcu6hIwPH7YjZBvhQkR0ZFS2DqZAxKtJ/M5fcuv3OU5BA=="
 		},
+		"@types/mime": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.0.tgz",
+			"integrity": "sha512-A2TAGbTFdBw9azHbpVd+/FkdW2T6msN1uct1O9bH3vTerEHKZhTXJUQXy+hNq1B0RagfU8U+KBdqiZpxjhOUQA=="
+		},
 		"@types/node": {
 			"version": "8.10.18",
 			"resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.18.tgz",
@@ -507,26 +627,26 @@
 			"resolved": "https://registry.npmjs.org/@types/p-retry/-/p-retry-1.0.1.tgz",
 			"integrity": "sha512-HgQPG9kkUb4EpTeUv2taH2nBZsVUb5aOTSw3X2YozcTG1ttmGcLaLKx1MbAz1evVfUEDTCAPmdz2HiFztIyWrw==",
 			"requires": {
-				"@types/retry": "0.10.2"
+				"@types/retry": "*"
 			}
 		},
+		"@types/range-parser": {
+			"version": "1.2.2",
+			"resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.2.tgz",
+			"integrity": "sha512-HtKGu+qG1NPvYe1z7ezLsyIaXYyi8SoAVqWDZgDQ8dLrsZvSzUNCwZyfX33uhWxL/SU0ZDQZ3nwZ0nimt507Kw=="
+		},
 		"@types/retry": {
 			"version": "0.10.2",
 			"resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.10.2.tgz",
 			"integrity": "sha512-LqJkY4VQ7S09XhI7kA3ON71AxauROhSv74639VsNXC9ish4IWHnIi98if+nP1MxQV3RMPqXSCYgpPsDHjlg9UQ=="
 		},
-		"@types/url-join": {
-			"version": "0.8.2",
-			"resolved": "https://registry.npmjs.org/@types/url-join/-/url-join-0.8.2.tgz",
-			"integrity": "sha1-EYHsvh2XtwNODqHjXmLobMJrQi0="
-		},
-		"@types/ws": {
-			"version": "4.0.2",
-			"resolved": "https://registry.npmjs.org/@types/ws/-/ws-4.0.2.tgz",
-			"integrity": "sha512-tlDVFHCcJdNqYgjGNDPDCo4tNqhFMymIAdJCcykFbdhYr4X6vD7IlMxY0t3/k6Pfup68YNkMTpRfLKTRuKDmnQ==",
+		"@types/serve-static": {
+			"version": "1.13.2",
+			"resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.2.tgz",
+			"integrity": "sha512-/BZ4QRLpH/bNYgZgwhKEh+5AsboDBcUdlBYgzoLX0fpj3Y2gp6EApyOlM3bK53wQS/OE1SrdSYBAbux2D1528Q==",
 			"requires": {
-				"@types/events": "1.2.0",
-				"@types/node": "8.10.18"
+				"@types/express-serve-static-core": "*",
+				"@types/mime": "*"
 			}
 		},
 		"JSONStream": {
@@ -535,8 +655,8 @@
 			"integrity": "sha512-3Sp6WZZ/lXl+nTDoGpGWHEpTnnC6X5fnkolYZR6nwIfzbxxvA8utPWe1gCt7i0m9uVGsSz2IS8K8mJ7HmlduMg==",
 			"dev": true,
 			"requires": {
-				"jsonparse": "1.3.1",
-				"through": "2.3.8"
+				"jsonparse": "^1.2.0",
+				"through": ">=2.2.7 <3"
 			}
 		},
 		"abab": {
@@ -554,7 +674,7 @@
 			"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.2.13.tgz",
 			"integrity": "sha1-5fHzkoxtlf2WVYw27D2dDeSm7Oo=",
 			"requires": {
-				"mime-types": "2.1.18",
+				"mime-types": "~2.1.6",
 				"negotiator": "0.5.3"
 			}
 		},
@@ -573,7 +693,7 @@
 			"resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.1.0.tgz",
 			"integrity": "sha512-KjZwU26uG3u6eZcfGbTULzFcsoz6pegNKtHPksZPOUsiKo5bUmiBPa38FuHZ/Eun+XYh/JCCkS9AS3Lu4McQOQ==",
 			"requires": {
-				"acorn": "5.7.2"
+				"acorn": "^5.0.0"
 			},
 			"dependencies": {
 				"acorn": {
@@ -585,16 +705,16 @@
 		},
 		"acorn-jsx": {
 			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz",
+			"resolved": "http://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz",
 			"integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=",
 			"dev": true,
 			"requires": {
-				"acorn": "3.3.0"
+				"acorn": "^3.0.4"
 			},
 			"dependencies": {
 				"acorn": {
 					"version": "3.3.0",
-					"resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
+					"resolved": "http://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz",
 					"integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=",
 					"dev": true
 				}
@@ -606,11 +726,6 @@
 			"integrity": "sha1-anmQQ3ynNtXhKI25K9MmbV9csqo=",
 			"dev": true
 		},
-		"addressparser": {
-			"version": "1.0.1",
-			"resolved": "https://registry.npmjs.org/addressparser/-/addressparser-1.0.1.tgz",
-			"integrity": "sha1-R6++GiqSYhkdtoOOT9HTm0CCF0Y="
-		},
 		"adm-zip": {
 			"version": "0.4.11",
 			"resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.11.tgz",
@@ -622,7 +737,7 @@
 			"integrity": "sha512-c+R/U5X+2zz2+UCrCFv6odQzJdoqI+YecuhnAJLa1zYaMc13zPfwMwZrr91Pd1DYNo/yPRbiM4WVf9whgwFsIg==",
 			"dev": true,
 			"requires": {
-				"es6-promisify": "5.0.0"
+				"es6-promisify": "^5.0.0"
 			}
 		},
 		"ajv": {
@@ -630,10 +745,10 @@
 			"resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
 			"integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
 			"requires": {
-				"co": "4.6.0",
-				"fast-deep-equal": "1.1.0",
-				"fast-json-stable-stringify": "2.0.0",
-				"json-schema-traverse": "0.3.1"
+				"co": "^4.6.0",
+				"fast-deep-equal": "^1.0.0",
+				"fast-json-stable-stringify": "^2.0.0",
+				"json-schema-traverse": "^0.3.0"
 			}
 		},
 		"ajv-keywords": {
@@ -648,9 +763,9 @@
 			"integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
 			"dev": true,
 			"requires": {
-				"kind-of": "3.2.2",
-				"longest": "1.0.1",
-				"repeat-string": "1.6.1"
+				"kind-of": "^3.0.2",
+				"longest": "^1.0.1",
+				"repeat-string": "^1.5.2"
 			},
 			"dependencies": {
 				"kind-of": {
@@ -659,7 +774,7 @@
 					"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
 					"dev": true,
 					"requires": {
-						"is-buffer": "1.1.6"
+						"is-buffer": "^1.1.5"
 					}
 				}
 			}
@@ -685,14 +800,20 @@
 			"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
 			"integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
 		},
+		"any-promise": {
+			"version": "0.1.0",
+			"resolved": "https://registry.npmjs.org/any-promise/-/any-promise-0.1.0.tgz",
+			"integrity": "sha1-gwtoCqflbzNFHUsEnzvYBESY7ic=",
+			"dev": true
+		},
 		"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.3.11",
-				"normalize-path": "2.1.1"
+				"micromatch": "^2.1.5",
+				"normalize-path": "^2.0.0"
 			},
 			"dependencies": {
 				"arr-diff": {
@@ -701,7 +822,7 @@
 					"integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
 					"dev": true,
 					"requires": {
-						"arr-flatten": "1.1.0"
+						"arr-flatten": "^1.0.1"
 					}
 				},
 				"array-unique": {
@@ -716,9 +837,9 @@
 					"integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
 					"dev": true,
 					"requires": {
-						"expand-range": "1.8.2",
-						"preserve": "0.2.0",
-						"repeat-element": "1.1.2"
+						"expand-range": "^1.8.1",
+						"preserve": "^0.2.0",
+						"repeat-element": "^1.1.2"
 					}
 				},
 				"expand-brackets": {
@@ -727,7 +848,7 @@
 					"integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
 					"dev": true,
 					"requires": {
-						"is-posix-bracket": "0.1.1"
+						"is-posix-bracket": "^0.1.0"
 					}
 				},
 				"extglob": {
@@ -736,7 +857,7 @@
 					"integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
 					"dev": true,
 					"requires": {
-						"is-extglob": "1.0.0"
+						"is-extglob": "^1.0.0"
 					}
 				},
 				"is-extglob": {
@@ -751,7 +872,7 @@
 					"integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
 					"dev": true,
 					"requires": {
-						"is-extglob": "1.0.0"
+						"is-extglob": "^1.0.0"
 					}
 				},
 				"kind-of": {
@@ -760,7 +881,7 @@
 					"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
 					"dev": true,
 					"requires": {
-						"is-buffer": "1.1.6"
+						"is-buffer": "^1.1.5"
 					}
 				},
 				"micromatch": {
@@ -769,19 +890,19 @@
 					"integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
 					"dev": true,
 					"requires": {
-						"arr-diff": "2.0.0",
-						"array-unique": "0.2.1",
-						"braces": "1.8.5",
-						"expand-brackets": "0.1.5",
-						"extglob": "0.3.2",
-						"filename-regex": "2.0.1",
-						"is-extglob": "1.0.0",
-						"is-glob": "2.0.1",
-						"kind-of": "3.2.2",
-						"normalize-path": "2.1.1",
-						"object.omit": "2.0.1",
-						"parse-glob": "3.0.4",
-						"regex-cache": "0.4.4"
+						"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"
 					}
 				}
 			}
@@ -796,14 +917,14 @@
 			"resolved": "https://registry.npmjs.org/archiver/-/archiver-2.1.1.tgz",
 			"integrity": "sha1-/2YrSnggFJSj7lRNOjP+dJZQnrw=",
 			"requires": {
-				"archiver-utils": "1.3.0",
-				"async": "2.6.1",
-				"buffer-crc32": "0.2.13",
-				"glob": "7.1.2",
-				"lodash": "4.17.10",
-				"readable-stream": "2.3.6",
-				"tar-stream": "1.6.1",
-				"zip-stream": "1.2.0"
+				"archiver-utils": "^1.3.0",
+				"async": "^2.0.0",
+				"buffer-crc32": "^0.2.1",
+				"glob": "^7.0.0",
+				"lodash": "^4.8.0",
+				"readable-stream": "^2.0.0",
+				"tar-stream": "^1.5.0",
+				"zip-stream": "^1.2.0"
 			}
 		},
 		"archiver-utils": {
@@ -811,12 +932,12 @@
 			"resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz",
 			"integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=",
 			"requires": {
-				"glob": "7.1.2",
-				"graceful-fs": "4.1.11",
-				"lazystream": "1.0.0",
-				"lodash": "4.17.10",
-				"normalize-path": "2.1.1",
-				"readable-stream": "2.3.6"
+				"glob": "^7.0.0",
+				"graceful-fs": "^4.1.0",
+				"lazystream": "^1.0.0",
+				"lodash": "^4.8.0",
+				"normalize-path": "^2.0.0",
+				"readable-stream": "^2.0.0"
 			}
 		},
 		"are-we-there-yet": {
@@ -824,8 +945,8 @@
 			"resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
 			"integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
 			"requires": {
-				"delegates": "1.0.0",
-				"readable-stream": "2.3.6"
+				"delegates": "^1.0.0",
+				"readable-stream": "^2.0.6"
 			}
 		},
 		"argparse": {
@@ -834,7 +955,7 @@
 			"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
 			"dev": true,
 			"requires": {
-				"sprintf-js": "1.0.3"
+				"sprintf-js": "~1.0.2"
 			},
 			"dependencies": {
 				"sprintf-js": {
@@ -860,6 +981,13 @@
 			"resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
 			"integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ="
 		},
+		"array-each": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
+			"integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=",
+			"dev": true,
+			"optional": true
+		},
 		"array-equal": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz",
@@ -893,12 +1021,19 @@
 			"integrity": "sha512-1hWSHTIlG/8wtYD+PPX5AOBtKWngpDFjrsrHgZpe+JdgNGz0udYu6ZIkAa/xuenIUEqFv7DvE2Yr60jxweJSrQ==",
 			"dev": true
 		},
+		"array-slice": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz",
+			"integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==",
+			"dev": true,
+			"optional": true
+		},
 		"array-union": {
 			"version": "1.0.2",
 			"resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
 			"integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
 			"requires": {
-				"array-uniq": "1.0.3"
+				"array-uniq": "^1.0.1"
 			}
 		},
 		"array-uniq": {
@@ -931,8 +1066,8 @@
 			"resolved": "https://registry.npmjs.org/ascli/-/ascli-1.0.1.tgz",
 			"integrity": "sha1-vPpZdKYvGOgcq660lzKrSoj5Brw=",
 			"requires": {
-				"colour": "0.7.1",
-				"optjs": "3.2.2"
+				"colour": "~0.7.1",
+				"optjs": "~3.2.2"
 			}
 		},
 		"asn1": {
@@ -945,9 +1080,9 @@
 			"resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
 			"integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
 			"requires": {
-				"bn.js": "4.11.8",
-				"inherits": "2.0.3",
-				"minimalistic-assert": "1.0.1"
+				"bn.js": "^4.0.0",
+				"inherits": "^2.0.1",
+				"minimalistic-assert": "^1.0.0"
 			}
 		},
 		"assert-plus": {
@@ -971,7 +1106,7 @@
 			"resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
 			"integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
 			"requires": {
-				"lodash": "4.17.10"
+				"lodash": "^4.17.10"
 			}
 		},
 		"async-each": {
@@ -1001,22 +1136,22 @@
 			"integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio="
 		},
 		"autolinker": {
-			"version": "1.6.2",
-			"resolved": "https://registry.npmjs.org/autolinker/-/autolinker-1.6.2.tgz",
-			"integrity": "sha512-IKLGtYFb3jzGTtgCpb4bm//1sXmmmgmr0msKshhYoc7EsWmLCFvuyxLcEIfcZ5gbCgZGXrnXkOkcBblOFEnlog=="
+			"version": "1.7.1",
+			"resolved": "https://registry.npmjs.org/autolinker/-/autolinker-1.7.1.tgz",
+			"integrity": "sha512-Yehe/Nui7GJBul5E1gmF1d0pL+wux40Bcuh9PzUzBHArH1qQgTYO8Jwdjb0Oomg2cuJ+6OrSGcUteMYMRt0GOQ=="
 		},
 		"autoprefixer": {
-			"version": "8.6.0",
-			"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-8.6.0.tgz",
-			"integrity": "sha512-JaYK4gmyklt+es0VDdWVS9R/X96D8eaT0qDLAO6R4niBsoKv6nI4QtfFs8YQskwatIdJ6XZeTBDRpjf4tH+Dlg==",
+			"version": "8.6.5",
+			"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-8.6.5.tgz",
+			"integrity": "sha512-PLWJN3Xo/rycNkx+mp8iBDMTm3FeWe4VmYaZDSqL5QQB9sLsQkG5k8n+LNDFnhh9kdq2K+egL/icpctOmDHwig==",
 			"dev": true,
 			"requires": {
-				"browserslist": "3.2.8",
-				"caniuse-lite": "1.0.30000847",
-				"normalize-range": "0.1.2",
-				"num2fraction": "1.2.2",
-				"postcss": "6.0.22",
-				"postcss-value-parser": "3.3.0"
+				"browserslist": "^3.2.8",
+				"caniuse-lite": "^1.0.30000864",
+				"normalize-range": "^0.1.2",
+				"num2fraction": "^1.2.2",
+				"postcss": "^6.0.23",
+				"postcss-value-parser": "^3.2.3"
 			},
 			"dependencies": {
 				"ansi-styles": {
@@ -1025,7 +1160,7 @@
 					"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
 					"dev": true,
 					"requires": {
-						"color-convert": "1.9.1"
+						"color-convert": "^1.9.0"
 					}
 				},
 				"browserslist": {
@@ -1034,19 +1169,25 @@
 					"integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==",
 					"dev": true,
 					"requires": {
-						"caniuse-lite": "1.0.30000847",
-						"electron-to-chromium": "1.3.48"
+						"caniuse-lite": "^1.0.30000844",
+						"electron-to-chromium": "^1.3.47"
 					}
 				},
+				"caniuse-lite": {
+					"version": "1.0.30000900",
+					"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000900.tgz",
+					"integrity": "sha512-xDVs8pBFr6bzq9pXUkLKpGQQnzsF/l6/yX38UnCkTcUcwC0rDl1NGZGildcJVTU+uGBxfsyniK/ZWagPNn1Oqw==",
+					"dev": true
+				},
 				"chalk": {
 					"version": "2.4.1",
 					"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
 					"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
 					"dev": true,
 					"requires": {
-						"ansi-styles": "3.2.1",
-						"escape-string-regexp": "1.0.5",
-						"supports-color": "5.4.0"
+						"ansi-styles": "^3.2.1",
+						"escape-string-regexp": "^1.0.5",
+						"supports-color": "^5.3.0"
 					}
 				},
 				"has-flag": {
@@ -1056,14 +1197,14 @@
 					"dev": true
 				},
 				"postcss": {
-					"version": "6.0.22",
-					"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz",
-					"integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==",
+					"version": "6.0.23",
+					"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+					"integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
 					"dev": true,
 					"requires": {
-						"chalk": "2.4.1",
-						"source-map": "0.6.1",
-						"supports-color": "5.4.0"
+						"chalk": "^2.4.1",
+						"source-map": "^0.6.1",
+						"supports-color": "^5.4.0"
 					}
 				},
 				"source-map": {
@@ -1073,20 +1214,20 @@
 					"dev": true
 				},
 				"supports-color": {
-					"version": "5.4.0",
-					"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
-					"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
+					"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"
+						"has-flag": "^3.0.0"
 					}
 				}
 			}
 		},
 		"aws-sdk": {
-			"version": "2.250.1",
-			"resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.250.1.tgz",
-			"integrity": "sha1-DMBO38QfoKal7MvFaIiDL1knAUE=",
+			"version": "2.344.0",
+			"resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.344.0.tgz",
+			"integrity": "sha512-VGiVgX4+qk/67o8GL3qeHK1KC4r73jlsJoE6ZSPsujX6UjP0PgrfUL1J9cdW/sgXc0lzmK3ksdKqZordFZ4/xw==",
 			"requires": {
 				"buffer": "4.9.1",
 				"events": "1.1.1",
@@ -1096,7 +1237,7 @@
 				"sax": "1.2.1",
 				"url": "0.10.3",
 				"uuid": "3.1.0",
-				"xml2js": "0.4.17"
+				"xml2js": "0.4.19"
 			},
 			"dependencies": {
 				"uuid": {
@@ -1105,21 +1246,18 @@
 					"integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g=="
 				},
 				"xml2js": {
-					"version": "0.4.17",
-					"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.17.tgz",
-					"integrity": "sha1-F76T6q4/O3eTWceVtBlwWogX6Gg=",
+					"version": "0.4.19",
+					"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz",
+					"integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==",
 					"requires": {
-						"sax": "1.2.1",
-						"xmlbuilder": "4.2.1"
+						"sax": ">=0.6.0",
+						"xmlbuilder": "~9.0.1"
 					}
 				},
 				"xmlbuilder": {
-					"version": "4.2.1",
-					"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.2.1.tgz",
-					"integrity": "sha1-qlijBBoGb5DqoWwvU4n/GfP0YaU=",
-					"requires": {
-						"lodash": "4.17.10"
-					}
+					"version": "9.0.7",
+					"resolved": "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz",
+					"integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0="
 				}
 			}
 		},
@@ -1135,11 +1273,11 @@
 		},
 		"axios": {
 			"version": "0.18.0",
-			"resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz",
+			"resolved": "http://registry.npmjs.org/axios/-/axios-0.18.0.tgz",
 			"integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=",
 			"requires": {
-				"follow-redirects": "1.5.0",
-				"is-buffer": "1.1.6"
+				"follow-redirects": "^1.3.0",
+				"is-buffer": "^1.1.5"
 			}
 		},
 		"babel-code-frame": {
@@ -1148,38 +1286,38 @@
 			"integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
 			"dev": true,
 			"requires": {
-				"chalk": "1.1.3",
-				"esutils": "2.0.2",
-				"js-tokens": "3.0.2"
+				"chalk": "^1.1.3",
+				"esutils": "^2.0.2",
+				"js-tokens": "^3.0.2"
 			}
 		},
 		"babel-core": {
 			"version": "6.9.1",
-			"resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.9.1.tgz",
+			"resolved": "http://registry.npmjs.org/babel-core/-/babel-core-6.9.1.tgz",
 			"integrity": "sha1-SNRx7r9N5GngqUL+RW3MlLGL6A0=",
 			"dev": true,
 			"requires": {
-				"babel-code-frame": "6.26.0",
-				"babel-generator": "6.26.1",
-				"babel-helpers": "6.24.1",
-				"babel-messages": "6.23.0",
-				"babel-register": "6.26.0",
-				"babel-runtime": "6.26.0",
-				"babel-template": "6.26.0",
-				"babel-traverse": "6.26.0",
-				"babel-types": "6.26.0",
-				"babylon": "6.18.0",
-				"convert-source-map": "1.5.1",
-				"debug": "2.6.9",
-				"json5": "0.4.0",
-				"lodash": "4.17.10",
-				"minimatch": "2.0.10",
-				"path-exists": "1.0.0",
-				"path-is-absolute": "1.0.1",
-				"private": "0.1.8",
-				"shebang-regex": "1.0.0",
-				"slash": "1.0.0",
-				"source-map": "0.5.7"
+				"babel-code-frame": "^6.8.0",
+				"babel-generator": "^6.9.0",
+				"babel-helpers": "^6.8.0",
+				"babel-messages": "^6.8.0",
+				"babel-register": "^6.9.0",
+				"babel-runtime": "^6.9.1",
+				"babel-template": "^6.9.0",
+				"babel-traverse": "^6.9.0",
+				"babel-types": "^6.9.1",
+				"babylon": "^6.7.0",
+				"convert-source-map": "^1.1.0",
+				"debug": "^2.1.1",
+				"json5": "^0.4.0",
+				"lodash": "^4.2.0",
+				"minimatch": "^2.0.3",
+				"path-exists": "^1.0.0",
+				"path-is-absolute": "^1.0.0",
+				"private": "^0.1.6",
+				"shebang-regex": "^1.0.0",
+				"slash": "^1.0.0",
+				"source-map": "^0.5.0"
 			},
 			"dependencies": {
 				"minimatch": {
@@ -1188,7 +1326,7 @@
 					"integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=",
 					"dev": true,
 					"requires": {
-						"brace-expansion": "1.1.11"
+						"brace-expansion": "^1.0.0"
 					}
 				}
 			}
@@ -1199,12 +1337,12 @@
 			"integrity": "sha512-z7OT1iNV+TjOwHNLLyJk+HN+YVWX+CLE6fPD2SymJZOZQBs+QIexFjhm4keGTm8MW9xr4EC9Q0PbaLB24V5GoQ==",
 			"dev": true,
 			"requires": {
-				"@babel/code-frame": "7.0.0",
-				"@babel/parser": "7.1.3",
-				"@babel/traverse": "7.1.4",
-				"@babel/types": "7.1.3",
+				"@babel/code-frame": "^7.0.0",
+				"@babel/parser": "^7.0.0",
+				"@babel/traverse": "^7.0.0",
+				"@babel/types": "^7.0.0",
 				"eslint-scope": "3.7.1",
-				"eslint-visitor-keys": "1.0.0"
+				"eslint-visitor-keys": "^1.0.0"
 			}
 		},
 		"babel-generator": {
@@ -1213,14 +1351,14 @@
 			"integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==",
 			"dev": true,
 			"requires": {
-				"babel-messages": "6.23.0",
-				"babel-runtime": "6.26.0",
-				"babel-types": "6.26.0",
-				"detect-indent": "4.0.0",
-				"jsesc": "1.3.0",
-				"lodash": "4.17.10",
-				"source-map": "0.5.7",
-				"trim-right": "1.0.1"
+				"babel-messages": "^6.23.0",
+				"babel-runtime": "^6.26.0",
+				"babel-types": "^6.26.0",
+				"detect-indent": "^4.0.0",
+				"jsesc": "^1.3.0",
+				"lodash": "^4.17.4",
+				"source-map": "^0.5.7",
+				"trim-right": "^1.0.1"
 			}
 		},
 		"babel-helper-bindify-decorators": {
@@ -1229,9 +1367,9 @@
 			"integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=",
 			"dev": true,
 			"requires": {
-				"babel-runtime": "6.26.0",
-				"babel-traverse": "6.26.0",
-				"babel-types": "6.26.0"
+				"babel-runtime": "^6.22.0",
+				"babel-traverse": "^6.24.1",
+				"babel-types": "^6.24.1"
 			}
 		},
 		"babel-helper-builder-binary-assignment-operator-visitor": {
@@ -1240,9 +1378,9 @@
 			"integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=",
 			"dev": true,
 			"requires": {
-				"babel-helper-explode-assignable-expression": "6.24.1",
-				"babel-runtime": "6.26.0",
-				"babel-types": "6.26.0"
+				"babel-helper-explode-assignable-expression": "^6.24.1",
+				"babel-runtime": "^6.22.0",
+				"babel-types": "^6.24.1"
 			}
 		},
 		"babel-helper-builder-react-jsx": {
@@ -1251,9 +1389,9 @@
 			"integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=",
 			"dev": true,
 			"requires": {
-				"babel-runtime": "6.26.0",
-				"babel-types": "6.26.0",
-				"esutils": "2.0.2"
+				"babel-runtime": "^6.26.0",
+				"babel-types": "^6.26.0",
+				"esutils": "^2.0.2"
 			}
 		},
 		"babel-helper-call-delegate": {
@@ -1262,10 +1400,10 @@
 			"integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=",
 			"dev": true,
 			"requires": {
-				"babel-helper-hoist-variables": "6.24.1",
-				"babel-runtime": "6.26.0",
-				"babel-traverse": "6.26.0",
-				"babel-types": "6.26.0"
+				"babel-helper-hoist-variables": "^6.24.1",
+				"babel-runtime": "^6.22.0",
+				"babel-traverse": "^6.24.1",
+				"babel-types": "^6.24.1"
 			}
 		},
 		"babel-helper-define-map": {
@@ -1274,10 +1412,10 @@
 			"integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=",
 			"dev": true,
 			"requires": {
-				"babel-helper-function-name": "6.24.1",
-				"babel-runtime": "6.26.0",
-				"babel-types": "6.26.0",
-				"lodash": "4.17.10"
+				"babel-helper-function-name": "^6.24.1",
+				"babel-runtime": "^6.26.0",
+				"babel-types": "^6.26.0",
+				"lodash": "^4.17.4"
 			}
 		},
 		"babel-helper-explode-assignable-expression": {
@@ -1286,9 +1424,9 @@
 			"integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=",
 			"dev": true,
 			"requires": {
-				"babel-runtime": "6.26.0",
-				"babel-traverse": "6.26.0",
-				"babel-types": "6.26.0"
+				"babel-runtime": "^6.22.0",
+				"babel-traverse": "^6.24.1",
+				"babel-types": "^6.24.1"
 			}
 		},
 		"babel-helper-explode-class": {
@@ -1297,10 +1435,10 @@
 			"integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=",
 			"dev": true,
 			"requires": {
-				"babel-helper-bindify-decorators": "6.24.1",
-				"babel-runtime": "6.26.0",
-				"babel-traverse": "6.26.0",
-				"babel-types": "6.26.0"
+				"babel-helper-bindify-decorators": "^6.24.1",
+				"babel-runtime": "^6.22.0",
+				"babel-traverse": "^6.24.1",
+				"babel-types": "^6.24.1"
 			}
 		},
 		"babel-helper-function-name": {
@@ -1309,11 +1447,11 @@
 			"integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=",
 			"dev": true,
 			"requires": {
-				"babel-helper-get-function-arity": "6.24.1",
-				"babel-runtime": "6.26.0",
-				"babel-template": "6.26.0",
-				"babel-traverse": "6.26.0",
-				"babel-types": "6.26.0"
+				"babel-helper-get-function-arity": "^6.24.1",
+				"babel-runtime": "^6.22.0",
+				"babel-template": "^6.24.1",
+				"babel-traverse": "^6.24.1",
+				"babel-types": "^6.24.1"
 			}
 		},
 		"babel-helper-get-function-arity": {
@@ -1322,8 +1460,8 @@
 			"integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=",
 			"dev": true,
 			"requires": {
-				"babel-runtime": "6.26.0",
-				"babel-types": "6.26.0"
+				"babel-runtime": "^6.22.0",
+				"babel-types": "^6.24.1"
 			}
 		},
 		"babel-helper-hoist-variables": {
@@ -1332,8 +1470,8 @@
 			"integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=",
 			"dev": true,
 			"requires": {
-				"babel-runtime": "6.26.0",
-				"babel-types": "6.26.0"
+				"babel-runtime": "^6.22.0",
+				"babel-types": "^6.24.1"
 			}
 		},
 		"babel-helper-optimise-call-expression": {
@@ -1342,8 +1480,8 @@
 			"integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=",
 			"dev": true,
 			"requires": {
-				"babel-runtime": "6.26.0",
-				"babel-types": "6.26.0"
+				"babel-runtime": "^6.22.0",
+				"babel-types": "^6.24.1"
 			}
 		},
 		"babel-helper-regex": {
@@ -1352,9 +1490,9 @@
 			"integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=",
 			"dev": true,
 			"requires": {
-				"babel-runtime": "6.26.0",
-				"babel-types": "6.26.0",
-				"lodash": "4.17.10"
+				"babel-runtime": "^6.26.0",
+				"babel-types": "^6.26.0",
+				"lodash": "^4.17.4"
 			}
 		},
 		"babel-helper-remap-async-to-generator": {
@@ -1363,11 +1501,11 @@
 			"integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=",
 			"dev": true,
 			"requires": {
-				"babel-helper-function-name": "6.24.1",
-				"babel-runtime": "6.26.0",
-				"babel-template": "6.26.0",
-				"babel-traverse": "6.26.0",
-				"babel-types": "6.26.0"
+				"babel-helper-function-name": "^6.24.1",
+				"babel-runtime": "^6.22.0",
+				"babel-template": "^6.24.1",
+				"babel-traverse": "^6.24.1",
+				"babel-types": "^6.24.1"
 			}
 		},
 		"babel-helper-replace-supers": {
@@ -1376,12 +1514,12 @@
 			"integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=",
 			"dev": true,
 			"requires": {
-				"babel-helper-optimise-call-expression": "6.24.1",
-				"babel-messages": "6.23.0",
-				"babel-runtime": "6.26.0",
-				"babel-template": "6.26.0",
-				"babel-traverse": "6.26.0",
-				"babel-types": "6.26.0"
+				"babel-helper-optimise-call-expression": "^6.24.1",
+				"babel-messages": "^6.23.0",
+				"babel-runtime": "^6.22.0",
+				"babel-template": "^6.24.1",
+				"babel-traverse": "^6.24.1",
+				"babel-types": "^6.24.1"
 			}
 		},
 		"babel-helpers": {
@@ -1390,8 +1528,8 @@
 			"integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=",
 			"dev": true,
 			"requires": {
-				"babel-runtime": "6.26.0",
-				"babel-template": "6.26.0"
+				"babel-runtime": "^6.22.0",
+				"babel-template": "^6.24.1"
 			}
 		},
 		"babel-messages": {
@@ -1400,7 +1538,7 @@
 			"integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
 			"dev": true,
 			"requires": {
-				"babel-runtime": "6.26.0"
+				"babel-runtime": "^6.22.0"
 			}
 		},
 		"babel-mocha-es6-compiler": {
@@ -1409,16 +1547,16 @@
 			"integrity": "sha1-QMnkBoCvRhWP7usntJQUtrgOxDg=",
 			"dev": true,
 			"requires": {
-				"babel-core": "6.9.1",
-				"babel-plugin-add-module-exports": "0.2.1",
-				"babel-preset-es2015": "6.3.13",
-				"babel-preset-react": "6.3.13",
-				"babel-preset-stage-0": "6.3.13"
+				"babel-core": "~6.9.0",
+				"babel-plugin-add-module-exports": "~0.2.1",
+				"babel-preset-es2015": "~6.3.13",
+				"babel-preset-react": "~6.3.13",
+				"babel-preset-stage-0": "~6.3.13"
 			}
 		},
 		"babel-plugin-add-module-exports": {
 			"version": "0.2.1",
-			"resolved": "https://registry.npmjs.org/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-0.2.1.tgz",
+			"resolved": "http://registry.npmjs.org/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-0.2.1.tgz",
 			"integrity": "sha1-mumh9KjcZ/DN7E9K7aHkOl/2XiU=",
 			"dev": true
 		},
@@ -1434,84 +1572,84 @@
 			"integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=",
 			"dev": true,
 			"requires": {
-				"babel-runtime": "6.26.0"
+				"babel-runtime": "^6.22.0"
 			}
 		},
 		"babel-plugin-syntax-async-functions": {
 			"version": "6.13.0",
-			"resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz",
+			"resolved": "http://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz",
 			"integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=",
 			"dev": true
 		},
 		"babel-plugin-syntax-async-generators": {
 			"version": "6.13.0",
-			"resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz",
+			"resolved": "http://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz",
 			"integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=",
 			"dev": true
 		},
 		"babel-plugin-syntax-class-constructor-call": {
 			"version": "6.18.0",
-			"resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz",
+			"resolved": "http://registry.npmjs.org/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz",
 			"integrity": "sha1-nLnTn+Q8hgC+yBRkVt3L1OGnZBY=",
 			"dev": true
 		},
 		"babel-plugin-syntax-class-properties": {
 			"version": "6.13.0",
-			"resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz",
+			"resolved": "http://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz",
 			"integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=",
 			"dev": true
 		},
 		"babel-plugin-syntax-decorators": {
 			"version": "6.13.0",
-			"resolved": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz",
+			"resolved": "http://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz",
 			"integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=",
 			"dev": true
 		},
 		"babel-plugin-syntax-do-expressions": {
 			"version": "6.13.0",
-			"resolved": "https://registry.npmjs.org/babel-plugin-syntax-do-expressions/-/babel-plugin-syntax-do-expressions-6.13.0.tgz",
+			"resolved": "http://registry.npmjs.org/babel-plugin-syntax-do-expressions/-/babel-plugin-syntax-do-expressions-6.13.0.tgz",
 			"integrity": "sha1-V0d1YTmqJtOQ0JQQsDdEugfkeW0=",
 			"dev": true
 		},
 		"babel-plugin-syntax-dynamic-import": {
 			"version": "6.18.0",
-			"resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz",
+			"resolved": "http://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz",
 			"integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=",
 			"dev": true
 		},
 		"babel-plugin-syntax-exponentiation-operator": {
 			"version": "6.13.0",
-			"resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz",
+			"resolved": "http://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz",
 			"integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=",
 			"dev": true
 		},
 		"babel-plugin-syntax-export-extensions": {
 			"version": "6.13.0",
-			"resolved": "https://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz",
+			"resolved": "http://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz",
 			"integrity": "sha1-cKFITw+QiaToStRLrDU8lbmxJyE=",
 			"dev": true
 		},
 		"babel-plugin-syntax-flow": {
 			"version": "6.18.0",
-			"resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz",
+			"resolved": "http://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz",
 			"integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=",
 			"dev": true
 		},
 		"babel-plugin-syntax-function-bind": {
 			"version": "6.13.0",
-			"resolved": "https://registry.npmjs.org/babel-plugin-syntax-function-bind/-/babel-plugin-syntax-function-bind-6.13.0.tgz",
+			"resolved": "http://registry.npmjs.org/babel-plugin-syntax-function-bind/-/babel-plugin-syntax-function-bind-6.13.0.tgz",
 			"integrity": "sha1-SMSV8Xe98xqYHnMvVa3AvdJgH0Y=",
 			"dev": true
 		},
 		"babel-plugin-syntax-jsx": {
 			"version": "6.18.0",
-			"resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
+			"resolved": "http://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
 			"integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=",
 			"dev": true
 		},
 		"babel-plugin-syntax-object-rest-spread": {
 			"version": "6.13.0",
-			"resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
+			"resolved": "http://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
 			"integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=",
 			"dev": true
 		},
@@ -1521,15 +1659,25 @@
 			"integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=",
 			"dev": true
 		},
+		"babel-plugin-transform-amd-system-wrapper": {
+			"version": "0.3.7",
+			"resolved": "https://registry.npmjs.org/babel-plugin-transform-amd-system-wrapper/-/babel-plugin-transform-amd-system-wrapper-0.3.7.tgz",
+			"integrity": "sha1-Uhx4LTVkRJHJeepoPopeHK/wukI=",
+			"dev": true,
+			"optional": true,
+			"requires": {
+				"babel-template": "^6.9.0"
+			}
+		},
 		"babel-plugin-transform-async-generator-functions": {
 			"version": "6.24.1",
 			"resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz",
 			"integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=",
 			"dev": true,
 			"requires": {
-				"babel-helper-remap-async-to-generator": "6.24.1",
-				"babel-plugin-syntax-async-generators": "6.13.0",
-				"babel-runtime": "6.26.0"
+				"babel-helper-remap-async-to-generator": "^6.24.1",
+				"babel-plugin-syntax-async-generators": "^6.5.0",
+				"babel-runtime": "^6.22.0"
 			}
 		},
 		"babel-plugin-transform-async-to-generator": {
@@ -1538,9 +1686,19 @@
 			"integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=",
 			"dev": true,
 			"requires": {
-				"babel-helper-remap-async-to-generator": "6.24.1",
-				"babel-plugin-syntax-async-functions": "6.13.0",
-				"babel-runtime": "6.26.0"
+				"babel-helper-remap-async-to-generator": "^6.24.1",
+				"babel-plugin-syntax-async-functions": "^6.8.0",
+				"babel-runtime": "^6.22.0"
+			}
+		},
+		"babel-plugin-transform-cjs-system-wrapper": {
+			"version": "0.6.2",
+			"resolved": "https://registry.npmjs.org/babel-plugin-transform-cjs-system-wrapper/-/babel-plugin-transform-cjs-system-wrapper-0.6.2.tgz",
+			"integrity": "sha1-vXSUd1KJQk/0k7btRV3klb1xuh0=",
+			"dev": true,
+			"optional": true,
+			"requires": {
+				"babel-template": "^6.9.0"
 			}
 		},
 		"babel-plugin-transform-class-constructor-call": {
@@ -1549,9 +1707,9 @@
 			"integrity": "sha1-gNwoVQWsBn3LjWxl4vbxGrd2Xvk=",
 			"dev": true,
 			"requires": {
-				"babel-plugin-syntax-class-constructor-call": "6.18.0",
-				"babel-runtime": "6.26.0",
-				"babel-template": "6.26.0"
+				"babel-plugin-syntax-class-constructor-call": "^6.18.0",
+				"babel-runtime": "^6.22.0",
+				"babel-template": "^6.24.1"
 			}
 		},
 		"babel-plugin-transform-class-properties": {
@@ -1560,10 +1718,10 @@
 			"integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=",
 			"dev": true,
 			"requires": {
-				"babel-helper-function-name": "6.24.1",
-				"babel-plugin-syntax-class-properties": "6.13.0",
-				"babel-runtime": "6.26.0",
-				"babel-template": "6.26.0"
+				"babel-helper-function-name": "^6.24.1",
+				"babel-plugin-syntax-class-properties": "^6.8.0",
+				"babel-runtime": "^6.22.0",
+				"babel-template": "^6.24.1"
 			}
 		},
 		"babel-plugin-transform-decorators": {
@@ -1572,11 +1730,11 @@
 			"integrity": "sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0=",
 			"dev": true,
 			"requires": {
-				"babel-helper-explode-class": "6.24.1",
-				"babel-plugin-syntax-decorators": "6.13.0",
-				"babel-runtime": "6.26.0",
-				"babel-template": "6.26.0",
-				"babel-types": "6.26.0"
+				"babel-helper-explode-class": "^6.24.1",
+				"babel-plugin-syntax-decorators": "^6.13.0",
+				"babel-runtime": "^6.22.0",
+				"babel-template": "^6.24.1",
+				"babel-types": "^6.24.1"
 			}
 		},
 		"babel-plugin-transform-do-expressions": {
@@ -1585,8 +1743,8 @@
 			"integrity": "sha1-KMyvkoEtlJws0SgfaQyP3EaK6bs=",
 			"dev": true,
 			"requires": {
-				"babel-plugin-syntax-do-expressions": "6.13.0",
-				"babel-runtime": "6.26.0"
+				"babel-plugin-syntax-do-expressions": "^6.8.0",
+				"babel-runtime": "^6.22.0"
 			}
 		},
 		"babel-plugin-transform-es2015-arrow-functions": {
@@ -1595,7 +1753,7 @@
 			"integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=",
 			"dev": true,
 			"requires": {
-				"babel-runtime": "6.26.0"
+				"babel-runtime": "^6.22.0"
 			}
 		},
 		"babel-plugin-transform-es2015-block-scoped-functions": {
@@ -1604,7 +1762,7 @@
 			"integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=",
 			"dev": true,
 			"requires": {
-				"babel-runtime": "6.26.0"
+				"babel-runtime": "^6.22.0"
 			}
 		},
 		"babel-plugin-transform-es2015-block-scoping": {
@@ -1613,11 +1771,11 @@
 			"integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=",
 			"dev": true,
 			"requires": {
-				"babel-runtime": "6.26.0",
-				"babel-template": "6.26.0",
-				"babel-traverse": "6.26.0",
-				"babel-types": "6.26.0",
-				"lodash": "4.17.10"
+				"babel-runtime": "^6.26.0",
+				"babel-template": "^6.26.0",
+				"babel-traverse": "^6.26.0",
+				"babel-types": "^6.26.0",
+				"lodash": "^4.17.4"
 			}
 		},
 		"babel-plugin-transform-es2015-classes": {
@@ -1626,15 +1784,15 @@
 			"integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=",
 			"dev": true,
 			"requires": {
-				"babel-helper-define-map": "6.26.0",
-				"babel-helper-function-name": "6.24.1",
-				"babel-helper-optimise-call-expression": "6.24.1",
-				"babel-helper-replace-supers": "6.24.1",
-				"babel-messages": "6.23.0",
-				"babel-runtime": "6.26.0",
-				"babel-template": "6.26.0",
-				"babel-traverse": "6.26.0",
-				"babel-types": "6.26.0"
+				"babel-helper-define-map": "^6.24.1",
+				"babel-helper-function-name": "^6.24.1",
+				"babel-helper-optimise-call-expression": "^6.24.1",
+				"babel-helper-replace-supers": "^6.24.1",
+				"babel-messages": "^6.23.0",
+				"babel-runtime": "^6.22.0",
+				"babel-template": "^6.24.1",
+				"babel-traverse": "^6.24.1",
+				"babel-types": "^6.24.1"
 			}
 		},
 		"babel-plugin-transform-es2015-computed-properties": {
@@ -1643,8 +1801,8 @@
 			"integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=",
 			"dev": true,
 			"requires": {
-				"babel-runtime": "6.26.0",
-				"babel-template": "6.26.0"
+				"babel-runtime": "^6.22.0",
+				"babel-template": "^6.24.1"
 			}
 		},
 		"babel-plugin-transform-es2015-destructuring": {
@@ -1653,7 +1811,7 @@
 			"integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=",
 			"dev": true,
 			"requires": {
-				"babel-runtime": "6.26.0"
+				"babel-runtime": "^6.22.0"
 			}
 		},
 		"babel-plugin-transform-es2015-for-of": {
@@ -1662,7 +1820,7 @@
 			"integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=",
 			"dev": true,
 			"requires": {
-				"babel-runtime": "6.26.0"
+				"babel-runtime": "^6.22.0"
 			}
 		},
 		"babel-plugin-transform-es2015-function-name": {
@@ -1671,9 +1829,9 @@
 			"integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=",
 			"dev": true,
 			"requires": {
-				"babel-helper-function-name": "6.24.1",
-				"babel-runtime": "6.26.0",
-				"babel-types": "6.26.0"
+				"babel-helper-function-name": "^6.24.1",
+				"babel-runtime": "^6.22.0",
+				"babel-types": "^6.24.1"
 			}
 		},
 		"babel-plugin-transform-es2015-literals": {
@@ -1682,7 +1840,7 @@
 			"integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=",
 			"dev": true,
 			"requires": {
-				"babel-runtime": "6.26.0"
+				"babel-runtime": "^6.22.0"
 			}
 		},
 		"babel-plugin-transform-es2015-modules-commonjs": {
@@ -1691,10 +1849,22 @@
 			"integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==",
 			"dev": true,
 			"requires": {
-				"babel-plugin-transform-strict-mode": "6.24.1",
-				"babel-runtime": "6.26.0",
-				"babel-template": "6.26.0",
-				"babel-types": "6.26.0"
+				"babel-plugin-transform-strict-mode": "^6.24.1",
+				"babel-runtime": "^6.26.0",
+				"babel-template": "^6.26.0",
+				"babel-types": "^6.26.0"
+			}
+		},
+		"babel-plugin-transform-es2015-modules-systemjs": {
+			"version": "6.24.1",
+			"resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz",
+			"integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=",
+			"dev": true,
+			"optional": true,
+			"requires": {
+				"babel-helper-hoist-variables": "^6.24.1",
+				"babel-runtime": "^6.22.0",
+				"babel-template": "^6.24.1"
 			}
 		},
 		"babel-plugin-transform-es2015-object-super": {
@@ -1703,8 +1873,8 @@
 			"integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=",
 			"dev": true,
 			"requires": {
-				"babel-helper-replace-supers": "6.24.1",
-				"babel-runtime": "6.26.0"
+				"babel-helper-replace-supers": "^6.24.1",
+				"babel-runtime": "^6.22.0"
 			}
 		},
 		"babel-plugin-transform-es2015-parameters": {
@@ -1713,12 +1883,12 @@
 			"integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=",
 			"dev": true,
 			"requires": {
-				"babel-helper-call-delegate": "6.24.1",
-				"babel-helper-get-function-arity": "6.24.1",
-				"babel-runtime": "6.26.0",
-				"babel-template": "6.26.0",
-				"babel-traverse": "6.26.0",
-				"babel-types": "6.26.0"
+				"babel-helper-call-delegate": "^6.24.1",
+				"babel-helper-get-function-arity": "^6.24.1",
+				"babel-runtime": "^6.22.0",
+				"babel-template": "^6.24.1",
+				"babel-traverse": "^6.24.1",
+				"babel-types": "^6.24.1"
 			}
 		},
 		"babel-plugin-transform-es2015-shorthand-properties": {
@@ -1727,8 +1897,8 @@
 			"integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=",
 			"dev": true,
 			"requires": {
-				"babel-runtime": "6.26.0",
-				"babel-types": "6.26.0"
+				"babel-runtime": "^6.22.0",
+				"babel-types": "^6.24.1"
 			}
 		},
 		"babel-plugin-transform-es2015-spread": {
@@ -1737,7 +1907,7 @@
 			"integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=",
 			"dev": true,
 			"requires": {
-				"babel-runtime": "6.26.0"
+				"babel-runtime": "^6.22.0"
 			}
 		},
 		"babel-plugin-transform-es2015-sticky-regex": {
@@ -1746,9 +1916,9 @@
 			"integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=",
 			"dev": true,
 			"requires": {
-				"babel-helper-regex": "6.26.0",
-				"babel-runtime": "6.26.0",
-				"babel-types": "6.26.0"
+				"babel-helper-regex": "^6.24.1",
+				"babel-runtime": "^6.22.0",
+				"babel-types": "^6.24.1"
 			}
 		},
 		"babel-plugin-transform-es2015-template-literals": {
@@ -1757,7 +1927,7 @@
 			"integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=",
 			"dev": true,
 			"requires": {
-				"babel-runtime": "6.26.0"
+				"babel-runtime": "^6.22.0"
 			}
 		},
 		"babel-plugin-transform-es2015-typeof-symbol": {
@@ -1766,7 +1936,7 @@
 			"integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=",
 			"dev": true,
 			"requires": {
-				"babel-runtime": "6.26.0"
+				"babel-runtime": "^6.22.0"
 			}
 		},
 		"babel-plugin-transform-es2015-unicode-regex": {
@@ -1775,9 +1945,9 @@
 			"integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=",
 			"dev": true,
 			"requires": {
-				"babel-helper-regex": "6.26.0",
-				"babel-runtime": "6.26.0",
-				"regexpu-core": "2.0.0"
+				"babel-helper-regex": "^6.24.1",
+				"babel-runtime": "^6.22.0",
+				"regexpu-core": "^2.0.0"
 			}
 		},
 		"babel-plugin-transform-exponentiation-operator": {
@@ -1786,9 +1956,9 @@
 			"integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=",
 			"dev": true,
 			"requires": {
-				"babel-helper-builder-binary-assignment-operator-visitor": "6.24.1",
-				"babel-plugin-syntax-exponentiation-operator": "6.13.0",
-				"babel-runtime": "6.26.0"
+				"babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1",
+				"babel-plugin-syntax-exponentiation-operator": "^6.8.0",
+				"babel-runtime": "^6.22.0"
 			}
 		},
 		"babel-plugin-transform-export-extensions": {
@@ -1797,8 +1967,8 @@
 			"integrity": "sha1-U3OLR+deghhYnuqUbLvTkQm75lM=",
 			"dev": true,
 			"requires": {
-				"babel-plugin-syntax-export-extensions": "6.13.0",
-				"babel-runtime": "6.26.0"
+				"babel-plugin-syntax-export-extensions": "^6.8.0",
+				"babel-runtime": "^6.22.0"
 			}
 		},
 		"babel-plugin-transform-flow-strip-types": {
@@ -1807,8 +1977,8 @@
 			"integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=",
 			"dev": true,
 			"requires": {
-				"babel-plugin-syntax-flow": "6.18.0",
-				"babel-runtime": "6.26.0"
+				"babel-plugin-syntax-flow": "^6.18.0",
+				"babel-runtime": "^6.22.0"
 			}
 		},
 		"babel-plugin-transform-function-bind": {
@@ -1817,8 +1987,18 @@
 			"integrity": "sha1-xvuOlqwpajELjPjqQBRiQH3fapc=",
 			"dev": true,
 			"requires": {
-				"babel-plugin-syntax-function-bind": "6.13.0",
-				"babel-runtime": "6.26.0"
+				"babel-plugin-syntax-function-bind": "^6.8.0",
+				"babel-runtime": "^6.22.0"
+			}
+		},
+		"babel-plugin-transform-global-system-wrapper": {
+			"version": "0.3.4",
+			"resolved": "https://registry.npmjs.org/babel-plugin-transform-global-system-wrapper/-/babel-plugin-transform-global-system-wrapper-0.3.4.tgz",
+			"integrity": "sha1-lI3X0p/CFEfjm9NEfy3rx/L3Oqw=",
+			"dev": true,
+			"optional": true,
+			"requires": {
+				"babel-template": "^6.9.0"
 			}
 		},
 		"babel-plugin-transform-object-rest-spread": {
@@ -1827,8 +2007,8 @@
 			"integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=",
 			"dev": true,
 			"requires": {
-				"babel-plugin-syntax-object-rest-spread": "6.13.0",
-				"babel-runtime": "6.26.0"
+				"babel-plugin-syntax-object-rest-spread": "^6.8.0",
+				"babel-runtime": "^6.26.0"
 			}
 		},
 		"babel-plugin-transform-react-display-name": {
@@ -1837,7 +2017,7 @@
 			"integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=",
 			"dev": true,
 			"requires": {
-				"babel-runtime": "6.26.0"
+				"babel-runtime": "^6.22.0"
 			}
 		},
 		"babel-plugin-transform-react-jsx": {
@@ -1846,9 +2026,9 @@
 			"integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=",
 			"dev": true,
 			"requires": {
-				"babel-helper-builder-react-jsx": "6.26.0",
-				"babel-plugin-syntax-jsx": "6.18.0",
-				"babel-runtime": "6.26.0"
+				"babel-helper-builder-react-jsx": "^6.24.1",
+				"babel-plugin-syntax-jsx": "^6.8.0",
+				"babel-runtime": "^6.22.0"
 			}
 		},
 		"babel-plugin-transform-react-jsx-source": {
@@ -1857,8 +2037,8 @@
 			"integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=",
 			"dev": true,
 			"requires": {
-				"babel-plugin-syntax-jsx": "6.18.0",
-				"babel-runtime": "6.26.0"
+				"babel-plugin-syntax-jsx": "^6.8.0",
+				"babel-runtime": "^6.22.0"
 			}
 		},
 		"babel-plugin-transform-regenerator": {
@@ -1867,7 +2047,7 @@
 			"integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=",
 			"dev": true,
 			"requires": {
-				"regenerator-transform": "0.10.1"
+				"regenerator-transform": "^0.10.0"
 			}
 		},
 		"babel-plugin-transform-runtime": {
@@ -1876,7 +2056,7 @@
 			"integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=",
 			"dev": true,
 			"requires": {
-				"babel-runtime": "6.26.0"
+				"babel-runtime": "^6.22.0"
 			}
 		},
 		"babel-plugin-transform-strict-mode": {
@@ -1885,19 +2065,26 @@
 			"integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=",
 			"dev": true,
 			"requires": {
-				"babel-runtime": "6.26.0",
-				"babel-types": "6.26.0"
+				"babel-runtime": "^6.22.0",
+				"babel-types": "^6.24.1"
 			}
 		},
+		"babel-plugin-transform-system-register": {
+			"version": "0.0.1",
+			"resolved": "https://registry.npmjs.org/babel-plugin-transform-system-register/-/babel-plugin-transform-system-register-0.0.1.tgz",
+			"integrity": "sha1-nf9AOQwnY6xRjwsq18XqT2WlviU=",
+			"dev": true,
+			"optional": true
+		},
 		"babel-polyfill": {
 			"version": "6.26.0",
 			"resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz",
 			"integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=",
 			"dev": true,
 			"requires": {
-				"babel-runtime": "6.26.0",
-				"core-js": "2.5.7",
-				"regenerator-runtime": "0.10.5"
+				"babel-runtime": "^6.26.0",
+				"core-js": "^2.5.0",
+				"regenerator-runtime": "^0.10.5"
 			},
 			"dependencies": {
 				"regenerator-runtime": {
@@ -1910,55 +2097,55 @@
 		},
 		"babel-preset-es2015": {
 			"version": "6.3.13",
-			"resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.3.13.tgz",
+			"resolved": "http://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.3.13.tgz",
 			"integrity": "sha1-l9zn7ykuGMubK3VF2AxZPCjZUX8=",
 			"dev": true,
 			"requires": {
-				"babel-plugin-check-es2015-constants": "6.22.0",
-				"babel-plugin-transform-es2015-arrow-functions": "6.22.0",
-				"babel-plugin-transform-es2015-block-scoped-functions": "6.22.0",
-				"babel-plugin-transform-es2015-block-scoping": "6.26.0",
-				"babel-plugin-transform-es2015-classes": "6.24.1",
-				"babel-plugin-transform-es2015-computed-properties": "6.24.1",
-				"babel-plugin-transform-es2015-destructuring": "6.23.0",
-				"babel-plugin-transform-es2015-for-of": "6.23.0",
-				"babel-plugin-transform-es2015-function-name": "6.24.1",
-				"babel-plugin-transform-es2015-literals": "6.22.0",
-				"babel-plugin-transform-es2015-modules-commonjs": "6.26.2",
-				"babel-plugin-transform-es2015-object-super": "6.24.1",
-				"babel-plugin-transform-es2015-parameters": "6.24.1",
-				"babel-plugin-transform-es2015-shorthand-properties": "6.24.1",
-				"babel-plugin-transform-es2015-spread": "6.22.0",
-				"babel-plugin-transform-es2015-sticky-regex": "6.24.1",
-				"babel-plugin-transform-es2015-template-literals": "6.22.0",
-				"babel-plugin-transform-es2015-typeof-symbol": "6.23.0",
-				"babel-plugin-transform-es2015-unicode-regex": "6.24.1",
-				"babel-plugin-transform-regenerator": "6.26.0"
+				"babel-plugin-check-es2015-constants": "^6.3.13",
+				"babel-plugin-transform-es2015-arrow-functions": "^6.3.13",
+				"babel-plugin-transform-es2015-block-scoped-functions": "^6.3.13",
+				"babel-plugin-transform-es2015-block-scoping": "^6.3.13",
+				"babel-plugin-transform-es2015-classes": "^6.3.13",
+				"babel-plugin-transform-es2015-computed-properties": "^6.3.13",
+				"babel-plugin-transform-es2015-destructuring": "^6.3.13",
+				"babel-plugin-transform-es2015-for-of": "^6.3.13",
+				"babel-plugin-transform-es2015-function-name": "^6.3.13",
+				"babel-plugin-transform-es2015-literals": "^6.3.13",
+				"babel-plugin-transform-es2015-modules-commonjs": "^6.3.13",
+				"babel-plugin-transform-es2015-object-super": "^6.3.13",
+				"babel-plugin-transform-es2015-parameters": "^6.3.13",
+				"babel-plugin-transform-es2015-shorthand-properties": "^6.3.13",
+				"babel-plugin-transform-es2015-spread": "^6.3.13",
+				"babel-plugin-transform-es2015-sticky-regex": "^6.3.13",
+				"babel-plugin-transform-es2015-template-literals": "^6.3.13",
+				"babel-plugin-transform-es2015-typeof-symbol": "^6.3.13",
+				"babel-plugin-transform-es2015-unicode-regex": "^6.3.13",
+				"babel-plugin-transform-regenerator": "^6.3.13"
 			}
 		},
 		"babel-preset-react": {
 			"version": "6.3.13",
-			"resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.3.13.tgz",
+			"resolved": "http://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.3.13.tgz",
 			"integrity": "sha1-E9VeBqZfqqoHw5v2Op2DbgMhFvo=",
 			"dev": true,
 			"requires": {
-				"babel-plugin-syntax-flow": "6.18.0",
-				"babel-plugin-syntax-jsx": "6.18.0",
-				"babel-plugin-transform-flow-strip-types": "6.22.0",
-				"babel-plugin-transform-react-display-name": "6.25.0",
-				"babel-plugin-transform-react-jsx": "6.24.1",
-				"babel-plugin-transform-react-jsx-source": "6.22.0"
+				"babel-plugin-syntax-flow": "^6.3.13",
+				"babel-plugin-syntax-jsx": "^6.3.13",
+				"babel-plugin-transform-flow-strip-types": "^6.3.13",
+				"babel-plugin-transform-react-display-name": "^6.3.13",
+				"babel-plugin-transform-react-jsx": "^6.3.13",
+				"babel-plugin-transform-react-jsx-source": "^6.3.13"
 			}
 		},
 		"babel-preset-stage-0": {
 			"version": "6.3.13",
-			"resolved": "https://registry.npmjs.org/babel-preset-stage-0/-/babel-preset-stage-0-6.3.13.tgz",
+			"resolved": "http://registry.npmjs.org/babel-preset-stage-0/-/babel-preset-stage-0-6.3.13.tgz",
 			"integrity": "sha1-eKN8VvCzmI8qeZMtywzrj/N3sNE=",
 			"dev": true,
 			"requires": {
-				"babel-plugin-transform-do-expressions": "6.22.0",
-				"babel-plugin-transform-function-bind": "6.22.0",
-				"babel-preset-stage-1": "6.24.1"
+				"babel-plugin-transform-do-expressions": "^6.3.13",
+				"babel-plugin-transform-function-bind": "^6.3.13",
+				"babel-preset-stage-1": "^6.3.13"
 			}
 		},
 		"babel-preset-stage-1": {
@@ -1967,9 +2154,9 @@
 			"integrity": "sha1-dpLNfc1oSZB+auSgqFWJz7niv7A=",
 			"dev": true,
 			"requires": {
-				"babel-plugin-transform-class-constructor-call": "6.24.1",
-				"babel-plugin-transform-export-extensions": "6.22.0",
-				"babel-preset-stage-2": "6.24.1"
+				"babel-plugin-transform-class-constructor-call": "^6.24.1",
+				"babel-plugin-transform-export-extensions": "^6.22.0",
+				"babel-preset-stage-2": "^6.24.1"
 			}
 		},
 		"babel-preset-stage-2": {
@@ -1978,10 +2165,10 @@
 			"integrity": "sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE=",
 			"dev": true,
 			"requires": {
-				"babel-plugin-syntax-dynamic-import": "6.18.0",
-				"babel-plugin-transform-class-properties": "6.24.1",
-				"babel-plugin-transform-decorators": "6.24.1",
-				"babel-preset-stage-3": "6.24.1"
+				"babel-plugin-syntax-dynamic-import": "^6.18.0",
+				"babel-plugin-transform-class-properties": "^6.24.1",
+				"babel-plugin-transform-decorators": "^6.24.1",
+				"babel-preset-stage-3": "^6.24.1"
 			}
 		},
 		"babel-preset-stage-3": {
@@ -1990,11 +2177,11 @@
 			"integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=",
 			"dev": true,
 			"requires": {
-				"babel-plugin-syntax-trailing-function-commas": "6.22.0",
-				"babel-plugin-transform-async-generator-functions": "6.24.1",
-				"babel-plugin-transform-async-to-generator": "6.24.1",
-				"babel-plugin-transform-exponentiation-operator": "6.24.1",
-				"babel-plugin-transform-object-rest-spread": "6.26.0"
+				"babel-plugin-syntax-trailing-function-commas": "^6.22.0",
+				"babel-plugin-transform-async-generator-functions": "^6.24.1",
+				"babel-plugin-transform-async-to-generator": "^6.24.1",
+				"babel-plugin-transform-exponentiation-operator": "^6.24.1",
+				"babel-plugin-transform-object-rest-spread": "^6.22.0"
 			}
 		},
 		"babel-register": {
@@ -2003,13 +2190,13 @@
 			"integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=",
 			"dev": true,
 			"requires": {
-				"babel-core": "6.26.3",
-				"babel-runtime": "6.26.0",
-				"core-js": "2.5.7",
-				"home-or-tmp": "2.0.0",
-				"lodash": "4.17.10",
-				"mkdirp": "0.5.1",
-				"source-map-support": "0.4.18"
+				"babel-core": "^6.26.0",
+				"babel-runtime": "^6.26.0",
+				"core-js": "^2.5.0",
+				"home-or-tmp": "^2.0.0",
+				"lodash": "^4.17.4",
+				"mkdirp": "^0.5.1",
+				"source-map-support": "^0.4.15"
 			},
 			"dependencies": {
 				"babel-core": {
@@ -2018,25 +2205,25 @@
 					"integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==",
 					"dev": true,
 					"requires": {
-						"babel-code-frame": "6.26.0",
-						"babel-generator": "6.26.1",
-						"babel-helpers": "6.24.1",
-						"babel-messages": "6.23.0",
-						"babel-register": "6.26.0",
-						"babel-runtime": "6.26.0",
-						"babel-template": "6.26.0",
-						"babel-traverse": "6.26.0",
-						"babel-types": "6.26.0",
-						"babylon": "6.18.0",
-						"convert-source-map": "1.5.1",
-						"debug": "2.6.9",
-						"json5": "0.5.1",
-						"lodash": "4.17.10",
-						"minimatch": "3.0.4",
-						"path-is-absolute": "1.0.1",
-						"private": "0.1.8",
-						"slash": "1.0.0",
-						"source-map": "0.5.7"
+						"babel-code-frame": "^6.26.0",
+						"babel-generator": "^6.26.0",
+						"babel-helpers": "^6.24.1",
+						"babel-messages": "^6.23.0",
+						"babel-register": "^6.26.0",
+						"babel-runtime": "^6.26.0",
+						"babel-template": "^6.26.0",
+						"babel-traverse": "^6.26.0",
+						"babel-types": "^6.26.0",
+						"babylon": "^6.18.0",
+						"convert-source-map": "^1.5.1",
+						"debug": "^2.6.9",
+						"json5": "^0.5.1",
+						"lodash": "^4.17.4",
+						"minimatch": "^3.0.4",
+						"path-is-absolute": "^1.0.1",
+						"private": "^0.1.8",
+						"slash": "^1.0.0",
+						"source-map": "^0.5.7"
 					}
 				},
 				"json5": {
@@ -2053,8 +2240,8 @@
 			"integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
 			"dev": true,
 			"requires": {
-				"core-js": "2.5.7",
-				"regenerator-runtime": "0.11.1"
+				"core-js": "^2.4.0",
+				"regenerator-runtime": "^0.11.0"
 			}
 		},
 		"babel-template": {
@@ -2063,11 +2250,11 @@
 			"integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
 			"dev": true,
 			"requires": {
-				"babel-runtime": "6.26.0",
-				"babel-traverse": "6.26.0",
-				"babel-types": "6.26.0",
-				"babylon": "6.18.0",
-				"lodash": "4.17.10"
+				"babel-runtime": "^6.26.0",
+				"babel-traverse": "^6.26.0",
+				"babel-types": "^6.26.0",
+				"babylon": "^6.18.0",
+				"lodash": "^4.17.4"
 			}
 		},
 		"babel-traverse": {
@@ -2076,15 +2263,15 @@
 			"integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
 			"dev": true,
 			"requires": {
-				"babel-code-frame": "6.26.0",
-				"babel-messages": "6.23.0",
-				"babel-runtime": "6.26.0",
-				"babel-types": "6.26.0",
-				"babylon": "6.18.0",
-				"debug": "2.6.9",
-				"globals": "9.18.0",
-				"invariant": "2.2.4",
-				"lodash": "4.17.10"
+				"babel-code-frame": "^6.26.0",
+				"babel-messages": "^6.23.0",
+				"babel-runtime": "^6.26.0",
+				"babel-types": "^6.26.0",
+				"babylon": "^6.18.0",
+				"debug": "^2.6.8",
+				"globals": "^9.18.0",
+				"invariant": "^2.2.2",
+				"lodash": "^4.17.4"
 			}
 		},
 		"babel-types": {
@@ -2093,10 +2280,10 @@
 			"integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
 			"dev": true,
 			"requires": {
-				"babel-runtime": "6.26.0",
-				"esutils": "2.0.2",
-				"lodash": "4.17.10",
-				"to-fast-properties": "1.0.3"
+				"babel-runtime": "^6.26.0",
+				"esutils": "^2.0.2",
+				"lodash": "^4.17.4",
+				"to-fast-properties": "^1.0.3"
 			}
 		},
 		"babylon": {
@@ -2115,15 +2302,15 @@
 			"resolved": "https://registry.npmjs.org/backoff/-/backoff-2.5.0.tgz",
 			"integrity": "sha1-9hbtqdPktmuMp/ynn2lXIsX44m8=",
 			"requires": {
-				"precond": "0.2.3"
+				"precond": "0.2"
 			}
 		},
 		"bad-words": {
-			"version": "1.6.1",
-			"resolved": "https://registry.npmjs.org/bad-words/-/bad-words-1.6.1.tgz",
-			"integrity": "sha1-BkgwIZUanYD7X8qi8Nmh51p0W1A=",
+			"version": "1.6.5",
+			"resolved": "https://registry.npmjs.org/bad-words/-/bad-words-1.6.5.tgz",
+			"integrity": "sha512-KzDrzFtzS8Z+v4I+KuanePuaj7g6aRms2WYQOt7n+UugfqMPheYS7zcyTypokxMno2Ss6xfo062ya1aVrviB2g==",
 			"requires": {
-				"badwords-list": "1.0.0"
+				"badwords-list": "^1.0.0"
 			}
 		},
 		"badwords-list": {
@@ -2147,13 +2334,13 @@
 			"resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
 			"integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
 			"requires": {
-				"cache-base": "1.0.1",
-				"class-utils": "0.3.6",
-				"component-emitter": "1.2.1",
-				"define-property": "1.0.0",
-				"isobject": "3.0.1",
-				"mixin-deep": "1.3.1",
-				"pascalcase": "0.1.1"
+				"cache-base": "^1.0.1",
+				"class-utils": "^0.3.5",
+				"component-emitter": "^1.2.1",
+				"define-property": "^1.0.0",
+				"isobject": "^3.0.1",
+				"mixin-deep": "^1.2.0",
+				"pascalcase": "^0.1.1"
 			},
 			"dependencies": {
 				"define-property": {
@@ -2161,7 +2348,7 @@
 					"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
 					"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
 					"requires": {
-						"is-descriptor": "1.0.2"
+						"is-descriptor": "^1.0.0"
 					}
 				},
 				"is-accessor-descriptor": {
@@ -2169,7 +2356,7 @@
 					"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
 					"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
 					"requires": {
-						"kind-of": "6.0.2"
+						"kind-of": "^6.0.0"
 					}
 				},
 				"is-data-descriptor": {
@@ -2177,7 +2364,7 @@
 					"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
 					"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
 					"requires": {
-						"kind-of": "6.0.2"
+						"kind-of": "^6.0.0"
 					}
 				},
 				"is-descriptor": {
@@ -2185,9 +2372,9 @@
 					"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
 					"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
 					"requires": {
-						"is-accessor-descriptor": "1.0.0",
-						"is-data-descriptor": "1.0.0",
-						"kind-of": "6.0.2"
+						"is-accessor-descriptor": "^1.0.0",
+						"is-data-descriptor": "^1.0.0",
+						"kind-of": "^6.0.2"
 					}
 				}
 			}
@@ -2214,7 +2401,7 @@
 		},
 		"basic-auth": {
 			"version": "1.0.4",
-			"resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.4.tgz",
+			"resolved": "http://registry.npmjs.org/basic-auth/-/basic-auth-1.0.4.tgz",
 			"integrity": "sha1-Awk1sB3nyblKgksp8/zLdQ06UpA="
 		},
 		"basic-auth-connect": {
@@ -2238,70 +2425,70 @@
 			"dependencies": {
 				"abbrev": {
 					"version": "1.1.1",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
 					"integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
 				},
 				"ansi-regex": {
 					"version": "2.1.1",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
 					"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
 				},
 				"aproba": {
 					"version": "1.2.0",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
 					"integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
 				},
 				"are-we-there-yet": {
 					"version": "1.1.4",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz",
 					"integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=",
 					"requires": {
-						"delegates": "1.0.0",
-						"readable-stream": "2.3.5"
+						"delegates": "^1.0.0",
+						"readable-stream": "^2.0.6"
 					}
 				},
 				"balanced-match": {
 					"version": "1.0.0",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
 					"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
 				},
 				"brace-expansion": {
 					"version": "1.1.11",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
 					"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
 					"requires": {
-						"balanced-match": "1.0.0",
+						"balanced-match": "^1.0.0",
 						"concat-map": "0.0.1"
 					}
 				},
 				"chownr": {
 					"version": "1.0.1",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz",
 					"integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE="
 				},
 				"code-point-at": {
 					"version": "1.1.0",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
 					"integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
 				},
 				"concat-map": {
 					"version": "0.0.1",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
 					"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
 				},
 				"console-control-strings": {
 					"version": "1.1.0",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
 					"integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4="
 				},
 				"core-util-is": {
 					"version": "1.0.2",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
 					"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
 				},
 				"debug": {
 					"version": "2.6.9",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
 					"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
 					"requires": {
 						"ms": "2.0.0"
@@ -2309,153 +2496,153 @@
 				},
 				"deep-extend": {
 					"version": "0.4.2",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz",
 					"integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8="
 				},
 				"delegates": {
 					"version": "1.0.0",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
 					"integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
 				},
 				"detect-libc": {
 					"version": "1.0.3",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
 					"integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups="
 				},
 				"fs-minipass": {
 					"version": "1.2.5",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz",
 					"integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==",
 					"requires": {
-						"minipass": "2.2.4"
+						"minipass": "^2.2.1"
 					}
 				},
 				"fs.realpath": {
 					"version": "1.0.0",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
 					"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
 				},
 				"gauge": {
 					"version": "2.7.4",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
 					"integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
 					"requires": {
-						"aproba": "1.2.0",
-						"console-control-strings": "1.1.0",
-						"has-unicode": "2.0.1",
-						"object-assign": "4.1.1",
-						"signal-exit": "3.0.2",
-						"string-width": "1.0.2",
-						"strip-ansi": "3.0.1",
-						"wide-align": "1.1.2"
+						"aproba": "^1.0.3",
+						"console-control-strings": "^1.0.0",
+						"has-unicode": "^2.0.0",
+						"object-assign": "^4.1.0",
+						"signal-exit": "^3.0.0",
+						"string-width": "^1.0.1",
+						"strip-ansi": "^3.0.1",
+						"wide-align": "^1.1.0"
 					}
 				},
 				"glob": {
 					"version": "7.1.2",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
 					"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
 					"requires": {
-						"fs.realpath": "1.0.0",
-						"inflight": "1.0.6",
-						"inherits": "2.0.3",
-						"minimatch": "3.0.4",
-						"once": "1.4.0",
-						"path-is-absolute": "1.0.1"
+						"fs.realpath": "^1.0.0",
+						"inflight": "^1.0.4",
+						"inherits": "2",
+						"minimatch": "^3.0.4",
+						"once": "^1.3.0",
+						"path-is-absolute": "^1.0.0"
 					}
 				},
 				"has-unicode": {
 					"version": "2.0.1",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
 					"integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk="
 				},
 				"iconv-lite": {
 					"version": "0.4.21",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.21.tgz",
 					"integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==",
 					"requires": {
-						"safer-buffer": "2.1.2"
+						"safer-buffer": "^2.1.0"
 					}
 				},
 				"ignore-walk": {
 					"version": "3.0.1",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz",
 					"integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==",
 					"requires": {
-						"minimatch": "3.0.4"
+						"minimatch": "^3.0.4"
 					}
 				},
 				"inflight": {
 					"version": "1.0.6",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
 					"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
 					"requires": {
-						"once": "1.4.0",
-						"wrappy": "1.0.2"
+						"once": "^1.3.0",
+						"wrappy": "1"
 					}
 				},
 				"inherits": {
 					"version": "2.0.3",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
 					"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
 				},
 				"ini": {
 					"version": "1.3.5",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
 					"integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="
 				},
 				"is-fullwidth-code-point": {
 					"version": "1.0.0",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
 					"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
 					"requires": {
-						"number-is-nan": "1.0.1"
+						"number-is-nan": "^1.0.0"
 					}
 				},
 				"isarray": {
 					"version": "1.0.0",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
 					"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
 				},
 				"minimatch": {
 					"version": "3.0.4",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
 					"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
 					"requires": {
-						"brace-expansion": "1.1.11"
+						"brace-expansion": "^1.1.7"
 					}
 				},
 				"minimist": {
 					"version": "0.0.8",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
 					"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
 				},
 				"minipass": {
 					"version": "2.2.4",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/minipass/-/minipass-2.2.4.tgz",
 					"integrity": "sha512-hzXIWWet/BzWhYs2b+u7dRHlruXhwdgvlTMDKC6Cb1U7ps6Ac6yQlR39xsbjWJE377YTCtKwIXIpJ5oP+j5y8g==",
 					"requires": {
-						"safe-buffer": "5.1.1",
-						"yallist": "3.0.2"
+						"safe-buffer": "^5.1.1",
+						"yallist": "^3.0.0"
 					},
 					"dependencies": {
 						"yallist": {
 							"version": "3.0.2",
-							"resolved": false,
+							"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz",
 							"integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k="
 						}
 					}
 				},
 				"minizlib": {
 					"version": "1.1.0",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz",
 					"integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==",
 					"requires": {
-						"minipass": "2.2.4"
+						"minipass": "^2.2.1"
 					}
 				},
 				"mkdirp": {
 					"version": "0.5.1",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
 					"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
 					"requires": {
 						"minimist": "0.0.8"
@@ -2463,255 +2650,255 @@
 				},
 				"ms": {
 					"version": "2.0.0",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
 					"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
 				},
 				"needle": {
 					"version": "2.2.0",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/needle/-/needle-2.2.0.tgz",
 					"integrity": "sha512-eFagy6c+TYayorXw/qtAdSvaUpEbBsDwDyxYFgLZ0lTojfH7K+OdBqAF7TAFwDokJaGpubpSGG0wO3iC0XPi8w==",
 					"requires": {
-						"debug": "2.6.9",
-						"iconv-lite": "0.4.21",
-						"sax": "1.2.4"
+						"debug": "^2.1.2",
+						"iconv-lite": "^0.4.4",
+						"sax": "^1.2.4"
 					}
 				},
 				"node-pre-gyp": {
 					"version": "0.9.1",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.9.1.tgz",
 					"integrity": "sha1-8RwHUW3ZL4cZnbx+GDjqt81WyeA=",
 					"requires": {
-						"detect-libc": "1.0.3",
-						"mkdirp": "0.5.1",
-						"needle": "2.2.0",
-						"nopt": "4.0.1",
-						"npm-packlist": "1.1.10",
-						"npmlog": "4.1.2",
-						"rc": "1.2.6",
-						"rimraf": "2.6.2",
-						"semver": "5.5.0",
-						"tar": "4.4.1"
+						"detect-libc": "^1.0.2",
+						"mkdirp": "^0.5.1",
+						"needle": "^2.2.0",
+						"nopt": "^4.0.1",
+						"npm-packlist": "^1.1.6",
+						"npmlog": "^4.0.2",
+						"rc": "^1.1.7",
+						"rimraf": "^2.6.1",
+						"semver": "^5.3.0",
+						"tar": "^4"
 					}
 				},
 				"nopt": {
 					"version": "4.0.1",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz",
 					"integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
 					"requires": {
-						"abbrev": "1.1.1",
-						"osenv": "0.1.5"
+						"abbrev": "1",
+						"osenv": "^0.1.4"
 					}
 				},
 				"npm-bundled": {
 					"version": "1.0.3",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.3.tgz",
 					"integrity": "sha512-ByQ3oJ/5ETLyglU2+8dBObvhfWXX8dtPZDMePCahptliFX2iIuhyEszyFk401PZUNQH20vvdW5MLjJxkwU80Ow=="
 				},
 				"npm-packlist": {
 					"version": "1.1.10",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.10.tgz",
 					"integrity": "sha512-AQC0Dyhzn4EiYEfIUjCdMl0JJ61I2ER9ukf/sLxJUcZHfo+VyEfz2rMJgLZSS1v30OxPQe1cN0LZA1xbcaVfWA==",
 					"requires": {
-						"ignore-walk": "3.0.1",
-						"npm-bundled": "1.0.3"
+						"ignore-walk": "^3.0.1",
+						"npm-bundled": "^1.0.1"
 					}
 				},
 				"npmlog": {
 					"version": "4.1.2",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
 					"integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
 					"requires": {
-						"are-we-there-yet": "1.1.4",
-						"console-control-strings": "1.1.0",
-						"gauge": "2.7.4",
-						"set-blocking": "2.0.0"
+						"are-we-there-yet": "~1.1.2",
+						"console-control-strings": "~1.1.0",
+						"gauge": "~2.7.3",
+						"set-blocking": "~2.0.0"
 					}
 				},
 				"number-is-nan": {
 					"version": "1.0.1",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
 					"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
 				},
 				"object-assign": {
 					"version": "4.1.1",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
 					"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
 				},
 				"once": {
 					"version": "1.4.0",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
 					"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
 					"requires": {
-						"wrappy": "1.0.2"
+						"wrappy": "1"
 					}
 				},
 				"os-homedir": {
 					"version": "1.0.2",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
 					"integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
 				},
 				"os-tmpdir": {
 					"version": "1.0.2",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
 					"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
 				},
 				"osenv": {
 					"version": "0.1.5",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
 					"integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
 					"requires": {
-						"os-homedir": "1.0.2",
-						"os-tmpdir": "1.0.2"
+						"os-homedir": "^1.0.0",
+						"os-tmpdir": "^1.0.0"
 					}
 				},
 				"path-is-absolute": {
 					"version": "1.0.1",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
 					"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
 				},
 				"process-nextick-args": {
 					"version": "2.0.0",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
 					"integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
 				},
 				"rc": {
 					"version": "1.2.6",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/rc/-/rc-1.2.6.tgz",
 					"integrity": "sha1-6xiYnG1PTxYsOZ953dKfODVWgJI=",
 					"requires": {
-						"deep-extend": "0.4.2",
-						"ini": "1.3.5",
-						"minimist": "1.2.0",
-						"strip-json-comments": "2.0.1"
+						"deep-extend": "~0.4.0",
+						"ini": "~1.3.0",
+						"minimist": "^1.2.0",
+						"strip-json-comments": "~2.0.1"
 					},
 					"dependencies": {
 						"minimist": {
 							"version": "1.2.0",
-							"resolved": false,
+							"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
 							"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
 						}
 					}
 				},
 				"readable-stream": {
 					"version": "2.3.5",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.5.tgz",
 					"integrity": "sha512-tK0yDhrkygt/knjowCUiWP9YdV7c5R+8cR0r/kt9ZhBU906Fs6RpQJCEilamRJj1Nx2rWI6LkW9gKqjTkshhEw==",
 					"requires": {
-						"core-util-is": "1.0.2",
-						"inherits": "2.0.3",
-						"isarray": "1.0.0",
-						"process-nextick-args": "2.0.0",
-						"safe-buffer": "5.1.1",
-						"string_decoder": "1.0.3",
-						"util-deprecate": "1.0.2"
+						"core-util-is": "~1.0.0",
+						"inherits": "~2.0.3",
+						"isarray": "~1.0.0",
+						"process-nextick-args": "~2.0.0",
+						"safe-buffer": "~5.1.1",
+						"string_decoder": "~1.0.3",
+						"util-deprecate": "~1.0.1"
 					}
 				},
 				"rimraf": {
 					"version": "2.6.2",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
 					"integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
 					"requires": {
-						"glob": "7.1.2"
+						"glob": "^7.0.5"
 					}
 				},
 				"safe-buffer": {
 					"version": "5.1.1",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
 					"integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg=="
 				},
 				"safer-buffer": {
 					"version": "2.1.2",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
 					"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
 				},
 				"sax": {
 					"version": "1.2.4",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
 					"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
 				},
 				"semver": {
 					"version": "5.5.0",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
 					"integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA=="
 				},
 				"set-blocking": {
 					"version": "2.0.0",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
 					"integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
 				},
 				"signal-exit": {
 					"version": "3.0.2",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
 					"integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
 				},
 				"string-width": {
 					"version": "1.0.2",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
 					"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
 					"requires": {
-						"code-point-at": "1.1.0",
-						"is-fullwidth-code-point": "1.0.0",
-						"strip-ansi": "3.0.1"
+						"code-point-at": "^1.0.0",
+						"is-fullwidth-code-point": "^1.0.0",
+						"strip-ansi": "^3.0.0"
 					}
 				},
 				"string_decoder": {
 					"version": "1.0.3",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
 					"integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
 					"requires": {
-						"safe-buffer": "5.1.1"
+						"safe-buffer": "~5.1.0"
 					}
 				},
 				"strip-ansi": {
 					"version": "3.0.1",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
 					"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
 					"requires": {
-						"ansi-regex": "2.1.1"
+						"ansi-regex": "^2.0.0"
 					}
 				},
 				"strip-json-comments": {
 					"version": "2.0.1",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
 					"integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
 				},
 				"tar": {
 					"version": "4.4.1",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/tar/-/tar-4.4.1.tgz",
 					"integrity": "sha512-O+v1r9yN4tOsvl90p5HAP4AEqbYhx4036AGMm075fH9F8Qwi3oJ+v4u50FkT/KkvywNGtwkk0zRI+8eYm1X/xg==",
 					"requires": {
-						"chownr": "1.0.1",
-						"fs-minipass": "1.2.5",
-						"minipass": "2.2.4",
-						"minizlib": "1.1.0",
-						"mkdirp": "0.5.1",
-						"safe-buffer": "5.1.1",
-						"yallist": "3.0.2"
+						"chownr": "^1.0.1",
+						"fs-minipass": "^1.2.5",
+						"minipass": "^2.2.4",
+						"minizlib": "^1.1.0",
+						"mkdirp": "^0.5.0",
+						"safe-buffer": "^5.1.1",
+						"yallist": "^3.0.2"
 					},
 					"dependencies": {
 						"yallist": {
 							"version": "3.0.2",
-							"resolved": false,
+							"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz",
 							"integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k="
 						}
 					}
 				},
 				"util-deprecate": {
 					"version": "1.0.2",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
 					"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
 				},
 				"wide-align": {
 					"version": "1.1.2",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz",
 					"integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==",
 					"requires": {
-						"string-width": "1.0.2"
+						"string-width": "^1.0.2"
 					}
 				},
 				"wrappy": {
 					"version": "1.0.2",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
 					"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
 				}
 			}
@@ -2722,7 +2909,7 @@
 			"integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
 			"optional": true,
 			"requires": {
-				"tweetnacl": "0.14.5"
+				"tweetnacl": "^0.14.3"
 			}
 		},
 		"bech32": {
@@ -2767,12 +2954,12 @@
 			"resolved": "https://registry.npmjs.org/bip32/-/bip32-1.0.2.tgz",
 			"integrity": "sha512-kedLYj8yvYzND+EfzeoMSlGiN7ImiRBF/MClJSZPkMfcU+OQO7ZpL5L/Yg+TunebBZIHhunstiQF//KLKSF5rg==",
 			"requires": {
-				"bs58check": "2.1.2",
-				"create-hash": "1.2.0",
-				"create-hmac": "1.1.7",
-				"tiny-secp256k1": "1.0.0",
-				"typeforce": "1.12.0",
-				"wif": "2.0.6"
+				"bs58check": "^2.1.1",
+				"create-hash": "^1.2.0",
+				"create-hmac": "^1.1.7",
+				"tiny-secp256k1": "^1.0.0",
+				"typeforce": "^1.11.5",
+				"wif": "^2.0.6"
 			},
 			"dependencies": {
 				"base-x": {
@@ -2780,7 +2967,7 @@
 					"resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.4.tgz",
 					"integrity": "sha512-UYOadoSIkEI/VrRGSG6qp93rp2WdokiAiNYDfGW5qURAY8GiAQkvMbwNNSDYiVJopqv4gCna7xqf4rrNGp+5AA==",
 					"requires": {
-						"safe-buffer": "5.1.2"
+						"safe-buffer": "^5.0.1"
 					}
 				},
 				"bs58": {
@@ -2788,7 +2975,7 @@
 					"resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz",
 					"integrity": "sha1-vhYedsNU9veIrkBx9j806MTwpCo=",
 					"requires": {
-						"base-x": "3.0.4"
+						"base-x": "^3.0.2"
 					}
 				},
 				"bs58check": {
@@ -2796,9 +2983,9 @@
 					"resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz",
 					"integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==",
 					"requires": {
-						"bs58": "4.0.1",
-						"create-hash": "1.2.0",
-						"safe-buffer": "5.1.2"
+						"bs58": "^4.0.0",
+						"create-hash": "^1.1.0",
+						"safe-buffer": "^5.1.2"
 					}
 				}
 			}
@@ -2808,7 +2995,7 @@
 			"resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz",
 			"integrity": "sha1-AfqHSHhcpwlV1QESF9GzE5lpyiI=",
 			"requires": {
-				"safe-buffer": "5.1.2"
+				"safe-buffer": "^5.0.1"
 			}
 		},
 		"bitcoin-ops": {
@@ -2818,11 +3005,11 @@
 		},
 		"bl": {
 			"version": "1.2.2",
-			"resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz",
+			"resolved": "http://registry.npmjs.org/bl/-/bl-1.2.2.tgz",
 			"integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==",
 			"requires": {
-				"readable-stream": "2.3.6",
-				"safe-buffer": "5.1.2"
+				"readable-stream": "^2.3.5",
+				"safe-buffer": "^5.1.1"
 			}
 		},
 		"blockstack": {
@@ -2830,26 +3017,26 @@
 			"resolved": "https://registry.npmjs.org/blockstack/-/blockstack-18.0.4.tgz",
 			"integrity": "sha512-LiWMvdhG8jmyzNeX55wnMEFWzJmn9ZqY5ic81INj+OJw3FF7Aoj2+/acEUTEc0ZkvZPHskTTBBVU9wwHsV2QSA==",
 			"requires": {
-				"ajv": "4.11.8",
-				"bigi": "1.4.2",
-				"bitcoinjs-lib": "4.0.1",
-				"cheerio": "0.22.0",
-				"cross-fetch": "2.2.2",
+				"ajv": "^4.11.5",
+				"bigi": "^1.4.2",
+				"bitcoinjs-lib": "^4",
+				"cheerio": "^0.22.0",
+				"cross-fetch": "^2.2.2",
 				"custom-protocol-detection-blockstack": "1.1.4",
-				"ecurve": "1.0.6",
-				"elliptic": "6.4.1",
-				"es6-promise": "4.2.4",
-				"form-data": "2.3.2",
-				"jsontokens": "0.7.8",
-				"promise": "7.3.1",
-				"query-string": "4.3.4",
-				"request": "2.87.0",
-				"ripemd160": "2.0.2",
-				"schema-inspector": "1.6.8",
-				"sprintf-js": "1.1.1",
-				"uuid": "3.2.1",
-				"validator": "7.2.0",
-				"zone-file": "0.2.3"
+				"ecurve": "^1.0.6",
+				"elliptic": "^6.4.0",
+				"es6-promise": "^4.2.4",
+				"form-data": "^2.3.2",
+				"jsontokens": "^0.7.8",
+				"promise": "^7.1.1",
+				"query-string": "^4.3.2",
+				"request": "^2.87.0",
+				"ripemd160": "^2.0.1",
+				"schema-inspector": "^1.6.4",
+				"sprintf-js": "^1.0.3",
+				"uuid": "^3.2.1",
+				"validator": "^7.0.0",
+				"zone-file": "^0.2.2"
 			},
 			"dependencies": {
 				"ajv": {
@@ -2857,8 +3044,8 @@
 					"resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
 					"integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
 					"requires": {
-						"co": "4.6.0",
-						"json-stable-stringify": "1.0.1"
+						"co": "^4.6.0",
+						"json-stable-stringify": "^1.0.1"
 					}
 				},
 				"base-x": {
@@ -2866,7 +3053,7 @@
 					"resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.4.tgz",
 					"integrity": "sha512-UYOadoSIkEI/VrRGSG6qp93rp2WdokiAiNYDfGW5qURAY8GiAQkvMbwNNSDYiVJopqv4gCna7xqf4rrNGp+5AA==",
 					"requires": {
-						"safe-buffer": "5.1.2"
+						"safe-buffer": "^5.0.1"
 					}
 				},
 				"base64url": {
@@ -2879,21 +3066,21 @@
 					"resolved": "https://registry.npmjs.org/bitcoinjs-lib/-/bitcoinjs-lib-4.0.1.tgz",
 					"integrity": "sha512-weum3uRYWxGhAvRk+2Ch7Z3x5tKBfeuzVyoGdP1CMrGJ5Nw6plj1GVA3A+RejLDii7UM7OxgOfXgPZhLmI7+vQ==",
 					"requires": {
-						"bech32": "1.1.3",
-						"bip32": "1.0.2",
-						"bip66": "1.1.5",
-						"bitcoin-ops": "1.4.1",
-						"bs58check": "2.1.2",
-						"create-hash": "1.2.0",
-						"create-hmac": "1.1.7",
-						"merkle-lib": "2.0.10",
-						"pushdata-bitcoin": "1.0.1",
-						"randombytes": "2.0.6",
-						"safe-buffer": "5.1.2",
-						"tiny-secp256k1": "1.0.0",
-						"typeforce": "1.12.0",
-						"varuint-bitcoin": "1.1.0",
-						"wif": "2.0.6"
+						"bech32": "^1.1.2",
+						"bip32": "^1.0.0",
+						"bip66": "^1.1.0",
+						"bitcoin-ops": "^1.4.0",
+						"bs58check": "^2.0.0",
+						"create-hash": "^1.1.0",
+						"create-hmac": "^1.1.3",
+						"merkle-lib": "^2.0.10",
+						"pushdata-bitcoin": "^1.0.1",
+						"randombytes": "^2.0.1",
+						"safe-buffer": "^5.1.1",
+						"tiny-secp256k1": "^1.0.0",
+						"typeforce": "^1.11.3",
+						"varuint-bitcoin": "^1.0.4",
+						"wif": "^2.0.1"
 					}
 				},
 				"bs58": {
@@ -2901,7 +3088,7 @@
 					"resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz",
 					"integrity": "sha1-vhYedsNU9veIrkBx9j806MTwpCo=",
 					"requires": {
-						"base-x": "3.0.4"
+						"base-x": "^3.0.2"
 					}
 				},
 				"bs58check": {
@@ -2909,9 +3096,9 @@
 					"resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz",
 					"integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==",
 					"requires": {
-						"bs58": "4.0.1",
-						"create-hash": "1.2.0",
-						"safe-buffer": "5.1.2"
+						"bs58": "^4.0.0",
+						"create-hash": "^1.1.0",
+						"safe-buffer": "^5.1.2"
 					}
 				},
 				"cheerio": {
@@ -2919,22 +3106,22 @@
 					"resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz",
 					"integrity": "sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=",
 					"requires": {
-						"css-select": "1.2.0",
-						"dom-serializer": "0.1.0",
-						"entities": "1.1.1",
-						"htmlparser2": "3.9.2",
-						"lodash.assignin": "4.2.0",
-						"lodash.bind": "4.2.1",
-						"lodash.defaults": "4.2.0",
-						"lodash.filter": "4.6.0",
-						"lodash.flatten": "4.4.0",
-						"lodash.foreach": "4.5.0",
-						"lodash.map": "4.6.0",
-						"lodash.merge": "4.6.1",
-						"lodash.pick": "4.4.0",
-						"lodash.reduce": "4.6.0",
-						"lodash.reject": "4.6.0",
-						"lodash.some": "4.6.0"
+						"css-select": "~1.2.0",
+						"dom-serializer": "~0.1.0",
+						"entities": "~1.1.1",
+						"htmlparser2": "^3.9.1",
+						"lodash.assignin": "^4.0.9",
+						"lodash.bind": "^4.1.4",
+						"lodash.defaults": "^4.0.1",
+						"lodash.filter": "^4.4.0",
+						"lodash.flatten": "^4.2.0",
+						"lodash.foreach": "^4.3.0",
+						"lodash.map": "^4.4.0",
+						"lodash.merge": "^4.4.0",
+						"lodash.pick": "^4.2.1",
+						"lodash.reduce": "^4.4.0",
+						"lodash.reject": "^4.4.0",
+						"lodash.some": "^4.4.0"
 					}
 				},
 				"css-select": {
@@ -2942,10 +3129,10 @@
 					"resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz",
 					"integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=",
 					"requires": {
-						"boolbase": "1.0.0",
-						"css-what": "2.1.0",
+						"boolbase": "~1.0.0",
+						"css-what": "2.1",
 						"domutils": "1.5.1",
-						"nth-check": "1.0.1"
+						"nth-check": "~1.0.1"
 					}
 				},
 				"css-what": {
@@ -2963,8 +3150,8 @@
 					"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
 					"integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
 					"requires": {
-						"dom-serializer": "0.1.0",
-						"domelementtype": "1.3.0"
+						"dom-serializer": "0",
+						"domelementtype": "1"
 					}
 				},
 				"htmlparser2": {
@@ -2972,12 +3159,12 @@
 					"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz",
 					"integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=",
 					"requires": {
-						"domelementtype": "1.3.0",
-						"domhandler": "2.3.0",
-						"domutils": "1.5.1",
-						"entities": "1.1.1",
-						"inherits": "2.0.3",
-						"readable-stream": "2.3.6"
+						"domelementtype": "^1.3.0",
+						"domhandler": "^2.3.0",
+						"domutils": "^1.5.1",
+						"entities": "^1.1.1",
+						"inherits": "^2.0.1",
+						"readable-stream": "^2.0.2"
 					}
 				},
 				"jsontokens": {
@@ -2985,11 +3172,11 @@
 					"resolved": "https://registry.npmjs.org/jsontokens/-/jsontokens-0.7.8.tgz",
 					"integrity": "sha512-vTZ06cDSDoFeXJUnZNFHsh8aP+L3Xz5Ke7XPb6nyT3n5wb9uxyq4TE8gUl0H4hmzSe/YIrDi+mneuHIh37AMiA==",
 					"requires": {
-						"asn1.js": "4.10.1",
-						"base64url": "3.0.0",
-						"elliptic": "6.4.1",
-						"key-encoder": "1.1.6",
-						"validator": "7.2.0"
+						"asn1.js": "^4.9.1",
+						"base64url": "^3.0.0",
+						"elliptic": "^6.3.2",
+						"key-encoder": "^1.1.6",
+						"validator": "^7.0.0"
 					}
 				},
 				"query-string": {
@@ -2997,8 +3184,8 @@
 					"resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz",
 					"integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=",
 					"requires": {
-						"object-assign": "4.1.1",
-						"strict-uri-encode": "1.1.0"
+						"object-assign": "^4.1.0",
+						"strict-uri-encode": "^1.0.0"
 					}
 				}
 			}
@@ -3015,24 +3202,24 @@
 		},
 		"body-parser": {
 			"version": "1.13.3",
-			"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.13.3.tgz",
+			"resolved": "http://registry.npmjs.org/body-parser/-/body-parser-1.13.3.tgz",
 			"integrity": "sha1-wIzzMMM1jhUQFqBXRvE/ApyX+pc=",
 			"requires": {
 				"bytes": "2.1.0",
-				"content-type": "1.0.4",
-				"debug": "2.2.0",
-				"depd": "1.0.1",
-				"http-errors": "1.3.1",
+				"content-type": "~1.0.1",
+				"debug": "~2.2.0",
+				"depd": "~1.0.1",
+				"http-errors": "~1.3.1",
 				"iconv-lite": "0.4.11",
-				"on-finished": "2.3.0",
+				"on-finished": "~2.3.0",
 				"qs": "4.0.0",
-				"raw-body": "2.1.7",
-				"type-is": "1.6.16"
+				"raw-body": "~2.1.2",
+				"type-is": "~1.6.6"
 			},
 			"dependencies": {
 				"debug": {
 					"version": "2.2.0",
-					"resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+					"resolved": "http://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
 					"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
 					"requires": {
 						"ms": "0.7.1"
@@ -3040,12 +3227,12 @@
 				},
 				"iconv-lite": {
 					"version": "0.4.11",
-					"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.11.tgz",
+					"resolved": "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.11.tgz",
 					"integrity": "sha1-LstC/SlHRJIiCaLnxATayHk9it4="
 				},
 				"ms": {
 					"version": "0.7.1",
-					"resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+					"resolved": "http://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
 					"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg="
 				},
 				"qs": {
@@ -3062,11 +3249,11 @@
 		},
 		"boom": {
 			"version": "2.10.1",
-			"resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
+			"resolved": "http://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
 			"integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
 			"dev": true,
 			"requires": {
-				"hoek": "2.16.3"
+				"hoek": "2.x.x"
 			}
 		},
 		"brace-expansion": {
@@ -3074,7 +3261,7 @@
 			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
 			"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
 			"requires": {
-				"balanced-match": "1.0.0",
+				"balanced-match": "^1.0.0",
 				"concat-map": "0.0.1"
 			}
 		},
@@ -3083,16 +3270,16 @@
 			"resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
 			"integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
 			"requires": {
-				"arr-flatten": "1.1.0",
-				"array-unique": "0.3.2",
-				"extend-shallow": "2.0.1",
-				"fill-range": "4.0.0",
-				"isobject": "3.0.1",
-				"repeat-element": "1.1.2",
-				"snapdragon": "0.8.2",
-				"snapdragon-node": "2.1.1",
-				"split-string": "3.1.0",
-				"to-regex": "3.0.2"
+				"arr-flatten": "^1.1.0",
+				"array-unique": "^0.3.2",
+				"extend-shallow": "^2.0.1",
+				"fill-range": "^4.0.0",
+				"isobject": "^3.0.1",
+				"repeat-element": "^1.1.2",
+				"snapdragon": "^0.8.1",
+				"snapdragon-node": "^2.0.1",
+				"split-string": "^3.0.2",
+				"to-regex": "^3.0.1"
 			},
 			"dependencies": {
 				"extend-shallow": {
@@ -3100,7 +3287,7 @@
 					"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
 					"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
 					"requires": {
-						"is-extendable": "0.1.1"
+						"is-extendable": "^0.1.0"
 					}
 				}
 			}
@@ -3131,8 +3318,8 @@
 			"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz",
 			"integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=",
 			"requires": {
-				"caniuse-db": "1.0.30000847",
-				"electron-to-chromium": "1.3.48"
+				"caniuse-db": "^1.0.30000639",
+				"electron-to-chromium": "^1.2.7"
 			}
 		},
 		"bs58": {
@@ -3140,7 +3327,7 @@
 			"resolved": "https://registry.npmjs.org/bs58/-/bs58-3.1.0.tgz",
 			"integrity": "sha1-1MJjiL9IBMrHFBQbGUWqR+XrJI4=",
 			"requires": {
-				"base-x": "1.1.0"
+				"base-x": "^1.1.0"
 			}
 		},
 		"bs58check": {
@@ -3148,14 +3335,24 @@
 			"resolved": "https://registry.npmjs.org/bs58check/-/bs58check-1.3.4.tgz",
 			"integrity": "sha1-xSVABzdJEXcU+gQsMEfrj5FRy/g=",
 			"requires": {
-				"bs58": "3.1.0",
-				"create-hash": "1.2.0"
+				"bs58": "^3.1.0",
+				"create-hash": "^1.1.0"
+			}
+		},
+		"bser": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz",
+			"integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=",
+			"dev": true,
+			"optional": true,
+			"requires": {
+				"node-int64": "^0.4.0"
 			}
 		},
 		"bson": {
-			"version": "2.0.7",
-			"resolved": "https://registry.npmjs.org/bson/-/bson-2.0.7.tgz",
-			"integrity": "sha512-xow7P+tDWHJNNgUt8j7xYH/uUAAkinRmM7hOEl5JajXq7Yj+0xA8HNN4i+oQku1y/m6KzU9AChaWHctvwZVI6Q=="
+			"version": "2.0.8",
+			"resolved": "https://registry.npmjs.org/bson/-/bson-2.0.8.tgz",
+			"integrity": "sha512-0F0T3gHeOwJzHWcN60BZomqj5hCBDRk4b3fANuruvDTnyJJ8sggABKSaePM2F34THNZZSIlB2P1mk2nQWgBr9w=="
 		},
 		"btoa-lite": {
 			"version": "1.0.0",
@@ -3168,9 +3365,9 @@
 			"resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
 			"integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
 			"requires": {
-				"base64-js": "1.3.0",
-				"ieee754": "1.1.8",
-				"isarray": "1.0.0"
+				"base64-js": "^1.0.2",
+				"ieee754": "^1.1.4",
+				"isarray": "^1.0.0"
 			}
 		},
 		"buffer-alloc": {
@@ -3178,8 +3375,8 @@
 			"resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
 			"integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
 			"requires": {
-				"buffer-alloc-unsafe": "1.1.0",
-				"buffer-fill": "1.0.0"
+				"buffer-alloc-unsafe": "^1.1.0",
+				"buffer-fill": "^1.0.0"
 			}
 		},
 		"buffer-alloc-unsafe": {
@@ -3207,17 +3404,24 @@
 			"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz",
 			"integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ=="
 		},
+		"buffer-peek-stream": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/buffer-peek-stream/-/buffer-peek-stream-1.0.1.tgz",
+			"integrity": "sha1-U7R1cKE0d4fFutTKLKMCH52LPP0=",
+			"dev": true,
+			"optional": true
+		},
 		"bugsnag": {
-			"version": "2.4.0",
-			"resolved": "https://registry.npmjs.org/bugsnag/-/bugsnag-2.4.0.tgz",
-			"integrity": "sha512-xRpxAYW9tSet6YCRrauV58mf/A7K2Ua/rdZTJ0hRGEnP5mnnumygCe2kRLqxZukeTYhr8/9vfM78ukhA1ITxRw==",
+			"version": "2.4.3",
+			"resolved": "https://registry.npmjs.org/bugsnag/-/bugsnag-2.4.3.tgz",
+			"integrity": "sha512-7gjpRE+J0BBbwYvmZeYo2ZyX3nCDX+ITqHd5wNb+t6KBXwhvuEbyJrmsDE/U32ndsV441jwaGtJ1o2ppLoQXTg==",
 			"requires": {
-				"backo": "1.1.0",
-				"cuid": "1.3.8",
-				"json-stringify-safe": "5.0.1",
-				"promise": "7.3.1",
-				"request": "2.87.0",
-				"stack-trace": "0.0.10"
+				"backo": "^1.1.0",
+				"cuid": "^1.3.8",
+				"json-stringify-safe": "~5.0.1",
+				"promise": "7.x",
+				"request": "^2.81.0",
+				"stack-trace": "~0.0.9"
 			}
 		},
 		"builtin-modules": {
@@ -3231,10 +3435,10 @@
 			"resolved": "https://registry.npmjs.org/bunyan/-/bunyan-1.8.12.tgz",
 			"integrity": "sha1-8VDw9nSKvdcq6uhPBEA74u8RN5c=",
 			"requires": {
-				"dtrace-provider": "0.8.7",
-				"moment": "2.22.2",
-				"mv": "2.1.1",
-				"safe-json-stringify": "1.2.0"
+				"dtrace-provider": "~0.8",
+				"moment": "^2.10.6",
+				"mv": "~2",
+				"safe-json-stringify": "~1"
 			}
 		},
 		"busboy": {
@@ -3243,7 +3447,7 @@
 			"integrity": "sha1-bCpiLvz0fFe7vh4qnDetNseSVFM=",
 			"requires": {
 				"dicer": "0.2.5",
-				"readable-stream": "1.1.14"
+				"readable-stream": "1.1.x"
 			},
 			"dependencies": {
 				"isarray": {
@@ -3253,13 +3457,13 @@
 				},
 				"readable-stream": {
 					"version": "1.1.14",
-					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+					"resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
 					"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
 					"requires": {
-						"core-util-is": "1.0.2",
-						"inherits": "2.0.3",
+						"core-util-is": "~1.0.0",
+						"inherits": "~2.0.1",
 						"isarray": "0.0.1",
-						"string_decoder": "0.10.31"
+						"string_decoder": "~0.10.x"
 					}
 				},
 				"string_decoder": {
@@ -3274,7 +3478,7 @@
 			"resolved": "https://registry.npmjs.org/bytebuffer/-/bytebuffer-5.0.1.tgz",
 			"integrity": "sha1-WC7qSxqHO20CCkjVjfhfC7ps/d0=",
 			"requires": {
-				"long": "3.2.0"
+				"long": "~3"
 			},
 			"dependencies": {
 				"long": {
@@ -3294,36 +3498,15 @@
 			"resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
 			"integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
 			"requires": {
-				"collection-visit": "1.0.0",
-				"component-emitter": "1.2.1",
-				"get-value": "2.0.6",
-				"has-value": "1.0.0",
-				"isobject": "3.0.1",
-				"set-value": "2.0.0",
-				"to-object-path": "0.3.0",
-				"union-value": "1.0.0",
-				"unset-value": "1.0.0"
-			}
-		},
-		"cacheable-request": {
-			"version": "2.1.4",
-			"resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz",
-			"integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=",
-			"requires": {
-				"clone-response": "1.0.2",
-				"get-stream": "3.0.0",
-				"http-cache-semantics": "3.8.1",
-				"keyv": "3.0.0",
-				"lowercase-keys": "1.0.0",
-				"normalize-url": "2.0.1",
-				"responselike": "1.0.2"
-			},
-			"dependencies": {
-				"lowercase-keys": {
-					"version": "1.0.0",
-					"resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz",
-					"integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY="
-				}
+				"collection-visit": "^1.0.0",
+				"component-emitter": "^1.2.1",
+				"get-value": "^2.0.6",
+				"has-value": "^1.0.0",
+				"isobject": "^3.0.1",
+				"set-value": "^2.0.0",
+				"to-object-path": "^0.3.0",
+				"union-value": "^1.0.0",
+				"unset-value": "^1.0.0"
 			}
 		},
 		"call-me-maybe": {
@@ -3342,7 +3525,7 @@
 			"integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=",
 			"dev": true,
 			"requires": {
-				"callsites": "0.2.0"
+				"callsites": "^0.2.0"
 			}
 		},
 		"callsites": {
@@ -3357,8 +3540,8 @@
 			"integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=",
 			"dev": true,
 			"requires": {
-				"no-case": "2.3.2",
-				"upper-case": "1.1.3"
+				"no-case": "^2.2.0",
+				"upper-case": "^1.1.1"
 			}
 		},
 		"camelcase": {
@@ -3372,9 +3555,9 @@
 			"integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=",
 			"dev": true,
 			"requires": {
-				"camelcase": "4.1.0",
-				"map-obj": "2.0.0",
-				"quick-lru": "1.1.0"
+				"camelcase": "^4.1.0",
+				"map-obj": "^2.0.0",
+				"quick-lru": "^1.0.0"
 			},
 			"dependencies": {
 				"camelcase": {
@@ -3390,12 +3573,6 @@
 			"resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000847.tgz",
 			"integrity": "sha1-/0BypUaICf7ArprDtANe+JHlsUQ="
 		},
-		"caniuse-lite": {
-			"version": "1.0.30000847",
-			"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000847.tgz",
-			"integrity": "sha512-Weo+tRtVWcN2da782Ebx/27hFNEb+KP+uP6tdqAa+2S5bp1zOJhVH9tEpDygagrfvU4QjeuPwi/5VGsgT4SLaA==",
-			"dev": true
-		},
 		"capture-stack-trace": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz",
@@ -3424,10 +3601,9 @@
 			"resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
 			"integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
 			"dev": true,
-			"optional": true,
 			"requires": {
-				"align-text": "0.1.4",
-				"lazy-cache": "1.0.4"
+				"align-text": "^0.1.3",
+				"lazy-cache": "^1.0.3"
 			}
 		},
 		"chai": {
@@ -3436,12 +3612,12 @@
 			"integrity": "sha1-D2RYS6ZC8PKs4oBiefTwbKI61zw=",
 			"dev": true,
 			"requires": {
-				"assertion-error": "1.1.0",
-				"check-error": "1.0.2",
-				"deep-eql": "3.0.1",
-				"get-func-name": "2.0.0",
-				"pathval": "1.1.0",
-				"type-detect": "4.0.8"
+				"assertion-error": "^1.0.1",
+				"check-error": "^1.0.1",
+				"deep-eql": "^3.0.0",
+				"get-func-name": "^2.0.0",
+				"pathval": "^1.0.0",
+				"type-detect": "^4.0.0"
 			}
 		},
 		"chai-as-promised": {
@@ -3450,19 +3626,19 @@
 			"integrity": "sha1-GgKkM6byTa+sY7nJb6FoTbGqjaY=",
 			"dev": true,
 			"requires": {
-				"check-error": "1.0.2"
+				"check-error": "^1.0.2"
 			}
 		},
 		"chalk": {
 			"version": "1.1.3",
-			"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+			"resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
 			"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
 			"requires": {
-				"ansi-styles": "2.2.1",
-				"escape-string-regexp": "1.0.5",
-				"has-ansi": "2.0.0",
-				"strip-ansi": "3.0.1",
-				"supports-color": "2.0.0"
+				"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"
 			},
 			"dependencies": {
 				"supports-color": {
@@ -3503,12 +3679,12 @@
 			"dev": true
 		},
 		"chart.js": {
-			"version": "2.7.2",
-			"resolved": "https://registry.npmjs.org/chart.js/-/chart.js-2.7.2.tgz",
-			"integrity": "sha512-90wl3V9xRZ8tnMvMlpcW+0Yg13BelsGS9P9t0ClaDxv/hdypHDr/YAGf+728m11P5ljwyB0ZHfPKCapZFqSqYA==",
+			"version": "2.7.3",
+			"resolved": "https://registry.npmjs.org/chart.js/-/chart.js-2.7.3.tgz",
+			"integrity": "sha512-3+7k/DbR92m6BsMUYP6M0dMsMVZpMnwkUyNSAbqolHKsbIzH2Q4LWVEHHYq7v0fmEV8whXE0DrjANulw9j2K5g==",
 			"requires": {
-				"chartjs-color": "2.2.0",
-				"moment": "2.22.2"
+				"chartjs-color": "^2.1.0",
+				"moment": "^2.10.2"
 			}
 		},
 		"chartjs-color": {
@@ -3516,8 +3692,8 @@
 			"resolved": "https://registry.npmjs.org/chartjs-color/-/chartjs-color-2.2.0.tgz",
 			"integrity": "sha1-hKL7dVeH7YXDndbdjHsdiEKbrq4=",
 			"requires": {
-				"chartjs-color-string": "0.5.0",
-				"color-convert": "0.5.3"
+				"chartjs-color-string": "^0.5.0",
+				"color-convert": "^0.5.3"
 			},
 			"dependencies": {
 				"color-convert": {
@@ -3532,7 +3708,7 @@
 			"resolved": "https://registry.npmjs.org/chartjs-color-string/-/chartjs-color-string-0.5.0.tgz",
 			"integrity": "sha512-amWNvCOXlOUYxZVDSa0YOab5K/lmEhbFNKI55PWc4mlv28BDzA7zaoQTGxSBgJMHIW+hGX8YUrvw/FH4LyhwSQ==",
 			"requires": {
-				"color-name": "1.1.3"
+				"color-name": "^1.0.0"
 			}
 		},
 		"check-error": {
@@ -3546,11 +3722,11 @@
 			"resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.19.0.tgz",
 			"integrity": "sha1-dy5wFfLuKZZQltcepBdbdas1SSU=",
 			"requires": {
-				"css-select": "1.0.0",
-				"dom-serializer": "0.1.0",
-				"entities": "1.1.1",
-				"htmlparser2": "3.8.3",
-				"lodash": "3.10.1"
+				"css-select": "~1.0.0",
+				"dom-serializer": "~0.1.0",
+				"entities": "~1.1.1",
+				"htmlparser2": "~3.8.1",
+				"lodash": "^3.2.0"
 			},
 			"dependencies": {
 				"lodash": {
@@ -3568,53 +3744,53 @@
 		},
 		"chimp": {
 			"version": "0.51.1",
-			"resolved": "https://registry.npmjs.org/chimp/-/chimp-0.51.1.tgz",
+			"resolved": "http://registry.npmjs.org/chimp/-/chimp-0.51.1.tgz",
 			"integrity": "sha1-6hIbzfJsidV/jvNBlUDPPCeaPMU=",
 			"dev": true,
 			"requires": {
-				"async": "0.9.2",
-				"babel-core": "6.9.1",
-				"babel-plugin-transform-runtime": "6.23.0",
-				"babel-polyfill": "6.26.0",
-				"babel-preset-es2015": "6.3.13",
-				"babel-preset-stage-2": "6.24.1",
-				"babel-register": "6.26.0",
-				"babel-runtime": "6.26.0",
-				"bluebird": "3.5.1",
-				"chai": "4.1.2",
-				"chai-as-promised": "6.0.0",
+				"async": "~0.9.0",
+				"babel-core": "^6.4.5",
+				"babel-plugin-transform-runtime": "6.x.x",
+				"babel-polyfill": "^6.3.14",
+				"babel-preset-es2015": "6.x.x",
+				"babel-preset-stage-2": "6.x.x",
+				"babel-register": "^6.4.3",
+				"babel-runtime": "6.x.x",
+				"bluebird": "^3.4.7",
+				"chai": "~4.1.2",
+				"chai-as-promised": "^6.0.0",
 				"child-process-debug": "0.0.7",
-				"chokidar": "1.6.1",
-				"chromedriver": "2.38.3",
+				"chokidar": "~1.6.0",
+				"chromedriver": "^2.35",
 				"colors": "1.1.2",
-				"commander": "2.15.1",
+				"commander": "^2.9.0",
 				"cucumber": "github:xolvio/cucumber-js#cf953cb5b5de30dbcc279f59e4ebff3aa040071c",
-				"deep-extend": "0.4.2",
-				"exit": "0.1.2",
-				"fibers": "1.0.15",
-				"freeport": "1.0.5",
-				"fs-extra": "1.0.0",
+				"deep-extend": "^0.4.1",
+				"exit": "^0.1.2",
+				"fibers": "^1.0.14",
+				"freeport": "~1.0.5",
+				"fs-extra": "^1.0.0",
 				"glob": "github:lucetius/node-glob#51c7ca6e69bfbd17db5f1ea710e3f2a7a457d9ce",
 				"hapi": "8.8.0",
-				"jasmine": "2.99.0",
-				"loglevel": "1.4.1",
-				"minimist": "1.2.0",
-				"mocha": "4.1.0",
+				"jasmine": "^2.4.1",
+				"loglevel": "~1.4.0",
+				"minimist": "~1.2.0",
+				"mocha": "^4.1.0",
 				"phantomjs-prebuilt": "2.1.15",
-				"progress": "1.1.8",
-				"request": "2.87.0",
+				"progress": "^1.1.8",
+				"request": "^2.79.0",
 				"requestretry": "1.5.0",
-				"saucelabs": "1.5.0",
-				"selenium-standalone": "6.15.0",
-				"underscore": "1.8.3",
-				"xolvio-ddp": "0.12.3",
-				"xolvio-jasmine-expect": "1.1.0",
-				"xolvio-sync-webdriverio": "9.0.1"
+				"saucelabs": "^1.3.0",
+				"selenium-standalone": "^6.12.0",
+				"underscore": "~1.8.3",
+				"xolvio-ddp": "^0.12.0",
+				"xolvio-jasmine-expect": "^1.0.0",
+				"xolvio-sync-webdriverio": "^9.0.0"
 			},
 			"dependencies": {
 				"async": {
 					"version": "0.9.2",
-					"resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
+					"resolved": "http://registry.npmjs.org/async/-/async-0.9.2.tgz",
 					"integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
 					"dev": true
 				},
@@ -3639,16 +3815,23 @@
 					"integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=",
 					"dev": true
 				},
+				"fibers": {
+					"version": "1.0.15",
+					"resolved": "http://registry.npmjs.org/fibers/-/fibers-1.0.15.tgz",
+					"integrity": "sha1-IvA5yPGLhWGQ+75N7PBWFUwerpw=",
+					"dev": true
+				},
 				"glob": {
 					"version": "github:lucetius/node-glob#51c7ca6e69bfbd17db5f1ea710e3f2a7a457d9ce",
+					"from": "glob@github:lucetius/node-glob#51c7ca6e69bfbd17db5f1ea710e3f2a7a457d9ce",
 					"dev": true,
 					"requires": {
-						"fs.realpath": "1.0.0",
-						"inflight": "1.0.6",
-						"inherits": "2.0.3",
-						"minimatch": "3.0.4",
+						"fs.realpath": "^1.0.0",
+						"inflight": "^1.0.4",
+						"inherits": "2",
+						"minimatch": "^3.0.2",
 						"once": "1.3.0",
-						"path-is-absolute": "1.0.1"
+						"path-is-absolute": "^1.0.0"
 					}
 				},
 				"has-flag": {
@@ -3665,7 +3848,7 @@
 				},
 				"minimist": {
 					"version": "1.2.0",
-					"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+					"resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
 					"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
 					"dev": true
 				},
@@ -3699,13 +3882,19 @@
 							"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
 							"dev": true,
 							"requires": {
-								"fs.realpath": "1.0.0",
-								"inflight": "1.0.6",
-								"inherits": "2.0.3",
-								"minimatch": "3.0.4",
-								"once": "1.3.0",
-								"path-is-absolute": "1.0.1"
+								"fs.realpath": "^1.0.0",
+								"inflight": "^1.0.4",
+								"inherits": "2",
+								"minimatch": "^3.0.4",
+								"once": "^1.3.0",
+								"path-is-absolute": "^1.0.0"
 							}
+						},
+						"he": {
+							"version": "1.1.1",
+							"resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz",
+							"integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=",
+							"dev": true
 						}
 					}
 				},
@@ -3717,7 +3906,7 @@
 				},
 				"progress": {
 					"version": "1.1.8",
-					"resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz",
+					"resolved": "http://registry.npmjs.org/progress/-/progress-1.1.8.tgz",
 					"integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=",
 					"dev": true
 				},
@@ -3727,7 +3916,7 @@
 					"integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==",
 					"dev": true,
 					"requires": {
-						"has-flag": "2.0.0"
+						"has-flag": "^2.0.0"
 					}
 				},
 				"underscore": {
@@ -3740,19 +3929,19 @@
 		},
 		"chokidar": {
 			"version": "1.6.1",
-			"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.6.1.tgz",
+			"resolved": "http://registry.npmjs.org/chokidar/-/chokidar-1.6.1.tgz",
 			"integrity": "sha1-L0RHq16W5Q+z14n9kNTHLg5McMI=",
 			"dev": true,
 			"requires": {
-				"anymatch": "1.3.2",
-				"async-each": "1.0.1",
-				"fsevents": "1.2.4",
-				"glob-parent": "2.0.0",
-				"inherits": "2.0.3",
-				"is-binary-path": "1.0.1",
-				"is-glob": "2.0.1",
-				"path-is-absolute": "1.0.1",
-				"readdirp": "2.1.0"
+				"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"
 			},
 			"dependencies": {
 				"glob-parent": {
@@ -3761,7 +3950,7 @@
 					"integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
 					"dev": true,
 					"requires": {
-						"is-glob": "2.0.1"
+						"is-glob": "^2.0.0"
 					}
 				},
 				"is-extglob": {
@@ -3776,7 +3965,7 @@
 					"integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
 					"dev": true,
 					"requires": {
-						"is-extglob": "1.0.0"
+						"is-extglob": "^1.0.0"
 					}
 				}
 			}
@@ -3792,11 +3981,11 @@
 			"integrity": "sha512-tczy6RHl0LOVA4p+xezcu3NRjr9A1iLyyfjP9yPIUynvV28YSKH/Ll1iw0jMCjN9jwtaB2HB4aPjv0Uuw2VARw==",
 			"dev": true,
 			"requires": {
-				"del": "3.0.0",
-				"extract-zip": "1.6.7",
-				"kew": "0.7.0",
-				"mkdirp": "0.5.1",
-				"request": "2.87.0"
+				"del": "^3.0.0",
+				"extract-zip": "^1.6.6",
+				"kew": "^0.7.0",
+				"mkdirp": "^0.5.1",
+				"request": "^2.85.0"
 			}
 		},
 		"ci-info": {
@@ -3810,8 +3999,8 @@
 			"resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
 			"integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
 			"requires": {
-				"inherits": "2.0.3",
-				"safe-buffer": "5.1.2"
+				"inherits": "^2.0.1",
+				"safe-buffer": "^5.0.1"
 			}
 		},
 		"circular-json": {
@@ -3825,10 +4014,10 @@
 			"resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
 			"integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
 			"requires": {
-				"arr-union": "3.1.0",
-				"define-property": "0.2.5",
-				"isobject": "3.0.1",
-				"static-extend": "0.1.2"
+				"arr-union": "^3.1.0",
+				"define-property": "^0.2.5",
+				"isobject": "^3.0.0",
+				"static-extend": "^0.1.1"
 			},
 			"dependencies": {
 				"define-property": {
@@ -3836,7 +4025,7 @@
 					"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
 					"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
 					"requires": {
-						"is-descriptor": "0.1.6"
+						"is-descriptor": "^0.1.0"
 					}
 				}
 			}
@@ -3847,7 +4036,7 @@
 			"integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
 			"dev": true,
 			"requires": {
-				"restore-cursor": "2.0.0"
+				"restore-cursor": "^2.0.0"
 			}
 		},
 		"cli-table": {
@@ -3878,9 +4067,9 @@
 			"resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.1.tgz",
 			"integrity": "sha512-7yhQBmtN+uYZmfRjjVjKa0dZdWuabzpSKGtyQZN+9C8xlC788SSJjOHWh7tzurfwTqTD5UDYAhIv5fRJg3sHjQ==",
 			"requires": {
-				"good-listener": "1.2.2",
-				"select": "1.1.2",
-				"tiny-emitter": "2.0.2"
+				"good-listener": "^1.2.2",
+				"select": "^1.1.2",
+				"tiny-emitter": "^2.0.0"
 			}
 		},
 		"cliui": {
@@ -3888,9 +4077,9 @@
 			"resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
 			"integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
 			"requires": {
-				"string-width": "1.0.2",
-				"strip-ansi": "3.0.1",
-				"wrap-ansi": "2.1.0"
+				"string-width": "^1.0.1",
+				"strip-ansi": "^3.0.1",
+				"wrap-ansi": "^2.0.0"
 			}
 		},
 		"clone-regexp": {
@@ -3899,16 +4088,8 @@
 			"integrity": "sha512-Fcij9IwRW27XedRIJnSOEupS7RVcXtObJXbcUOX93UCLqqOdRpkvzKywOOSizmEK/Is3S/RHX9dLdfo6R1Q1mw==",
 			"dev": true,
 			"requires": {
-				"is-regexp": "1.0.0",
-				"is-supported-regexp-flag": "1.0.1"
-			}
-		},
-		"clone-response": {
-			"version": "1.0.2",
-			"resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
-			"integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=",
-			"requires": {
-				"mimic-response": "1.0.0"
+				"is-regexp": "^1.0.0",
+				"is-supported-regexp-flag": "^1.0.0"
 			}
 		},
 		"co": {
@@ -3922,9 +4103,9 @@
 			"integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
 		},
 		"codemirror": {
-			"version": "5.38.0",
-			"resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.38.0.tgz",
-			"integrity": "sha512-PEPnDg8U3DTGFB/Dn2T/INiRNC9CB5k2vLAQJidYCsHvAgtXbklqnuidEwx7yGrMrdGhl0L0P3iNKW9I07J6tQ=="
+			"version": "5.41.0",
+			"resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.41.0.tgz",
+			"integrity": "sha512-mkCwbneCx2WHg1MNCYrI+8Zuq0KMMaZ5yTFpQlAZazy3yxME8bHcuSc9WUFzgPZ114WqWu1FIHlx8CavLzBDIg=="
 		},
 		"coffeescript": {
 			"version": "1.12.7",
@@ -3942,17 +4123,17 @@
 			"resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
 			"integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
 			"requires": {
-				"map-visit": "1.0.0",
-				"object-visit": "1.0.1"
+				"map-visit": "^1.0.0",
+				"object-visit": "^1.0.0"
 			}
 		},
 		"color": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/color/-/color-3.0.0.tgz",
-			"integrity": "sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w==",
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/color/-/color-3.1.0.tgz",
+			"integrity": "sha512-CwyopLkuRYO5ei2EpzpIh6LqJMt6Mt+jZhO5VI5f/wJLZriXQE32/SSqzmrh+QB+AZT81Cj8yv+7zwToW8ahZg==",
 			"requires": {
-				"color-convert": "1.9.1",
-				"color-string": "1.5.2"
+				"color-convert": "^1.9.1",
+				"color-string": "^1.5.2"
 			}
 		},
 		"color-convert": {
@@ -3960,7 +4141,7 @@
 			"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz",
 			"integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==",
 			"requires": {
-				"color-name": "1.1.3"
+				"color-name": "^1.1.1"
 			}
 		},
 		"color-name": {
@@ -3969,12 +4150,12 @@
 			"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
 		},
 		"color-string": {
-			"version": "1.5.2",
-			"resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.2.tgz",
-			"integrity": "sha1-JuRYFLw8mny9Z1FkikFDRRSnc6k=",
+			"version": "1.5.3",
+			"resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz",
+			"integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==",
 			"requires": {
-				"color-name": "1.1.3",
-				"simple-swizzle": "0.2.2"
+				"color-name": "^1.0.0",
+				"simple-swizzle": "^0.2.2"
 			}
 		},
 		"colour": {
@@ -3987,7 +4168,7 @@
 			"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
 			"integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
 			"requires": {
-				"delayed-stream": "1.0.0"
+				"delayed-stream": "~1.0.0"
 			}
 		},
 		"commander": {
@@ -4001,8 +4182,8 @@
 			"integrity": "sha1-md0LpFfh+bxyKxLAjsM+6rMfpkg=",
 			"dev": true,
 			"requires": {
-				"array-ify": "1.0.0",
-				"dot-prop": "3.0.0"
+				"array-ify": "^1.0.0",
+				"dot-prop": "^3.0.0"
 			},
 			"dependencies": {
 				"dot-prop": {
@@ -4011,7 +4192,7 @@
 					"integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=",
 					"dev": true,
 					"requires": {
-						"is-obj": "1.0.1"
+						"is-obj": "^1.0.0"
 					}
 				}
 			}
@@ -4026,10 +4207,10 @@
 			"resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz",
 			"integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=",
 			"requires": {
-				"buffer-crc32": "0.2.13",
-				"crc32-stream": "2.0.0",
-				"normalize-path": "2.1.1",
-				"readable-stream": "2.3.6"
+				"buffer-crc32": "^0.2.1",
+				"crc32-stream": "^2.0.0",
+				"normalize-path": "^2.0.0",
+				"readable-stream": "^2.0.0"
 			}
 		},
 		"compressible": {
@@ -4037,7 +4218,7 @@
 			"resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.13.tgz",
 			"integrity": "sha1-DRAgq5JLL9tNYnmHXH1tq6a6p6k=",
 			"requires": {
-				"mime-db": "1.34.0"
+				"mime-db": ">= 1.33.0 < 2"
 			}
 		},
 		"compression": {
@@ -4045,17 +4226,17 @@
 			"resolved": "https://registry.npmjs.org/compression/-/compression-1.5.2.tgz",
 			"integrity": "sha1-sDuNhub4rSloPLqN+R3cb/x3s5U=",
 			"requires": {
-				"accepts": "1.2.13",
+				"accepts": "~1.2.12",
 				"bytes": "2.1.0",
-				"compressible": "2.0.13",
-				"debug": "2.2.0",
-				"on-headers": "1.0.1",
-				"vary": "1.0.1"
+				"compressible": "~2.0.5",
+				"debug": "~2.2.0",
+				"on-headers": "~1.0.0",
+				"vary": "~1.0.1"
 			},
 			"dependencies": {
 				"debug": {
 					"version": "2.2.0",
-					"resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+					"resolved": "http://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
 					"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
 					"requires": {
 						"ms": "0.7.1"
@@ -4063,7 +4244,7 @@
 				},
 				"ms": {
 					"version": "0.7.1",
-					"resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+					"resolved": "http://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
 					"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg="
 				}
 			}
@@ -4078,10 +4259,10 @@
 			"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
 			"integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
 			"requires": {
-				"buffer-from": "1.1.0",
-				"inherits": "2.0.3",
-				"readable-stream": "2.3.6",
-				"typedarray": "0.0.6"
+				"buffer-from": "^1.0.0",
+				"inherits": "^2.0.3",
+				"readable-stream": "^2.2.2",
+				"typedarray": "^0.0.6"
 			}
 		},
 		"configstore": {
@@ -4089,12 +4270,12 @@
 			"resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz",
 			"integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==",
 			"requires": {
-				"dot-prop": "4.2.0",
-				"graceful-fs": "4.1.11",
-				"make-dir": "1.3.0",
-				"unique-string": "1.0.0",
-				"write-file-atomic": "2.3.0",
-				"xdg-basedir": "3.0.0"
+				"dot-prop": "^4.1.0",
+				"graceful-fs": "^4.1.2",
+				"make-dir": "^1.0.0",
+				"unique-string": "^1.0.0",
+				"write-file-atomic": "^2.0.0",
+				"xdg-basedir": "^3.0.0"
 			}
 		},
 		"connect": {
@@ -4103,41 +4284,41 @@
 			"integrity": "sha1-jam8vooFTT0xjXTf7JA7XDmhtgk=",
 			"requires": {
 				"basic-auth-connect": "1.0.0",
-				"body-parser": "1.13.3",
+				"body-parser": "~1.13.3",
 				"bytes": "2.1.0",
-				"compression": "1.5.2",
-				"connect-timeout": "1.6.2",
-				"content-type": "1.0.4",
+				"compression": "~1.5.2",
+				"connect-timeout": "~1.6.2",
+				"content-type": "~1.0.1",
 				"cookie": "0.1.3",
-				"cookie-parser": "1.3.5",
+				"cookie-parser": "~1.3.5",
 				"cookie-signature": "1.0.6",
-				"csurf": "1.8.3",
-				"debug": "2.2.0",
-				"depd": "1.0.1",
-				"errorhandler": "1.4.3",
-				"express-session": "1.11.3",
+				"csurf": "~1.8.3",
+				"debug": "~2.2.0",
+				"depd": "~1.0.1",
+				"errorhandler": "~1.4.2",
+				"express-session": "~1.11.3",
 				"finalhandler": "0.4.0",
 				"fresh": "0.3.0",
-				"http-errors": "1.3.1",
-				"method-override": "2.3.10",
-				"morgan": "1.6.1",
+				"http-errors": "~1.3.1",
+				"method-override": "~2.3.5",
+				"morgan": "~1.6.1",
 				"multiparty": "3.3.2",
-				"on-headers": "1.0.1",
-				"parseurl": "1.3.2",
+				"on-headers": "~1.0.0",
+				"parseurl": "~1.3.0",
 				"pause": "0.1.0",
 				"qs": "4.0.0",
-				"response-time": "2.3.2",
-				"serve-favicon": "2.3.2",
-				"serve-index": "1.7.3",
-				"serve-static": "1.10.3",
-				"type-is": "1.6.16",
+				"response-time": "~2.3.1",
+				"serve-favicon": "~2.3.0",
+				"serve-index": "~1.7.2",
+				"serve-static": "~1.10.0",
+				"type-is": "~1.6.6",
 				"utils-merge": "1.0.0",
-				"vhost": "3.0.2"
+				"vhost": "~3.0.1"
 			},
 			"dependencies": {
 				"debug": {
 					"version": "2.2.0",
-					"resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+					"resolved": "http://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
 					"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
 					"requires": {
 						"ms": "0.7.1"
@@ -4145,7 +4326,7 @@
 				},
 				"ms": {
 					"version": "0.7.1",
-					"resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+					"resolved": "http://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
 					"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg="
 				},
 				"qs": {
@@ -4160,15 +4341,15 @@
 			"resolved": "https://registry.npmjs.org/connect-timeout/-/connect-timeout-1.6.2.tgz",
 			"integrity": "sha1-3ppexh4zoStu2qt7XwYumMWZuI4=",
 			"requires": {
-				"debug": "2.2.0",
-				"http-errors": "1.3.1",
+				"debug": "~2.2.0",
+				"http-errors": "~1.3.1",
 				"ms": "0.7.1",
-				"on-headers": "1.0.1"
+				"on-headers": "~1.0.0"
 			},
 			"dependencies": {
 				"debug": {
 					"version": "2.2.0",
-					"resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+					"resolved": "http://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
 					"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
 					"requires": {
 						"ms": "0.7.1"
@@ -4176,7 +4357,7 @@
 				},
 				"ms": {
 					"version": "0.7.1",
-					"resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+					"resolved": "http://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
 					"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg="
 				}
 			}
@@ -4202,14 +4383,33 @@
 			"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
 			"integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
 		},
+		"conventional-changelog": {
+			"version": "2.0.3",
+			"resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-2.0.3.tgz",
+			"integrity": "sha512-4bcII9cJHSKb2qi9e8qGF6aJHLf/AB0dokhyR+X6QILTMl77s4l163vK+reXhajvfOYbbHQvsrWybr5+PKZwNA==",
+			"dev": true,
+			"requires": {
+				"conventional-changelog-angular": "^1.6.6",
+				"conventional-changelog-atom": "^2.0.0",
+				"conventional-changelog-codemirror": "^2.0.0",
+				"conventional-changelog-core": "^3.1.0",
+				"conventional-changelog-ember": "^2.0.1",
+				"conventional-changelog-eslint": "^3.0.0",
+				"conventional-changelog-express": "^2.0.0",
+				"conventional-changelog-jquery": "^0.1.0",
+				"conventional-changelog-jscs": "^0.1.0",
+				"conventional-changelog-jshint": "^2.0.0",
+				"conventional-changelog-preset-loader": "^2.0.1"
+			}
+		},
 		"conventional-changelog-angular": {
 			"version": "1.6.6",
 			"resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-1.6.6.tgz",
 			"integrity": "sha512-suQnFSqCxRwyBxY68pYTsFkG0taIdinHLNEAX5ivtw8bCRnIgnpvcHmlR/yjUyZIrNPYAoXlY1WiEKWgSE4BNg==",
 			"dev": true,
 			"requires": {
-				"compare-func": "1.3.2",
-				"q": "1.5.1"
+				"compare-func": "^1.3.1",
+				"q": "^1.5.1"
 			},
 			"dependencies": {
 				"q": {
@@ -4220,186 +4420,125 @@
 				}
 			}
 		},
-		"conventional-changelog-cli": {
+		"conventional-changelog-atom": {
 			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/conventional-changelog-cli/-/conventional-changelog-cli-2.0.0.tgz",
-			"integrity": "sha512-tFLPdjlPBqH2XOdoFBHj/O1lbNdK6A+LfL0jzNUP+J3mEFSyGL3T+6F6/jansPQOmm1GVNhlo9OO3BYF0nr/4w==",
+			"resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.0.tgz",
+			"integrity": "sha512-ygwkwyTQYAm4S0tsDt+1yg8tHhRrv7qu9SOWPhNQlVrInFLsfKc0FActCA3de2ChknxpVPY2B53yhKvCAtkBCg==",
 			"dev": true,
 			"requires": {
-				"add-stream": "1.0.0",
-				"conventional-changelog": "2.0.0",
-				"lodash": "4.17.10",
-				"meow": "4.0.1",
-				"tempfile": "1.1.1"
+				"q": "^1.5.1"
 			},
 			"dependencies": {
-				"conventional-changelog": {
-					"version": "2.0.0",
-					"resolved": "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-2.0.0.tgz",
-					"integrity": "sha512-hbwyYn7uZJ2IB7o/h9xGVQeoNzdpZn+eQZ31GSh/S8tj3eEzdJcOInnMBQU6l+207pQ3bEZzjU3ZVehH2Mnuqw==",
-					"dev": true,
-					"requires": {
-						"conventional-changelog-angular": "1.6.6",
-						"conventional-changelog-atom": "1.0.0",
-						"conventional-changelog-codemirror": "1.0.0",
-						"conventional-changelog-core": "3.0.0",
-						"conventional-changelog-ember": "1.0.0",
-						"conventional-changelog-eslint": "2.0.0",
-						"conventional-changelog-express": "1.0.0",
-						"conventional-changelog-jquery": "0.1.0",
-						"conventional-changelog-jscs": "0.1.0",
-						"conventional-changelog-jshint": "1.0.0",
-						"conventional-changelog-preset-loader": "2.0.0"
-					}
-				},
-				"conventional-changelog-atom": {
-					"version": "1.0.0",
-					"resolved": "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-1.0.0.tgz",
-					"integrity": "sha512-HswSKDz4+fHc832OczcgGrsWEnMkjjFc3xuvNcG/HsBxwL6+gFhhSmPjAWrZuJt/YuVmtiEK5S/W4rakLEoJqw==",
-					"dev": true,
-					"requires": {
-						"q": "1.5.1"
-					}
-				},
-				"conventional-changelog-codemirror": {
-					"version": "1.0.0",
-					"resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-1.0.0.tgz",
-					"integrity": "sha512-OchwAltFTS4jyLsAO21YsJazMlTuRRCawEeq7jq1t6vQR08DNNdeMYfcddWVD++d9a+coZEYqIQ0wDtoeFpVLA==",
-					"dev": true,
-					"requires": {
-						"q": "1.5.1"
-					}
-				},
-				"conventional-changelog-core": {
-					"version": "3.0.0",
-					"resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-3.0.0.tgz",
-					"integrity": "sha512-D2hApWWsdh4tkNgDjn1KtRapxUJ70Sd+V84btTVJJJ96S3cVRES8Ty3ih0TRkOZmDkw/uS0mxrHSskQ/P/Gvsg==",
-					"dev": true,
-					"requires": {
-						"conventional-changelog-writer": "4.0.0",
-						"conventional-commits-parser": "3.0.0",
-						"dateformat": "3.0.3",
-						"get-pkg-repo": "1.4.0",
-						"git-raw-commits": "2.0.0",
-						"git-remote-origin-url": "2.0.0",
-						"git-semver-tags": "2.0.0",
-						"lodash": "4.17.10",
-						"normalize-package-data": "2.4.0",
-						"q": "1.5.1",
-						"read-pkg": "1.1.0",
-						"read-pkg-up": "1.0.1",
-						"through2": "2.0.3"
-					}
-				},
-				"conventional-changelog-ember": {
-					"version": "1.0.0",
-					"resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-1.0.0.tgz",
-					"integrity": "sha512-5yT3hXNgy0VrAsUjKMUq2khlHeRmusglGligAcF+WRlzdI95bBPKgBT5r6UJ/D9vsITgMb7SnNUlknvFl6HgEw==",
-					"dev": true,
-					"requires": {
-						"q": "1.5.1"
-					}
-				},
-				"conventional-changelog-eslint": {
-					"version": "2.0.0",
-					"resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-2.0.0.tgz",
-					"integrity": "sha512-8qzbgeHXOCf1XNDSNivBjmpeDd+OJeHsEbqipryO86VHGVOoJ9WYNWYG2Bc0c7mWMD4oNadNBg1JkXs82uZ1tQ==",
-					"dev": true,
-					"requires": {
-						"q": "1.5.1"
-					}
-				},
-				"conventional-changelog-express": {
-					"version": "1.0.0",
-					"resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-1.0.0.tgz",
-					"integrity": "sha512-OMFBXTPiYbuJFOCgy5yzSTG7+wBtumGy/w7m8ts19ePcP+Zd7NSINgrexw0oNsVtgFDT7kbBpaIhUYoquRR35Q==",
-					"dev": true,
-					"requires": {
-						"q": "1.5.1"
-					}
-				},
-				"conventional-changelog-jshint": {
-					"version": "1.0.0",
-					"resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-1.0.0.tgz",
-					"integrity": "sha512-TZSCzg+cmzkJjV6paBBO26g6P0cy+jVTQq3rm2Y4IvNGjCpOkR3lrJPEXcPV3vszIvC5CENBv+PCmwIiD1u/0g==",
-					"dev": true,
-					"requires": {
-						"compare-func": "1.3.2",
-						"q": "1.5.1"
-					}
-				},
-				"conventional-changelog-preset-loader": {
-					"version": "2.0.0",
-					"resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.0.0.tgz",
-					"integrity": "sha512-hEWm9o6TxjS9aO1AKaHpl8avSXaUHiUXBT25vJ4ToaDi/gPDqt3OnZkwhIgubADUF+lPqcXpjFTOYcOL4AwyvA==",
+				"q": {
+					"version": "1.5.1",
+					"resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
+					"integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
 					"dev": true
-				},
-				"conventional-changelog-writer": {
-					"version": "4.0.0",
-					"resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.0.0.tgz",
-					"integrity": "sha512-hMZPe0AQ6Bi05epeK/7hz80xxk59nPA5z/b63TOHq2wigM0/akreOc8N4Jam5b9nFgKWX1e9PdPv2ewgW6bcfg==",
-					"dev": true,
-					"requires": {
-						"compare-func": "1.3.2",
-						"conventional-commits-filter": "2.0.0",
-						"dateformat": "3.0.3",
-						"handlebars": "4.0.11",
-						"json-stringify-safe": "5.0.1",
-						"lodash": "4.17.10",
-						"meow": "4.0.1",
-						"semver": "5.5.0",
-						"split": "1.0.1",
-						"through2": "2.0.3"
-					}
-				},
-				"conventional-commits-filter": {
-					"version": "2.0.0",
-					"resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.0.tgz",
-					"integrity": "sha512-Cfl0j1/NquB/TMVx7Wrmyq7uRM+/rPQbtVVGwzfkhZ6/yH6fcMmP0Q/9044TBZPTNdGzm46vXFXL14wbET0/Mg==",
-					"dev": true,
-					"requires": {
-						"is-subset": "0.1.1",
-						"modify-values": "1.0.1"
-					}
-				},
-				"conventional-commits-parser": {
-					"version": "3.0.0",
-					"resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.0.0.tgz",
-					"integrity": "sha512-GWh71U26BLWgMykCp+VghZ4s64wVbtseECcKQ/PvcPZR2cUnz+FUc2J9KjxNl7/ZbCxST8R03c9fc+Vi0umS9Q==",
-					"dev": true,
-					"requires": {
-						"JSONStream": "1.3.3",
-						"is-text-path": "1.0.1",
-						"lodash": "4.17.10",
-						"meow": "4.0.1",
-						"split2": "2.2.0",
-						"through2": "2.0.3",
-						"trim-off-newlines": "1.0.1"
-					}
-				},
-				"git-raw-commits": {
-					"version": "2.0.0",
-					"resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.0.tgz",
-					"integrity": "sha512-w4jFEJFgKXMQJ0H0ikBk2S+4KP2VEjhCvLCNqbNRQC8BgGWgLKNCO7a9K9LI+TVT7Gfoloje502sEnctibffgg==",
-					"dev": true,
-					"requires": {
-						"dargs": "4.1.0",
-						"lodash.template": "4.4.0",
-						"meow": "4.0.1",
-						"split2": "2.2.0",
-						"through2": "2.0.3"
-					}
-				},
-				"git-semver-tags": {
-					"version": "2.0.0",
-					"resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-2.0.0.tgz",
-					"integrity": "sha512-lSgFc3zQTul31nFje2Q8XdNcTOI6B4I3mJRPCgFzHQQLfxfqdWTYzdtCaynkK5Xmb2wQlSJoKolhXJ1VhKROnQ==",
-					"dev": true,
-					"requires": {
-						"meow": "4.0.1",
-						"semver": "5.5.0"
-					}
-				},
+				}
+			}
+		},
+		"conventional-changelog-cli": {
+			"version": "2.0.5",
+			"resolved": "https://registry.npmjs.org/conventional-changelog-cli/-/conventional-changelog-cli-2.0.5.tgz",
+			"integrity": "sha512-StqCVo10g194UhyLIhg+M/tTVu6YjGnON/IiQ9Ty/h+dgi9obYAkknwpmmgGJMQ3P3vNRljuZBupz0N2tpdxXg==",
+			"dev": true,
+			"requires": {
+				"add-stream": "^1.0.0",
+				"conventional-changelog": "^2.0.3",
+				"lodash": "^4.2.1",
+				"meow": "^4.0.0",
+				"tempfile": "^1.1.1"
+			}
+		},
+		"conventional-changelog-codemirror": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.0.tgz",
+			"integrity": "sha512-pZt/YynJ5m8C9MGV5wkBuhM1eX+8a84fmNrdOylxg/lJV+lgtAiNhnpskNuixtf71iKVWSlEqMQ6z6CH7/Uo5A==",
+			"dev": true,
+			"requires": {
+				"q": "^1.5.1"
+			},
+			"dependencies": {
+				"q": {
+					"version": "1.5.1",
+					"resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
+					"integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
+					"dev": true
+				}
+			}
+		},
+		"conventional-changelog-core": {
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-3.1.0.tgz",
+			"integrity": "sha512-bcZkcFXkqVgG2W8m/1wjlp2wn/BKDcrPgw3/mvSEQtzs8Pax8JbAPFpEQReHY92+EKNNXC67wLA8y2xcNx0rDA==",
+			"dev": true,
+			"requires": {
+				"conventional-changelog-writer": "^4.0.0",
+				"conventional-commits-parser": "^3.0.0",
+				"dateformat": "^3.0.0",
+				"get-pkg-repo": "^1.0.0",
+				"git-raw-commits": "^2.0.0",
+				"git-remote-origin-url": "^2.0.0",
+				"git-semver-tags": "^2.0.0",
+				"lodash": "^4.2.1",
+				"normalize-package-data": "^2.3.5",
+				"q": "^1.5.1",
+				"read-pkg": "^1.1.0",
+				"read-pkg-up": "^1.0.1",
+				"through2": "^2.0.0"
+			},
+			"dependencies": {
+				"q": {
+					"version": "1.5.1",
+					"resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
+					"integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
+					"dev": true
+				}
+			}
+		},
+		"conventional-changelog-ember": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.1.tgz",
+			"integrity": "sha512-Ym1xLi7YLGooLUpHCJhlXJW5V7u/g+hlYD/+HKt0KqG2qbiBi7e7/HO9aScXTEKUBGMm7m4C443R+eCWQI2ynA==",
+			"dev": true,
+			"requires": {
+				"q": "^1.5.1"
+			},
+			"dependencies": {
+				"q": {
+					"version": "1.5.1",
+					"resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
+					"integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
+					"dev": true
+				}
+			}
+		},
+		"conventional-changelog-eslint": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.0.tgz",
+			"integrity": "sha512-Acn20v+13c+o1OAWKvc9sCCl73Nj2vOMyn+G82euiMZwgYNE9CcBkTnw/GKdBi9KiZMK9uy+SCQ/QyAEE+8vZA==",
+			"dev": true,
+			"requires": {
+				"q": "^1.5.1"
+			},
+			"dependencies": {
+				"q": {
+					"version": "1.5.1",
+					"resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
+					"integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
+					"dev": true
+				}
+			}
+		},
+		"conventional-changelog-express": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.0.tgz",
+			"integrity": "sha512-2svPjeXCrjwwqnzu/f3qU5LWoLO0jmUIEbtbbSRXAAP9Ag+137b484eJsiRt9DPYXSVzog0Eoek3rvCzfHcphQ==",
+			"dev": true,
+			"requires": {
+				"q": "^1.5.1"
+			},
+			"dependencies": {
 				"q": {
 					"version": "1.5.1",
 					"resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
@@ -4414,7 +4553,7 @@
 			"integrity": "sha1-Agg5cWLjhGmG5xJztsecW1+A9RA=",
 			"dev": true,
 			"requires": {
-				"q": "1.5.1"
+				"q": "^1.4.1"
 			},
 			"dependencies": {
 				"q": {
@@ -4431,7 +4570,25 @@
 			"integrity": "sha1-BHnrRDzH1yxYvwvPDvHURKkvDlw=",
 			"dev": true,
 			"requires": {
-				"q": "1.5.1"
+				"q": "^1.4.1"
+			},
+			"dependencies": {
+				"q": {
+					"version": "1.5.1",
+					"resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
+					"integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
+					"dev": true
+				}
+			}
+		},
+		"conventional-changelog-jshint": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.0.tgz",
+			"integrity": "sha512-+4fCln755N0ZzRUEdcDWR5Due71Dsqkbov6K/UmVCnljZvhVh0/wpT4YROoSsAnhfZO8shyWDPFKm6EP20pLQg==",
+			"dev": true,
+			"requires": {
+				"compare-func": "^1.3.1",
+				"q": "^1.5.1"
 			},
 			"dependencies": {
 				"q": {
@@ -4442,6 +4599,55 @@
 				}
 			}
 		},
+		"conventional-changelog-preset-loader": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.0.1.tgz",
+			"integrity": "sha512-HiSfhXNzAzG9klIqJaA97MMiNBR4js+53g4Px0k7tgKeCNVXmrDrm+CY+nIqcmG5NVngEPf8rAr7iji1TWW7zg==",
+			"dev": true
+		},
+		"conventional-changelog-writer": {
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.0.0.tgz",
+			"integrity": "sha512-hMZPe0AQ6Bi05epeK/7hz80xxk59nPA5z/b63TOHq2wigM0/akreOc8N4Jam5b9nFgKWX1e9PdPv2ewgW6bcfg==",
+			"dev": true,
+			"requires": {
+				"compare-func": "^1.3.1",
+				"conventional-commits-filter": "^2.0.0",
+				"dateformat": "^3.0.0",
+				"handlebars": "^4.0.2",
+				"json-stringify-safe": "^5.0.1",
+				"lodash": "^4.2.1",
+				"meow": "^4.0.0",
+				"semver": "^5.5.0",
+				"split": "^1.0.0",
+				"through2": "^2.0.0"
+			}
+		},
+		"conventional-commits-filter": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.0.tgz",
+			"integrity": "sha512-Cfl0j1/NquB/TMVx7Wrmyq7uRM+/rPQbtVVGwzfkhZ6/yH6fcMmP0Q/9044TBZPTNdGzm46vXFXL14wbET0/Mg==",
+			"dev": true,
+			"requires": {
+				"is-subset": "^0.1.1",
+				"modify-values": "^1.0.0"
+			}
+		},
+		"conventional-commits-parser": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.0.0.tgz",
+			"integrity": "sha512-GWh71U26BLWgMykCp+VghZ4s64wVbtseECcKQ/PvcPZR2cUnz+FUc2J9KjxNl7/ZbCxST8R03c9fc+Vi0umS9Q==",
+			"dev": true,
+			"requires": {
+				"JSONStream": "^1.0.4",
+				"is-text-path": "^1.0.0",
+				"lodash": "^4.2.1",
+				"meow": "^4.0.0",
+				"split2": "^2.0.0",
+				"through2": "^2.0.0",
+				"trim-off-newlines": "^1.0.0"
+			}
+		},
 		"convert-source-map": {
 			"version": "1.5.1",
 			"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
@@ -4494,9 +4700,9 @@
 			"integrity": "sha512-94j37OtvxS5w7qr7Ta6dt67tWdnOxigBVN4VnSxNXFez9o18PGQ0D33SchKP17r9LAcWVTYV72G6vDayAUBFIg==",
 			"dev": true,
 			"requires": {
-				"is-directory": "0.3.1",
-				"js-yaml": "3.12.0",
-				"parse-json": "4.0.0"
+				"is-directory": "^0.3.1",
+				"js-yaml": "^3.9.0",
+				"parse-json": "^4.0.0"
 			}
 		},
 		"crc": {
@@ -4509,8 +4715,8 @@
 			"resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz",
 			"integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=",
 			"requires": {
-				"crc": "3.5.0",
-				"readable-stream": "2.3.6"
+				"crc": "^3.4.4",
+				"readable-stream": "^2.0.0"
 			}
 		},
 		"create-error-class": {
@@ -4518,7 +4724,7 @@
 			"resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz",
 			"integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=",
 			"requires": {
-				"capture-stack-trace": "1.0.0"
+				"capture-stack-trace": "^1.0.0"
 			}
 		},
 		"create-hash": {
@@ -4526,11 +4732,11 @@
 			"resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
 			"integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
 			"requires": {
-				"cipher-base": "1.0.4",
-				"inherits": "2.0.3",
-				"md5.js": "1.3.4",
-				"ripemd160": "2.0.2",
-				"sha.js": "2.4.11"
+				"cipher-base": "^1.0.1",
+				"inherits": "^2.0.1",
+				"md5.js": "^1.3.4",
+				"ripemd160": "^2.0.1",
+				"sha.js": "^2.4.0"
 			}
 		},
 		"create-hmac": {
@@ -4538,12 +4744,12 @@
 			"resolved": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
 			"integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
 			"requires": {
-				"cipher-base": "1.0.4",
-				"create-hash": "1.2.0",
-				"inherits": "2.0.3",
-				"ripemd160": "2.0.2",
-				"safe-buffer": "5.1.2",
-				"sha.js": "2.4.11"
+				"cipher-base": "^1.0.3",
+				"create-hash": "^1.1.0",
+				"inherits": "^2.0.1",
+				"ripemd160": "^2.0.0",
+				"safe-buffer": "^5.0.1",
+				"sha.js": "^2.4.8"
 			}
 		},
 		"cross-fetch": {
@@ -4568,20 +4774,20 @@
 			"integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
 			"dev": true,
 			"requires": {
-				"nice-try": "1.0.4",
-				"path-key": "2.0.1",
-				"semver": "5.5.0",
-				"shebang-command": "1.2.0",
-				"which": "1.2.14"
+				"nice-try": "^1.0.4",
+				"path-key": "^2.0.1",
+				"semver": "^5.5.0",
+				"shebang-command": "^1.2.0",
+				"which": "^1.2.9"
 			}
 		},
 		"cryptiles": {
 			"version": "2.0.5",
-			"resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
+			"resolved": "http://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
 			"integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
 			"dev": true,
 			"requires": {
-				"boom": "2.10.1"
+				"boom": "2.x.x"
 			}
 		},
 		"crypto-random-string": {
@@ -4605,10 +4811,10 @@
 			"integrity": "sha512-0W171WccAjQGGTKLhw4m2nnl0zPHUlTO/I8td4XzJgIB8Hg3ZZx71qT4G4eX8OVsSiaAKiUMy73E3nsbPlg2DQ==",
 			"dev": true,
 			"requires": {
-				"inherits": "2.0.3",
-				"source-map": "0.1.43",
-				"source-map-resolve": "0.5.2",
-				"urix": "0.1.0"
+				"inherits": "^2.0.1",
+				"source-map": "^0.1.38",
+				"source-map-resolve": "^0.5.1",
+				"urix": "^0.1.0"
 			},
 			"dependencies": {
 				"source-map": {
@@ -4617,7 +4823,7 @@
 					"integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
 					"dev": true,
 					"requires": {
-						"amdefine": "1.0.1"
+						"amdefine": ">=0.0.4"
 					}
 				}
 			}
@@ -4628,7 +4834,7 @@
 			"integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=",
 			"dev": true,
 			"requires": {
-				"css": "2.2.3"
+				"css": "^2.0.0"
 			}
 		},
 		"css-select": {
@@ -4636,10 +4842,10 @@
 			"resolved": "https://registry.npmjs.org/css-select/-/css-select-1.0.0.tgz",
 			"integrity": "sha1-sRIcpRhI3SZOIkTQWM7iVN7rRLA=",
 			"requires": {
-				"boolbase": "1.0.0",
-				"css-what": "1.0.0",
-				"domutils": "1.4.3",
-				"nth-check": "1.0.1"
+				"boolbase": "~1.0.0",
+				"css-what": "1.0",
+				"domutils": "1.4",
+				"nth-check": "~1.0.0"
 			}
 		},
 		"css-value": {
@@ -4663,7 +4869,7 @@
 			"resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.1.1.tgz",
 			"integrity": "sha512-364AI1l/M5TYcFH83JnOH/pSqgaNnKmYgKrm0didZMGKWjQB60dymwWy1rKUgL3J1ffdq9xVi2yGLHdSjjSNog==",
 			"requires": {
-				"cssom": "0.3.4"
+				"cssom": "0.3.x"
 			}
 		},
 		"csurf": {
@@ -4673,40 +4879,41 @@
 			"requires": {
 				"cookie": "0.1.3",
 				"cookie-signature": "1.0.6",
-				"csrf": "3.0.6",
-				"http-errors": "1.3.1"
+				"csrf": "~3.0.0",
+				"http-errors": "~1.3.1"
 			}
 		},
 		"csv-parse": {
-			"version": "2.4.0",
-			"resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-2.4.0.tgz",
-			"integrity": "sha512-C/Biz45WWkL7yGvzyD4ONDMaQFHC/nIrSCOh9YCEBLsDQ4JOSDsgp7oyTFvOaMwvI/OVfJ7qLIPcx00Dk/7USw=="
+			"version": "2.5.0",
+			"resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-2.5.0.tgz",
+			"integrity": "sha512-4OcjOJQByI0YDU5COYw9HAqjo8/MOLLmT9EKyMCXUzgvh30vS1SlMK+Ho84IH5exN44cSnrYecw/7Zpu2m4lkA=="
 		},
 		"ctype": {
 			"version": "0.5.3",
-			"resolved": "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz",
+			"resolved": "http://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz",
 			"integrity": "sha1-gsGMJGH3QRTvFsE1IkrQuRRMoS8=",
 			"dev": true
 		},
 		"cucumber": {
 			"version": "github:xolvio/cucumber-js#cf953cb5b5de30dbcc279f59e4ebff3aa040071c",
+			"from": "cucumber@github:xolvio/cucumber-js#cf953cb5b5de30dbcc279f59e4ebff3aa040071c",
 			"dev": true,
 			"requires": {
-				"camel-case": "3.0.0",
-				"cli-table": "0.3.1",
-				"co": "4.6.0",
-				"colors": "1.3.0",
-				"commander": "2.15.1",
-				"duration": "0.2.0",
-				"fibers": "1.0.15",
+				"camel-case": "^3.0.0",
+				"cli-table": "^0.3.1",
+				"co": "^4.6.0",
+				"colors": "^1.1.2",
+				"commander": "^2.9.0",
+				"duration": "^0.2.0",
+				"fibers": "^1.0.7",
 				"figures": "1.7.0",
 				"gherkin": "4.0.0",
-				"glob": "7.1.2",
-				"is-generator": "1.0.3",
-				"lodash": "4.17.10",
-				"meteor-promise": "0.8.6",
-				"stack-chain": "1.3.7",
-				"stacktrace-js": "1.3.1"
+				"glob": "^7.0.0",
+				"is-generator": "^1.0.2",
+				"lodash": "^4.0.0",
+				"meteor-promise": "^0.8.0",
+				"stack-chain": "^1.3.5",
+				"stacktrace-js": "^1.3.0"
 			},
 			"dependencies": {
 				"colors": {
@@ -4714,6 +4921,12 @@
 					"resolved": "https://registry.npmjs.org/colors/-/colors-1.3.0.tgz",
 					"integrity": "sha512-EDpX3a7wHMWFA7PUHWPHNWqOxIIRSJetuwl0AS5Oi/5FMV8kWm69RTlgm00GKjBO1xFHMtBbL49yRtMMdticBw==",
 					"dev": true
+				},
+				"fibers": {
+					"version": "1.0.15",
+					"resolved": "http://registry.npmjs.org/fibers/-/fibers-1.0.15.tgz",
+					"integrity": "sha1-IvA5yPGLhWGQ+75N7PBWFUwerpw=",
+					"dev": true
 				}
 			}
 		},
@@ -4723,13 +4936,13 @@
 			"integrity": "sha1-S4deCWm612T37AcGz0T1+wgx9rc=",
 			"requires": {
 				"browser-fingerprint": "0.0.1",
-				"core-js": "1.2.7",
+				"core-js": "^1.1.1",
 				"node-fingerprint": "0.0.2"
 			},
 			"dependencies": {
 				"core-js": {
 					"version": "1.2.7",
-					"resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
+					"resolved": "http://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
 					"integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY="
 				}
 			}
@@ -4740,7 +4953,7 @@
 			"integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
 			"dev": true,
 			"requires": {
-				"array-find-index": "1.0.2"
+				"array-find-index": "^1.0.1"
 			}
 		},
 		"d": {
@@ -4749,7 +4962,7 @@
 			"integrity": "sha1-2hhMU10Y2O57oqoim5FACfrhEwk=",
 			"dev": true,
 			"requires": {
-				"es5-ext": "0.10.45"
+				"es5-ext": "~0.10.2"
 			}
 		},
 		"dargs": {
@@ -4758,7 +4971,7 @@
 			"integrity": "sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc=",
 			"dev": true,
 			"requires": {
-				"number-is-nan": "1.0.1"
+				"number-is-nan": "^1.0.0"
 			}
 		},
 		"dashdash": {
@@ -4766,17 +4979,24 @@
 			"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
 			"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
 			"requires": {
-				"assert-plus": "1.0.0"
+				"assert-plus": "^1.0.0"
 			}
 		},
+		"data-uri-to-buffer": {
+			"version": "0.0.4",
+			"resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-0.0.4.tgz",
+			"integrity": "sha1-RuE6udqOMJdFyNAc5UchPr2y/j8=",
+			"dev": true,
+			"optional": true
+		},
 		"data-urls": {
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.0.1.tgz",
 			"integrity": "sha512-0HdcMZzK6ubMUnsMmQmG0AcLQPvbvb47R0+7CCZQCYgcd8OUWG91CG7sM6GoXgjz+WLl4ArFzHtBMy/QqSF4eg==",
 			"requires": {
-				"abab": "2.0.0",
-				"whatwg-mimetype": "2.1.0",
-				"whatwg-url": "7.0.0"
+				"abab": "^2.0.0",
+				"whatwg-mimetype": "^2.1.0",
+				"whatwg-url": "^7.0.0"
 			},
 			"dependencies": {
 				"whatwg-url": {
@@ -4784,9 +5004,9 @@
 					"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz",
 					"integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==",
 					"requires": {
-						"lodash.sortby": "4.7.0",
-						"tr46": "1.0.1",
-						"webidl-conversions": "4.0.2"
+						"lodash.sortby": "^4.7.0",
+						"tr46": "^1.0.1",
+						"webidl-conversions": "^4.0.2"
 					}
 				}
 			}
@@ -4796,9 +5016,9 @@
 			"resolved": "https://registry.npmjs.org/datauri/-/datauri-1.1.0.tgz",
 			"integrity": "sha512-0q+cTTKx7q8eDteZRIQLTFJuiIsVing17UbWTPssY4JLSMaYsk/VKpNulBDo9NSgQWcvlPrkEHW8kUO67T/7mQ==",
 			"requires": {
-				"image-size": "0.6.2",
-				"mimer": "0.3.2",
-				"semver": "5.5.0"
+				"image-size": "^0.6.2",
+				"mimer": "^0.3.2",
+				"semver": "^5.5.0"
 			}
 		},
 		"dateformat": {
@@ -4812,7 +5032,7 @@
 			"resolved": "https://registry.npmjs.org/dbly-linked-list/-/dbly-linked-list-0.2.0.tgz",
 			"integrity": "sha512-Ool7y15f6JRDs0YKx7Dh9uiTb1jS1SZLNdT3Y2q16DlaEghXbMsmODS/XittjR2xztt1gJUpz7jVxpqAPF8VGg==",
 			"requires": {
-				"lodash.isequal": "4.5.0"
+				"lodash.isequal": "^4.5.0"
 			}
 		},
 		"ddp-ejson": {
@@ -4849,8 +5069,8 @@
 			"integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=",
 			"dev": true,
 			"requires": {
-				"decamelize": "1.2.0",
-				"map-obj": "1.0.1"
+				"decamelize": "^1.1.0",
+				"map-obj": "^1.0.0"
 			},
 			"dependencies": {
 				"map-obj": {
@@ -4871,7 +5091,7 @@
 			"resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
 			"integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
 			"requires": {
-				"mimic-response": "1.0.0"
+				"mimic-response": "^1.0.0"
 			}
 		},
 		"deep-eql": {
@@ -4880,7 +5100,7 @@
 			"integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==",
 			"dev": true,
 			"requires": {
-				"type-detect": "4.0.8"
+				"type-detect": "^4.0.0"
 			}
 		},
 		"deep-extend": {
@@ -4904,8 +5124,8 @@
 			"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
 			"integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=",
 			"requires": {
-				"foreach": "2.0.5",
-				"object-keys": "1.0.11"
+				"foreach": "^2.0.5",
+				"object-keys": "^1.0.8"
 			}
 		},
 		"define-property": {
@@ -4913,8 +5133,8 @@
 			"resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
 			"integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
 			"requires": {
-				"is-descriptor": "1.0.2",
-				"isobject": "3.0.1"
+				"is-descriptor": "^1.0.2",
+				"isobject": "^3.0.1"
 			},
 			"dependencies": {
 				"is-accessor-descriptor": {
@@ -4922,7 +5142,7 @@
 					"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
 					"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
 					"requires": {
-						"kind-of": "6.0.2"
+						"kind-of": "^6.0.0"
 					}
 				},
 				"is-data-descriptor": {
@@ -4930,7 +5150,7 @@
 					"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
 					"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
 					"requires": {
-						"kind-of": "6.0.2"
+						"kind-of": "^6.0.0"
 					}
 				},
 				"is-descriptor": {
@@ -4938,9 +5158,9 @@
 					"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
 					"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
 					"requires": {
-						"is-accessor-descriptor": "1.0.0",
-						"is-data-descriptor": "1.0.0",
-						"kind-of": "6.0.2"
+						"is-accessor-descriptor": "^1.0.0",
+						"is-data-descriptor": "^1.0.0",
+						"kind-of": "^6.0.2"
 					}
 				}
 			}
@@ -4951,12 +5171,12 @@
 			"integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=",
 			"dev": true,
 			"requires": {
-				"globby": "6.1.0",
-				"is-path-cwd": "1.0.0",
-				"is-path-in-cwd": "1.0.1",
-				"p-map": "1.2.0",
-				"pify": "3.0.0",
-				"rimraf": "2.4.5"
+				"globby": "^6.1.0",
+				"is-path-cwd": "^1.0.0",
+				"is-path-in-cwd": "^1.0.0",
+				"p-map": "^1.1.1",
+				"pify": "^3.0.0",
+				"rimraf": "^2.2.8"
 			},
 			"dependencies": {
 				"globby": {
@@ -4965,16 +5185,16 @@
 					"integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
 					"dev": true,
 					"requires": {
-						"array-union": "1.0.2",
-						"glob": "7.1.2",
-						"object-assign": "4.1.1",
-						"pify": "2.3.0",
-						"pinkie-promise": "2.0.1"
+						"array-union": "^1.0.1",
+						"glob": "^7.0.3",
+						"object-assign": "^4.0.1",
+						"pify": "^2.0.0",
+						"pinkie-promise": "^2.0.0"
 					},
 					"dependencies": {
 						"pify": {
 							"version": "2.3.0",
-							"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+							"resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
 							"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
 							"dev": true
 						}
@@ -4982,14 +5202,6 @@
 				}
 			}
 		},
-		"delay": {
-			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/delay/-/delay-2.0.0.tgz",
-			"integrity": "sha1-kRLq3APk7H4AKXM3iW8nO72R+uU=",
-			"requires": {
-				"p-defer": "1.0.0"
-			}
-		},
 		"delayed-stream": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
@@ -5007,12 +5219,12 @@
 		},
 		"depd": {
 			"version": "1.0.1",
-			"resolved": "https://registry.npmjs.org/depd/-/depd-1.0.1.tgz",
+			"resolved": "http://registry.npmjs.org/depd/-/depd-1.0.1.tgz",
 			"integrity": "sha1-gK7GTJ1tl+ZcwqnKqTwKpqv3Oqo="
 		},
 		"deprecate": {
 			"version": "1.0.0",
-			"resolved": "https://registry.npmjs.org/deprecate/-/deprecate-1.0.0.tgz",
+			"resolved": "http://registry.npmjs.org/deprecate/-/deprecate-1.0.0.tgz",
 			"integrity": "sha1-ZhSQ7SQokWpsiIPYg05WRvTkpKg="
 		},
 		"destroy": {
@@ -5020,13 +5232,20 @@
 			"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
 			"integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
 		},
+		"detect-file": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
+			"integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=",
+			"dev": true,
+			"optional": true
+		},
 		"detect-indent": {
 			"version": "4.0.0",
 			"resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
 			"integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
 			"dev": true,
 			"requires": {
-				"repeating": "2.0.1"
+				"repeating": "^2.0.0"
 			}
 		},
 		"detect-libc": {
@@ -5039,7 +5258,7 @@
 			"resolved": "https://registry.npmjs.org/dicer/-/dicer-0.2.5.tgz",
 			"integrity": "sha1-WZbAhrszIYyBLAkL3cCc0S+stw8=",
 			"requires": {
-				"readable-stream": "1.1.14",
+				"readable-stream": "1.1.x",
 				"streamsearch": "0.1.2"
 			},
 			"dependencies": {
@@ -5050,13 +5269,13 @@
 				},
 				"readable-stream": {
 					"version": "1.1.14",
-					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+					"resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
 					"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
 					"requires": {
-						"core-util-is": "1.0.2",
-						"inherits": "2.0.3",
+						"core-util-is": "~1.0.0",
+						"inherits": "~2.0.1",
 						"isarray": "0.0.1",
-						"string_decoder": "0.10.31"
+						"string_decoder": "~0.10.x"
 					}
 				},
 				"string_decoder": {
@@ -5082,8 +5301,8 @@
 			"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz",
 			"integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==",
 			"requires": {
-				"arrify": "1.0.1",
-				"path-type": "3.0.0"
+				"arrify": "^1.0.1",
+				"path-type": "^3.0.0"
 			}
 		},
 		"doctrine": {
@@ -5092,7 +5311,7 @@
 			"integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
 			"dev": true,
 			"requires": {
-				"esutils": "2.0.2"
+				"esutils": "^2.0.2"
 			}
 		},
 		"dom-serializer": {
@@ -5100,13 +5319,13 @@
 			"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz",
 			"integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=",
 			"requires": {
-				"domelementtype": "1.1.3",
-				"entities": "1.1.1"
+				"domelementtype": "~1.1.1",
+				"entities": "~1.1.1"
 			},
 			"dependencies": {
 				"domelementtype": {
 					"version": "1.1.3",
-					"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
+					"resolved": "http://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
 					"integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs="
 				}
 			}
@@ -5121,7 +5340,7 @@
 			"resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz",
 			"integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==",
 			"requires": {
-				"webidl-conversions": "4.0.2"
+				"webidl-conversions": "^4.0.2"
 			}
 		},
 		"domhandler": {
@@ -5129,7 +5348,7 @@
 			"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz",
 			"integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=",
 			"requires": {
-				"domelementtype": "1.3.0"
+				"domelementtype": "1"
 			}
 		},
 		"domutils": {
@@ -5137,7 +5356,7 @@
 			"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.4.3.tgz",
 			"integrity": "sha1-CGVRN5bGswYDGFDhdVFrr4C3Km8=",
 			"requires": {
-				"domelementtype": "1.3.0"
+				"domelementtype": "1"
 			}
 		},
 		"dot-prop": {
@@ -5145,7 +5364,7 @@
 			"resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz",
 			"integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==",
 			"requires": {
-				"is-obj": "1.0.1"
+				"is-obj": "^1.0.0"
 			}
 		},
 		"double-ended-queue": {
@@ -5159,23 +5378,18 @@
 			"integrity": "sha1-3JObTT4GIM/gwc2APQ0tftBP/QQ=",
 			"optional": true,
 			"requires": {
-				"nan": "2.10.0"
+				"nan": "^2.10.0"
 			}
 		},
-		"duplexer3": {
-			"version": "0.1.4",
-			"resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
-			"integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI="
-		},
 		"duplexify": {
 			"version": "3.6.0",
 			"resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz",
 			"integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==",
 			"requires": {
-				"end-of-stream": "1.4.1",
-				"inherits": "2.0.3",
-				"readable-stream": "2.3.6",
-				"stream-shift": "1.0.0"
+				"end-of-stream": "^1.0.0",
+				"inherits": "^2.0.1",
+				"readable-stream": "^2.0.0",
+				"stream-shift": "^1.0.0"
 			}
 		},
 		"duration": {
@@ -5184,8 +5398,8 @@
 			"integrity": "sha1-X5xN+q//ZV3phhEu/iXFl43YUUY=",
 			"dev": true,
 			"requires": {
-				"d": "0.1.1",
-				"es5-ext": "0.10.45"
+				"d": "~0.1.1",
+				"es5-ext": "~0.10.2"
 			}
 		},
 		"eastasianwidth": {
@@ -5199,7 +5413,7 @@
 			"integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
 			"optional": true,
 			"requires": {
-				"jsbn": "0.1.1"
+				"jsbn": "~0.1.0"
 			}
 		},
 		"ecdsa-sig-formatter": {
@@ -5207,7 +5421,7 @@
 			"resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.10.tgz",
 			"integrity": "sha1-HFlQAPBKiJffuFAAiSoPTDOvhsM=",
 			"requires": {
-				"safe-buffer": "5.1.2"
+				"safe-buffer": "^5.0.1"
 			}
 		},
 		"ecurve": {
@@ -5215,8 +5429,8 @@
 			"resolved": "https://registry.npmjs.org/ecurve/-/ecurve-1.0.6.tgz",
 			"integrity": "sha512-/BzEjNfiSuB7jIWKcS/z8FK9jNjmEWvUV2YZ4RLSmcDtP7Lq0m6FvDuSnJpBlDpGRpfRQeTLGLBI8H+kEv0r+w==",
 			"requires": {
-				"bigi": "1.4.2",
-				"safe-buffer": "5.1.2"
+				"bigi": "^1.1.0",
+				"safe-buffer": "^5.0.1"
 			}
 		},
 		"ee-first": {
@@ -5240,13 +5454,13 @@
 			"resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz",
 			"integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==",
 			"requires": {
-				"bn.js": "4.11.8",
-				"brorand": "1.1.0",
-				"hash.js": "1.1.5",
-				"hmac-drbg": "1.0.1",
-				"inherits": "2.0.3",
-				"minimalistic-assert": "1.0.1",
-				"minimalistic-crypto-utils": "1.0.1"
+				"bn.js": "^4.4.0",
+				"brorand": "^1.0.1",
+				"hash.js": "^1.0.0",
+				"hmac-drbg": "^1.0.0",
+				"inherits": "^2.0.1",
+				"minimalistic-assert": "^1.0.0",
+				"minimalistic-crypto-utils": "^1.0.0"
 			}
 		},
 		"emailreplyparser": {
@@ -5264,8 +5478,8 @@
 			"resolved": "https://registry.npmjs.org/empower/-/empower-1.2.3.tgz",
 			"integrity": "sha1-bw2nNEf07dg4/sXGAxOoi6XLhSs=",
 			"requires": {
-				"core-js": "2.5.7",
-				"empower-core": "0.6.2"
+				"core-js": "^2.0.0",
+				"empower-core": "^0.6.2"
 			}
 		},
 		"empower-core": {
@@ -5274,7 +5488,7 @@
 			"integrity": "sha1-Wt71ZgiOMfuoC6CjbfR9cJQWkUQ=",
 			"requires": {
 				"call-signature": "0.0.2",
-				"core-js": "2.5.7"
+				"core-js": "^2.0.0"
 			}
 		},
 		"encodeurl": {
@@ -5287,7 +5501,7 @@
 			"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
 			"integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
 			"requires": {
-				"once": "1.4.0"
+				"once": "^1.4.0"
 			}
 		},
 		"ent": {
@@ -5300,13 +5514,20 @@
 			"resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz",
 			"integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA="
 		},
+		"err-code": {
+			"version": "1.1.2",
+			"resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz",
+			"integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=",
+			"dev": true,
+			"optional": true
+		},
 		"errno": {
 			"version": "0.1.7",
 			"resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
 			"integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
 			"optional": true,
 			"requires": {
-				"prr": "1.0.1"
+				"prr": "~1.0.1"
 			}
 		},
 		"error-ex": {
@@ -5315,7 +5536,7 @@
 			"integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=",
 			"dev": true,
 			"requires": {
-				"is-arrayish": "0.2.1"
+				"is-arrayish": "^0.2.1"
 			},
 			"dependencies": {
 				"is-arrayish": {
@@ -5332,7 +5553,7 @@
 			"integrity": "sha1-4Oc7k+QXE40c18C3RrGkoUhUwpI=",
 			"dev": true,
 			"requires": {
-				"stackframe": "0.3.1"
+				"stackframe": "^0.3.1"
 			}
 		},
 		"errorhandler": {
@@ -5340,8 +5561,8 @@
 			"resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.4.3.tgz",
 			"integrity": "sha1-t7cO2PNZ6duICS8tIMD4MUIK2D8=",
 			"requires": {
-				"accepts": "1.3.5",
-				"escape-html": "1.0.3"
+				"accepts": "~1.3.0",
+				"escape-html": "~1.0.3"
 			},
 			"dependencies": {
 				"accepts": {
@@ -5349,7 +5570,7 @@
 					"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz",
 					"integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=",
 					"requires": {
-						"mime-types": "2.1.18",
+						"mime-types": "~2.1.18",
 						"negotiator": "0.6.1"
 					}
 				},
@@ -5365,11 +5586,11 @@
 			"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz",
 			"integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==",
 			"requires": {
-				"es-to-primitive": "1.1.1",
-				"function-bind": "1.1.1",
-				"has": "1.0.2",
-				"is-callable": "1.1.3",
-				"is-regex": "1.0.4"
+				"es-to-primitive": "^1.1.1",
+				"function-bind": "^1.1.1",
+				"has": "^1.0.1",
+				"is-callable": "^1.1.3",
+				"is-regex": "^1.0.4"
 			}
 		},
 		"es-to-primitive": {
@@ -5377,9 +5598,9 @@
 			"resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz",
 			"integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=",
 			"requires": {
-				"is-callable": "1.1.3",
-				"is-date-object": "1.0.1",
-				"is-symbol": "1.0.1"
+				"is-callable": "^1.1.1",
+				"is-date-object": "^1.0.1",
+				"is-symbol": "^1.0.1"
 			}
 		},
 		"es5-ext": {
@@ -5388,9 +5609,9 @@
 			"integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==",
 			"dev": true,
 			"requires": {
-				"es6-iterator": "2.0.3",
-				"es6-symbol": "3.1.1",
-				"next-tick": "1.0.0"
+				"es6-iterator": "~2.0.3",
+				"es6-symbol": "~3.1.1",
+				"next-tick": "1"
 			}
 		},
 		"es6-iterator": {
@@ -5399,9 +5620,9 @@
 			"integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
 			"dev": true,
 			"requires": {
-				"d": "1.0.0",
-				"es5-ext": "0.10.45",
-				"es6-symbol": "3.1.1"
+				"d": "1",
+				"es5-ext": "^0.10.35",
+				"es6-symbol": "^3.1.1"
 			},
 			"dependencies": {
 				"d": {
@@ -5410,7 +5631,7 @@
 					"integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=",
 					"dev": true,
 					"requires": {
-						"es5-ext": "0.10.45"
+						"es5-ext": "^0.10.9"
 					}
 				}
 			}
@@ -5422,11 +5643,11 @@
 		},
 		"es6-promisify": {
 			"version": "5.0.0",
-			"resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
+			"resolved": "http://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
 			"integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
 			"dev": true,
 			"requires": {
-				"es6-promise": "4.2.4"
+				"es6-promise": "^4.0.3"
 			}
 		},
 		"es6-symbol": {
@@ -5435,8 +5656,8 @@
 			"integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=",
 			"dev": true,
 			"requires": {
-				"d": "1.0.0",
-				"es5-ext": "0.10.45"
+				"d": "1",
+				"es5-ext": "~0.10.14"
 			},
 			"dependencies": {
 				"d": {
@@ -5445,11 +5666,22 @@
 					"integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=",
 					"dev": true,
 					"requires": {
-						"es5-ext": "0.10.45"
+						"es5-ext": "^0.10.9"
 					}
 				}
 			}
 		},
+		"es6-template-strings": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/es6-template-strings/-/es6-template-strings-2.0.1.tgz",
+			"integrity": "sha1-sWbGpiVi9Hi7d3X2ypYQOlmbSyw=",
+			"dev": true,
+			"optional": true,
+			"requires": {
+				"es5-ext": "^0.10.12",
+				"esniff": "^1.1"
+			}
+		},
 		"escape-html": {
 			"version": "1.0.3",
 			"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
@@ -5465,11 +5697,11 @@
 			"resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.0.tgz",
 			"integrity": "sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==",
 			"requires": {
-				"esprima": "3.1.3",
-				"estraverse": "4.2.0",
-				"esutils": "2.0.2",
-				"optionator": "0.8.2",
-				"source-map": "0.6.1"
+				"esprima": "^3.1.3",
+				"estraverse": "^4.2.0",
+				"esutils": "^2.0.2",
+				"optionator": "^0.8.1",
+				"source-map": "~0.6.1"
 			},
 			"dependencies": {
 				"esprima": {
@@ -5487,48 +5719,48 @@
 		},
 		"eslint": {
 			"version": "4.19.1",
-			"resolved": "https://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz",
+			"resolved": "http://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz",
 			"integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==",
 			"dev": true,
 			"requires": {
-				"ajv": "5.5.2",
-				"babel-code-frame": "6.26.0",
-				"chalk": "2.4.1",
-				"concat-stream": "1.6.2",
-				"cross-spawn": "5.1.0",
-				"debug": "3.1.0",
-				"doctrine": "2.1.0",
-				"eslint-scope": "3.7.1",
-				"eslint-visitor-keys": "1.0.0",
-				"espree": "3.5.4",
-				"esquery": "1.0.1",
-				"esutils": "2.0.2",
-				"file-entry-cache": "2.0.0",
-				"functional-red-black-tree": "1.0.1",
-				"glob": "7.1.2",
-				"globals": "11.5.0",
-				"ignore": "3.3.8",
-				"imurmurhash": "0.1.4",
-				"inquirer": "3.3.0",
-				"is-resolvable": "1.1.0",
-				"js-yaml": "3.12.0",
-				"json-stable-stringify-without-jsonify": "1.0.1",
-				"levn": "0.3.0",
-				"lodash": "4.17.10",
-				"minimatch": "3.0.4",
-				"mkdirp": "0.5.1",
-				"natural-compare": "1.4.0",
-				"optionator": "0.8.2",
-				"path-is-inside": "1.0.2",
-				"pluralize": "7.0.0",
-				"progress": "2.0.0",
-				"regexpp": "1.1.0",
-				"require-uncached": "1.0.3",
-				"semver": "5.5.0",
-				"strip-ansi": "4.0.0",
-				"strip-json-comments": "2.0.1",
+				"ajv": "^5.3.0",
+				"babel-code-frame": "^6.22.0",
+				"chalk": "^2.1.0",
+				"concat-stream": "^1.6.0",
+				"cross-spawn": "^5.1.0",
+				"debug": "^3.1.0",
+				"doctrine": "^2.1.0",
+				"eslint-scope": "^3.7.1",
+				"eslint-visitor-keys": "^1.0.0",
+				"espree": "^3.5.4",
+				"esquery": "^1.0.0",
+				"esutils": "^2.0.2",
+				"file-entry-cache": "^2.0.0",
+				"functional-red-black-tree": "^1.0.1",
+				"glob": "^7.1.2",
+				"globals": "^11.0.1",
+				"ignore": "^3.3.3",
+				"imurmurhash": "^0.1.4",
+				"inquirer": "^3.0.6",
+				"is-resolvable": "^1.0.0",
+				"js-yaml": "^3.9.1",
+				"json-stable-stringify-without-jsonify": "^1.0.1",
+				"levn": "^0.3.0",
+				"lodash": "^4.17.4",
+				"minimatch": "^3.0.2",
+				"mkdirp": "^0.5.1",
+				"natural-compare": "^1.4.0",
+				"optionator": "^0.8.2",
+				"path-is-inside": "^1.0.2",
+				"pluralize": "^7.0.0",
+				"progress": "^2.0.0",
+				"regexpp": "^1.0.1",
+				"require-uncached": "^1.0.3",
+				"semver": "^5.3.0",
+				"strip-ansi": "^4.0.0",
+				"strip-json-comments": "~2.0.1",
 				"table": "4.0.2",
-				"text-table": "0.2.0"
+				"text-table": "~0.2.0"
 			},
 			"dependencies": {
 				"ansi-regex": {
@@ -5543,7 +5775,7 @@
 					"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
 					"dev": true,
 					"requires": {
-						"color-convert": "1.9.1"
+						"color-convert": "^1.9.0"
 					}
 				},
 				"chalk": {
@@ -5552,9 +5784,9 @@
 					"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
 					"dev": true,
 					"requires": {
-						"ansi-styles": "3.2.1",
-						"escape-string-regexp": "1.0.5",
-						"supports-color": "5.4.0"
+						"ansi-styles": "^3.2.1",
+						"escape-string-regexp": "^1.0.5",
+						"supports-color": "^5.3.0"
 					}
 				},
 				"cross-spawn": {
@@ -5563,9 +5795,9 @@
 					"integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
 					"dev": true,
 					"requires": {
-						"lru-cache": "4.1.3",
-						"shebang-command": "1.2.0",
-						"which": "1.2.14"
+						"lru-cache": "^4.0.1",
+						"shebang-command": "^1.2.0",
+						"which": "^1.2.9"
 					}
 				},
 				"debug": {
@@ -5595,7 +5827,7 @@
 					"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
 					"dev": true,
 					"requires": {
-						"ansi-regex": "3.0.0"
+						"ansi-regex": "^3.0.0"
 					}
 				},
 				"supports-color": {
@@ -5604,7 +5836,7 @@
 					"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
 					"dev": true,
 					"requires": {
-						"has-flag": "3.0.0"
+						"has-flag": "^3.0.0"
 					}
 				}
 			}
@@ -5615,8 +5847,8 @@
 			"integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==",
 			"dev": true,
 			"requires": {
-				"debug": "2.6.9",
-				"resolve": "1.7.1"
+				"debug": "^2.6.9",
+				"resolve": "^1.5.0"
 			}
 		},
 		"eslint-module-utils": {
@@ -5625,8 +5857,8 @@
 			"integrity": "sha1-snA2LNiLGkitMIl2zn+lTphBF0Y=",
 			"dev": true,
 			"requires": {
-				"debug": "2.6.9",
-				"pkg-dir": "1.0.0"
+				"debug": "^2.6.8",
+				"pkg-dir": "^1.0.0"
 			}
 		},
 		"eslint-plugin-import": {
@@ -5635,16 +5867,16 @@
 			"integrity": "sha512-FpuRtniD/AY6sXByma2Wr0TXvXJ4nA/2/04VPlfpmUDPOpOY264x+ILiwnrk/k4RINgDAyFZByxqPUbSQ5YE7g==",
 			"dev": true,
 			"requires": {
-				"contains-path": "0.1.0",
-				"debug": "2.6.9",
+				"contains-path": "^0.1.0",
+				"debug": "^2.6.8",
 				"doctrine": "1.5.0",
-				"eslint-import-resolver-node": "0.3.2",
-				"eslint-module-utils": "2.2.0",
-				"has": "1.0.2",
-				"lodash": "4.17.10",
-				"minimatch": "3.0.4",
-				"read-pkg-up": "2.0.0",
-				"resolve": "1.7.1"
+				"eslint-import-resolver-node": "^0.3.1",
+				"eslint-module-utils": "^2.2.0",
+				"has": "^1.0.1",
+				"lodash": "^4.17.4",
+				"minimatch": "^3.0.3",
+				"read-pkg-up": "^2.0.0",
+				"resolve": "^1.6.0"
 			},
 			"dependencies": {
 				"doctrine": {
@@ -5653,8 +5885,8 @@
 					"integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=",
 					"dev": true,
 					"requires": {
-						"esutils": "2.0.2",
-						"isarray": "1.0.0"
+						"esutils": "^2.0.2",
+						"isarray": "^1.0.0"
 					}
 				},
 				"load-json-file": {
@@ -5663,10 +5895,10 @@
 					"integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
 					"dev": true,
 					"requires": {
-						"graceful-fs": "4.1.11",
-						"parse-json": "2.2.0",
-						"pify": "2.3.0",
-						"strip-bom": "3.0.0"
+						"graceful-fs": "^4.1.2",
+						"parse-json": "^2.2.0",
+						"pify": "^2.0.0",
+						"strip-bom": "^3.0.0"
 					}
 				},
 				"parse-json": {
@@ -5675,7 +5907,7 @@
 					"integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
 					"dev": true,
 					"requires": {
-						"error-ex": "1.3.1"
+						"error-ex": "^1.2.0"
 					}
 				},
 				"path-type": {
@@ -5684,7 +5916,7 @@
 					"integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
 					"dev": true,
 					"requires": {
-						"pify": "2.3.0"
+						"pify": "^2.0.0"
 					}
 				},
 				"pify": {
@@ -5699,9 +5931,9 @@
 					"integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
 					"dev": true,
 					"requires": {
-						"load-json-file": "2.0.0",
-						"normalize-package-data": "2.4.0",
-						"path-type": "2.0.0"
+						"load-json-file": "^2.0.0",
+						"normalize-package-data": "^2.3.2",
+						"path-type": "^2.0.0"
 					}
 				},
 				"read-pkg-up": {
@@ -5710,8 +5942,8 @@
 					"integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
 					"dev": true,
 					"requires": {
-						"find-up": "2.1.0",
-						"read-pkg": "2.0.0"
+						"find-up": "^2.0.0",
+						"read-pkg": "^2.0.0"
 					}
 				}
 			}
@@ -5722,8 +5954,8 @@
 			"integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=",
 			"dev": true,
 			"requires": {
-				"esrecurse": "4.2.1",
-				"estraverse": "4.2.0"
+				"esrecurse": "^4.1.0",
+				"estraverse": "^4.1.1"
 			}
 		},
 		"eslint-visitor-keys": {
@@ -5732,14 +5964,37 @@
 			"integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==",
 			"dev": true
 		},
+		"esniff": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/esniff/-/esniff-1.1.0.tgz",
+			"integrity": "sha1-xmhJIp+RRk3t4uDUAgHtar9l8qw=",
+			"dev": true,
+			"optional": true,
+			"requires": {
+				"d": "1",
+				"es5-ext": "^0.10.12"
+			},
+			"dependencies": {
+				"d": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
+					"integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=",
+					"dev": true,
+					"optional": true,
+					"requires": {
+						"es5-ext": "^0.10.9"
+					}
+				}
+			}
+		},
 		"espree": {
 			"version": "3.5.4",
-			"resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz",
+			"resolved": "http://registry.npmjs.org/espree/-/espree-3.5.4.tgz",
 			"integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==",
 			"dev": true,
 			"requires": {
-				"acorn": "5.6.1",
-				"acorn-jsx": "3.0.1"
+				"acorn": "^5.5.0",
+				"acorn-jsx": "^3.0.0"
 			},
 			"dependencies": {
 				"acorn": {
@@ -5761,7 +6016,7 @@
 			"resolved": "https://registry.npmjs.org/espurify/-/espurify-1.8.0.tgz",
 			"integrity": "sha512-jdkJG9jswjKCCDmEridNUuIQei9algr+o66ZZ19610ZoBsiWLRsQGNYS4HGez3Z/DsR0lhANGAqiwBUclPuNag==",
 			"requires": {
-				"core-js": "2.5.7"
+				"core-js": "^2.0.0"
 			}
 		},
 		"esquery": {
@@ -5770,7 +6025,7 @@
 			"integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==",
 			"dev": true,
 			"requires": {
-				"estraverse": "4.2.0"
+				"estraverse": "^4.0.0"
 			}
 		},
 		"esrecurse": {
@@ -5779,7 +6034,7 @@
 			"integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
 			"dev": true,
 			"requires": {
-				"estraverse": "4.2.0"
+				"estraverse": "^4.1.0"
 			}
 		},
 		"estraverse": {
@@ -5804,16 +6059,26 @@
 		},
 		"events": {
 			"version": "1.1.1",
-			"resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
+			"resolved": "http://registry.npmjs.org/events/-/events-1.1.1.tgz",
 			"integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ="
 		},
+		"exec-sh": {
+			"version": "0.2.2",
+			"resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz",
+			"integrity": "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==",
+			"dev": true,
+			"optional": true,
+			"requires": {
+				"merge": "^1.2.0"
+			}
+		},
 		"execall": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/execall/-/execall-1.0.0.tgz",
 			"integrity": "sha1-c9CQTjlbPKsGWLCNCewlMH8pu3M=",
 			"dev": true,
 			"requires": {
-				"clone-regexp": "1.0.1"
+				"clone-regexp": "^1.0.0"
 			}
 		},
 		"exit": {
@@ -5827,13 +6092,13 @@
 			"resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
 			"integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
 			"requires": {
-				"debug": "2.6.9",
-				"define-property": "0.2.5",
-				"extend-shallow": "2.0.1",
-				"posix-character-classes": "0.1.1",
-				"regex-not": "1.0.2",
-				"snapdragon": "0.8.2",
-				"to-regex": "3.0.2"
+				"debug": "^2.3.3",
+				"define-property": "^0.2.5",
+				"extend-shallow": "^2.0.1",
+				"posix-character-classes": "^0.1.0",
+				"regex-not": "^1.0.0",
+				"snapdragon": "^0.8.1",
+				"to-regex": "^3.0.1"
 			},
 			"dependencies": {
 				"define-property": {
@@ -5841,7 +6106,7 @@
 					"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
 					"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
 					"requires": {
-						"is-descriptor": "0.1.6"
+						"is-descriptor": "^0.1.0"
 					}
 				},
 				"extend-shallow": {
@@ -5849,7 +6114,7 @@
 					"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
 					"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
 					"requires": {
-						"is-extendable": "0.1.1"
+						"is-extendable": "^0.1.0"
 					}
 				}
 			}
@@ -5860,7 +6125,7 @@
 			"integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
 			"dev": true,
 			"requires": {
-				"fill-range": "2.2.4"
+				"fill-range": "^2.1.0"
 			},
 			"dependencies": {
 				"fill-range": {
@@ -5869,11 +6134,11 @@
 					"integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==",
 					"dev": true,
 					"requires": {
-						"is-number": "2.1.0",
-						"isobject": "2.1.0",
-						"randomatic": "3.0.0",
-						"repeat-element": "1.1.2",
-						"repeat-string": "1.6.1"
+						"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": {
@@ -5882,7 +6147,7 @@
 					"integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
 					"dev": true,
 					"requires": {
-						"kind-of": "3.2.2"
+						"kind-of": "^3.0.2"
 					}
 				},
 				"isobject": {
@@ -5900,7 +6165,7 @@
 					"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
 					"dev": true,
 					"requires": {
-						"is-buffer": "1.1.6"
+						"is-buffer": "^1.1.5"
 					}
 				}
 			}
@@ -5910,41 +6175,50 @@
 			"resolved": "https://registry.npmjs.org/expand-template/-/expand-template-1.1.1.tgz",
 			"integrity": "sha512-cebqLtV8KOZfw0UI8TEFWxtczxxC1jvyUvx6H4fyp1K1FN7A4Q+uggVUlOsI1K8AGU0rwOGqP8nCapdrw8CYQg=="
 		},
+		"expand-tilde": {
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
+			"integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
+			"dev": true,
+			"requires": {
+				"homedir-polyfill": "^1.0.1"
+			}
+		},
 		"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==",
 			"requires": {
-				"accepts": "1.3.5",
+				"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",
+				"content-type": "~1.0.4",
 				"cookie": "0.3.1",
 				"cookie-signature": "1.0.6",
 				"debug": "2.6.9",
-				"depd": "1.1.2",
-				"encodeurl": "1.0.2",
-				"escape-html": "1.0.3",
-				"etag": "1.8.1",
+				"depd": "~1.1.2",
+				"encodeurl": "~1.0.2",
+				"escape-html": "~1.0.3",
+				"etag": "~1.8.1",
 				"finalhandler": "1.1.1",
 				"fresh": "0.5.2",
 				"merge-descriptors": "1.0.1",
-				"methods": "1.1.2",
-				"on-finished": "2.3.0",
-				"parseurl": "1.3.2",
+				"methods": "~1.1.2",
+				"on-finished": "~2.3.0",
+				"parseurl": "~1.3.2",
 				"path-to-regexp": "0.1.7",
-				"proxy-addr": "2.0.4",
-				"qs": "6.5.1",
-				"range-parser": "1.2.0",
-				"safe-buffer": "5.1.1",
+				"proxy-addr": "~2.0.4",
+				"qs": "6.5.2",
+				"range-parser": "~1.2.0",
+				"safe-buffer": "5.1.2",
 				"send": "0.16.2",
 				"serve-static": "1.13.2",
 				"setprototypeof": "1.1.0",
-				"statuses": "1.4.0",
-				"type-is": "1.6.16",
+				"statuses": "~1.4.0",
+				"type-is": "~1.6.16",
 				"utils-merge": "1.0.1",
-				"vary": "1.1.2"
+				"vary": "~1.1.2"
 			},
 			"dependencies": {
 				"accepts": {
@@ -5952,25 +6226,25 @@
 					"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz",
 					"integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=",
 					"requires": {
-						"mime-types": "2.1.18",
+						"mime-types": "~2.1.18",
 						"negotiator": "0.6.1"
 					}
 				},
 				"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=",
 					"requires": {
 						"bytes": "3.0.0",
-						"content-type": "1.0.4",
+						"content-type": "~1.0.4",
 						"debug": "2.6.9",
-						"depd": "1.1.2",
-						"http-errors": "1.6.3",
-						"iconv-lite": "0.4.19",
-						"on-finished": "2.3.0",
-						"qs": "6.5.1",
-						"raw-body": "2.3.2",
-						"type-is": "1.6.16"
+						"depd": "~1.1.2",
+						"http-errors": "~1.6.3",
+						"iconv-lite": "0.4.23",
+						"on-finished": "~2.3.0",
+						"qs": "6.5.2",
+						"raw-body": "2.3.3",
+						"type-is": "~1.6.16"
 					}
 				},
 				"bytes": {
@@ -5999,12 +6273,12 @@
 					"integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==",
 					"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"
+						"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"
 					}
 				},
 				"fresh": {
@@ -6017,16 +6291,19 @@
 					"resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
 					"integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
 					"requires": {
-						"depd": "1.1.2",
+						"depd": "~1.1.2",
 						"inherits": "2.0.3",
 						"setprototypeof": "1.1.0",
-						"statuses": "1.4.0"
+						"statuses": ">= 1.4.0 < 2"
 					}
 				},
 				"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=="
+					"version": "0.4.23",
+					"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
+					"integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
+					"requires": {
+						"safer-buffer": ">= 2.1.2 < 3"
+					}
 				},
 				"mime": {
 					"version": "1.4.1",
@@ -6038,73 +6315,40 @@
 					"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
 					"integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk="
 				},
-				"qs": {
-					"version": "6.5.1",
-					"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
-					"integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A=="
-				},
 				"range-parser": {
 					"version": "1.2.0",
 					"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
 					"integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4="
 				},
 				"raw-body": {
-					"version": "2.3.2",
-					"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz",
-					"integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=",
+					"version": "2.3.3",
+					"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz",
+					"integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==",
 					"requires": {
 						"bytes": "3.0.0",
-						"http-errors": "1.6.2",
-						"iconv-lite": "0.4.19",
+						"http-errors": "1.6.3",
+						"iconv-lite": "0.4.23",
 						"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="
-						},
-						"http-errors": {
-							"version": "1.6.2",
-							"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz",
-							"integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=",
-							"requires": {
-								"depd": "1.1.1",
-								"inherits": "2.0.3",
-								"setprototypeof": "1.0.3",
-								"statuses": "1.4.0"
-							}
-						},
-						"setprototypeof": {
-							"version": "1.0.3",
-							"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
-							"integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ="
-						}
 					}
 				},
-				"safe-buffer": {
-					"version": "5.1.1",
-					"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
-					"integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg=="
-				},
 				"send": {
 					"version": "0.16.2",
 					"resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz",
 					"integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==",
 					"requires": {
 						"debug": "2.6.9",
-						"depd": "1.1.2",
-						"destroy": "1.0.4",
-						"encodeurl": "1.0.2",
-						"escape-html": "1.0.3",
-						"etag": "1.8.1",
+						"depd": "~1.1.2",
+						"destroy": "~1.0.4",
+						"encodeurl": "~1.0.2",
+						"escape-html": "~1.0.3",
+						"etag": "~1.8.1",
 						"fresh": "0.5.2",
-						"http-errors": "1.6.3",
+						"http-errors": "~1.6.2",
 						"mime": "1.4.1",
 						"ms": "2.0.0",
-						"on-finished": "2.3.0",
-						"range-parser": "1.2.0",
-						"statuses": "1.4.0"
+						"on-finished": "~2.3.0",
+						"range-parser": "~1.2.0",
+						"statuses": "~1.4.0"
 					}
 				},
 				"serve-static": {
@@ -6112,9 +6356,9 @@
 					"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz",
 					"integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==",
 					"requires": {
-						"encodeurl": "1.0.2",
-						"escape-html": "1.0.3",
-						"parseurl": "1.3.2",
+						"encodeurl": "~1.0.2",
+						"escape-html": "~1.0.3",
+						"parseurl": "~1.3.2",
 						"send": "0.16.2"
 					}
 				},
@@ -6137,17 +6381,17 @@
 		},
 		"express-session": {
 			"version": "1.11.3",
-			"resolved": "https://registry.npmjs.org/express-session/-/express-session-1.11.3.tgz",
+			"resolved": "http://registry.npmjs.org/express-session/-/express-session-1.11.3.tgz",
 			"integrity": "sha1-XMmPP1/4Ttg1+Ry/CqvQxxB0AK8=",
 			"requires": {
 				"cookie": "0.1.3",
 				"cookie-signature": "1.0.6",
 				"crc": "3.3.0",
-				"debug": "2.2.0",
-				"depd": "1.0.1",
-				"on-headers": "1.0.1",
-				"parseurl": "1.3.2",
-				"uid-safe": "2.0.0",
+				"debug": "~2.2.0",
+				"depd": "~1.0.1",
+				"on-headers": "~1.0.0",
+				"parseurl": "~1.3.0",
+				"uid-safe": "~2.0.0",
 				"utils-merge": "1.0.0"
 			},
 			"dependencies": {
@@ -6158,7 +6402,7 @@
 				},
 				"debug": {
 					"version": "2.2.0",
-					"resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+					"resolved": "http://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
 					"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
 					"requires": {
 						"ms": "0.7.1"
@@ -6166,7 +6410,7 @@
 				},
 				"ms": {
 					"version": "0.7.1",
-					"resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+					"resolved": "http://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
 					"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg="
 				},
 				"uid-safe": {
@@ -6189,8 +6433,8 @@
 			"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
 			"integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
 			"requires": {
-				"assign-symbols": "1.0.0",
-				"is-extendable": "1.0.1"
+				"assign-symbols": "^1.0.0",
+				"is-extendable": "^1.0.1"
 			},
 			"dependencies": {
 				"is-extendable": {
@@ -6198,20 +6442,20 @@
 					"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
 					"integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
 					"requires": {
-						"is-plain-object": "2.0.4"
+						"is-plain-object": "^2.0.4"
 					}
 				}
 			}
 		},
 		"external-editor": {
 			"version": "2.2.0",
-			"resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz",
+			"resolved": "http://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz",
 			"integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==",
 			"dev": true,
 			"requires": {
-				"chardet": "0.4.2",
-				"iconv-lite": "0.4.23",
-				"tmp": "0.0.33"
+				"chardet": "^0.4.0",
+				"iconv-lite": "^0.4.17",
+				"tmp": "^0.0.33"
 			}
 		},
 		"extglob": {
@@ -6219,14 +6463,14 @@
 			"resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
 			"integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
 			"requires": {
-				"array-unique": "0.3.2",
-				"define-property": "1.0.0",
-				"expand-brackets": "2.1.4",
-				"extend-shallow": "2.0.1",
-				"fragment-cache": "0.2.1",
-				"regex-not": "1.0.2",
-				"snapdragon": "0.8.2",
-				"to-regex": "3.0.2"
+				"array-unique": "^0.3.2",
+				"define-property": "^1.0.0",
+				"expand-brackets": "^2.1.4",
+				"extend-shallow": "^2.0.1",
+				"fragment-cache": "^0.2.1",
+				"regex-not": "^1.0.0",
+				"snapdragon": "^0.8.1",
+				"to-regex": "^3.0.1"
 			},
 			"dependencies": {
 				"define-property": {
@@ -6234,7 +6478,7 @@
 					"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
 					"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
 					"requires": {
-						"is-descriptor": "1.0.2"
+						"is-descriptor": "^1.0.0"
 					}
 				},
 				"extend-shallow": {
@@ -6242,7 +6486,7 @@
 					"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
 					"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
 					"requires": {
-						"is-extendable": "0.1.1"
+						"is-extendable": "^0.1.0"
 					}
 				},
 				"is-accessor-descriptor": {
@@ -6250,7 +6494,7 @@
 					"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
 					"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
 					"requires": {
-						"kind-of": "6.0.2"
+						"kind-of": "^6.0.0"
 					}
 				},
 				"is-data-descriptor": {
@@ -6258,7 +6502,7 @@
 					"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
 					"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
 					"requires": {
-						"kind-of": "6.0.2"
+						"kind-of": "^6.0.0"
 					}
 				},
 				"is-descriptor": {
@@ -6266,9 +6510,9 @@
 					"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
 					"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
 					"requires": {
-						"is-accessor-descriptor": "1.0.0",
-						"is-data-descriptor": "1.0.0",
-						"kind-of": "6.0.2"
+						"is-accessor-descriptor": "^1.0.0",
+						"is-data-descriptor": "^1.0.0",
+						"kind-of": "^6.0.2"
 					}
 				}
 			}
@@ -6292,7 +6536,7 @@
 		},
 		"fast-deep-equal": {
 			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
+			"resolved": "http://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
 			"integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ="
 		},
 		"fast-glob": {
@@ -6300,12 +6544,12 @@
 			"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.2.tgz",
 			"integrity": "sha512-TR6zxCKftDQnUAPvkrCWdBgDq/gbqx8A3ApnBrR5rMvpp6+KMJI0Igw7fkWPgeVK0uhRXTXdvO3O+YP0CaUX2g==",
 			"requires": {
-				"@mrmlnc/readdir-enhanced": "2.2.1",
-				"@nodelib/fs.stat": "1.1.0",
-				"glob-parent": "3.1.0",
-				"is-glob": "4.0.0",
-				"merge2": "1.2.2",
-				"micromatch": "3.1.10"
+				"@mrmlnc/readdir-enhanced": "^2.2.1",
+				"@nodelib/fs.stat": "^1.0.1",
+				"glob-parent": "^3.1.0",
+				"is-glob": "^4.0.0",
+				"merge2": "^1.2.1",
+				"micromatch": "^3.1.10"
 			}
 		},
 		"fast-json-stable-stringify": {
@@ -6324,7 +6568,17 @@
 			"integrity": "sha1-iFk0x57/sECVSeDAo4Ae0XpAza0=",
 			"dev": true,
 			"requires": {
-				"websocket-driver": "0.7.0"
+				"websocket-driver": ">=0.5.1"
+			}
+		},
+		"fb-watchman": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz",
+			"integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=",
+			"dev": true,
+			"optional": true,
+			"requires": {
+				"bser": "^2.0.0"
 			}
 		},
 		"fd-slicer": {
@@ -6333,7 +6587,7 @@
 			"integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=",
 			"dev": true,
 			"requires": {
-				"pend": "1.2.0"
+				"pend": "~1.2.0"
 			}
 		},
 		"fg-lodash": {
@@ -6342,29 +6596,28 @@
 			"integrity": "sha1-mINSU39CfaavIiEpu2OsyknmL6M=",
 			"dev": true,
 			"requires": {
-				"lodash": "2.4.2",
-				"underscore.string": "2.3.3"
+				"lodash": "^2.4.1",
+				"underscore.string": "~2.3.3"
 			},
 			"dependencies": {
 				"lodash": {
 					"version": "2.4.2",
-					"resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
+					"resolved": "http://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
 					"integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
 					"dev": true
 				},
 				"underscore.string": {
 					"version": "2.3.3",
-					"resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz",
+					"resolved": "http://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz",
 					"integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=",
 					"dev": true
 				}
 			}
 		},
 		"fibers": {
-			"version": "1.0.15",
-			"resolved": "https://registry.npmjs.org/fibers/-/fibers-1.0.15.tgz",
-			"integrity": "sha1-IvA5yPGLhWGQ+75N7PBWFUwerpw=",
-			"dev": true
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/fibers/-/fibers-3.0.0.tgz",
+			"integrity": "sha512-cAcOHOTbTMlcpNZvr94BNFsnBDBiEu9JP5MYcRLyl12HF/X0z3KvZyNzU9+BtI8lOIaV84PlDQJOKK3f5llJug=="
 		},
 		"figures": {
 			"version": "1.7.0",
@@ -6372,8 +6625,8 @@
 			"integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
 			"dev": true,
 			"requires": {
-				"escape-string-regexp": "1.0.5",
-				"object-assign": "4.1.1"
+				"escape-string-regexp": "^1.0.5",
+				"object-assign": "^4.1.0"
 			}
 		},
 		"file-entry-cache": {
@@ -6382,14 +6635,14 @@
 			"integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=",
 			"dev": true,
 			"requires": {
-				"flat-cache": "1.3.0",
-				"object-assign": "4.1.1"
+				"flat-cache": "^1.2.1",
+				"object-assign": "^4.0.1"
 			}
 		},
 		"file-type": {
-			"version": "8.0.0",
-			"resolved": "https://registry.npmjs.org/file-type/-/file-type-8.0.0.tgz",
-			"integrity": "sha512-vaWQ+6lIlPyzIRSqxcSaOhTPLOWTdVuzSwDvfOKEcnJS7B0yzJHMzAG8Z3+qNBXS7CPP/7PsGLTlAmRq0X5A+w=="
+			"version": "8.1.0",
+			"resolved": "https://registry.npmjs.org/file-type/-/file-type-8.1.0.tgz",
+			"integrity": "sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ=="
 		},
 		"filename-regex": {
 			"version": "2.0.1",
@@ -6408,8 +6661,8 @@
 			"integrity": "sha1-mo+jb06K1jTjv2tPPIiCVRRS6yA=",
 			"dev": true,
 			"requires": {
-				"is-object": "1.0.1",
-				"merge-descriptors": "1.0.1"
+				"is-object": "~1.0.1",
+				"merge-descriptors": "~1.0.0"
 			}
 		},
 		"fill-range": {
@@ -6417,10 +6670,10 @@
 			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
 			"integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
 			"requires": {
-				"extend-shallow": "2.0.1",
-				"is-number": "3.0.0",
-				"repeat-string": "1.6.1",
-				"to-regex-range": "2.1.1"
+				"extend-shallow": "^2.0.1",
+				"is-number": "^3.0.0",
+				"repeat-string": "^1.6.1",
+				"to-regex-range": "^2.1.0"
 			},
 			"dependencies": {
 				"extend-shallow": {
@@ -6428,25 +6681,25 @@
 					"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
 					"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
 					"requires": {
-						"is-extendable": "0.1.1"
+						"is-extendable": "^0.1.0"
 					}
 				}
 			}
 		},
 		"finalhandler": {
 			"version": "0.4.0",
-			"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.0.tgz",
+			"resolved": "http://registry.npmjs.org/finalhandler/-/finalhandler-0.4.0.tgz",
 			"integrity": "sha1-llpS2ejQXSuFdUhUH7ibU6JJfZs=",
 			"requires": {
-				"debug": "2.2.0",
+				"debug": "~2.2.0",
 				"escape-html": "1.0.2",
-				"on-finished": "2.3.0",
-				"unpipe": "1.0.0"
+				"on-finished": "~2.3.0",
+				"unpipe": "~1.0.0"
 			},
 			"dependencies": {
 				"debug": {
 					"version": "2.2.0",
-					"resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+					"resolved": "http://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
 					"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
 					"requires": {
 						"ms": "0.7.1"
@@ -6459,7 +6712,7 @@
 				},
 				"ms": {
 					"version": "0.7.1",
-					"resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+					"resolved": "http://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
 					"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg="
 				}
 			}
@@ -6470,7 +6723,58 @@
 			"integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
 			"dev": true,
 			"requires": {
-				"locate-path": "2.0.0"
+				"locate-path": "^2.0.0"
+			}
+		},
+		"findup-sync": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
+			"integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=",
+			"dev": true,
+			"optional": true,
+			"requires": {
+				"detect-file": "^1.0.0",
+				"is-glob": "^3.1.0",
+				"micromatch": "^3.0.4",
+				"resolve-dir": "^1.0.1"
+			},
+			"dependencies": {
+				"is-glob": {
+					"version": "3.1.0",
+					"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+					"integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+					"dev": true,
+					"optional": true,
+					"requires": {
+						"is-extglob": "^2.1.0"
+					}
+				}
+			}
+		},
+		"fined": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/fined/-/fined-1.1.0.tgz",
+			"integrity": "sha1-s33IRLdqL15wgeiE98CuNE8VNHY=",
+			"dev": true,
+			"optional": true,
+			"requires": {
+				"expand-tilde": "^2.0.2",
+				"is-plain-object": "^2.0.3",
+				"object.defaults": "^1.1.0",
+				"object.pick": "^1.2.0",
+				"parse-filepath": "^1.0.1"
+			},
+			"dependencies": {
+				"expand-tilde": {
+					"version": "2.0.2",
+					"resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
+					"integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
+					"dev": true,
+					"optional": true,
+					"requires": {
+						"homedir-polyfill": "^1.0.1"
+					}
+				}
 			}
 		},
 		"finity": {
@@ -6478,16 +6782,23 @@
 			"resolved": "https://registry.npmjs.org/finity/-/finity-0.5.4.tgz",
 			"integrity": "sha512-3l+5/1tuw616Lgb0QBimxfdd2TqaDGpfCBpfX6EqtFmqUV3FtQnVEX4Aa62DagYEqnsTIjZcTfbq9msDbXYgyA=="
 		},
+		"flagged-respawn": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.0.tgz",
+			"integrity": "sha1-Tnmumy6zi/hrO7Vr8+ClaqX8q9c=",
+			"dev": true,
+			"optional": true
+		},
 		"flat-cache": {
 			"version": "1.3.0",
 			"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz",
 			"integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=",
 			"dev": true,
 			"requires": {
-				"circular-json": "0.3.3",
-				"del": "2.2.2",
-				"graceful-fs": "4.1.11",
-				"write": "0.2.1"
+				"circular-json": "^0.3.1",
+				"del": "^2.0.2",
+				"graceful-fs": "^4.1.2",
+				"write": "^0.2.1"
 			},
 			"dependencies": {
 				"del": {
@@ -6496,13 +6807,13 @@
 					"integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=",
 					"dev": true,
 					"requires": {
-						"globby": "5.0.0",
-						"is-path-cwd": "1.0.0",
-						"is-path-in-cwd": "1.0.1",
-						"object-assign": "4.1.1",
-						"pify": "2.3.0",
-						"pinkie-promise": "2.0.1",
-						"rimraf": "2.4.5"
+						"globby": "^5.0.0",
+						"is-path-cwd": "^1.0.0",
+						"is-path-in-cwd": "^1.0.0",
+						"object-assign": "^4.0.1",
+						"pify": "^2.0.0",
+						"pinkie-promise": "^2.0.0",
+						"rimraf": "^2.2.8"
 					}
 				},
 				"globby": {
@@ -6511,17 +6822,17 @@
 					"integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
 					"dev": true,
 					"requires": {
-						"array-union": "1.0.2",
-						"arrify": "1.0.1",
-						"glob": "7.1.2",
-						"object-assign": "4.1.1",
-						"pify": "2.3.0",
-						"pinkie-promise": "2.0.1"
+						"array-union": "^1.0.1",
+						"arrify": "^1.0.0",
+						"glob": "^7.0.3",
+						"object-assign": "^4.0.1",
+						"pify": "^2.0.0",
+						"pinkie-promise": "^2.0.0"
 					}
 				},
 				"pify": {
 					"version": "2.3.0",
-					"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+					"resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
 					"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
 					"dev": true
 				}
@@ -6537,7 +6848,7 @@
 			"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.0.tgz",
 			"integrity": "sha512-fdrt472/9qQ6Kgjvb935ig6vJCuofpBUD14f9Vb+SLlm7xIe4Qva5gey8EKtv8lp7ahE1wilg3xL1znpVGtZIA==",
 			"requires": {
-				"debug": "3.1.0"
+				"debug": "^3.1.0"
 			},
 			"dependencies": {
 				"debug": {
@@ -6561,7 +6872,7 @@
 			"integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
 			"dev": true,
 			"requires": {
-				"for-in": "1.0.2"
+				"for-in": "^1.0.1"
 			}
 		},
 		"foreach": {
@@ -6579,9 +6890,9 @@
 			"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz",
 			"integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=",
 			"requires": {
-				"asynckit": "0.4.0",
+				"asynckit": "^0.4.0",
 				"combined-stream": "1.0.6",
-				"mime-types": "2.1.18"
+				"mime-types": "^2.1.12"
 			}
 		},
 		"formidable": {
@@ -6600,7 +6911,7 @@
 			"resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
 			"integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
 			"requires": {
-				"map-cache": "0.2.2"
+				"map-cache": "^0.2.2"
 			}
 		},
 		"freeport": {
@@ -6614,15 +6925,6 @@
 			"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz",
 			"integrity": "sha1-ZR+DjiJCTnVm3hYdg1jKoZn4PU8="
 		},
-		"from2": {
-			"version": "2.3.0",
-			"resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
-			"integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
-			"requires": {
-				"inherits": "2.0.3",
-				"readable-stream": "2.3.6"
-			}
-		},
 		"fs-constants": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
@@ -6639,9 +6941,9 @@
 			"integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=",
 			"dev": true,
 			"requires": {
-				"graceful-fs": "4.1.11",
-				"jsonfile": "2.4.0",
-				"klaw": "1.3.1"
+				"graceful-fs": "^4.1.2",
+				"jsonfile": "^2.1.0",
+				"klaw": "^1.0.0"
 			}
 		},
 		"fs-minipass": {
@@ -6649,7 +6951,7 @@
 			"resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz",
 			"integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==",
 			"requires": {
-				"minipass": "2.3.3"
+				"minipass": "^2.2.1"
 			}
 		},
 		"fs.realpath": {
@@ -6664,8 +6966,8 @@
 			"dev": true,
 			"optional": true,
 			"requires": {
-				"nan": "2.10.0",
-				"node-pre-gyp": "0.10.2"
+				"nan": "^2.9.2",
+				"node-pre-gyp": "^0.10.0"
 			},
 			"dependencies": {
 				"needle": {
@@ -6674,9 +6976,9 @@
 					"dev": true,
 					"optional": true,
 					"requires": {
-						"debug": "2.6.9",
-						"iconv-lite": "0.4.23",
-						"sax": "1.2.4"
+						"debug": "^2.1.2",
+						"iconv-lite": "^0.4.4",
+						"sax": "^1.2.4"
 					}
 				},
 				"node-pre-gyp": {
@@ -6686,16 +6988,16 @@
 					"dev": true,
 					"optional": true,
 					"requires": {
-						"detect-libc": "1.0.3",
-						"mkdirp": "0.5.1",
-						"needle": "2.2.0",
-						"nopt": "4.0.1",
-						"npm-packlist": "1.1.10",
-						"npmlog": "4.1.2",
-						"rc": "1.2.8",
-						"rimraf": "2.6.2",
-						"semver": "5.5.0",
-						"tar": "4.4.4"
+						"detect-libc": "^1.0.2",
+						"mkdirp": "^0.5.1",
+						"needle": "^2.2.0",
+						"nopt": "^4.0.1",
+						"npm-packlist": "^1.1.6",
+						"npmlog": "^4.0.2",
+						"rc": "^1.2.7",
+						"rimraf": "^2.6.1",
+						"semver": "^5.3.0",
+						"tar": "^4"
 					}
 				},
 				"npm-bundled": {
@@ -6710,23 +7012,23 @@
 					"dev": true,
 					"optional": true,
 					"requires": {
-						"ignore-walk": "3.0.1",
-						"npm-bundled": "1.0.3"
+						"ignore-walk": "^3.0.1",
+						"npm-bundled": "^1.0.1"
 					}
 				},
 				"rimraf": {
 					"version": "2.6.2",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
 					"integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
 					"dev": true,
 					"optional": true,
 					"requires": {
-						"glob": "7.1.2"
+						"glob": "^7.0.5"
 					}
 				},
 				"sax": {
 					"version": "1.2.4",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
 					"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
 					"dev": true,
 					"optional": true
@@ -6753,14 +7055,14 @@
 			"resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
 			"integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
 			"requires": {
-				"aproba": "1.2.0",
-				"console-control-strings": "1.1.0",
-				"has-unicode": "2.0.1",
-				"object-assign": "4.1.1",
-				"signal-exit": "3.0.2",
-				"string-width": "1.0.2",
-				"strip-ansi": "3.0.1",
-				"wide-align": "1.1.3"
+				"aproba": "^1.0.3",
+				"console-control-strings": "^1.0.0",
+				"has-unicode": "^2.0.0",
+				"object-assign": "^4.1.0",
+				"signal-exit": "^3.0.0",
+				"string-width": "^1.0.1",
+				"strip-ansi": "^3.0.1",
+				"wide-align": "^1.1.0"
 			}
 		},
 		"gaze": {
@@ -6769,16 +7071,16 @@
 			"integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
 			"dev": true,
 			"requires": {
-				"globule": "1.2.1"
+				"globule": "^1.0.0"
 			}
 		},
 		"gcp-metadata": {
 			"version": "0.6.3",
-			"resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-0.6.3.tgz",
+			"resolved": "http://registry.npmjs.org/gcp-metadata/-/gcp-metadata-0.6.3.tgz",
 			"integrity": "sha512-MSmczZctbz91AxCvqp9GHBoZOSbJKAICV7Ow/AIWSJZRrRchUd5NL1b2P4OfP+4m490BEUPhhARfpHdqCxuCvg==",
 			"requires": {
-				"axios": "0.18.0",
-				"extend": "3.0.1",
+				"axios": "^0.18.0",
+				"extend": "^3.0.1",
 				"retry-axios": "0.3.2"
 			}
 		},
@@ -6787,11 +7089,11 @@
 			"resolved": "https://registry.npmjs.org/gcs-resumable-upload/-/gcs-resumable-upload-0.10.2.tgz",
 			"integrity": "sha1-fymz7iPc7EFwNnwHEUGCScZgVF8=",
 			"requires": {
-				"configstore": "3.1.2",
-				"google-auto-auth": "0.10.1",
-				"pumpify": "1.5.1",
-				"request": "2.87.0",
-				"stream-events": "1.0.4"
+				"configstore": "^3.1.2",
+				"google-auto-auth": "^0.10.0",
+				"pumpify": "^1.4.0",
+				"request": "^2.85.0",
+				"stream-events": "^1.0.3"
 			}
 		},
 		"get-caller-file": {
@@ -6812,21 +7114,21 @@
 			"integrity": "sha1-xztInAbYDMVTbCyFP54FIyBWly0=",
 			"dev": true,
 			"requires": {
-				"hosted-git-info": "2.6.0",
-				"meow": "3.7.0",
-				"normalize-package-data": "2.4.0",
-				"parse-github-repo-url": "1.4.1",
-				"through2": "2.0.3"
+				"hosted-git-info": "^2.1.4",
+				"meow": "^3.3.0",
+				"normalize-package-data": "^2.3.0",
+				"parse-github-repo-url": "^1.3.0",
+				"through2": "^2.0.0"
 			},
 			"dependencies": {
 				"camelcase-keys": {
 					"version": "2.1.0",
-					"resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
+					"resolved": "http://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
 					"integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
 					"dev": true,
 					"requires": {
-						"camelcase": "2.1.1",
-						"map-obj": "1.0.1"
+						"camelcase": "^2.0.0",
+						"map-obj": "^1.0.0"
 					}
 				},
 				"indent-string": {
@@ -6835,7 +7137,7 @@
 					"integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
 					"dev": true,
 					"requires": {
-						"repeating": "2.0.1"
+						"repeating": "^2.0.0"
 					}
 				},
 				"map-obj": {
@@ -6846,25 +7148,25 @@
 				},
 				"meow": {
 					"version": "3.7.0",
-					"resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
+					"resolved": "http://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
 					"integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
 					"dev": true,
 					"requires": {
-						"camelcase-keys": "2.1.0",
-						"decamelize": "1.2.0",
-						"loud-rejection": "1.6.0",
-						"map-obj": "1.0.1",
-						"minimist": "1.2.0",
-						"normalize-package-data": "2.4.0",
-						"object-assign": "4.1.1",
-						"read-pkg-up": "1.0.1",
-						"redent": "1.0.0",
-						"trim-newlines": "1.0.0"
+						"camelcase-keys": "^2.0.0",
+						"decamelize": "^1.1.2",
+						"loud-rejection": "^1.0.0",
+						"map-obj": "^1.0.1",
+						"minimist": "^1.1.3",
+						"normalize-package-data": "^2.3.4",
+						"object-assign": "^4.0.1",
+						"read-pkg-up": "^1.0.1",
+						"redent": "^1.0.0",
+						"trim-newlines": "^1.0.0"
 					}
 				},
 				"minimist": {
 					"version": "1.2.0",
-					"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+					"resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
 					"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
 					"dev": true
 				},
@@ -6874,8 +7176,8 @@
 					"integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
 					"dev": true,
 					"requires": {
-						"indent-string": "2.1.0",
-						"strip-indent": "1.0.1"
+						"indent-string": "^2.1.0",
+						"strip-indent": "^1.0.1"
 					}
 				},
 				"strip-indent": {
@@ -6884,7 +7186,7 @@
 					"integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
 					"dev": true,
 					"requires": {
-						"get-stdin": "4.0.1"
+						"get-stdin": "^4.0.1"
 					}
 				},
 				"trim-newlines": {
@@ -6901,11 +7203,6 @@
 			"integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
 			"dev": true
 		},
-		"get-stream": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
-			"integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ="
-		},
 		"get-value": {
 			"version": "2.0.6",
 			"resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
@@ -6916,40 +7213,63 @@
 			"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
 			"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
 			"requires": {
-				"assert-plus": "1.0.0"
+				"assert-plus": "^1.0.0"
 			}
 		},
 		"gherkin": {
 			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/gherkin/-/gherkin-4.0.0.tgz",
+			"resolved": "http://registry.npmjs.org/gherkin/-/gherkin-4.0.0.tgz",
 			"integrity": "sha1-edzgTRIj6kO0hip2vlzo+JwSwyw=",
 			"dev": true
 		},
+		"git-raw-commits": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.0.tgz",
+			"integrity": "sha512-w4jFEJFgKXMQJ0H0ikBk2S+4KP2VEjhCvLCNqbNRQC8BgGWgLKNCO7a9K9LI+TVT7Gfoloje502sEnctibffgg==",
+			"dev": true,
+			"requires": {
+				"dargs": "^4.0.1",
+				"lodash.template": "^4.0.2",
+				"meow": "^4.0.0",
+				"split2": "^2.0.0",
+				"through2": "^2.0.0"
+			}
+		},
 		"git-remote-origin-url": {
 			"version": "2.0.0",
 			"resolved": "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz",
 			"integrity": "sha1-UoJlna4hBxRaERJhEq0yFuxfpl8=",
 			"dev": true,
 			"requires": {
-				"gitconfiglocal": "1.0.0",
-				"pify": "2.3.0"
+				"gitconfiglocal": "^1.0.0",
+				"pify": "^2.3.0"
 			},
 			"dependencies": {
 				"pify": {
 					"version": "2.3.0",
-					"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+					"resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
 					"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
 					"dev": true
 				}
 			}
 		},
+		"git-semver-tags": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-2.0.0.tgz",
+			"integrity": "sha512-lSgFc3zQTul31nFje2Q8XdNcTOI6B4I3mJRPCgFzHQQLfxfqdWTYzdtCaynkK5Xmb2wQlSJoKolhXJ1VhKROnQ==",
+			"dev": true,
+			"requires": {
+				"meow": "^4.0.0",
+				"semver": "^5.5.0"
+			}
+		},
 		"gitconfiglocal": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz",
 			"integrity": "sha1-QdBF84UaXqiPA/JMocYXgRRGS5s=",
 			"dev": true,
 			"requires": {
-				"ini": "1.3.5"
+				"ini": "^1.3.2"
 			}
 		},
 		"github-from-package": {
@@ -6962,12 +7282,12 @@
 			"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
 			"integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=",
 			"requires": {
-				"fs.realpath": "1.0.0",
-				"inflight": "1.0.6",
-				"inherits": "2.0.3",
-				"minimatch": "3.0.4",
-				"once": "1.4.0",
-				"path-is-absolute": "1.0.1"
+				"fs.realpath": "^1.0.0",
+				"inflight": "^1.0.4",
+				"inherits": "2",
+				"minimatch": "^3.0.4",
+				"once": "^1.3.0",
+				"path-is-absolute": "^1.0.0"
 			}
 		},
 		"glob-base": {
@@ -6976,8 +7296,8 @@
 			"integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
 			"dev": true,
 			"requires": {
-				"glob-parent": "2.0.0",
-				"is-glob": "2.0.1"
+				"glob-parent": "^2.0.0",
+				"is-glob": "^2.0.0"
 			},
 			"dependencies": {
 				"glob-parent": {
@@ -6986,7 +7306,7 @@
 					"integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
 					"dev": true,
 					"requires": {
-						"is-glob": "2.0.1"
+						"is-glob": "^2.0.0"
 					}
 				},
 				"is-extglob": {
@@ -7001,7 +7321,7 @@
 					"integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
 					"dev": true,
 					"requires": {
-						"is-extglob": "1.0.0"
+						"is-extglob": "^1.0.0"
 					}
 				}
 			}
@@ -7011,8 +7331,8 @@
 			"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
 			"integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
 			"requires": {
-				"is-glob": "3.1.0",
-				"path-dirname": "1.0.2"
+				"is-glob": "^3.1.0",
+				"path-dirname": "^1.0.0"
 			},
 			"dependencies": {
 				"is-glob": {
@@ -7020,7 +7340,7 @@
 					"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
 					"integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
 					"requires": {
-						"is-extglob": "2.1.1"
+						"is-extglob": "^2.1.0"
 					}
 				}
 			}
@@ -7030,6 +7350,30 @@
 			"resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz",
 			"integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs="
 		},
+		"global-modules": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
+			"integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
+			"dev": true,
+			"requires": {
+				"global-prefix": "^1.0.1",
+				"is-windows": "^1.0.1",
+				"resolve-dir": "^1.0.0"
+			}
+		},
+		"global-prefix": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
+			"integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
+			"dev": true,
+			"requires": {
+				"expand-tilde": "^2.0.2",
+				"homedir-polyfill": "^1.0.1",
+				"ini": "^1.3.4",
+				"is-windows": "^1.0.1",
+				"which": "^1.2.14"
+			}
+		},
 		"globals": {
 			"version": "9.18.0",
 			"resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
@@ -7041,13 +7385,13 @@
 			"resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz",
 			"integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==",
 			"requires": {
-				"array-union": "1.0.2",
-				"dir-glob": "2.0.0",
-				"fast-glob": "2.2.2",
-				"glob": "7.1.2",
-				"ignore": "3.3.8",
-				"pify": "3.0.0",
-				"slash": "1.0.0"
+				"array-union": "^1.0.1",
+				"dir-glob": "^2.0.0",
+				"fast-glob": "^2.0.2",
+				"glob": "^7.1.2",
+				"ignore": "^3.3.5",
+				"pify": "^3.0.0",
+				"slash": "^1.0.0"
 			}
 		},
 		"globjoin": {
@@ -7062,9 +7406,9 @@
 			"integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==",
 			"dev": true,
 			"requires": {
-				"glob": "7.1.2",
-				"lodash": "4.17.10",
-				"minimatch": "3.0.4"
+				"glob": "~7.1.1",
+				"lodash": "~4.17.10",
+				"minimatch": "~3.0.2"
 			}
 		},
 		"gonzales-pe": {
@@ -7073,12 +7417,12 @@
 			"integrity": "sha512-Kjhohco0esHQnOiqqdJeNz/5fyPkOMD/d6XVjwTAoPGUFh0mCollPUTUTa2OZy4dYNAqlPIQdTiNzJTWdd9Htw==",
 			"dev": true,
 			"requires": {
-				"minimist": "1.1.3"
+				"minimist": "1.1.x"
 			},
 			"dependencies": {
 				"minimist": {
 					"version": "1.1.3",
-					"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.1.3.tgz",
+					"resolved": "http://registry.npmjs.org/minimist/-/minimist-1.1.3.tgz",
 					"integrity": "sha1-O+39kaktOQFvz6ocaB6Pqhoe/ag=",
 					"dev": true
 				}
@@ -7089,7 +7433,7 @@
 			"resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz",
 			"integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=",
 			"requires": {
-				"delegate": "3.2.0"
+				"delegate": "^3.1.2"
 			}
 		},
 		"google-auth-library": {
@@ -7097,13 +7441,13 @@
 			"resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-1.5.0.tgz",
 			"integrity": "sha512-xpibA/hkq4waBcpIkSJg4GiDAqcBWjJee3c47zj7xP3RQ0A9mc8MP3Vc9sc8SGRoDYA0OszZxTjW7SbcC4pJIA==",
 			"requires": {
-				"axios": "0.18.0",
-				"gcp-metadata": "0.6.3",
-				"gtoken": "2.3.0",
-				"jws": "3.1.5",
-				"lodash.isstring": "4.0.1",
-				"lru-cache": "4.1.3",
-				"retry-axios": "0.3.2"
+				"axios": "^0.18.0",
+				"gcp-metadata": "^0.6.3",
+				"gtoken": "^2.3.0",
+				"jws": "^3.1.4",
+				"lodash.isstring": "^4.0.1",
+				"lru-cache": "^4.1.2",
+				"retry-axios": "^0.3.2"
 			}
 		},
 		"google-auto-auth": {
@@ -7111,27 +7455,27 @@
 			"resolved": "https://registry.npmjs.org/google-auto-auth/-/google-auto-auth-0.10.1.tgz",
 			"integrity": "sha512-iIqSbY7Ypd32mnHGbYctp80vZzXoDlvI9gEfvtl3kmyy5HzOcrZCIGCBdSlIzRsg7nHpQiHE3Zl6Ycur6TSodQ==",
 			"requires": {
-				"async": "2.6.1",
-				"gcp-metadata": "0.6.3",
-				"google-auth-library": "1.5.0",
-				"request": "2.87.0"
+				"async": "^2.3.0",
+				"gcp-metadata": "^0.6.1",
+				"google-auth-library": "^1.3.1",
+				"request": "^2.79.0"
 			}
 		},
 		"google-gax": {
 			"version": "0.16.1",
-			"resolved": "https://registry.npmjs.org/google-gax/-/google-gax-0.16.1.tgz",
+			"resolved": "http://registry.npmjs.org/google-gax/-/google-gax-0.16.1.tgz",
 			"integrity": "sha512-eP7UUkKvaHmmvCrr+rxzkIOeEKOnXmoib7/AkENDAuqlC9T2+lWlzwpthDRnitQcV8SblDMzsk73YPMPCDwPyQ==",
 			"requires": {
-				"duplexify": "3.6.0",
-				"extend": "3.0.1",
-				"globby": "8.0.1",
-				"google-auto-auth": "0.10.1",
-				"google-proto-files": "0.15.1",
-				"grpc": "1.12.2",
-				"is-stream-ended": "0.1.4",
-				"lodash": "4.17.10",
-				"protobufjs": "6.8.6",
-				"through2": "2.0.3"
+				"duplexify": "^3.5.4",
+				"extend": "^3.0.0",
+				"globby": "^8.0.0",
+				"google-auto-auth": "^0.10.0",
+				"google-proto-files": "^0.15.0",
+				"grpc": "^1.10.0",
+				"is-stream-ended": "^0.1.0",
+				"lodash": "^4.17.2",
+				"protobufjs": "^6.8.0",
+				"through2": "^2.0.3"
 			}
 		},
 		"google-p12-pem": {
@@ -7139,18 +7483,18 @@
 			"resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-1.0.2.tgz",
 			"integrity": "sha512-+EuKr4CLlGsnXx4XIJIVkcKYrsa2xkAmCvxRhX2HsazJzUBAJ35wARGeApHUn4nNfPD03Vl057FskNr20VaCyg==",
 			"requires": {
-				"node-forge": "0.7.5",
-				"pify": "3.0.0"
+				"node-forge": "^0.7.4",
+				"pify": "^3.0.0"
 			}
 		},
 		"google-proto-files": {
 			"version": "0.15.1",
-			"resolved": "https://registry.npmjs.org/google-proto-files/-/google-proto-files-0.15.1.tgz",
+			"resolved": "http://registry.npmjs.org/google-proto-files/-/google-proto-files-0.15.1.tgz",
 			"integrity": "sha512-ebtmWgi/ooR5Nl63qRVZZ6VLM6JOb5zTNxTT/ZAU8yfMOdcauoOZNNMOVg0pCmTjqWXeuuVbgPP0CwO5UHHzBQ==",
 			"requires": {
-				"globby": "7.1.1",
-				"power-assert": "1.5.0",
-				"protobufjs": "6.8.6"
+				"globby": "^7.1.1",
+				"power-assert": "^1.4.4",
+				"protobufjs": "^6.8.0"
 			},
 			"dependencies": {
 				"globby": {
@@ -7158,63 +7502,38 @@
 					"resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz",
 					"integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=",
 					"requires": {
-						"array-union": "1.0.2",
-						"dir-glob": "2.0.0",
-						"glob": "7.1.2",
-						"ignore": "3.3.8",
-						"pify": "3.0.0",
-						"slash": "1.0.0"
+						"array-union": "^1.0.1",
+						"dir-glob": "^2.0.0",
+						"glob": "^7.1.2",
+						"ignore": "^3.3.5",
+						"pify": "^3.0.0",
+						"slash": "^1.0.0"
 					}
 				}
 			}
 		},
-		"got": {
-			"version": "8.3.1",
-			"resolved": "https://registry.npmjs.org/got/-/got-8.3.1.tgz",
-			"integrity": "sha512-tiLX+bnYm5A56T5N/n9Xo89vMaO1mrS9qoDqj3u/anVooqGozvY/HbXzEpDfbNeKsHCBpK40gSbz8wGYSp3i1w==",
-			"requires": {
-				"@sindresorhus/is": "0.7.0",
-				"cacheable-request": "2.1.4",
-				"decompress-response": "3.3.0",
-				"duplexer3": "0.1.4",
-				"get-stream": "3.0.0",
-				"into-stream": "3.1.0",
-				"is-retry-allowed": "1.1.0",
-				"isurl": "1.0.0",
-				"lowercase-keys": "1.0.1",
-				"mimic-response": "1.0.0",
-				"p-cancelable": "0.4.1",
-				"p-timeout": "2.0.1",
-				"pify": "3.0.0",
-				"safe-buffer": "5.1.2",
-				"timed-out": "4.0.1",
-				"url-parse-lax": "3.0.0",
-				"url-to-options": "1.0.1"
-			},
-			"dependencies": {
-				"p-cancelable": {
-					"version": "0.4.1",
-					"resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz",
-					"integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ=="
-				}
-			}
-		},
 		"graceful-fs": {
 			"version": "4.1.11",
 			"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
 			"integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg="
 		},
+		"graceful-readlink": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
+			"integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",
+			"dev": true
+		},
 		"grapheme-splitter": {
-			"version": "1.0.2",
-			"resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.2.tgz",
-			"integrity": "sha1-Y56dwb8GWJLGQ94x2qJ89YsQaOI="
+			"version": "1.0.4",
+			"resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
+			"integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ=="
 		},
 		"gridfs-stream": {
 			"version": "1.1.1",
 			"resolved": "https://registry.npmjs.org/gridfs-stream/-/gridfs-stream-1.1.1.tgz",
 			"integrity": "sha1-PdOhAOwgIaGBKC9utGcJY2B034k=",
 			"requires": {
-				"flushwritable": "1.0.0"
+				"flushwritable": "^1.0.0"
 			}
 		},
 		"growl": {
@@ -7228,15 +7547,15 @@
 			"resolved": "https://registry.npmjs.org/grpc/-/grpc-1.12.2.tgz",
 			"integrity": "sha512-oDrW7TPuP+u9+RboUx8XupS1GOPCdLSmldyMHmlaB5wu38nOzzyDxzLsmleROw5/0XyfyuwsmFX6UUr7FaXN2w==",
 			"requires": {
-				"lodash": "4.17.10",
-				"nan": "2.10.0",
-				"node-pre-gyp": "0.10.2",
-				"protobufjs": "5.0.3"
+				"lodash": "^4.17.5",
+				"nan": "^2.0.0",
+				"node-pre-gyp": "^0.10.0",
+				"protobufjs": "^5.0.3"
 			},
 			"dependencies": {
 				"balanced-match": {
 					"version": "1.0.0",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
 					"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
 				},
 				"brace-expansion": {
@@ -7244,62 +7563,62 @@
 					"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz",
 					"integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=",
 					"requires": {
-						"balanced-match": "1.0.0",
+						"balanced-match": "^1.0.0",
 						"concat-map": "0.0.1"
 					}
 				},
 				"concat-map": {
 					"version": "0.0.1",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
 					"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
 				},
 				"fs.realpath": {
 					"version": "1.0.0",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
 					"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
 				},
 				"glob": {
 					"version": "7.1.2",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
 					"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
 					"requires": {
-						"fs.realpath": "1.0.0",
-						"inflight": "1.0.6",
-						"inherits": "2.0.3",
-						"minimatch": "3.0.4",
-						"once": "1.4.0",
-						"path-is-absolute": "1.0.1"
+						"fs.realpath": "^1.0.0",
+						"inflight": "^1.0.4",
+						"inherits": "2",
+						"minimatch": "^3.0.4",
+						"once": "^1.3.0",
+						"path-is-absolute": "^1.0.0"
 					}
 				},
 				"inflight": {
 					"version": "1.0.6",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
 					"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
 					"requires": {
-						"once": "1.4.0",
-						"wrappy": "1.0.2"
+						"once": "^1.3.0",
+						"wrappy": "1"
 					}
 				},
 				"inherits": {
 					"version": "2.0.3",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
 					"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
 				},
 				"minimatch": {
 					"version": "3.0.4",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
 					"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
 					"requires": {
-						"brace-expansion": "1.1.8"
+						"brace-expansion": "^1.1.7"
 					}
 				},
 				"needle": {
 					"version": "2.2.1",
 					"bundled": true,
 					"requires": {
-						"debug": "2.6.9",
-						"iconv-lite": "0.4.23",
-						"sax": "1.2.4"
+						"debug": "^2.1.2",
+						"iconv-lite": "^0.4.4",
+						"sax": "^1.2.4"
 					}
 				},
 				"node-pre-gyp": {
@@ -7307,16 +7626,16 @@
 					"resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.10.2.tgz",
 					"integrity": "sha512-16lql9QTqs6KsB9fl3neWyZm02KxIKdI9FlJjrB0y7eMTP5Nyz+xalwPbOlw3iw7EejllJPmlJSnY711PLD1ug==",
 					"requires": {
-						"detect-libc": "1.0.3",
-						"mkdirp": "0.5.1",
-						"needle": "2.2.1",
-						"nopt": "4.0.1",
-						"npm-packlist": "1.1.10",
-						"npmlog": "4.1.2",
-						"rc": "1.2.8",
-						"rimraf": "2.6.2",
-						"semver": "5.5.0",
-						"tar": "4.4.4"
+						"detect-libc": "^1.0.2",
+						"mkdirp": "^0.5.1",
+						"needle": "^2.2.0",
+						"nopt": "^4.0.1",
+						"npm-packlist": "^1.1.6",
+						"npmlog": "^4.0.2",
+						"rc": "^1.2.7",
+						"rimraf": "^2.6.1",
+						"semver": "^5.3.0",
+						"tar": "^4"
 					}
 				},
 				"npm-bundled": {
@@ -7327,21 +7646,21 @@
 					"version": "1.1.10",
 					"bundled": true,
 					"requires": {
-						"ignore-walk": "3.0.1",
-						"npm-bundled": "1.0.3"
+						"ignore-walk": "^3.0.1",
+						"npm-bundled": "^1.0.1"
 					}
 				},
 				"once": {
 					"version": "1.4.0",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
 					"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
 					"requires": {
-						"wrappy": "1.0.2"
+						"wrappy": "1"
 					}
 				},
 				"path-is-absolute": {
 					"version": "1.0.1",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
 					"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
 				},
 				"protobufjs": {
@@ -7349,28 +7668,28 @@
 					"resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.3.tgz",
 					"integrity": "sha512-55Kcx1MhPZX0zTbVosMQEO5R6/rikNXd9b6RQK4KSPcrSIIwoXTtebIczUrXlwaSrbz4x8XUVThGPob1n8I4QA==",
 					"requires": {
-						"ascli": "1.0.1",
-						"bytebuffer": "5.0.1",
-						"glob": "7.1.2",
-						"yargs": "3.32.0"
+						"ascli": "~1",
+						"bytebuffer": "~5",
+						"glob": "^7.0.5",
+						"yargs": "^3.10.0"
 					}
 				},
 				"rimraf": {
 					"version": "2.6.2",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
 					"integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
 					"requires": {
-						"glob": "7.1.2"
+						"glob": "^7.0.5"
 					}
 				},
 				"sax": {
 					"version": "1.2.4",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
 					"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
 				},
 				"wrappy": {
 					"version": "1.0.2",
-					"resolved": false,
+					"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
 					"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
 				}
 			}
@@ -7380,11 +7699,11 @@
 			"resolved": "https://registry.npmjs.org/gtoken/-/gtoken-2.3.0.tgz",
 			"integrity": "sha512-Jc9/8mV630cZE9FC5tIlJCZNdUjwunvlwOtCz6IDlaiB4Sz68ki29a1+q97sWTnTYroiuF9B135rod9zrQdHLw==",
 			"requires": {
-				"axios": "0.18.0",
-				"google-p12-pem": "1.0.2",
-				"jws": "3.1.5",
-				"mime": "2.3.1",
-				"pify": "3.0.0"
+				"axios": "^0.18.0",
+				"google-p12-pem": "^1.0.0",
+				"jws": "^3.1.4",
+				"mime": "^2.2.0",
+				"pify": "^3.0.0"
 			}
 		},
 		"handlebars": {
@@ -7393,10 +7712,10 @@
 			"integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=",
 			"dev": true,
 			"requires": {
-				"async": "1.5.2",
-				"optimist": "0.6.1",
-				"source-map": "0.4.4",
-				"uglify-js": "2.8.29"
+				"async": "^1.4.0",
+				"optimist": "^0.6.1",
+				"source-map": "^0.4.4",
+				"uglify-js": "^2.6"
 			},
 			"dependencies": {
 				"async": {
@@ -7411,108 +7730,108 @@
 					"integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
 					"dev": true,
 					"requires": {
-						"amdefine": "1.0.1"
+						"amdefine": ">=0.0.4"
 					}
 				}
 			}
 		},
 		"hapi": {
 			"version": "8.8.0",
-			"resolved": "https://registry.npmjs.org/hapi/-/hapi-8.8.0.tgz",
+			"resolved": "http://registry.npmjs.org/hapi/-/hapi-8.8.0.tgz",
 			"integrity": "sha1-h+N6Bum0meiXkOLcERqpZotuYX8=",
 			"dev": true,
 			"requires": {
-				"accept": "1.0.0",
-				"ammo": "1.0.0",
-				"boom": "2.7.2",
-				"call": "2.0.1",
-				"catbox": "4.3.0",
-				"catbox-memory": "1.1.1",
-				"cryptiles": "2.0.4",
-				"h2o2": "4.0.1",
-				"heavy": "3.0.0",
-				"hoek": "2.14.0",
-				"inert": "2.1.5",
-				"iron": "2.1.2",
-				"items": "1.1.0",
-				"joi": "6.4.1",
-				"kilt": "1.1.1",
-				"mimos": "2.0.2",
-				"peekaboo": "1.0.0",
-				"qs": "4.0.0",
-				"shot": "1.5.3",
-				"statehood": "2.1.1",
-				"subtext": "1.1.1",
-				"topo": "1.0.2",
-				"vision": "2.0.1"
+				"accept": "1.x.x",
+				"ammo": "1.x.x",
+				"boom": "^2.5.x",
+				"call": "2.x.x",
+				"catbox": "^4.2.x",
+				"catbox-memory": "1.x.x",
+				"cryptiles": "2.x.x",
+				"h2o2": "4.x.x",
+				"heavy": "3.x.x",
+				"hoek": "^2.14.x",
+				"inert": "2.x.x",
+				"iron": "2.x.x",
+				"items": "1.x.x",
+				"joi": "6.x.x",
+				"kilt": "^1.1.x",
+				"mimos": "2.x.x",
+				"peekaboo": "1.x.x",
+				"qs": "4.x.x",
+				"shot": "1.x.x",
+				"statehood": "2.x.x",
+				"subtext": "1.x.x",
+				"topo": "1.x.x",
+				"vision": "2.x.x"
 			},
 			"dependencies": {
 				"accept": {
 					"version": "1.0.0",
-					"resolved": "https://registry.npmjs.org/accept/-/accept-1.0.0.tgz",
+					"resolved": "http://registry.npmjs.org/accept/-/accept-1.0.0.tgz",
 					"integrity": "sha1-g++IOWi4WkDFARYEKCoiD/AeYq0=",
 					"dev": true,
 					"requires": {
-						"boom": "2.7.2",
-						"hoek": "2.14.0"
+						"boom": "2.x.x",
+						"hoek": "2.x.x"
 					}
 				},
 				"ammo": {
 					"version": "1.0.0",
-					"resolved": "https://registry.npmjs.org/ammo/-/ammo-1.0.0.tgz",
+					"resolved": "http://registry.npmjs.org/ammo/-/ammo-1.0.0.tgz",
 					"integrity": "sha1-4FlIG/aAhzj66G1GT3L6DBLWeoU=",
 					"dev": true,
 					"requires": {
-						"boom": "2.7.2",
-						"hoek": "2.14.0"
+						"boom": "2.x.x",
+						"hoek": "2.x.x"
 					}
 				},
 				"boom": {
 					"version": "2.7.2",
-					"resolved": "https://registry.npmjs.org/boom/-/boom-2.7.2.tgz",
+					"resolved": "http://registry.npmjs.org/boom/-/boom-2.7.2.tgz",
 					"integrity": "sha1-2tYo2Jf3/S4yzIIZfxMweXHPg1Q=",
 					"dev": true,
 					"requires": {
-						"hoek": "2.14.0"
+						"hoek": "2.x.x"
 					}
 				},
 				"call": {
 					"version": "2.0.1",
-					"resolved": "https://registry.npmjs.org/call/-/call-2.0.1.tgz",
+					"resolved": "http://registry.npmjs.org/call/-/call-2.0.1.tgz",
 					"integrity": "sha1-SbQnCZQ96JoyJYqpEbWHUeI3eg4=",
 					"dev": true,
 					"requires": {
-						"boom": "2.7.2",
-						"hoek": "2.14.0"
+						"boom": "2.x.x",
+						"hoek": "2.x.x"
 					}
 				},
 				"catbox": {
 					"version": "4.3.0",
-					"resolved": "https://registry.npmjs.org/catbox/-/catbox-4.3.0.tgz",
+					"resolved": "http://registry.npmjs.org/catbox/-/catbox-4.3.0.tgz",
 					"integrity": "sha1-IiN3vWfxKRrA4l0AAC0GWp3385o=",
 					"dev": true,
 					"requires": {
-						"boom": "2.7.2",
-						"hoek": "2.14.0",
-						"joi": "6.4.1"
+						"boom": "2.x.x",
+						"hoek": "2.x.x",
+						"joi": "6.x.x"
 					}
 				},
 				"catbox-memory": {
 					"version": "1.1.1",
-					"resolved": "https://registry.npmjs.org/catbox-memory/-/catbox-memory-1.1.1.tgz",
+					"resolved": "http://registry.npmjs.org/catbox-memory/-/catbox-memory-1.1.1.tgz",
 					"integrity": "sha1-QqUvgLye+nJmAeltQBYDNhJIGig=",
 					"dev": true,
 					"requires": {
-						"hoek": "2.14.0"
+						"hoek": "2.x.x"
 					}
 				},
 				"cryptiles": {
 					"version": "2.0.4",
-					"resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.4.tgz",
+					"resolved": "http://registry.npmjs.org/cryptiles/-/cryptiles-2.0.4.tgz",
 					"integrity": "sha1-CeoXdbnhx95+YKmdQqtvCM4aEoU=",
 					"dev": true,
 					"requires": {
-						"boom": "2.7.2"
+						"boom": "2.x.x"
 					}
 				},
 				"h2o2": {
@@ -7521,39 +7840,67 @@
 					"integrity": "sha1-eg4rztHZcXjsVs48ykjgxW3un40=",
 					"dev": true,
 					"requires": {
-						"boom": "2.7.2",
-						"hoek": "2.14.0",
-						"joi": "6.4.1"
+						"boom": "2.x.x",
+						"hoek": "2.x.x",
+						"joi": "6.x.x",
+						"wreck": "5.x.x"
+					},
+					"dependencies": {
+						"wreck": {
+							"version": "5.6.1",
+							"resolved": "http://registry.npmjs.org/wreck/-/wreck-5.6.1.tgz",
+							"integrity": "sha1-r/ADBAATiJ11YZtccYcN0qjdBpo=",
+							"dev": true,
+							"requires": {
+								"boom": "2.x.x",
+								"hoek": "2.x.x"
+							}
+						}
 					}
 				},
 				"heavy": {
 					"version": "3.0.0",
-					"resolved": "https://registry.npmjs.org/heavy/-/heavy-3.0.0.tgz",
+					"resolved": "http://registry.npmjs.org/heavy/-/heavy-3.0.0.tgz",
 					"integrity": "sha1-/QEIdiExYy+IVIontVQSws9SKwA=",
 					"dev": true,
 					"requires": {
-						"boom": "2.7.2",
-						"hoek": "2.14.0"
+						"boom": "2.x.x",
+						"hoek": "2.x.x",
+						"joi": "5.x.x"
+					},
+					"dependencies": {
+						"joi": {
+							"version": "5.1.0",
+							"resolved": "http://registry.npmjs.org/joi/-/joi-5.1.0.tgz",
+							"integrity": "sha1-FSrQfbjunGQBmX/1/SwSiWBwv1g=",
+							"dev": true,
+							"requires": {
+								"hoek": "^2.2.x",
+								"isemail": "1.x.x",
+								"moment": "2.x.x",
+								"topo": "1.x.x"
+							}
+						}
 					}
 				},
 				"hoek": {
 					"version": "2.14.0",
-					"resolved": "https://registry.npmjs.org/hoek/-/hoek-2.14.0.tgz",
+					"resolved": "http://registry.npmjs.org/hoek/-/hoek-2.14.0.tgz",
 					"integrity": "sha1-gSEWkfUqWoNa5J7b8eickANHaqQ=",
 					"dev": true
 				},
 				"inert": {
 					"version": "2.1.5",
-					"resolved": "https://registry.npmjs.org/inert/-/inert-2.1.5.tgz",
+					"resolved": "http://registry.npmjs.org/inert/-/inert-2.1.5.tgz",
 					"integrity": "sha1-eybZTEHGLAPsHU726LRe1WuDSFk=",
 					"dev": true,
 					"requires": {
-						"ammo": "1.0.0",
-						"boom": "2.7.2",
-						"hoek": "2.14.0",
-						"items": "1.1.0",
-						"joi": "6.4.1",
-						"lru-cache": "2.6.4"
+						"ammo": "1.x.x",
+						"boom": "2.x.x",
+						"hoek": "2.x.x",
+						"items": "1.x.x",
+						"joi": "6.x.x",
+						"lru-cache": "2.6.x"
 					},
 					"dependencies": {
 						"lru-cache": {
@@ -7566,13 +7913,13 @@
 				},
 				"iron": {
 					"version": "2.1.2",
-					"resolved": "https://registry.npmjs.org/iron/-/iron-2.1.2.tgz",
+					"resolved": "http://registry.npmjs.org/iron/-/iron-2.1.2.tgz",
 					"integrity": "sha1-WR2RiiVAdTxEbY5DfNzwz6gBEU8=",
 					"dev": true,
 					"requires": {
-						"boom": "2.7.2",
-						"cryptiles": "2.0.4",
-						"hoek": "2.14.0"
+						"boom": "2.x.x",
+						"cryptiles": "2.x.x",
+						"hoek": "2.x.x"
 					}
 				},
 				"items": {
@@ -7583,25 +7930,25 @@
 				},
 				"joi": {
 					"version": "6.4.1",
-					"resolved": "https://registry.npmjs.org/joi/-/joi-6.4.1.tgz",
+					"resolved": "http://registry.npmjs.org/joi/-/joi-6.4.1.tgz",
 					"integrity": "sha1-9Q9CRTVgBo5jg9oVrC0w3Xzra24=",
 					"dev": true,
 					"requires": {
-						"hoek": "2.14.0",
-						"isemail": "1.1.1",
-						"moment": "2.10.3",
-						"topo": "1.0.2"
+						"hoek": "^2.2.x",
+						"isemail": "1.x.x",
+						"moment": "2.x.x",
+						"topo": "1.x.x"
 					},
 					"dependencies": {
 						"isemail": {
 							"version": "1.1.1",
-							"resolved": "https://registry.npmjs.org/isemail/-/isemail-1.1.1.tgz",
+							"resolved": "http://registry.npmjs.org/isemail/-/isemail-1.1.1.tgz",
 							"integrity": "sha1-4Mj23D9HCX53dzlcaJYnGqJWw7U=",
 							"dev": true
 						},
 						"moment": {
 							"version": "2.10.3",
-							"resolved": "https://registry.npmjs.org/moment/-/moment-2.10.3.tgz",
+							"resolved": "http://registry.npmjs.org/moment/-/moment-2.10.3.tgz",
 							"integrity": "sha1-CruZ8wf2UhgwjGk17+KcV7Ggon8=",
 							"dev": true
 						}
@@ -7609,26 +7956,26 @@
 				},
 				"kilt": {
 					"version": "1.1.1",
-					"resolved": "https://registry.npmjs.org/kilt/-/kilt-1.1.1.tgz",
+					"resolved": "http://registry.npmjs.org/kilt/-/kilt-1.1.1.tgz",
 					"integrity": "sha1-d7SmFjyn+lshN6iMFzNCFuwj1ds=",
 					"dev": true,
 					"requires": {
-						"hoek": "2.14.0"
+						"hoek": "2.x.x"
 					}
 				},
 				"mimos": {
 					"version": "2.0.2",
-					"resolved": "https://registry.npmjs.org/mimos/-/mimos-2.0.2.tgz",
+					"resolved": "http://registry.npmjs.org/mimos/-/mimos-2.0.2.tgz",
 					"integrity": "sha1-wyQXF+dblZkr54esfdbbGptTmx4=",
 					"dev": true,
 					"requires": {
-						"hoek": "2.14.0",
-						"mime-db": "1.14.0"
+						"hoek": "2.x.x",
+						"mime-db": "1.x.x"
 					},
 					"dependencies": {
 						"mime-db": {
 							"version": "1.14.0",
-							"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.14.0.tgz",
+							"resolved": "http://registry.npmjs.org/mime-db/-/mime-db-1.14.0.tgz",
 							"integrity": "sha1-1WHxC27mbbUflK5leilRp0IX7YM=",
 							"dev": true
 						}
@@ -7636,7 +7983,7 @@
 				},
 				"peekaboo": {
 					"version": "1.0.0",
-					"resolved": "https://registry.npmjs.org/peekaboo/-/peekaboo-1.0.0.tgz",
+					"resolved": "http://registry.npmjs.org/peekaboo/-/peekaboo-1.0.0.tgz",
 					"integrity": "sha1-wNspJq1lTSygH3ymUKtFkadk/EI=",
 					"dev": true
 				},
@@ -7648,90 +7995,90 @@
 				},
 				"shot": {
 					"version": "1.5.3",
-					"resolved": "https://registry.npmjs.org/shot/-/shot-1.5.3.tgz",
+					"resolved": "http://registry.npmjs.org/shot/-/shot-1.5.3.tgz",
 					"integrity": "sha1-SGEHREO8VHLCNRthpGtOrsAH9Xo=",
 					"dev": true,
 					"requires": {
-						"hoek": "2.14.0"
+						"hoek": "2.x.x"
 					}
 				},
 				"statehood": {
 					"version": "2.1.1",
-					"resolved": "https://registry.npmjs.org/statehood/-/statehood-2.1.1.tgz",
+					"resolved": "http://registry.npmjs.org/statehood/-/statehood-2.1.1.tgz",
 					"integrity": "sha1-AfFwtmxeklqvZ5qdMiulkYb8AAk=",
 					"dev": true,
 					"requires": {
-						"boom": "2.7.2",
-						"cryptiles": "2.0.4",
-						"hoek": "2.14.0",
-						"iron": "2.1.2",
-						"items": "1.1.0",
-						"joi": "6.4.1"
+						"boom": "2.x.x",
+						"cryptiles": "2.x.x",
+						"hoek": "2.x.x",
+						"iron": "2.x.x",
+						"items": "1.x.x",
+						"joi": "6.x.x"
 					}
 				},
 				"subtext": {
 					"version": "1.1.1",
-					"resolved": "https://registry.npmjs.org/subtext/-/subtext-1.1.1.tgz",
+					"resolved": "http://registry.npmjs.org/subtext/-/subtext-1.1.1.tgz",
 					"integrity": "sha1-DJGCWuZdUXhVWT2DHjPvdaKEFWs=",
 					"dev": true,
 					"requires": {
-						"boom": "2.7.2",
-						"content": "1.0.1",
-						"hoek": "2.14.0",
-						"pez": "1.0.0",
-						"qs": "4.0.0",
-						"wreck": "6.0.0"
+						"boom": "2.x.x",
+						"content": "1.x.x",
+						"hoek": "2.x.x",
+						"pez": "1.x.x",
+						"qs": "4.x.x",
+						"wreck": "6.x.x"
 					},
 					"dependencies": {
 						"content": {
 							"version": "1.0.1",
-							"resolved": "https://registry.npmjs.org/content/-/content-1.0.1.tgz",
+							"resolved": "http://registry.npmjs.org/content/-/content-1.0.1.tgz",
 							"integrity": "sha1-gD60s7eJVGD9jGnGhMd1RmmvG6E=",
 							"dev": true,
 							"requires": {
-								"boom": "2.7.2",
-								"hoek": "2.14.0"
+								"boom": "2.x.x",
+								"hoek": "2.x.x"
 							}
 						},
 						"pez": {
 							"version": "1.0.0",
-							"resolved": "https://registry.npmjs.org/pez/-/pez-1.0.0.tgz",
+							"resolved": "http://registry.npmjs.org/pez/-/pez-1.0.0.tgz",
 							"integrity": "sha1-hEMYpc5wku7d/6KV4YB5rHefoBg=",
 							"dev": true,
 							"requires": {
-								"b64": "2.0.0",
-								"boom": "2.7.2",
-								"content": "1.0.1",
-								"hoek": "2.14.0",
-								"nigel": "1.0.1"
+								"b64": "2.x.x",
+								"boom": "2.x.x",
+								"content": "1.x.x",
+								"hoek": "2.x.x",
+								"nigel": "1.x.x"
 							},
 							"dependencies": {
 								"b64": {
 									"version": "2.0.0",
-									"resolved": "https://registry.npmjs.org/b64/-/b64-2.0.0.tgz",
+									"resolved": "http://registry.npmjs.org/b64/-/b64-2.0.0.tgz",
 									"integrity": "sha1-tZlbJPR+v9nxMQF6bntdZHVvtvM=",
 									"dev": true,
 									"requires": {
-										"hoek": "2.14.0"
+										"hoek": "2.x.x"
 									}
 								},
 								"nigel": {
 									"version": "1.0.1",
-									"resolved": "https://registry.npmjs.org/nigel/-/nigel-1.0.1.tgz",
+									"resolved": "http://registry.npmjs.org/nigel/-/nigel-1.0.1.tgz",
 									"integrity": "sha1-RjmJr4gSePuqHTzJOCPb0XtDYKE=",
 									"dev": true,
 									"requires": {
-										"hoek": "2.14.0",
-										"vise": "1.0.0"
+										"hoek": "2.x.x",
+										"vise": "1.x.x"
 									},
 									"dependencies": {
 										"vise": {
 											"version": "1.0.0",
-											"resolved": "https://registry.npmjs.org/vise/-/vise-1.0.0.tgz",
+											"resolved": "http://registry.npmjs.org/vise/-/vise-1.0.0.tgz",
 											"integrity": "sha1-KDRb5N5aNB4V/SgW/Z6j5zA+jfM=",
 											"dev": true,
 											"requires": {
-												"hoek": "2.14.0"
+												"hoek": "2.x.x"
 											}
 										}
 									}
@@ -7742,33 +8089,33 @@
 				},
 				"topo": {
 					"version": "1.0.2",
-					"resolved": "https://registry.npmjs.org/topo/-/topo-1.0.2.tgz",
+					"resolved": "http://registry.npmjs.org/topo/-/topo-1.0.2.tgz",
 					"integrity": "sha1-QhV8N8HeTTeIPM3R1skChHqGDbk=",
 					"dev": true,
 					"requires": {
-						"hoek": "2.14.0"
+						"hoek": "2.x.x"
 					}
 				},
 				"vision": {
 					"version": "2.0.1",
-					"resolved": "https://registry.npmjs.org/vision/-/vision-2.0.1.tgz",
+					"resolved": "http://registry.npmjs.org/vision/-/vision-2.0.1.tgz",
 					"integrity": "sha1-0BIlW6buQm0GlqNOHfMy/sVeZzw=",
 					"dev": true,
 					"requires": {
-						"boom": "2.7.2",
-						"hoek": "2.14.0",
-						"items": "1.1.0",
-						"joi": "6.4.1"
+						"boom": "2.x.x",
+						"hoek": "^2.9.x",
+						"items": "^1.1.x",
+						"joi": "6.x.x"
 					}
 				},
 				"wreck": {
 					"version": "6.0.0",
-					"resolved": "https://registry.npmjs.org/wreck/-/wreck-6.0.0.tgz",
+					"resolved": "http://registry.npmjs.org/wreck/-/wreck-6.0.0.tgz",
 					"integrity": "sha1-T0CGaWHl14rOBPMqa38x8/PFFjg=",
 					"dev": true,
 					"requires": {
-						"boom": "2.7.2",
-						"hoek": "2.14.0"
+						"boom": "2.x.x",
+						"hoek": "2.x.x"
 					}
 				}
 			}
@@ -7783,8 +8130,8 @@
 			"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz",
 			"integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=",
 			"requires": {
-				"ajv": "5.5.2",
-				"har-schema": "2.0.0"
+				"ajv": "^5.1.0",
+				"har-schema": "^2.0.0"
 			}
 		},
 		"has": {
@@ -7792,7 +8139,7 @@
 			"resolved": "https://registry.npmjs.org/has/-/has-1.0.2.tgz",
 			"integrity": "sha512-D5/WxwX+SrGfs/fiQn34RAoIZkCLJBDEfBWS1kmTI6G/1mtjhxTBiIiJi8EsKhwaQqKqj7lpKOi3i69tg3P+OQ==",
 			"requires": {
-				"function-bind": "1.1.1"
+				"function-bind": "^1.1.1"
 			}
 		},
 		"has-ansi": {
@@ -7800,18 +8147,14 @@
 			"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
 			"integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
 			"requires": {
-				"ansi-regex": "2.1.1"
+				"ansi-regex": "^2.0.0"
 			}
 		},
 		"has-flag": {
-			"version": "1.0.0",
-			"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
-			"integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
-		},
-		"has-symbol-support-x": {
-			"version": "1.4.2",
-			"resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz",
-			"integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw=="
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+			"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+			"dev": true
 		},
 		"has-symbols": {
 			"version": "1.0.0",
@@ -7819,14 +8162,6 @@
 			"integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
 			"dev": true
 		},
-		"has-to-string-tag-x": {
-			"version": "1.4.1",
-			"resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz",
-			"integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==",
-			"requires": {
-				"has-symbol-support-x": "1.4.2"
-			}
-		},
 		"has-unicode": {
 			"version": "2.0.1",
 			"resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
@@ -7837,9 +8172,9 @@
 			"resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
 			"integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
 			"requires": {
-				"get-value": "2.0.6",
-				"has-values": "1.0.0",
-				"isobject": "3.0.1"
+				"get-value": "^2.0.6",
+				"has-values": "^1.0.0",
+				"isobject": "^3.0.0"
 			}
 		},
 		"has-values": {
@@ -7847,8 +8182,8 @@
 			"resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
 			"integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
 			"requires": {
-				"is-number": "3.0.0",
-				"kind-of": "4.0.0"
+				"is-number": "^3.0.0",
+				"kind-of": "^4.0.0"
 			},
 			"dependencies": {
 				"kind-of": {
@@ -7856,7 +8191,7 @@
 					"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
 					"integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
 					"requires": {
-						"is-buffer": "1.1.6"
+						"is-buffer": "^1.1.5"
 					}
 				}
 			}
@@ -7866,8 +8201,8 @@
 			"resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
 			"integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
 			"requires": {
-				"inherits": "2.0.3",
-				"safe-buffer": "5.1.2"
+				"inherits": "^2.0.1",
+				"safe-buffer": "^5.0.1"
 			}
 		},
 		"hash-stream-validation": {
@@ -7875,7 +8210,7 @@
 			"resolved": "https://registry.npmjs.org/hash-stream-validation/-/hash-stream-validation-0.2.1.tgz",
 			"integrity": "sha1-7Mm5l7IYvluzEphii7gHhptz3NE=",
 			"requires": {
-				"through2": "2.0.3"
+				"through2": "^2.0.0"
 			}
 		},
 		"hash.js": {
@@ -7883,8 +8218,8 @@
 			"resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.5.tgz",
 			"integrity": "sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==",
 			"requires": {
-				"inherits": "2.0.3",
-				"minimalistic-assert": "1.0.1"
+				"inherits": "^2.0.3",
+				"minimalistic-assert": "^1.0.1"
 			}
 		},
 		"hasha": {
@@ -7893,45 +8228,45 @@
 			"integrity": "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=",
 			"dev": true,
 			"requires": {
-				"is-stream": "1.1.0",
-				"pinkie-promise": "2.0.1"
+				"is-stream": "^1.0.1",
+				"pinkie-promise": "^2.0.0"
 			}
 		},
 		"hawk": {
 			"version": "3.1.3",
-			"resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
+			"resolved": "http://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
 			"integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
 			"dev": true,
 			"requires": {
-				"boom": "2.10.1",
-				"cryptiles": "2.0.5",
-				"hoek": "2.16.3",
-				"sntp": "1.0.9"
+				"boom": "2.x.x",
+				"cryptiles": "2.x.x",
+				"hoek": "2.x.x",
+				"sntp": "1.x.x"
 			}
 		},
 		"he": {
-			"version": "1.1.1",
-			"resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz",
-			"integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0="
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
+			"integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="
 		},
 		"highlight.js": {
-			"version": "9.12.0",
-			"resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.12.0.tgz",
-			"integrity": "sha1-5tnb5Xy+/mB1HwKvM2GVhwyQwB4="
+			"version": "9.13.1",
+			"resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.13.1.tgz",
+			"integrity": "sha512-Sc28JNQNDzaH6PORtRLMvif9RSn1mYuOoX3omVjnb0+HbpPygU2ALBI0R/wsiqCb4/fcp07Gdo8g+fhtFrQl6A=="
 		},
 		"hmac-drbg": {
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
 			"integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
 			"requires": {
-				"hash.js": "1.1.5",
-				"minimalistic-assert": "1.0.1",
-				"minimalistic-crypto-utils": "1.0.1"
+				"hash.js": "^1.0.3",
+				"minimalistic-assert": "^1.0.0",
+				"minimalistic-crypto-utils": "^1.0.1"
 			}
 		},
 		"hoek": {
 			"version": "2.16.3",
-			"resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
+			"resolved": "http://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
 			"integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
 			"dev": true
 		},
@@ -7941,8 +8276,17 @@
 			"integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=",
 			"dev": true,
 			"requires": {
-				"os-homedir": "1.0.2",
-				"os-tmpdir": "1.0.2"
+				"os-homedir": "^1.0.0",
+				"os-tmpdir": "^1.0.1"
+			}
+		},
+		"homedir-polyfill": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz",
+			"integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=",
+			"dev": true,
+			"requires": {
+				"parse-passwd": "^1.0.0"
 			}
 		},
 		"hosted-git-info": {
@@ -7956,7 +8300,7 @@
 			"resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz",
 			"integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==",
 			"requires": {
-				"whatwg-encoding": "1.0.4"
+				"whatwg-encoding": "^1.0.1"
 			}
 		},
 		"html-tags": {
@@ -7965,16 +8309,61 @@
 			"integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=",
 			"dev": true
 		},
+		"html-to-text": {
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/html-to-text/-/html-to-text-4.0.0.tgz",
+			"integrity": "sha512-QQl5EEd97h6+3crtgBhkEAO6sQnZyDff8DAeJzoSkOc1Dqe1UvTUZER0B+KjBe6fPZqq549l2VUhtracus3ndA==",
+			"requires": {
+				"he": "^1.0.0",
+				"htmlparser2": "^3.9.2",
+				"lodash": "^4.17.4",
+				"optimist": "^0.6.1"
+			},
+			"dependencies": {
+				"domutils": {
+					"version": "1.7.0",
+					"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
+					"integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==",
+					"requires": {
+						"dom-serializer": "0",
+						"domelementtype": "1"
+					}
+				},
+				"htmlparser2": {
+					"version": "3.10.0",
+					"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.0.tgz",
+					"integrity": "sha512-J1nEUGv+MkXS0weHNWVKJJ+UrLfePxRWpN3C9bEi9fLxL2+ggW94DQvgYVXsaT30PGwYRIZKNZXuyMhp3Di4bQ==",
+					"requires": {
+						"domelementtype": "^1.3.0",
+						"domhandler": "^2.3.0",
+						"domutils": "^1.5.1",
+						"entities": "^1.1.1",
+						"inherits": "^2.0.1",
+						"readable-stream": "^3.0.6"
+					}
+				},
+				"readable-stream": {
+					"version": "3.0.6",
+					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.0.6.tgz",
+					"integrity": "sha512-9E1oLoOWfhSXHGv6QlwXJim7uNzd9EVlWK+21tCU9Ju/kR0/p2AZYPz4qSchgO8PlLIH4FpZYfzwS+rEksZjIg==",
+					"requires": {
+						"inherits": "^2.0.3",
+						"string_decoder": "^1.1.1",
+						"util-deprecate": "^1.0.1"
+					}
+				}
+			}
+		},
 		"htmlparser2": {
 			"version": "3.8.3",
 			"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz",
 			"integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=",
 			"requires": {
-				"domelementtype": "1.3.0",
-				"domhandler": "2.3.0",
-				"domutils": "1.5.1",
-				"entities": "1.0.0",
-				"readable-stream": "1.1.14"
+				"domelementtype": "1",
+				"domhandler": "2.3",
+				"domutils": "1.5",
+				"entities": "1.0",
+				"readable-stream": "1.1"
 			},
 			"dependencies": {
 				"domutils": {
@@ -7982,8 +8371,8 @@
 					"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
 					"integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
 					"requires": {
-						"dom-serializer": "0.1.0",
-						"domelementtype": "1.3.0"
+						"dom-serializer": "0",
+						"domelementtype": "1"
 					}
 				},
 				"entities": {
@@ -8001,10 +8390,10 @@
 					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
 					"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
 					"requires": {
-						"core-util-is": "1.0.2",
-						"inherits": "2.0.3",
+						"core-util-is": "~1.0.0",
+						"inherits": "~2.0.1",
 						"isarray": "0.0.1",
-						"string_decoder": "0.10.31"
+						"string_decoder": "~0.10.x"
 					}
 				},
 				"string_decoder": {
@@ -8014,18 +8403,13 @@
 				}
 			}
 		},
-		"http-cache-semantics": {
-			"version": "3.8.1",
-			"resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz",
-			"integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w=="
-		},
 		"http-errors": {
 			"version": "1.3.1",
-			"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz",
+			"resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz",
 			"integrity": "sha1-GX4izevUGYWF6GlO9nhhl7ke2UI=",
 			"requires": {
-				"inherits": "2.0.3",
-				"statuses": "1.5.0"
+				"inherits": "~2.0.1",
+				"statuses": "1"
 			}
 		},
 		"http-parser-js": {
@@ -8040,7 +8424,7 @@
 			"integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==",
 			"dev": true,
 			"requires": {
-				"agent-base": "4.2.0",
+				"agent-base": "4",
 				"debug": "3.1.0"
 			},
 			"dependencies": {
@@ -8060,9 +8444,9 @@
 			"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
 			"integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
 			"requires": {
-				"assert-plus": "1.0.0",
-				"jsprim": "1.4.1",
-				"sshpk": "1.14.1"
+				"assert-plus": "^1.0.0",
+				"jsprim": "^1.2.2",
+				"sshpk": "^1.7.0"
 			}
 		},
 		"https-proxy-agent": {
@@ -8071,8 +8455,8 @@
 			"integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==",
 			"dev": true,
 			"requires": {
-				"agent-base": "4.2.0",
-				"debug": "3.1.0"
+				"agent-base": "^4.1.0",
+				"debug": "^3.1.0"
 			},
 			"dependencies": {
 				"debug": {
@@ -8092,9 +8476,9 @@
 			"integrity": "sha512-e21wivqHpstpoiWA/Yi8eFti8E+sQDSS53cpJsPptPs295QTOQR0ZwnHo2TXy1XOpZFD9rPOd3NpmqTK6uMLJA==",
 			"dev": true,
 			"requires": {
-				"is-ci": "1.2.0",
-				"normalize-path": "1.0.0",
-				"strip-indent": "2.0.0"
+				"is-ci": "^1.0.10",
+				"normalize-path": "^1.0.0",
+				"strip-indent": "^2.0.0"
 			},
 			"dependencies": {
 				"normalize-path": {
@@ -8106,11 +8490,11 @@
 			}
 		},
 		"iconv-lite": {
-			"version": "0.4.23",
-			"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
-			"integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
+			"version": "0.4.24",
+			"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+			"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
 			"requires": {
-				"safer-buffer": "2.1.2"
+				"safer-buffer": ">= 2.1.2 < 3"
 			}
 		},
 		"ieee754": {
@@ -8128,21 +8512,21 @@
 			"resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz",
 			"integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==",
 			"requires": {
-				"minimatch": "3.0.4"
+				"minimatch": "^3.0.4"
 			}
 		},
 		"image-size": {
-			"version": "0.6.2",
-			"resolved": "https://registry.npmjs.org/image-size/-/image-size-0.6.2.tgz",
-			"integrity": "sha512-pH3vDzpczdsKHdZ9xxR3O46unSjisgVx0IImay7Zz2EdhRVbCkj+nthx9OuuWEhakx9FAO+fNVGrF0rZ2oMOvw=="
+			"version": "0.6.3",
+			"resolved": "https://registry.npmjs.org/image-size/-/image-size-0.6.3.tgz",
+			"integrity": "sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA=="
 		},
 		"imap": {
 			"version": "0.8.19",
 			"resolved": "https://registry.npmjs.org/imap/-/imap-0.8.19.tgz",
 			"integrity": "sha1-NniHOTSrCc6mukh0HyhNoq9Z2NU=",
 			"requires": {
-				"readable-stream": "1.1.14",
-				"utf7": "1.0.2"
+				"readable-stream": "1.1.x",
+				"utf7": ">=1.0.2"
 			},
 			"dependencies": {
 				"isarray": {
@@ -8152,13 +8536,13 @@
 				},
 				"readable-stream": {
 					"version": "1.1.14",
-					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+					"resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
 					"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
 					"requires": {
-						"core-util-is": "1.0.2",
-						"inherits": "2.0.3",
+						"core-util-is": "~1.0.0",
+						"inherits": "~2.0.1",
 						"isarray": "0.0.1",
-						"string_decoder": "0.10.31"
+						"string_decoder": "~0.10.x"
 					}
 				},
 				"string_decoder": {
@@ -8206,8 +8590,8 @@
 			"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
 			"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
 			"requires": {
-				"once": "1.4.0",
-				"wrappy": "1.0.2"
+				"once": "^1.3.0",
+				"wrappy": "1"
 			}
 		},
 		"inherits": {
@@ -8220,7 +8604,7 @@
 			"resolved": "https://registry.npmjs.org/inherits-ex/-/inherits-ex-1.2.3.tgz",
 			"integrity": "sha512-DCZqD7BpjXqaha8IKcoAE3ZZr6Hi12ropV1h+3pBnirE14mNRwLuYySvYxUSBemTQ40SjAxPL8BTk2Xw/3IF9w==",
 			"requires": {
-				"xtend": "4.0.1"
+				"xtend": "^4.0.0"
 			}
 		},
 		"ini": {
@@ -8234,20 +8618,20 @@
 			"integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==",
 			"dev": true,
 			"requires": {
-				"ansi-escapes": "3.1.0",
-				"chalk": "2.4.1",
-				"cli-cursor": "2.1.0",
-				"cli-width": "2.2.0",
-				"external-editor": "2.2.0",
-				"figures": "2.0.0",
-				"lodash": "4.17.10",
+				"ansi-escapes": "^3.0.0",
+				"chalk": "^2.0.0",
+				"cli-cursor": "^2.1.0",
+				"cli-width": "^2.0.0",
+				"external-editor": "^2.0.4",
+				"figures": "^2.0.0",
+				"lodash": "^4.3.0",
 				"mute-stream": "0.0.7",
-				"run-async": "2.3.0",
-				"rx-lite": "4.0.8",
-				"rx-lite-aggregates": "4.0.8",
-				"string-width": "2.1.1",
-				"strip-ansi": "4.0.0",
-				"through": "2.3.8"
+				"run-async": "^2.2.0",
+				"rx-lite": "^4.0.8",
+				"rx-lite-aggregates": "^4.0.8",
+				"string-width": "^2.1.0",
+				"strip-ansi": "^4.0.0",
+				"through": "^2.3.6"
 			},
 			"dependencies": {
 				"ansi-regex": {
@@ -8262,7 +8646,7 @@
 					"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
 					"dev": true,
 					"requires": {
-						"color-convert": "1.9.1"
+						"color-convert": "^1.9.0"
 					}
 				},
 				"chalk": {
@@ -8271,9 +8655,9 @@
 					"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
 					"dev": true,
 					"requires": {
-						"ansi-styles": "3.2.1",
-						"escape-string-regexp": "1.0.5",
-						"supports-color": "5.4.0"
+						"ansi-styles": "^3.2.1",
+						"escape-string-regexp": "^1.0.5",
+						"supports-color": "^5.3.0"
 					}
 				},
 				"figures": {
@@ -8282,7 +8666,7 @@
 					"integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
 					"dev": true,
 					"requires": {
-						"escape-string-regexp": "1.0.5"
+						"escape-string-regexp": "^1.0.5"
 					}
 				},
 				"has-flag": {
@@ -8303,8 +8687,8 @@
 					"integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
 					"dev": true,
 					"requires": {
-						"is-fullwidth-code-point": "2.0.0",
-						"strip-ansi": "4.0.0"
+						"is-fullwidth-code-point": "^2.0.0",
+						"strip-ansi": "^4.0.0"
 					}
 				},
 				"strip-ansi": {
@@ -8313,7 +8697,7 @@
 					"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
 					"dev": true,
 					"requires": {
-						"ansi-regex": "3.0.0"
+						"ansi-regex": "^3.0.0"
 					}
 				},
 				"supports-color": {
@@ -8322,27 +8706,18 @@
 					"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
 					"dev": true,
 					"requires": {
-						"has-flag": "3.0.0"
+						"has-flag": "^3.0.0"
 					}
 				}
 			}
 		},
-		"into-stream": {
-			"version": "3.1.0",
-			"resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz",
-			"integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=",
-			"requires": {
-				"from2": "2.3.0",
-				"p-is-promise": "1.1.0"
-			}
-		},
 		"invariant": {
 			"version": "2.2.4",
 			"resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
 			"integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
 			"dev": true,
 			"requires": {
-				"loose-envify": "1.3.1"
+				"loose-envify": "^1.0.0"
 			}
 		},
 		"invert-kv": {
@@ -8355,7 +8730,7 @@
 			"resolved": "https://registry.npmjs.org/ip-range-check/-/ip-range-check-0.0.2.tgz",
 			"integrity": "sha1-YFyFloeqTxhGORjUYZDYs2maKTw=",
 			"requires": {
-				"ipaddr.js": "1.7.0"
+				"ipaddr.js": "^1.0.1"
 			}
 		},
 		"ipaddr.js": {
@@ -8368,12 +8743,23 @@
 			"resolved": "https://registry.npmjs.org/is/-/is-3.2.1.tgz",
 			"integrity": "sha1-0Kwq1V63sL7JJqUmb2xmKqqD3KU="
 		},
+		"is-absolute": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
+			"integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
+			"dev": true,
+			"optional": true,
+			"requires": {
+				"is-relative": "^1.0.0",
+				"is-windows": "^1.0.1"
+			}
+		},
 		"is-accessor-descriptor": {
 			"version": "0.1.6",
 			"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
 			"integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
 			"requires": {
-				"kind-of": "3.2.2"
+				"kind-of": "^3.0.2"
 			},
 			"dependencies": {
 				"kind-of": {
@@ -8381,7 +8767,7 @@
 					"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
 					"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
 					"requires": {
-						"is-buffer": "1.1.6"
+						"is-buffer": "^1.1.5"
 					}
 				}
 			}
@@ -8404,14 +8790,14 @@
 			"integrity": "sha512-pyfU/0kHdISIgslFfZN9nfY1Gk3MquQgUm1mJTjdkEPpkAKNWuBTSqFwewOpR7N351VkErCiyV71zX7mlQQqsg==",
 			"dev": true,
 			"requires": {
-				"is-alphabetical": "1.0.2",
-				"is-decimal": "1.0.2"
+				"is-alphabetical": "^1.0.0",
+				"is-decimal": "^1.0.0"
 			}
 		},
 		"is-arrayish": {
-			"version": "0.3.1",
-			"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.1.tgz",
-			"integrity": "sha1-wt/DhquqDD4zxI2z/ocFnmkGXv0="
+			"version": "0.3.2",
+			"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
+			"integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="
 		},
 		"is-binary-path": {
 			"version": "1.0.1",
@@ -8419,7 +8805,7 @@
 			"integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
 			"dev": true,
 			"requires": {
-				"binary-extensions": "1.11.0"
+				"binary-extensions": "^1.0.0"
 			}
 		},
 		"is-buffer": {
@@ -8429,11 +8815,11 @@
 		},
 		"is-builtin-module": {
 			"version": "1.0.0",
-			"resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
+			"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.1.1"
+				"builtin-modules": "^1.0.0"
 			}
 		},
 		"is-callable": {
@@ -8447,7 +8833,7 @@
 			"integrity": "sha512-plgvKjQtalH2P3Gytb7L61Lmz95g2DlpzFiQyRSFew8WoJKxtKRzrZMeyRN2supblm3Psc8OQGy7Xjb6XG11jw==",
 			"dev": true,
 			"requires": {
-				"ci-info": "1.3.1"
+				"ci-info": "^1.3.0"
 			}
 		},
 		"is-data-descriptor": {
@@ -8455,7 +8841,7 @@
 			"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
 			"integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
 			"requires": {
-				"kind-of": "3.2.2"
+				"kind-of": "^3.0.2"
 			},
 			"dependencies": {
 				"kind-of": {
@@ -8463,7 +8849,7 @@
 					"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
 					"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
 					"requires": {
-						"is-buffer": "1.1.6"
+						"is-buffer": "^1.1.5"
 					}
 				}
 			}
@@ -8484,9 +8870,9 @@
 			"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
 			"integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
 			"requires": {
-				"is-accessor-descriptor": "0.1.6",
-				"is-data-descriptor": "0.1.4",
-				"kind-of": "5.1.0"
+				"is-accessor-descriptor": "^0.1.6",
+				"is-data-descriptor": "^0.1.4",
+				"kind-of": "^5.0.0"
 			},
 			"dependencies": {
 				"kind-of": {
@@ -8514,7 +8900,7 @@
 			"integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
 			"dev": true,
 			"requires": {
-				"is-primitive": "2.0.0"
+				"is-primitive": "^2.0.0"
 			}
 		},
 		"is-extendable": {
@@ -8533,7 +8919,7 @@
 			"integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
 			"dev": true,
 			"requires": {
-				"number-is-nan": "1.0.1"
+				"number-is-nan": "^1.0.0"
 			}
 		},
 		"is-fullwidth-code-point": {
@@ -8541,7 +8927,7 @@
 			"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
 			"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
 			"requires": {
-				"number-is-nan": "1.0.1"
+				"number-is-nan": "^1.0.0"
 			}
 		},
 		"is-generator": {
@@ -8555,7 +8941,7 @@
 			"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
 			"integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
 			"requires": {
-				"is-extglob": "2.1.1"
+				"is-extglob": "^2.1.1"
 			}
 		},
 		"is-hexadecimal": {
@@ -8569,7 +8955,7 @@
 			"resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
 			"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
 			"requires": {
-				"kind-of": "3.2.2"
+				"kind-of": "^3.0.2"
 			},
 			"dependencies": {
 				"kind-of": {
@@ -8577,27 +8963,28 @@
 					"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
 					"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
 					"requires": {
-						"is-buffer": "1.1.6"
+						"is-buffer": "^1.1.5"
 					}
 				}
 			}
 		},
 		"is-obj": {
 			"version": "1.0.1",
-			"resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
+			"resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
 			"integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8="
 		},
 		"is-object": {
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz",
-			"integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA="
+			"integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=",
+			"dev": true
 		},
 		"is-odd": {
 			"version": "2.0.0",
 			"resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz",
 			"integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==",
 			"requires": {
-				"is-number": "4.0.0"
+				"is-number": "^4.0.0"
 			},
 			"dependencies": {
 				"is-number": {
@@ -8619,7 +9006,7 @@
 			"integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==",
 			"dev": true,
 			"requires": {
-				"is-path-inside": "1.0.1"
+				"is-path-inside": "^1.0.0"
 			}
 		},
 		"is-path-inside": {
@@ -8628,20 +9015,21 @@
 			"integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
 			"dev": true,
 			"requires": {
-				"path-is-inside": "1.0.2"
+				"path-is-inside": "^1.0.1"
 			}
 		},
 		"is-plain-obj": {
 			"version": "1.1.0",
 			"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
-			"integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4="
+			"integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
+			"dev": true
 		},
 		"is-plain-object": {
 			"version": "2.0.4",
 			"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
 			"integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
 			"requires": {
-				"isobject": "3.0.1"
+				"isobject": "^3.0.1"
 			}
 		},
 		"is-posix-bracket": {
@@ -8667,7 +9055,7 @@
 			"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
 			"integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
 			"requires": {
-				"has": "1.0.2"
+				"has": "^1.0.1"
 			}
 		},
 		"is-regexp": {
@@ -8676,17 +9064,22 @@
 			"integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=",
 			"dev": true
 		},
+		"is-relative": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
+			"integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
+			"dev": true,
+			"optional": true,
+			"requires": {
+				"is-unc-path": "^1.0.0"
+			}
+		},
 		"is-resolvable": {
 			"version": "1.1.0",
 			"resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
 			"integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==",
 			"dev": true
 		},
-		"is-retry-allowed": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz",
-			"integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ="
-		},
 		"is-stream": {
 			"version": "1.1.0",
 			"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
@@ -8720,7 +9113,7 @@
 			"integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=",
 			"dev": true,
 			"requires": {
-				"text-extensions": "1.7.0"
+				"text-extensions": "^1.0.0"
 			}
 		},
 		"is-typedarray": {
@@ -8728,6 +9121,16 @@
 			"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
 			"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
 		},
+		"is-unc-path": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz",
+			"integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
+			"dev": true,
+			"optional": true,
+			"requires": {
+				"unc-path-regex": "^0.1.2"
+			}
+		},
 		"is-utf8": {
 			"version": "0.2.1",
 			"resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
@@ -8756,6 +9159,12 @@
 			"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
 			"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
 		},
+		"isemail": {
+			"version": "1.2.0",
+			"resolved": "http://registry.npmjs.org/isemail/-/isemail-1.2.0.tgz",
+			"integrity": "sha1-vgPfjMPineTSxd9lASY/H6RZXpo=",
+			"dev": true
+		},
 		"isexe": {
 			"version": "2.0.0",
 			"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
@@ -8771,29 +9180,20 @@
 			"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
 			"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
 		},
-		"isurl": {
-			"version": "1.0.0",
-			"resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz",
-			"integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==",
-			"requires": {
-				"has-to-string-tag-x": "1.4.1",
-				"is-object": "1.0.1"
-			}
-		},
 		"jasmine": {
 			"version": "2.99.0",
 			"resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.99.0.tgz",
 			"integrity": "sha1-jKctEC5jm4Z8ZImFbg4YqceqQrc=",
 			"dev": true,
 			"requires": {
-				"exit": "0.1.2",
-				"glob": "7.1.2",
-				"jasmine-core": "2.99.1"
+				"exit": "^0.1.2",
+				"glob": "^7.0.6",
+				"jasmine-core": "~2.99.0"
 			}
 		},
 		"jasmine-core": {
 			"version": "2.99.1",
-			"resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.99.1.tgz",
+			"resolved": "http://registry.npmjs.org/jasmine-core/-/jasmine-core-2.99.1.tgz",
 			"integrity": "sha1-5kAN8ea1bhMLYcS80JPap/boyhU=",
 			"dev": true
 		},
@@ -8808,9 +9208,9 @@
 			"integrity": "sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg=="
 		},
 		"js-base64": {
-			"version": "2.4.5",
-			"resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.5.tgz",
-			"integrity": "sha512-aUnNwqMOXw3yvErjMPSQu6qIIzUmT1e5KcU1OZxRDU1g/am6mzBvcrmLAYwzmB59BHPrh5/tKaiF4OPhqRWESQ=="
+			"version": "2.4.9",
+			"resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.9.tgz",
+			"integrity": "sha512-xcinL3AuDJk7VSzsHgb9DvvIXayBbadtMZ4HFPx8rUszbW1MuNMlwYVC4zzCZ6e1sqZpnNS5ZFYOhXqA39T7LQ=="
 		},
 		"js-tokens": {
 			"version": "3.0.2",
@@ -8824,8 +9224,8 @@
 			"integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==",
 			"dev": true,
 			"requires": {
-				"argparse": "1.0.10",
-				"esprima": "4.0.0"
+				"argparse": "^1.0.7",
+				"esprima": "^4.0.0"
 			}
 		},
 		"jsbn": {
@@ -8844,32 +9244,32 @@
 			"resolved": "https://registry.npmjs.org/jsdom/-/jsdom-11.12.0.tgz",
 			"integrity": "sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==",
 			"requires": {
-				"abab": "2.0.0",
-				"acorn": "5.7.2",
-				"acorn-globals": "4.1.0",
-				"array-equal": "1.0.0",
-				"cssom": "0.3.4",
-				"cssstyle": "1.1.1",
-				"data-urls": "1.0.1",
-				"domexception": "1.0.1",
-				"escodegen": "1.11.0",
-				"html-encoding-sniffer": "1.0.2",
-				"left-pad": "1.3.0",
-				"nwsapi": "2.0.8",
+				"abab": "^2.0.0",
+				"acorn": "^5.5.3",
+				"acorn-globals": "^4.1.0",
+				"array-equal": "^1.0.0",
+				"cssom": ">= 0.3.2 < 0.4.0",
+				"cssstyle": "^1.0.0",
+				"data-urls": "^1.0.0",
+				"domexception": "^1.0.1",
+				"escodegen": "^1.9.1",
+				"html-encoding-sniffer": "^1.0.2",
+				"left-pad": "^1.3.0",
+				"nwsapi": "^2.0.7",
 				"parse5": "4.0.0",
-				"pn": "1.1.0",
-				"request": "2.87.0",
-				"request-promise-native": "1.0.5",
-				"sax": "1.2.4",
-				"symbol-tree": "3.2.2",
-				"tough-cookie": "2.3.4",
-				"w3c-hr-time": "1.0.1",
-				"webidl-conversions": "4.0.2",
-				"whatwg-encoding": "1.0.4",
-				"whatwg-mimetype": "2.1.0",
-				"whatwg-url": "6.5.0",
-				"ws": "5.2.2",
-				"xml-name-validator": "3.0.0"
+				"pn": "^1.1.0",
+				"request": "^2.87.0",
+				"request-promise-native": "^1.0.5",
+				"sax": "^1.2.4",
+				"symbol-tree": "^3.2.2",
+				"tough-cookie": "^2.3.4",
+				"w3c-hr-time": "^1.0.1",
+				"webidl-conversions": "^4.0.2",
+				"whatwg-encoding": "^1.0.3",
+				"whatwg-mimetype": "^2.1.0",
+				"whatwg-url": "^6.4.1",
+				"ws": "^5.2.0",
+				"xml-name-validator": "^3.0.0"
 			},
 			"dependencies": {
 				"acorn": {
@@ -8887,7 +9287,7 @@
 					"resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz",
 					"integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==",
 					"requires": {
-						"async-limiter": "1.0.0"
+						"async-limiter": "~1.0.0"
 					}
 				}
 			}
@@ -8898,11 +9298,6 @@
 			"integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
 			"dev": true
 		},
-		"json-buffer": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
-			"integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg="
-		},
 		"json-parse-better-errors": {
 			"version": "1.0.2",
 			"resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
@@ -8924,7 +9319,7 @@
 			"resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
 			"integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
 			"requires": {
-				"jsonify": "0.0.0"
+				"jsonify": "~0.0.0"
 			}
 		},
 		"json-stable-stringify-without-jsonify": {
@@ -8946,11 +9341,11 @@
 		},
 		"jsonfile": {
 			"version": "2.4.0",
-			"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
+			"resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
 			"integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
 			"dev": true,
 			"requires": {
-				"graceful-fs": "4.1.11"
+				"graceful-fs": "^4.1.6"
 			}
 		},
 		"jsonify": {
@@ -8965,20 +9360,19 @@
 			"dev": true
 		},
 		"jsonwebtoken": {
-			"version": "8.2.2",
-			"resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.2.2.tgz",
-			"integrity": "sha512-rFFq7ow/JpPzwgaz4IyRL9cp7f4ptjW92eZgsQyqkysLBmDjSSBhnKfQESoq0GU+qJXK/CQ0o4shgwbUPiFCdw==",
-			"requires": {
-				"jws": "3.1.5",
-				"lodash.includes": "4.3.0",
-				"lodash.isboolean": "3.0.3",
-				"lodash.isinteger": "4.0.4",
-				"lodash.isnumber": "3.0.3",
-				"lodash.isplainobject": "4.0.6",
-				"lodash.isstring": "4.0.1",
-				"lodash.once": "4.1.1",
-				"ms": "2.1.1",
-				"xtend": "4.0.1"
+			"version": "8.3.0",
+			"resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.3.0.tgz",
+			"integrity": "sha512-oge/hvlmeJCH+iIz1DwcO7vKPkNGJHhgkspk8OH3VKlw+mbi42WtD4ig1+VXRln765vxptAv+xT26Fd3cteqag==",
+			"requires": {
+				"jws": "^3.1.5",
+				"lodash.includes": "^4.3.0",
+				"lodash.isboolean": "^3.0.3",
+				"lodash.isinteger": "^4.0.4",
+				"lodash.isnumber": "^3.0.3",
+				"lodash.isplainobject": "^4.0.6",
+				"lodash.isstring": "^4.0.1",
+				"lodash.once": "^4.0.0",
+				"ms": "^2.1.1"
 			},
 			"dependencies": {
 				"ms": {
@@ -8988,52 +9382,187 @@
 				}
 			}
 		},
-		"jsprim": {
-			"version": "1.4.1",
-			"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
-			"integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+		"jspm": {
+			"version": "0.17.0-beta.49",
+			"resolved": "https://registry.npmjs.org/jspm/-/jspm-0.17.0-beta.49.tgz",
+			"integrity": "sha512-66Kr63r7VqpwSrmCzpFn0FAwmWH2AmwIkU6Y8rB0ET16zoJo73wxoDfBNPtgT1ONOG7l5gvoUqmT3K4rHtX2Xg==",
+			"dev": true,
+			"optional": true,
 			"requires": {
-				"assert-plus": "1.0.0",
-				"extsprintf": "1.3.0",
-				"json-schema": "0.2.3",
-				"verror": "1.10.0"
+				"bluebird": "^3.0.5",
+				"chalk": "^1.1.1",
+				"core-js": "^1.2.6",
+				"glob": "^6.0.1",
+				"graceful-fs": "^4.1.2",
+				"jspm-github": "^0.14.11",
+				"jspm-npm": "^0.30.3",
+				"jspm-registry": "^0.4.1",
+				"liftoff": "^2.2.0",
+				"minimatch": "^3.0.0",
+				"mkdirp": "~0.5.1",
+				"ncp": "^2.0.0",
+				"proper-lockfile": "^1.1.2",
+				"request": "^2.67.0",
+				"rimraf": "^2.4.4",
+				"sane": "^1.3.3",
+				"semver": "^5.1.0",
+				"systemjs": "0.21.4",
+				"systemjs-builder": "0.16.13",
+				"traceur": "0.0.105",
+				"uglify-js": "^2.6.1"
+			},
+			"dependencies": {
+				"core-js": {
+					"version": "1.2.7",
+					"resolved": "http://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
+					"integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=",
+					"dev": true,
+					"optional": true
+				},
+				"glob": {
+					"version": "6.0.4",
+					"resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
+					"integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=",
+					"dev": true,
+					"optional": true,
+					"requires": {
+						"inflight": "^1.0.4",
+						"inherits": "2",
+						"minimatch": "2 || 3",
+						"once": "^1.3.0",
+						"path-is-absolute": "^1.0.0"
+					}
+				}
 			}
 		},
-		"juice": {
-			"version": "4.3.2",
-			"resolved": "https://registry.npmjs.org/juice/-/juice-4.3.2.tgz",
-			"integrity": "sha512-3Qym/RnFoCGa9qrDz6xn4zRnohgI6G87xKWZV+/seF3dYpaVqNS1HijsDef+elGhytRY79RIboOzk0hucLtx6g==",
+		"jspm-github": {
+			"version": "0.14.13",
+			"resolved": "https://registry.npmjs.org/jspm-github/-/jspm-github-0.14.13.tgz",
+			"integrity": "sha1-Mm5SF9NjmyFgkpOwHn4Yd13T3Mc=",
+			"dev": true,
+			"optional": true,
 			"requires": {
-				"cheerio": "0.22.0",
-				"commander": "2.15.1",
-				"cross-spawn": "5.1.0",
-				"deep-extend": "0.5.1",
-				"mensch": "0.3.3",
-				"slick": "1.12.2",
-				"web-resource-inliner": "4.2.1"
+				"bluebird": "^3.0.5",
+				"expand-tilde": "^1.2.0",
+				"graceful-fs": "^4.1.3",
+				"mkdirp": "^0.5.1",
+				"netrc": "^0.1.3",
+				"request": "^2.74.0",
+				"rimraf": "^2.5.4",
+				"semver": "^5.0.1",
+				"tar-fs": "^1.13.0",
+				"which": "^1.0.9"
 			},
 			"dependencies": {
-				"cheerio": {
-					"version": "0.22.0",
+				"expand-tilde": {
+					"version": "1.2.2",
+					"resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz",
+					"integrity": "sha1-C4HrqJflo9MdHD0QL48BRB5VlEk=",
+					"dev": true,
+					"optional": true,
+					"requires": {
+						"os-homedir": "^1.0.1"
+					}
+				},
+				"rimraf": {
+					"version": "2.6.2",
+					"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
+					"integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
+					"dev": true,
+					"optional": true,
+					"requires": {
+						"glob": "^7.0.5"
+					}
+				}
+			}
+		},
+		"jspm-npm": {
+			"version": "0.30.4",
+			"resolved": "https://registry.npmjs.org/jspm-npm/-/jspm-npm-0.30.4.tgz",
+			"integrity": "sha512-Gx9/HGtbV4igvvAzhI8rGSzUIUIZtIK5kA7yf+5dGqmbD6hUUK29OxhbF7y/xXmpqyJ7iwiEY5vIszT5rPaz+A==",
+			"dev": true,
+			"optional": true,
+			"requires": {
+				"bluebird": "^3.0.5",
+				"buffer-peek-stream": "^1.0.1",
+				"graceful-fs": "^4.1.3",
+				"mkdirp": "^0.5.1",
+				"readdirp": "^2.0.0",
+				"request": "^2.58.0",
+				"semver": "^5.0.1",
+				"tar-fs": "^1.13.0",
+				"traceur": "0.0.105",
+				"which": "^1.1.1"
+			}
+		},
+		"jspm-registry": {
+			"version": "0.4.4",
+			"resolved": "https://registry.npmjs.org/jspm-registry/-/jspm-registry-0.4.4.tgz",
+			"integrity": "sha1-1TFmA1qHzc5YXWK6o5dWhUaZbXA=",
+			"dev": true,
+			"optional": true,
+			"requires": {
+				"graceful-fs": "^4.1.3",
+				"rimraf": "^2.3.2",
+				"rsvp": "^3.0.18",
+				"semver": "^4.3.3"
+			},
+			"dependencies": {
+				"semver": {
+					"version": "4.3.6",
+					"resolved": "http://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
+					"integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=",
+					"dev": true,
+					"optional": true
+				}
+			}
+		},
+		"jsprim": {
+			"version": "1.4.1",
+			"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
+			"integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+			"requires": {
+				"assert-plus": "1.0.0",
+				"extsprintf": "1.3.0",
+				"json-schema": "0.2.3",
+				"verror": "1.10.0"
+			}
+		},
+		"juice": {
+			"version": "4.3.2",
+			"resolved": "https://registry.npmjs.org/juice/-/juice-4.3.2.tgz",
+			"integrity": "sha512-3Qym/RnFoCGa9qrDz6xn4zRnohgI6G87xKWZV+/seF3dYpaVqNS1HijsDef+elGhytRY79RIboOzk0hucLtx6g==",
+			"requires": {
+				"cheerio": "^0.22.0",
+				"commander": "^2.15.1",
+				"cross-spawn": "^5.1.0",
+				"deep-extend": "^0.5.1",
+				"mensch": "^0.3.3",
+				"slick": "^1.12.2",
+				"web-resource-inliner": "^4.2.1"
+			},
+			"dependencies": {
+				"cheerio": {
+					"version": "0.22.0",
 					"resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz",
 					"integrity": "sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=",
 					"requires": {
-						"css-select": "1.2.0",
-						"dom-serializer": "0.1.0",
-						"entities": "1.1.1",
-						"htmlparser2": "3.9.2",
-						"lodash.assignin": "4.2.0",
-						"lodash.bind": "4.2.1",
-						"lodash.defaults": "4.2.0",
-						"lodash.filter": "4.6.0",
-						"lodash.flatten": "4.4.0",
-						"lodash.foreach": "4.5.0",
-						"lodash.map": "4.6.0",
-						"lodash.merge": "4.6.1",
-						"lodash.pick": "4.4.0",
-						"lodash.reduce": "4.6.0",
-						"lodash.reject": "4.6.0",
-						"lodash.some": "4.6.0"
+						"css-select": "~1.2.0",
+						"dom-serializer": "~0.1.0",
+						"entities": "~1.1.1",
+						"htmlparser2": "^3.9.1",
+						"lodash.assignin": "^4.0.9",
+						"lodash.bind": "^4.1.4",
+						"lodash.defaults": "^4.0.1",
+						"lodash.filter": "^4.4.0",
+						"lodash.flatten": "^4.2.0",
+						"lodash.foreach": "^4.3.0",
+						"lodash.map": "^4.4.0",
+						"lodash.merge": "^4.4.0",
+						"lodash.pick": "^4.2.1",
+						"lodash.reduce": "^4.4.0",
+						"lodash.reject": "^4.4.0",
+						"lodash.some": "^4.4.0"
 					}
 				},
 				"cross-spawn": {
@@ -9041,9 +9570,9 @@
 					"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
 					"integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
 					"requires": {
-						"lru-cache": "4.1.3",
-						"shebang-command": "1.2.0",
-						"which": "1.2.14"
+						"lru-cache": "^4.0.1",
+						"shebang-command": "^1.2.0",
+						"which": "^1.2.9"
 					}
 				},
 				"css-select": {
@@ -9051,10 +9580,10 @@
 					"resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz",
 					"integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=",
 					"requires": {
-						"boolbase": "1.0.0",
-						"css-what": "2.1.0",
+						"boolbase": "~1.0.0",
+						"css-what": "2.1",
 						"domutils": "1.5.1",
-						"nth-check": "1.0.1"
+						"nth-check": "~1.0.1"
 					}
 				},
 				"css-what": {
@@ -9072,8 +9601,8 @@
 					"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
 					"integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
 					"requires": {
-						"dom-serializer": "0.1.0",
-						"domelementtype": "1.3.0"
+						"dom-serializer": "0",
+						"domelementtype": "1"
 					}
 				},
 				"htmlparser2": {
@@ -9081,12 +9610,12 @@
 					"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz",
 					"integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=",
 					"requires": {
-						"domelementtype": "1.3.0",
-						"domhandler": "2.3.0",
-						"domutils": "1.5.1",
-						"entities": "1.1.1",
-						"inherits": "2.0.3",
-						"readable-stream": "2.3.6"
+						"domelementtype": "^1.3.0",
+						"domhandler": "^2.3.0",
+						"domutils": "^1.5.1",
+						"entities": "^1.1.1",
+						"inherits": "^2.0.1",
+						"readable-stream": "^2.0.2"
 					}
 				}
 			}
@@ -9098,7 +9627,7 @@
 			"requires": {
 				"buffer-equal-constant-time": "1.0.1",
 				"ecdsa-sig-formatter": "1.0.10",
-				"safe-buffer": "5.1.2"
+				"safe-buffer": "^5.0.1"
 			}
 		},
 		"jws": {
@@ -9106,13 +9635,13 @@
 			"resolved": "https://registry.npmjs.org/jws/-/jws-3.1.5.tgz",
 			"integrity": "sha512-GsCSexFADNQUr8T5HPJvayTjvPIfoyJPtLQBwn5a4WZQchcrPMPMAWcC1AzJVRDKyD6ZPROPAxgv6rfHViO4uQ==",
 			"requires": {
-				"jwa": "1.1.6",
-				"safe-buffer": "5.1.2"
+				"jwa": "^1.1.5",
+				"safe-buffer": "^5.0.1"
 			}
 		},
 		"kew": {
 			"version": "0.7.0",
-			"resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz",
+			"resolved": "http://registry.npmjs.org/kew/-/kew-0.7.0.tgz",
 			"integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=",
 			"dev": true
 		},
@@ -9121,9 +9650,9 @@
 			"resolved": "https://registry.npmjs.org/key-encoder/-/key-encoder-1.1.6.tgz",
 			"integrity": "sha1-ATVYLNPQp+t5LZTso4e2gejloq0=",
 			"requires": {
-				"asn1.js": "2.2.1",
-				"bn.js": "3.3.0",
-				"elliptic": "5.2.1"
+				"asn1.js": "^2.2.0",
+				"bn.js": "^3.1.2",
+				"elliptic": "^5.1.0"
 			},
 			"dependencies": {
 				"asn1.js": {
@@ -9131,9 +9660,9 @@
 					"resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-2.2.1.tgz",
 					"integrity": "sha1-yLpN1o6EQxKIEmIwyyBFvfqfv+E=",
 					"requires": {
-						"bn.js": "2.2.0",
-						"inherits": "2.0.3",
-						"minimalistic-assert": "1.0.1"
+						"bn.js": "^2.0.0",
+						"inherits": "^2.0.1",
+						"minimalistic-assert": "^1.0.0"
 					},
 					"dependencies": {
 						"bn.js": {
@@ -9153,22 +9682,14 @@
 					"resolved": "https://registry.npmjs.org/elliptic/-/elliptic-5.2.1.tgz",
 					"integrity": "sha1-+ilLZWPG3bybo9yFlGh66ECFjxA=",
 					"requires": {
-						"bn.js": "3.3.0",
-						"brorand": "1.1.0",
-						"hash.js": "1.1.5",
-						"inherits": "2.0.3"
+						"bn.js": "^3.1.1",
+						"brorand": "^1.0.1",
+						"hash.js": "^1.0.0",
+						"inherits": "^2.0.1"
 					}
 				}
 			}
 		},
-		"keyv": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz",
-			"integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==",
-			"requires": {
-				"json-buffer": "3.0.0"
-			}
-		},
 		"kind-of": {
 			"version": "6.0.2",
 			"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
@@ -9180,28 +9701,21 @@
 			"integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=",
 			"dev": true,
 			"requires": {
-				"graceful-fs": "4.1.11"
+				"graceful-fs": "^4.1.9"
 			}
 		},
-		"known-css-properties": {
-			"version": "0.6.1",
-			"resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.6.1.tgz",
-			"integrity": "sha512-nQRpMcHm1cQ6gmztdvLcIvxocznSMqH/y6XtERrWrHaymOYdDGroRqetJvJycxGEr1aakXiigDgn7JnzuXlk6A==",
-			"dev": true
-		},
 		"lazy-cache": {
 			"version": "1.0.4",
 			"resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
 			"integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
-			"dev": true,
-			"optional": true
+			"dev": true
 		},
 		"lazystream": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
 			"integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=",
 			"requires": {
-				"readable-stream": "2.3.6"
+				"readable-stream": "^2.0.5"
 			}
 		},
 		"lcid": {
@@ -9209,7 +9723,7 @@
 			"resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
 			"integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
 			"requires": {
-				"invert-kv": "1.0.0"
+				"invert-kv": "^1.0.0"
 			}
 		},
 		"ldap-filter": {
@@ -9233,15 +9747,15 @@
 			"integrity": "sha1-VE/3Ayt7g8aPBwEyjZKXqmlDQPk=",
 			"requires": {
 				"asn1": "0.2.3",
-				"assert-plus": "1.0.0",
-				"backoff": "2.5.0",
-				"bunyan": "1.8.12",
-				"dashdash": "1.14.1",
-				"dtrace-provider": "0.8.7",
+				"assert-plus": "^1.0.0",
+				"backoff": "^2.5.0",
+				"bunyan": "^1.8.3",
+				"dashdash": "^1.14.0",
+				"dtrace-provider": "~0.8",
 				"ldap-filter": "0.2.2",
-				"once": "1.4.0",
-				"vasync": "1.6.4",
-				"verror": "1.10.0"
+				"once": "^1.4.0",
+				"vasync": "^1.6.4",
+				"verror": "^1.8.1"
 			}
 		},
 		"left-pad": {
@@ -9253,14 +9767,14 @@
 			"version": "https://github.com/meteor/less.js/tarball/8130849eb3d7f0ecf0ca8d0af7c4207b0442e3f6",
 			"integrity": "sha512-514pMpzrABW11ploVaRcbHLf3MhollYYCJj9SyJmNT1O8ZeLCiIeqZ2SjZUM1uudohPlHgTRwmCZouzIJFJ7Jw==",
 			"requires": {
-				"errno": "0.1.7",
-				"graceful-fs": "3.0.11",
-				"image-size": "0.3.5",
-				"mime": "1.6.0",
-				"mkdirp": "0.5.1",
-				"promise": "6.1.0",
-				"request": "2.87.0",
-				"source-map": "0.4.4"
+				"errno": "^0.1.1",
+				"graceful-fs": "^3.0.5",
+				"image-size": "~0.3.5",
+				"mime": "^1.2.11",
+				"mkdirp": "^0.5.0",
+				"promise": "^6.0.1",
+				"request": "^2.51.0",
+				"source-map": "^0.4.2"
 			},
 			"dependencies": {
 				"asap": {
@@ -9271,11 +9785,11 @@
 				},
 				"graceful-fs": {
 					"version": "3.0.11",
-					"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
+					"resolved": "http://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
 					"integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=",
 					"optional": true,
 					"requires": {
-						"natives": "1.1.4"
+						"natives": "^1.1.0"
 					}
 				},
 				"image-size": {
@@ -9292,11 +9806,11 @@
 				},
 				"promise": {
 					"version": "6.1.0",
-					"resolved": "https://registry.npmjs.org/promise/-/promise-6.1.0.tgz",
+					"resolved": "http://registry.npmjs.org/promise/-/promise-6.1.0.tgz",
 					"integrity": "sha1-LOcp9rlLRcJoka0GAsXJDgTG7vY=",
 					"optional": true,
 					"requires": {
-						"asap": "1.0.0"
+						"asap": "~1.0.0"
 					}
 				},
 				"source-map": {
@@ -9305,7 +9819,7 @@
 					"integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
 					"optional": true,
 					"requires": {
-						"amdefine": "1.0.1"
+						"amdefine": ">=0.0.4"
 					}
 				}
 			}
@@ -9315,8 +9829,8 @@
 			"resolved": "https://registry.npmjs.org/less-plugin-autoprefix/-/less-plugin-autoprefix-1.5.1.tgz",
 			"integrity": "sha1-vKTlsuSMrGlloXgxQuOzLDwAzgc=",
 			"requires": {
-				"autoprefixer": "6.7.7",
-				"postcss": "5.2.18"
+				"autoprefixer": "^6.0.0",
+				"postcss": "^5.0.0"
 			},
 			"dependencies": {
 				"autoprefixer": {
@@ -9324,44 +9838,77 @@
 					"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz",
 					"integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=",
 					"requires": {
-						"browserslist": "1.7.7",
-						"caniuse-db": "1.0.30000847",
-						"normalize-range": "0.1.2",
-						"num2fraction": "1.2.2",
-						"postcss": "5.2.18",
-						"postcss-value-parser": "3.3.0"
+						"browserslist": "^1.7.6",
+						"caniuse-db": "^1.0.30000634",
+						"normalize-range": "^0.1.2",
+						"num2fraction": "^1.2.2",
+						"postcss": "^5.2.16",
+						"postcss-value-parser": "^3.2.3"
+					}
+				},
+				"has-flag": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+					"integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
+				},
+				"postcss": {
+					"version": "5.2.18",
+					"resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+					"integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
+					"requires": {
+						"chalk": "^1.1.3",
+						"js-base64": "^2.1.9",
+						"source-map": "^0.5.6",
+						"supports-color": "^3.2.3"
+					}
+				},
+				"supports-color": {
+					"version": "3.2.3",
+					"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+					"integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+					"requires": {
+						"has-flag": "^1.0.0"
 					}
 				}
 			}
 		},
+		"leven": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz",
+			"integrity": "sha1-wuep93IJTe6dNCAq6KzORoeHVYA=",
+			"dev": true
+		},
 		"levn": {
 			"version": "0.3.0",
 			"resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
 			"integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
 			"requires": {
-				"prelude-ls": "1.1.2",
-				"type-check": "0.3.2"
+				"prelude-ls": "~1.1.2",
+				"type-check": "~0.3.2"
 			}
 		},
 		"libbase64": {
-			"version": "0.1.0",
-			"resolved": "https://registry.npmjs.org/libbase64/-/libbase64-0.1.0.tgz",
-			"integrity": "sha1-YjUag5VjrF/1vSbxL2Dpgwu3UeY="
+			"version": "1.0.3",
+			"resolved": "https://registry.npmjs.org/libbase64/-/libbase64-1.0.3.tgz",
+			"integrity": "sha512-ULQZAATVGTAgVNwP61R+MbbSGNBy1tVzWupB9kbE6p+VccWd+J+ICXgOwQic5Yqagzpu+oPZ8sI7yXdWJnPPkA=="
 		},
 		"libmime": {
-			"version": "3.1.0",
-			"resolved": "https://registry.npmjs.org/libmime/-/libmime-3.1.0.tgz",
-			"integrity": "sha1-EVAS8WcgUa3IgJqPk5Vf/DZI7fk=",
+			"version": "4.0.1",
+			"resolved": "https://registry.npmjs.org/libmime/-/libmime-4.0.1.tgz",
+			"integrity": "sha512-mGgJLRkpkMxZZYE7ncVXokgKfi5ePrIB1H3W/Bv3GbkVnFydIHTsPrfAVW0edxalQHmFfqDMU9W45PidCLG6DA==",
 			"requires": {
-				"iconv-lite": "0.4.15",
-				"libbase64": "0.1.0",
+				"iconv-lite": "0.4.23",
+				"libbase64": "1.0.3",
 				"libqp": "1.1.0"
 			},
 			"dependencies": {
 				"iconv-lite": {
-					"version": "0.4.15",
-					"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz",
-					"integrity": "sha1-/iZaIYrGpXz+hUkn6dBMGYJe3es="
+					"version": "0.4.23",
+					"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
+					"integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
+					"requires": {
+						"safer-buffer": ">= 2.1.2 < 3"
+					}
 				}
 			}
 		},
@@ -9375,7 +9922,24 @@
 			"resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz",
 			"integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=",
 			"requires": {
-				"immediate": "3.0.6"
+				"immediate": "~3.0.5"
+			}
+		},
+		"liftoff": {
+			"version": "2.5.0",
+			"resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz",
+			"integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=",
+			"dev": true,
+			"optional": true,
+			"requires": {
+				"extend": "^3.0.0",
+				"findup-sync": "^2.0.0",
+				"fined": "^1.0.1",
+				"flagged-respawn": "^1.0.0",
+				"is-plain-object": "^2.0.4",
+				"object.map": "^1.0.0",
+				"rechoir": "^0.6.2",
+				"resolve": "^1.1.7"
 			}
 		},
 		"linkify-it": {
@@ -9383,7 +9947,7 @@
 			"resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.0.3.tgz",
 			"integrity": "sha1-2UpGSPmxwXnWT6lykSaL22zpQ08=",
 			"requires": {
-				"uc.micro": "1.0.5"
+				"uc.micro": "^1.0.1"
 			}
 		},
 		"load-json-file": {
@@ -9392,10 +9956,10 @@
 			"integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
 			"dev": true,
 			"requires": {
-				"graceful-fs": "4.1.11",
-				"parse-json": "4.0.0",
-				"pify": "3.0.0",
-				"strip-bom": "3.0.0"
+				"graceful-fs": "^4.1.2",
+				"parse-json": "^4.0.0",
+				"pify": "^3.0.0",
+				"strip-bom": "^3.0.0"
 			}
 		},
 		"loader-utils": {
@@ -9403,9 +9967,9 @@
 			"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
 			"integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
 			"requires": {
-				"big.js": "3.2.0",
-				"emojis-list": "2.1.0",
-				"json5": "0.5.1"
+				"big.js": "^3.1.3",
+				"emojis-list": "^2.0.0",
+				"json5": "^0.5.0"
 			},
 			"dependencies": {
 				"json5": {
@@ -9416,9 +9980,9 @@
 			}
 		},
 		"localforage": {
-			"version": "1.7.1",
-			"resolved": "https://registry.npmjs.org/localforage/-/localforage-1.7.1.tgz",
-			"integrity": "sha1-5JJ+BCMCuGTbMPMhHxO1xvDell0=",
+			"version": "1.7.3",
+			"resolved": "https://registry.npmjs.org/localforage/-/localforage-1.7.3.tgz",
+			"integrity": "sha512-1TulyYfc4udS7ECSBT2vwJksWbkwwTX8BzeUIiq8Y07Riy7bDAAnxDaPU/tWyOVmQAcWJIEIFP9lPfBGqVoPgQ==",
 			"requires": {
 				"lie": "3.1.1"
 			}
@@ -9429,8 +9993,8 @@
 			"integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
 			"dev": true,
 			"requires": {
-				"p-locate": "2.0.0",
-				"path-exists": "3.0.0"
+				"p-locate": "^2.0.0",
+				"path-exists": "^3.0.0"
 			},
 			"dependencies": {
 				"path-exists": {
@@ -9568,8 +10132,8 @@
 			"integrity": "sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A=",
 			"dev": true,
 			"requires": {
-				"lodash._reinterpolate": "3.0.0",
-				"lodash.templatesettings": "4.1.0"
+				"lodash._reinterpolate": "~3.0.0",
+				"lodash.templatesettings": "^4.0.0"
 			}
 		},
 		"lodash.templatesettings": {
@@ -9578,7 +10142,7 @@
 			"integrity": "sha1-K01OlbpEDZFf8IvImeRVNmZxMxY=",
 			"dev": true,
 			"requires": {
-				"lodash._reinterpolate": "3.0.0"
+				"lodash._reinterpolate": "~3.0.0"
 			}
 		},
 		"lodash.unescape": {
@@ -9597,7 +10161,7 @@
 			"integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
 			"dev": true,
 			"requires": {
-				"chalk": "2.4.1"
+				"chalk": "^2.0.1"
 			},
 			"dependencies": {
 				"ansi-styles": {
@@ -9606,7 +10170,7 @@
 					"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
 					"dev": true,
 					"requires": {
-						"color-convert": "1.9.1"
+						"color-convert": "^1.9.0"
 					}
 				},
 				"chalk": {
@@ -9615,9 +10179,9 @@
 					"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
 					"dev": true,
 					"requires": {
-						"ansi-styles": "3.2.1",
-						"escape-string-regexp": "1.0.5",
-						"supports-color": "5.4.0"
+						"ansi-styles": "^3.2.1",
+						"escape-string-regexp": "^1.0.5",
+						"supports-color": "^5.3.0"
 					}
 				},
 				"has-flag": {
@@ -9632,7 +10196,7 @@
 					"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
 					"dev": true,
 					"requires": {
-						"has-flag": "3.0.0"
+						"has-flag": "^3.0.0"
 					}
 				}
 			}
@@ -9670,7 +10234,7 @@
 			"integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
 			"dev": true,
 			"requires": {
-				"js-tokens": "3.0.2"
+				"js-tokens": "^3.0.0"
 			}
 		},
 		"loud-rejection": {
@@ -9679,8 +10243,8 @@
 			"integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
 			"dev": true,
 			"requires": {
-				"currently-unhandled": "0.4.1",
-				"signal-exit": "3.0.2"
+				"currently-unhandled": "^0.4.1",
+				"signal-exit": "^3.0.0"
 			}
 		},
 		"lower-case": {
@@ -9689,96 +10253,44 @@
 			"integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=",
 			"dev": true
 		},
-		"lowercase-keys": {
-			"version": "1.0.1",
-			"resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
-			"integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA=="
-		},
 		"lru-cache": {
 			"version": "4.1.3",
 			"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
 			"integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==",
 			"requires": {
-				"pseudomap": "1.0.2",
-				"yallist": "2.1.2"
+				"pseudomap": "^1.0.2",
+				"yallist": "^2.1.2"
 			}
 		},
+		"macos-release": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/macos-release/-/macos-release-1.1.0.tgz",
+			"integrity": "sha512-mmLbumEYMi5nXReB9js3WGsB8UE6cDBWyIO62Z4DNx6GbRhDxHNjA1MlzSpJ2S2KM1wyiPRA0d19uHWYYvMHjA==",
+			"dev": true
+		},
 		"mailparser": {
-			"version": "2.2.0",
-			"resolved": "https://registry.npmjs.org/mailparser/-/mailparser-2.2.0.tgz",
-			"integrity": "sha512-HVaPa+5xQtG3CQ5SUxbDuJMRnDANC8WllUKXHm46v0tKu3I4YaUlBxg4Lpkvf+qF+kOn0lGcnQgvM6xY5mYALw==",
+			"version": "2.4.0",
+			"resolved": "https://registry.npmjs.org/mailparser/-/mailparser-2.4.0.tgz",
+			"integrity": "sha512-cx5yEzfNsDM4qXCHZtBbzWQj20VOFxJG3aLbzZwVWoD95W2QpGtBu/oO8SxPRkwrPVhW7c1rMVRpRHMQrxasHw==",
 			"requires": {
-				"addressparser": "1.0.1",
-				"he": "1.1.1",
-				"html-to-text": "3.3.0",
-				"iconv-lite": "0.4.19",
-				"libmime": "3.1.0",
+				"he": "1.2.0",
+				"html-to-text": "4.0.0",
+				"iconv-lite": "0.4.24",
+				"libmime": "4.0.1",
 				"linkify-it": "2.0.3",
-				"mailsplit": "4.1.2",
-				"tlds": "1.199.0"
-			},
-			"dependencies": {
-				"domutils": {
-					"version": "1.7.0",
-					"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
-					"integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==",
-					"requires": {
-						"dom-serializer": "0.1.0",
-						"domelementtype": "1.3.0"
-					}
-				},
-				"html-to-text": {
-					"version": "3.3.0",
-					"resolved": "https://registry.npmjs.org/html-to-text/-/html-to-text-3.3.0.tgz",
-					"integrity": "sha1-aptjxpm4hbt7qEsURr/mh2u/z7c=",
-					"requires": {
-						"he": "1.1.1",
-						"htmlparser2": "3.9.2",
-						"optimist": "0.6.1",
-						"underscore": "1.9.1",
-						"underscore.string": "3.3.4"
-					}
-				},
-				"htmlparser2": {
-					"version": "3.9.2",
-					"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz",
-					"integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=",
-					"requires": {
-						"domelementtype": "1.3.0",
-						"domhandler": "2.3.0",
-						"domutils": "1.7.0",
-						"entities": "1.1.1",
-						"inherits": "2.0.3",
-						"readable-stream": "2.3.6"
-					}
-				},
-				"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=="
-				},
-				"tlds": {
-					"version": "1.199.0",
-					"resolved": "https://registry.npmjs.org/tlds/-/tlds-1.199.0.tgz",
-					"integrity": "sha512-NM0jUhibJjEX4g0+1ETxOhuODIDpyvCC0A2BjxrTfMUMZ+uRZc6ZnJl9SmFtAW1s5iQgQIxezFpUij6/6OiRbg=="
-				}
+				"mailsplit": "4.2.3",
+				"nodemailer": "4.6.8",
+				"tlds": "1.203.1"
 			}
 		},
 		"mailsplit": {
-			"version": "4.1.2",
-			"resolved": "https://registry.npmjs.org/mailsplit/-/mailsplit-4.1.2.tgz",
-			"integrity": "sha512-5UWjUfhKlC4OR5PqZKcl4h7vnz2EP4M3Zg2SBbrztvAYX5lM/rA7tvaXkZ6zRcvK32Uul0GkRA037icDbiJIOw==",
+			"version": "4.2.3",
+			"resolved": "https://registry.npmjs.org/mailsplit/-/mailsplit-4.2.3.tgz",
+			"integrity": "sha512-CUkG/oPxkEvxnabenVglfwsx5nB7lwNaL0i4kI00h870sQW8BJWamkqUqkPpDBDQYb38Y0OFmt9BIG/UWoEtxQ==",
 			"requires": {
-				"libbase64": "1.0.2",
-				"libmime": "3.1.0",
+				"libbase64": "1.0.3",
+				"libmime": "4.0.1",
 				"libqp": "1.1.0"
-			},
-			"dependencies": {
-				"libbase64": {
-					"version": "1.0.2",
-					"resolved": "https://registry.npmjs.org/libbase64/-/libbase64-1.0.2.tgz",
-					"integrity": "sha512-CyPjvTFbsGps2Sdvy9GVjSRPvUGpji8Hxb+iunp466guzxcd3QaK0k8Hur1sPkgD9FonW8V1z2F1y066YiliEg=="
-				}
 			}
 		},
 		"make-dir": {
@@ -9786,7 +10298,27 @@
 			"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
 			"integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
 			"requires": {
-				"pify": "3.0.0"
+				"pify": "^3.0.0"
+			}
+		},
+		"make-iterator": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
+			"integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==",
+			"dev": true,
+			"optional": true,
+			"requires": {
+				"kind-of": "^6.0.2"
+			}
+		},
+		"makeerror": {
+			"version": "1.0.11",
+			"resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz",
+			"integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=",
+			"dev": true,
+			"optional": true,
+			"requires": {
+				"tmpl": "1.0.x"
 			}
 		},
 		"map-cache": {
@@ -9805,7 +10337,7 @@
 			"resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
 			"integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
 			"requires": {
-				"object-visit": "1.0.1"
+				"object-visit": "^1.0.0"
 			}
 		},
 		"markdown-escapes": {
@@ -9842,8 +10374,8 @@
 			"resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz",
 			"integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=",
 			"requires": {
-				"hash-base": "3.0.4",
-				"inherits": "2.0.3"
+				"hash-base": "^3.0.0",
+				"inherits": "^2.0.1"
 			}
 		},
 		"mdast-util-compact": {
@@ -9852,13 +10384,13 @@
 			"integrity": "sha1-zbX4TitqLTEU3zO9BdnLMuPECDo=",
 			"dev": true,
 			"requires": {
-				"unist-util-modify-children": "1.1.2",
-				"unist-util-visit": "1.3.1"
+				"unist-util-modify-children": "^1.0.0",
+				"unist-util-visit": "^1.1.0"
 			}
 		},
 		"media-typer": {
 			"version": "0.3.0",
-			"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+			"resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
 			"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
 		},
 		"mensch": {
@@ -9872,20 +10404,20 @@
 			"integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==",
 			"dev": true,
 			"requires": {
-				"camelcase-keys": "4.2.0",
-				"decamelize-keys": "1.1.0",
-				"loud-rejection": "1.6.0",
-				"minimist": "1.2.0",
-				"minimist-options": "3.0.2",
-				"normalize-package-data": "2.4.0",
-				"read-pkg-up": "3.0.0",
-				"redent": "2.0.0",
-				"trim-newlines": "2.0.0"
+				"camelcase-keys": "^4.0.0",
+				"decamelize-keys": "^1.0.0",
+				"loud-rejection": "^1.0.0",
+				"minimist": "^1.1.3",
+				"minimist-options": "^3.0.1",
+				"normalize-package-data": "^2.3.4",
+				"read-pkg-up": "^3.0.0",
+				"redent": "^2.0.0",
+				"trim-newlines": "^2.0.0"
 			},
 			"dependencies": {
 				"minimist": {
 					"version": "1.2.0",
-					"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+					"resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
 					"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
 					"dev": true
 				},
@@ -9895,9 +10427,9 @@
 					"integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
 					"dev": true,
 					"requires": {
-						"load-json-file": "4.0.0",
-						"normalize-package-data": "2.4.0",
-						"path-type": "3.0.0"
+						"load-json-file": "^4.0.0",
+						"normalize-package-data": "^2.3.2",
+						"path-type": "^3.0.0"
 					}
 				},
 				"read-pkg-up": {
@@ -9906,16 +10438,16 @@
 					"integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=",
 					"dev": true,
 					"requires": {
-						"find-up": "2.1.0",
-						"read-pkg": "3.0.0"
+						"find-up": "^2.0.0",
+						"read-pkg": "^3.0.0"
 					}
 				}
 			}
 		},
 		"merge": {
-			"version": "1.2.0",
-			"resolved": "https://registry.npmjs.org/merge/-/merge-1.2.0.tgz",
-			"integrity": "sha1-dTHjnUlJwoGma4xabgJl6LBYlNo="
+			"version": "1.2.1",
+			"resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz",
+			"integrity": "sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ=="
 		},
 		"merge-descriptors": {
 			"version": "1.0.1",
@@ -9937,28 +10469,28 @@
 			"resolved": "https://registry.npmjs.org/meteor-node-stubs/-/meteor-node-stubs-0.3.3.tgz",
 			"integrity": "sha512-TI1aQRK0vqs94OCkUMkmf5lXNWfIsjSaEDP1inUuwRGt9w8/S2V+HdRikz9r1k/gew+7NcJieaqHsHX7pSTEgA==",
 			"requires": {
-				"assert": "1.4.1",
-				"browserify-zlib": "0.1.4",
-				"buffer": "4.9.1",
-				"console-browserify": "1.1.0",
-				"constants-browserify": "1.0.0",
-				"crypto-browserify": "3.12.0",
-				"domain-browser": "1.2.0",
-				"events": "1.1.1",
+				"assert": "^1.4.1",
+				"browserify-zlib": "^0.1.4",
+				"buffer": "^4.9.1",
+				"console-browserify": "^1.1.0",
+				"constants-browserify": "^1.0.0",
+				"crypto-browserify": "^3.11.0",
+				"domain-browser": "^1.1.7",
+				"events": "^1.1.1",
 				"https-browserify": "0.0.1",
-				"os-browserify": "0.2.1",
+				"os-browserify": "^0.2.1",
 				"path-browserify": "0.0.0",
-				"process": "0.11.10",
-				"punycode": "1.4.1",
-				"querystring-es3": "0.2.1",
+				"process": "^0.11.9",
+				"punycode": "^1.4.1",
+				"querystring-es3": "^0.2.1",
 				"readable-stream": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12",
-				"stream-browserify": "2.0.1",
-				"stream-http": "2.8.0",
-				"string_decoder": "1.1.0",
-				"timers-browserify": "1.4.2",
+				"stream-browserify": "^2.0.1",
+				"stream-http": "^2.8.0",
+				"string_decoder": "^1.1.0",
+				"timers-browserify": "^1.4.2",
 				"tty-browserify": "0.0.0",
-				"url": "0.11.0",
-				"util": "0.10.3",
+				"url": "^0.11.0",
+				"util": "^0.10.3",
 				"vm-browserify": "0.0.4"
 			},
 			"dependencies": {
@@ -9967,9 +10499,9 @@
 					"resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
 					"integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
 					"requires": {
-						"bn.js": "4.11.8",
-						"inherits": "2.0.1",
-						"minimalistic-assert": "1.0.0"
+						"bn.js": "^4.0.0",
+						"inherits": "^2.0.1",
+						"minimalistic-assert": "^1.0.0"
 					}
 				},
 				"assert": {
@@ -10000,7 +10532,7 @@
 					"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
 					"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
 					"requires": {
-						"balanced-match": "1.0.0",
+						"balanced-match": "^1.0.0",
 						"concat-map": "0.0.1"
 					}
 				},
@@ -10014,12 +10546,12 @@
 					"resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz",
 					"integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==",
 					"requires": {
-						"buffer-xor": "1.0.3",
-						"cipher-base": "1.0.4",
-						"create-hash": "1.1.3",
-						"evp_bytestokey": "1.0.3",
-						"inherits": "2.0.1",
-						"safe-buffer": "5.1.1"
+						"buffer-xor": "^1.0.3",
+						"cipher-base": "^1.0.0",
+						"create-hash": "^1.1.0",
+						"evp_bytestokey": "^1.0.3",
+						"inherits": "^2.0.1",
+						"safe-buffer": "^5.0.1"
 					}
 				},
 				"browserify-cipher": {
@@ -10027,9 +10559,9 @@
 					"resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz",
 					"integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=",
 					"requires": {
-						"browserify-aes": "1.1.1",
-						"browserify-des": "1.0.0",
-						"evp_bytestokey": "1.0.3"
+						"browserify-aes": "^1.0.4",
+						"browserify-des": "^1.0.0",
+						"evp_bytestokey": "^1.0.0"
 					}
 				},
 				"browserify-des": {
@@ -10037,9 +10569,9 @@
 					"resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz",
 					"integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=",
 					"requires": {
-						"cipher-base": "1.0.4",
-						"des.js": "1.0.0",
-						"inherits": "2.0.1"
+						"cipher-base": "^1.0.1",
+						"des.js": "^1.0.0",
+						"inherits": "^2.0.1"
 					}
 				},
 				"browserify-rsa": {
@@ -10047,8 +10579,8 @@
 					"resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
 					"integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
 					"requires": {
-						"bn.js": "4.11.8",
-						"randombytes": "2.0.6"
+						"bn.js": "^4.1.0",
+						"randombytes": "^2.0.1"
 					}
 				},
 				"browserify-sign": {
@@ -10056,13 +10588,13 @@
 					"resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
 					"integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
 					"requires": {
-						"bn.js": "4.11.8",
-						"browserify-rsa": "4.0.1",
-						"create-hash": "1.1.3",
-						"create-hmac": "1.1.6",
-						"elliptic": "6.4.0",
-						"inherits": "2.0.1",
-						"parse-asn1": "5.1.0"
+						"bn.js": "^4.1.1",
+						"browserify-rsa": "^4.0.0",
+						"create-hash": "^1.1.0",
+						"create-hmac": "^1.1.2",
+						"elliptic": "^6.0.0",
+						"inherits": "^2.0.1",
+						"parse-asn1": "^5.0.0"
 					}
 				},
 				"browserify-zlib": {
@@ -10070,7 +10602,7 @@
 					"resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz",
 					"integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=",
 					"requires": {
-						"pako": "0.2.9"
+						"pako": "~0.2.0"
 					}
 				},
 				"buffer": {
@@ -10078,9 +10610,9 @@
 					"resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
 					"integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
 					"requires": {
-						"base64-js": "1.2.3",
-						"ieee754": "1.1.8",
-						"isarray": "1.0.0"
+						"base64-js": "^1.0.2",
+						"ieee754": "^1.1.4",
+						"isarray": "^1.0.0"
 					}
 				},
 				"buffer-xor": {
@@ -10098,8 +10630,8 @@
 					"resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
 					"integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
 					"requires": {
-						"inherits": "2.0.1",
-						"safe-buffer": "5.1.1"
+						"inherits": "^2.0.1",
+						"safe-buffer": "^5.0.1"
 					}
 				},
 				"concat-map": {
@@ -10112,7 +10644,7 @@
 					"resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
 					"integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
 					"requires": {
-						"date-now": "0.1.4"
+						"date-now": "^0.1.4"
 					}
 				},
 				"constants-browserify": {
@@ -10125,8 +10657,8 @@
 					"resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz",
 					"integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=",
 					"requires": {
-						"bn.js": "4.11.8",
-						"elliptic": "6.4.0"
+						"bn.js": "^4.1.0",
+						"elliptic": "^6.0.0"
 					}
 				},
 				"create-hash": {
@@ -10134,10 +10666,10 @@
 					"resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz",
 					"integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=",
 					"requires": {
-						"cipher-base": "1.0.4",
-						"inherits": "2.0.1",
-						"ripemd160": "2.0.1",
-						"sha.js": "2.4.10"
+						"cipher-base": "^1.0.1",
+						"inherits": "^2.0.1",
+						"ripemd160": "^2.0.0",
+						"sha.js": "^2.4.0"
 					}
 				},
 				"create-hmac": {
@@ -10145,12 +10677,12 @@
 					"resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz",
 					"integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=",
 					"requires": {
-						"cipher-base": "1.0.4",
-						"create-hash": "1.1.3",
-						"inherits": "2.0.1",
-						"ripemd160": "2.0.1",
-						"safe-buffer": "5.1.1",
-						"sha.js": "2.4.10"
+						"cipher-base": "^1.0.3",
+						"create-hash": "^1.1.0",
+						"inherits": "^2.0.1",
+						"ripemd160": "^2.0.0",
+						"safe-buffer": "^5.0.1",
+						"sha.js": "^2.4.8"
 					}
 				},
 				"crypto-browserify": {
@@ -10158,17 +10690,17 @@
 					"resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
 					"integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
 					"requires": {
-						"browserify-cipher": "1.0.0",
-						"browserify-sign": "4.0.4",
-						"create-ecdh": "4.0.0",
-						"create-hash": "1.1.3",
-						"create-hmac": "1.1.6",
-						"diffie-hellman": "5.0.2",
-						"inherits": "2.0.1",
-						"pbkdf2": "3.0.14",
-						"public-encrypt": "4.0.0",
-						"randombytes": "2.0.6",
-						"randomfill": "1.0.4"
+						"browserify-cipher": "^1.0.0",
+						"browserify-sign": "^4.0.0",
+						"create-ecdh": "^4.0.0",
+						"create-hash": "^1.1.0",
+						"create-hmac": "^1.1.0",
+						"diffie-hellman": "^5.0.0",
+						"inherits": "^2.0.1",
+						"pbkdf2": "^3.0.3",
+						"public-encrypt": "^4.0.0",
+						"randombytes": "^2.0.0",
+						"randomfill": "^1.0.3"
 					}
 				},
 				"date-now": {
@@ -10181,8 +10713,8 @@
 					"resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
 					"integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=",
 					"requires": {
-						"inherits": "2.0.1",
-						"minimalistic-assert": "1.0.0"
+						"inherits": "^2.0.1",
+						"minimalistic-assert": "^1.0.0"
 					}
 				},
 				"diffie-hellman": {
@@ -10190,9 +10722,9 @@
 					"resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz",
 					"integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=",
 					"requires": {
-						"bn.js": "4.11.8",
-						"miller-rabin": "4.0.1",
-						"randombytes": "2.0.6"
+						"bn.js": "^4.1.0",
+						"miller-rabin": "^4.0.0",
+						"randombytes": "^2.0.0"
 					}
 				},
 				"domain-browser": {
@@ -10205,13 +10737,13 @@
 					"resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz",
 					"integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=",
 					"requires": {
-						"bn.js": "4.11.8",
-						"brorand": "1.1.0",
-						"hash.js": "1.1.3",
-						"hmac-drbg": "1.0.1",
-						"inherits": "2.0.1",
-						"minimalistic-assert": "1.0.0",
-						"minimalistic-crypto-utils": "1.0.1"
+						"bn.js": "^4.4.0",
+						"brorand": "^1.0.1",
+						"hash.js": "^1.0.0",
+						"hmac-drbg": "^1.0.0",
+						"inherits": "^2.0.1",
+						"minimalistic-assert": "^1.0.0",
+						"minimalistic-crypto-utils": "^1.0.0"
 					}
 				},
 				"events": {
@@ -10224,8 +10756,8 @@
 					"resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
 					"integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
 					"requires": {
-						"md5.js": "1.3.4",
-						"safe-buffer": "5.1.1"
+						"md5.js": "^1.3.4",
+						"safe-buffer": "^5.1.1"
 					}
 				},
 				"fs.realpath": {
@@ -10238,12 +10770,12 @@
 					"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
 					"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
 					"requires": {
-						"fs.realpath": "1.0.0",
-						"inflight": "1.0.6",
-						"inherits": "2.0.1",
-						"minimatch": "3.0.4",
-						"once": "1.4.0",
-						"path-is-absolute": "1.0.1"
+						"fs.realpath": "^1.0.0",
+						"inflight": "^1.0.4",
+						"inherits": "2",
+						"minimatch": "^3.0.4",
+						"once": "^1.3.0",
+						"path-is-absolute": "^1.0.0"
 					}
 				},
 				"hash-base": {
@@ -10251,7 +10783,7 @@
 					"resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz",
 					"integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=",
 					"requires": {
-						"inherits": "2.0.1"
+						"inherits": "^2.0.1"
 					}
 				},
 				"hash.js": {
@@ -10259,8 +10791,8 @@
 					"resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz",
 					"integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==",
 					"requires": {
-						"inherits": "2.0.3",
-						"minimalistic-assert": "1.0.0"
+						"inherits": "^2.0.3",
+						"minimalistic-assert": "^1.0.0"
 					},
 					"dependencies": {
 						"inherits": {
@@ -10275,9 +10807,9 @@
 					"resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
 					"integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
 					"requires": {
-						"hash.js": "1.1.3",
-						"minimalistic-assert": "1.0.0",
-						"minimalistic-crypto-utils": "1.0.1"
+						"hash.js": "^1.0.3",
+						"minimalistic-assert": "^1.0.0",
+						"minimalistic-crypto-utils": "^1.0.1"
 					}
 				},
 				"https-browserify": {
@@ -10300,8 +10832,8 @@
 					"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
 					"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
 					"requires": {
-						"once": "1.4.0",
-						"wrappy": "1.0.2"
+						"once": "^1.3.0",
+						"wrappy": "1"
 					}
 				},
 				"inherits": {
@@ -10319,8 +10851,8 @@
 					"resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz",
 					"integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=",
 					"requires": {
-						"hash-base": "3.0.4",
-						"inherits": "2.0.1"
+						"hash-base": "^3.0.0",
+						"inherits": "^2.0.1"
 					},
 					"dependencies": {
 						"hash-base": {
@@ -10328,8 +10860,8 @@
 							"resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
 							"integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
 							"requires": {
-								"inherits": "2.0.1",
-								"safe-buffer": "5.1.1"
+								"inherits": "^2.0.1",
+								"safe-buffer": "^5.0.1"
 							}
 						}
 					}
@@ -10339,8 +10871,8 @@
 					"resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
 					"integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
 					"requires": {
-						"bn.js": "4.11.8",
-						"brorand": "1.1.0"
+						"bn.js": "^4.0.0",
+						"brorand": "^1.0.1"
 					}
 				},
 				"minimalistic-assert": {
@@ -10358,7 +10890,7 @@
 					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
 					"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
 					"requires": {
-						"brace-expansion": "1.1.11"
+						"brace-expansion": "^1.1.7"
 					}
 				},
 				"once": {
@@ -10366,7 +10898,7 @@
 					"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
 					"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
 					"requires": {
-						"wrappy": "1.0.2"
+						"wrappy": "1"
 					}
 				},
 				"os-browserify": {
@@ -10384,11 +10916,11 @@
 					"resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz",
 					"integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=",
 					"requires": {
-						"asn1.js": "4.10.1",
-						"browserify-aes": "1.1.1",
-						"create-hash": "1.1.3",
-						"evp_bytestokey": "1.0.3",
-						"pbkdf2": "3.0.14"
+						"asn1.js": "^4.0.0",
+						"browserify-aes": "^1.0.0",
+						"create-hash": "^1.1.0",
+						"evp_bytestokey": "^1.0.0",
+						"pbkdf2": "^3.0.3"
 					}
 				},
 				"path-browserify": {
@@ -10406,11 +10938,11 @@
 					"resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz",
 					"integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==",
 					"requires": {
-						"create-hash": "1.1.3",
-						"create-hmac": "1.1.6",
-						"ripemd160": "2.0.1",
-						"safe-buffer": "5.1.1",
-						"sha.js": "2.4.10"
+						"create-hash": "^1.1.2",
+						"create-hmac": "^1.1.4",
+						"ripemd160": "^2.0.1",
+						"safe-buffer": "^5.0.1",
+						"sha.js": "^2.4.8"
 					}
 				},
 				"process": {
@@ -10428,11 +10960,11 @@
 					"resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz",
 					"integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=",
 					"requires": {
-						"bn.js": "4.11.8",
-						"browserify-rsa": "4.0.1",
-						"create-hash": "1.1.3",
-						"parse-asn1": "5.1.0",
-						"randombytes": "2.0.6"
+						"bn.js": "^4.1.0",
+						"browserify-rsa": "^4.0.0",
+						"create-hash": "^1.1.0",
+						"parse-asn1": "^5.0.0",
+						"randombytes": "^2.0.1"
 					}
 				},
 				"punycode": {
@@ -10455,7 +10987,7 @@
 					"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz",
 					"integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==",
 					"requires": {
-						"safe-buffer": "5.1.1"
+						"safe-buffer": "^5.1.0"
 					}
 				},
 				"randomfill": {
@@ -10463,19 +10995,20 @@
 					"resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
 					"integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
 					"requires": {
-						"randombytes": "2.0.6",
-						"safe-buffer": "5.1.1"
+						"randombytes": "^2.0.5",
+						"safe-buffer": "^5.1.0"
 					}
 				},
 				"readable-stream": {
 					"version": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12",
-					"requires": {
-						"inherits": "2.0.3",
-						"isarray": "1.0.0",
-						"process-nextick-args": "2.0.0",
-						"safe-buffer": "5.1.1",
-						"string_decoder": "1.1.0",
-						"util-deprecate": "1.0.2"
+					"from": "readable-stream@git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12",
+					"requires": {
+						"inherits": "~2.0.3",
+						"isarray": "~1.0.0",
+						"process-nextick-args": "~2.0.0",
+						"safe-buffer": "~5.1.1",
+						"string_decoder": "~1.1.0",
+						"util-deprecate": "~1.0.1"
 					},
 					"dependencies": {
 						"inherits": {
@@ -10490,7 +11023,7 @@
 					"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
 					"integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
 					"requires": {
-						"glob": "7.1.2"
+						"glob": "^7.0.5"
 					}
 				},
 				"ripemd160": {
@@ -10498,8 +11031,8 @@
 					"resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz",
 					"integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=",
 					"requires": {
-						"hash-base": "2.0.2",
-						"inherits": "2.0.1"
+						"hash-base": "^2.0.0",
+						"inherits": "^2.0.1"
 					}
 				},
 				"safe-buffer": {
@@ -10512,8 +11045,8 @@
 					"resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz",
 					"integrity": "sha512-vnwmrFDlOExK4Nm16J2KMWHLrp14lBrjxMxBJpu++EnsuBmpiYaM/MEs46Vxxm/4FvdP5yTwuCTO9it5FSjrqA==",
 					"requires": {
-						"inherits": "2.0.1",
-						"safe-buffer": "5.1.1"
+						"inherits": "^2.0.1",
+						"safe-buffer": "^5.0.1"
 					}
 				},
 				"stream-browserify": {
@@ -10521,8 +11054,39 @@
 					"resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz",
 					"integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=",
 					"requires": {
-						"inherits": "2.0.1",
-						"readable-stream": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12"
+						"inherits": "~2.0.1",
+						"readable-stream": "^2.0.2"
+					},
+					"dependencies": {
+						"readable-stream": {
+							"version": "2.3.6",
+							"resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+							"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+							"requires": {
+								"core-util-is": "~1.0.0",
+								"inherits": "~2.0.3",
+								"isarray": "~1.0.0",
+								"process-nextick-args": "~2.0.0",
+								"safe-buffer": "~5.1.1",
+								"string_decoder": "~1.1.1",
+								"util-deprecate": "~1.0.1"
+							},
+							"dependencies": {
+								"inherits": {
+									"version": "2.0.3",
+									"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+									"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+								}
+							}
+						},
+						"string_decoder": {
+							"version": "1.1.1",
+							"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+							"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+							"requires": {
+								"safe-buffer": "~5.1.0"
+							}
+						}
 					}
 				},
 				"stream-http": {
@@ -10530,11 +11094,42 @@
 					"resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.0.tgz",
 					"integrity": "sha512-sZOFxI/5xw058XIRHl4dU3dZ+TTOIGJR78Dvo0oEAejIt4ou27k+3ne1zYmCV+v7UucbxIFQuOgnkTVHh8YPnw==",
 					"requires": {
-						"builtin-status-codes": "3.0.0",
-						"inherits": "2.0.1",
-						"readable-stream": "git+https://github.com/meteor/readable-stream.git#c688cdd193549919b840e8d72a86682d91961e12",
-						"to-arraybuffer": "1.0.1",
-						"xtend": "4.0.1"
+						"builtin-status-codes": "^3.0.0",
+						"inherits": "^2.0.1",
+						"readable-stream": "^2.3.3",
+						"to-arraybuffer": "^1.0.0",
+						"xtend": "^4.0.0"
+					},
+					"dependencies": {
+						"readable-stream": {
+							"version": "2.3.6",
+							"resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+							"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+							"requires": {
+								"core-util-is": "~1.0.0",
+								"inherits": "~2.0.3",
+								"isarray": "~1.0.0",
+								"process-nextick-args": "~2.0.0",
+								"safe-buffer": "~5.1.1",
+								"string_decoder": "~1.1.1",
+								"util-deprecate": "~1.0.1"
+							},
+							"dependencies": {
+								"inherits": {
+									"version": "2.0.3",
+									"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+									"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+								}
+							}
+						},
+						"string_decoder": {
+							"version": "1.1.1",
+							"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+							"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+							"requires": {
+								"safe-buffer": "~5.1.0"
+							}
+						}
 					}
 				},
 				"string_decoder": {
@@ -10542,7 +11137,7 @@
 					"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.0.tgz",
 					"integrity": "sha512-8zQpRF6juocE69ae7CSPmYEGJe4VCXwP6S6dxUWI7i53Gwv54/ec41fiUA+X7BPGGv7fRSQJjBQVa0gomGaOgg==",
 					"requires": {
-						"safe-buffer": "5.1.1"
+						"safe-buffer": "~5.1.0"
 					}
 				},
 				"timers-browserify": {
@@ -10550,7 +11145,7 @@
 					"resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz",
 					"integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=",
 					"requires": {
-						"process": "0.11.10"
+						"process": "~0.11.0"
 					}
 				},
 				"to-arraybuffer": {
@@ -10629,9 +11224,9 @@
 			"integrity": "sha1-49r41d7hDdLc59SuiNYrvud0drQ=",
 			"requires": {
 				"debug": "2.6.9",
-				"methods": "1.1.2",
-				"parseurl": "1.3.2",
-				"vary": "1.1.2"
+				"methods": "~1.1.2",
+				"parseurl": "~1.3.2",
+				"vary": "~1.1.2"
 			},
 			"dependencies": {
 				"vary": {
@@ -10651,19 +11246,19 @@
 			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
 			"integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
 			"requires": {
-				"arr-diff": "4.0.0",
-				"array-unique": "0.3.2",
-				"braces": "2.3.2",
-				"define-property": "2.0.2",
-				"extend-shallow": "3.0.2",
-				"extglob": "2.0.4",
-				"fragment-cache": "0.2.1",
-				"kind-of": "6.0.2",
-				"nanomatch": "1.2.9",
-				"object.pick": "1.3.0",
-				"regex-not": "1.0.2",
-				"snapdragon": "0.8.2",
-				"to-regex": "3.0.2"
+				"arr-diff": "^4.0.0",
+				"array-unique": "^0.3.2",
+				"braces": "^2.3.1",
+				"define-property": "^2.0.2",
+				"extend-shallow": "^3.0.2",
+				"extglob": "^2.0.4",
+				"fragment-cache": "^0.2.1",
+				"kind-of": "^6.0.2",
+				"nanomatch": "^1.2.9",
+				"object.pick": "^1.3.0",
+				"regex-not": "^1.0.0",
+				"snapdragon": "^0.8.1",
+				"to-regex": "^3.0.2"
 			}
 		},
 		"mime": {
@@ -10672,19 +11267,19 @@
 			"integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg=="
 		},
 		"mime-db": {
-			"version": "1.34.0",
-			"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.34.0.tgz",
-			"integrity": "sha1-RS0Oz/XDA0am3B5kseruDTcZ/5o="
+			"version": "1.37.0",
+			"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz",
+			"integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg=="
 		},
 		"mime-type": {
 			"version": "3.0.5",
 			"resolved": "https://registry.npmjs.org/mime-type/-/mime-type-3.0.5.tgz",
 			"integrity": "sha1-ftKSan2oImifgSVPWYf+lQNiLpo=",
 			"requires": {
-				"media-typer": "0.3.0",
-				"minimatch": "3.0.4",
-				"path.js": "1.0.7",
-				"util-ex": "0.3.15"
+				"media-typer": "^0.3.0",
+				"minimatch": "^3.0.4",
+				"path.js": "^1.0.7",
+				"util-ex": "^0.3.15"
 			}
 		},
 		"mime-types": {
@@ -10692,7 +11287,7 @@
 			"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
 			"integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
 			"requires": {
-				"mime-db": "1.33.0"
+				"mime-db": "~1.33.0"
 			},
 			"dependencies": {
 				"mime-db": {
@@ -10714,9 +11309,9 @@
 			"dev": true
 		},
 		"mimic-response": {
-			"version": "1.0.0",
-			"resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.0.tgz",
-			"integrity": "sha1-3z02Uqc/3ta5sLJBRub9BSNTRY4="
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
+			"integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ=="
 		},
 		"minimalistic-assert": {
 			"version": "1.0.1",
@@ -10731,14 +11326,14 @@
 		"minimatch": {
 			"version": "3.0.4",
 			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
-			"integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=",
+			"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
 			"requires": {
-				"brace-expansion": "1.1.11"
+				"brace-expansion": "^1.1.7"
 			}
 		},
 		"minimist": {
 			"version": "0.0.8",
-			"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+			"resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
 			"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
 		},
 		"minimist-options": {
@@ -10747,8 +11342,8 @@
 			"integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==",
 			"dev": true,
 			"requires": {
-				"arrify": "1.0.1",
-				"is-plain-obj": "1.1.0"
+				"arrify": "^1.0.1",
+				"is-plain-obj": "^1.1.0"
 			}
 		},
 		"minipass": {
@@ -10756,8 +11351,8 @@
 			"resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.3.tgz",
 			"integrity": "sha512-/jAn9/tEX4gnpyRATxgHEOV6xbcyxgT7iUnxo9Y3+OB0zX00TgKIv/2FZCf5brBbICcwbLqVv2ImjvWWrQMSYw==",
 			"requires": {
-				"safe-buffer": "5.1.2",
-				"yallist": "3.0.2"
+				"safe-buffer": "^5.1.2",
+				"yallist": "^3.0.0"
 			},
 			"dependencies": {
 				"yallist": {
@@ -10772,7 +11367,7 @@
 			"resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz",
 			"integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==",
 			"requires": {
-				"minipass": "2.3.3"
+				"minipass": "^2.2.1"
 			}
 		},
 		"mixin-deep": {
@@ -10780,8 +11375,8 @@
 			"resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
 			"integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==",
 			"requires": {
-				"for-in": "1.0.2",
-				"is-extendable": "1.0.1"
+				"for-in": "^1.0.2",
+				"is-extendable": "^1.0.1"
 			},
 			"dependencies": {
 				"is-extendable": {
@@ -10789,14 +11384,14 @@
 					"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
 					"integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
 					"requires": {
-						"is-plain-object": "2.0.4"
+						"is-plain-object": "^2.0.4"
 					}
 				}
 			}
 		},
 		"mkdirp": {
 			"version": "0.5.1",
-			"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+			"resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
 			"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
 			"requires": {
 				"minimist": "0.0.8"
@@ -10854,13 +11449,19 @@
 					"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
 					"dev": true
 				},
+				"he": {
+					"version": "1.1.1",
+					"resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz",
+					"integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=",
+					"dev": true
+				},
 				"supports-color": {
 					"version": "5.4.0",
 					"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
 					"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
 					"dev": true,
 					"requires": {
-						"has-flag": "3.0.0"
+						"has-flag": "^3.0.0"
 					}
 				}
 			}
@@ -10871,8 +11472,8 @@
 			"integrity": "sha512-aD/Y1ZFHqw5pHg3HVQ50dLbfaAAcytS6sqLuhP51Dk3TSPdFb2VkSAa3mjrHifLIlGAtwQHJHINafAyqAne7vA==",
 			"dev": true,
 			"requires": {
-				"get-caller-file": "1.0.2",
-				"normalize-path": "2.1.1"
+				"get-caller-file": "^1.0.2",
+				"normalize-path": "^2.1.1"
 			}
 		},
 		"modelo": {
@@ -10898,28 +11499,28 @@
 			"integrity": "sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y="
 		},
 		"moment-timezone": {
-			"version": "0.5.17",
-			"resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.17.tgz",
-			"integrity": "sha512-Y/JpVEWIOA9Gho4vO15MTnW1FCmHi3ypprrkUaxsZ1TKg3uqC8q/qMBjTddkHoiwwZN3qvZSr4zJP7x9V3LpXA==",
+			"version": "0.5.23",
+			"resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.23.tgz",
+			"integrity": "sha512-WHFH85DkCfiNMDX5D3X7hpNH3/PUhjTGcD0U1SgfBGZxJ3qUmJh5FdvaFjcClxOvB3rzdfj4oRffbI38jEnC1w==",
 			"requires": {
-				"moment": "2.22.2"
+				"moment": ">= 2.9.0"
 			}
 		},
 		"morgan": {
 			"version": "1.6.1",
-			"resolved": "https://registry.npmjs.org/morgan/-/morgan-1.6.1.tgz",
+			"resolved": "http://registry.npmjs.org/morgan/-/morgan-1.6.1.tgz",
 			"integrity": "sha1-X9gYOYxoGcuiinzWZk8pL+HAu/I=",
 			"requires": {
-				"basic-auth": "1.0.4",
-				"debug": "2.2.0",
-				"depd": "1.0.1",
-				"on-finished": "2.3.0",
-				"on-headers": "1.0.1"
+				"basic-auth": "~1.0.3",
+				"debug": "~2.2.0",
+				"depd": "~1.0.1",
+				"on-finished": "~2.3.0",
+				"on-headers": "~1.0.0"
 			},
 			"dependencies": {
 				"debug": {
 					"version": "2.2.0",
-					"resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+					"resolved": "http://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
 					"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
 					"requires": {
 						"ms": "0.7.1"
@@ -10927,7 +11528,7 @@
 				},
 				"ms": {
 					"version": "0.7.1",
-					"resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+					"resolved": "http://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
 					"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg="
 				}
 			}
@@ -10942,8 +11543,8 @@
 			"resolved": "https://registry.npmjs.org/multiparty/-/multiparty-3.3.2.tgz",
 			"integrity": "sha1-Nd5oBNwZZD5SSfPT473GyM4wHT8=",
 			"requires": {
-				"readable-stream": "1.1.14",
-				"stream-counter": "0.2.0"
+				"readable-stream": "~1.1.9",
+				"stream-counter": "~0.2.0"
 			},
 			"dependencies": {
 				"isarray": {
@@ -10953,13 +11554,13 @@
 				},
 				"readable-stream": {
 					"version": "1.1.14",
-					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+					"resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
 					"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
 					"requires": {
-						"core-util-is": "1.0.2",
-						"inherits": "2.0.3",
+						"core-util-is": "~1.0.0",
+						"inherits": "~2.0.1",
 						"isarray": "0.0.1",
-						"string_decoder": "0.10.31"
+						"string_decoder": "~0.10.x"
 					}
 				},
 				"string_decoder": {
@@ -10981,9 +11582,9 @@
 			"integrity": "sha1-rmzg1vbV4KT32JN5jQPB6pVZtqI=",
 			"optional": true,
 			"requires": {
-				"mkdirp": "0.5.1",
-				"ncp": "2.0.0",
-				"rimraf": "2.4.5"
+				"mkdirp": "~0.5.1",
+				"ncp": "~2.0.0",
+				"rimraf": "~2.4.0"
 			}
 		},
 		"nan": {
@@ -10996,18 +11597,18 @@
 			"resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz",
 			"integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==",
 			"requires": {
-				"arr-diff": "4.0.0",
-				"array-unique": "0.3.2",
-				"define-property": "2.0.2",
-				"extend-shallow": "3.0.2",
-				"fragment-cache": "0.2.1",
-				"is-odd": "2.0.0",
-				"is-windows": "1.0.2",
-				"kind-of": "6.0.2",
-				"object.pick": "1.3.0",
-				"regex-not": "1.0.2",
-				"snapdragon": "0.8.2",
-				"to-regex": "3.0.2"
+				"arr-diff": "^4.0.0",
+				"array-unique": "^0.3.2",
+				"define-property": "^2.0.2",
+				"extend-shallow": "^3.0.2",
+				"fragment-cache": "^0.2.1",
+				"is-odd": "^2.0.0",
+				"is-windows": "^1.0.2",
+				"kind-of": "^6.0.2",
+				"object.pick": "^1.3.0",
+				"regex-not": "^1.0.0",
+				"snapdragon": "^0.8.1",
+				"to-regex": "^3.0.1"
 			}
 		},
 		"natives": {
@@ -11024,7 +11625,7 @@
 		},
 		"ncp": {
 			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz",
+			"resolved": "http://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz",
 			"integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=",
 			"optional": true
 		},
@@ -11033,9 +11634,16 @@
 			"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.5.3.tgz",
 			"integrity": "sha1-Jp1cR2gQ7JLtvntsLygxY4T5p+g="
 		},
+		"netrc": {
+			"version": "0.1.4",
+			"resolved": "https://registry.npmjs.org/netrc/-/netrc-0.1.4.tgz",
+			"integrity": "sha1-a+lPysqNd63gqWcNxGCRTJRHJEQ=",
+			"dev": true,
+			"optional": true
+		},
 		"next-tick": {
 			"version": "1.0.0",
-			"resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
+			"resolved": "http://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
 			"integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=",
 			"dev": true
 		},
@@ -11051,15 +11659,15 @@
 			"integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==",
 			"dev": true,
 			"requires": {
-				"lower-case": "1.1.4"
+				"lower-case": "^1.1.1"
 			}
 		},
 		"node-abi": {
-			"version": "2.4.1",
-			"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.4.1.tgz",
-			"integrity": "sha512-pUlswqpHQ7zGPI9lGjZ4XDNIEUDbHxsltfIRb7dTnYdhgHWHOcB0MLZKLoCz6UMcGzSPG5wGl1HODZVQAUsH6w==",
+			"version": "2.4.5",
+			"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.4.5.tgz",
+			"integrity": "sha512-aa/UC6Nr3+tqhHGRsAuw/edz7/q9nnetBrKWxj6rpTtm+0X9T1qU7lIEHMS3yN9JwAbRiKUbRRFy1PLz/y3aaA==",
 			"requires": {
-				"semver": "5.5.0"
+				"semver": "^5.4.1"
 			}
 		},
 		"node-dogstatsd": {
@@ -11074,7 +11682,7 @@
 		},
 		"node-fetch": {
 			"version": "2.1.2",
-			"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz",
+			"resolved": "http://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz",
 			"integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U="
 		},
 		"node-fingerprint": {
@@ -11087,6 +11695,27 @@
 			"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.5.tgz",
 			"integrity": "sha512-MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ=="
 		},
+		"node-int64": {
+			"version": "0.4.0",
+			"resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
+			"integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=",
+			"dev": true,
+			"optional": true
+		},
+		"node-releases": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.0.1.tgz",
+			"integrity": "sha512-/kOv7jA26OBwkBPx6B9xR/FzJzs2OkMtcWjS8uPQRMHE7IELdSfN0QKZvmiWnf5P1QJ8oYq/e9qe0aCZISB1pQ==",
+			"dev": true,
+			"requires": {
+				"semver": "^5.3.0"
+			}
+		},
+		"nodemailer": {
+			"version": "4.6.8",
+			"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-4.6.8.tgz",
+			"integrity": "sha512-A3s7EM/426OBIZbLHXq2KkgvmKbn2Xga4m4G+ZUA4IaZvG8PcZXrFh+2E4VaS2o+emhuUVRnzKN2YmpkXQ9qwA=="
+		},
 		"noop-logger": {
 			"version": "0.1.1",
 			"resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz",
@@ -11097,8 +11726,8 @@
 			"resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz",
 			"integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
 			"requires": {
-				"abbrev": "1.1.1",
-				"osenv": "0.1.5"
+				"abbrev": "1",
+				"osenv": "^0.1.4"
 			}
 		},
 		"normalize-package-data": {
@@ -11107,10 +11736,10 @@
 			"integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
 			"dev": true,
 			"requires": {
-				"hosted-git-info": "2.6.0",
-				"is-builtin-module": "1.0.0",
-				"semver": "5.5.0",
-				"validate-npm-package-license": "3.0.3"
+				"hosted-git-info": "^2.1.4",
+				"is-builtin-module": "^1.0.0",
+				"semver": "2 || 3 || 4 || 5",
+				"validate-npm-package-license": "^3.0.1"
 			}
 		},
 		"normalize-path": {
@@ -11118,7 +11747,7 @@
 			"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
 			"integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
 			"requires": {
-				"remove-trailing-separator": "1.1.0"
+				"remove-trailing-separator": "^1.0.1"
 			}
 		},
 		"normalize-range": {
@@ -11132,31 +11761,21 @@
 			"integrity": "sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=",
 			"dev": true
 		},
-		"normalize-url": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz",
-			"integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==",
-			"requires": {
-				"prepend-http": "2.0.0",
-				"query-string": "5.1.1",
-				"sort-keys": "2.0.0"
-			}
-		},
 		"npm-install-package": {
 			"version": "2.1.0",
-			"resolved": "https://registry.npmjs.org/npm-install-package/-/npm-install-package-2.1.0.tgz",
+			"resolved": "http://registry.npmjs.org/npm-install-package/-/npm-install-package-2.1.0.tgz",
 			"integrity": "sha1-1+/jz816sAYUuJbqUxGdyaslkSU=",
 			"dev": true
 		},
 		"npmlog": {
 			"version": "4.1.2",
 			"resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
-			"integrity": "sha1-CKfyqL9zRgR3mp76StXMcXq7lUs=",
+			"integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
 			"requires": {
-				"are-we-there-yet": "1.1.5",
-				"console-control-strings": "1.1.0",
-				"gauge": "2.7.4",
-				"set-blocking": "2.0.0"
+				"are-we-there-yet": "~1.1.2",
+				"console-control-strings": "~1.1.0",
+				"gauge": "~2.7.3",
+				"set-blocking": "~2.0.0"
 			}
 		},
 		"nth-check": {
@@ -11164,7 +11783,7 @@
 			"resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz",
 			"integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=",
 			"requires": {
-				"boolbase": "1.0.0"
+				"boolbase": "~1.0.0"
 			}
 		},
 		"num2fraction": {
@@ -11197,9 +11816,9 @@
 			"resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
 			"integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
 			"requires": {
-				"copy-descriptor": "0.1.1",
-				"define-property": "0.2.5",
-				"kind-of": "3.2.2"
+				"copy-descriptor": "^0.1.0",
+				"define-property": "^0.2.5",
+				"kind-of": "^3.0.3"
 			},
 			"dependencies": {
 				"define-property": {
@@ -11207,7 +11826,7 @@
 					"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
 					"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
 					"requires": {
-						"is-descriptor": "0.1.6"
+						"is-descriptor": "^0.1.0"
 					}
 				},
 				"kind-of": {
@@ -11215,7 +11834,7 @@
 					"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
 					"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
 					"requires": {
-						"is-buffer": "1.1.6"
+						"is-buffer": "^1.1.5"
 					}
 				}
 			}
@@ -11235,7 +11854,7 @@
 			"resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
 			"integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
 			"requires": {
-				"isobject": "3.0.1"
+				"isobject": "^3.0.0"
 			}
 		},
 		"object.assign": {
@@ -11244,10 +11863,35 @@
 			"integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
 			"dev": true,
 			"requires": {
-				"define-properties": "1.1.2",
-				"function-bind": "1.1.1",
-				"has-symbols": "1.0.0",
-				"object-keys": "1.0.11"
+				"define-properties": "^1.1.2",
+				"function-bind": "^1.1.1",
+				"has-symbols": "^1.0.0",
+				"object-keys": "^1.0.11"
+			}
+		},
+		"object.defaults": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
+			"integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=",
+			"dev": true,
+			"optional": true,
+			"requires": {
+				"array-each": "^1.0.1",
+				"array-slice": "^1.0.0",
+				"for-own": "^1.0.0",
+				"isobject": "^3.0.0"
+			},
+			"dependencies": {
+				"for-own": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
+					"integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
+					"dev": true,
+					"optional": true,
+					"requires": {
+						"for-in": "^1.0.1"
+					}
+				}
 			}
 		},
 		"object.entries": {
@@ -11255,10 +11899,10 @@
 			"resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.0.4.tgz",
 			"integrity": "sha1-G/mk3SKI9bM/Opk9JXZh8F0WGl8=",
 			"requires": {
-				"define-properties": "1.1.2",
-				"es-abstract": "1.12.0",
-				"function-bind": "1.1.1",
-				"has": "1.0.2"
+				"define-properties": "^1.1.2",
+				"es-abstract": "^1.6.1",
+				"function-bind": "^1.1.0",
+				"has": "^1.0.1"
 			}
 		},
 		"object.getownpropertydescriptors": {
@@ -11266,8 +11910,31 @@
 			"resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz",
 			"integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=",
 			"requires": {
-				"define-properties": "1.1.2",
-				"es-abstract": "1.12.0"
+				"define-properties": "^1.1.2",
+				"es-abstract": "^1.5.1"
+			}
+		},
+		"object.map": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz",
+			"integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=",
+			"dev": true,
+			"optional": true,
+			"requires": {
+				"for-own": "^1.0.0",
+				"make-iterator": "^1.0.0"
+			},
+			"dependencies": {
+				"for-own": {
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
+					"integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
+					"dev": true,
+					"optional": true,
+					"requires": {
+						"for-in": "^1.0.1"
+					}
+				}
 			}
 		},
 		"object.omit": {
@@ -11276,8 +11943,8 @@
 			"integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
 			"dev": true,
 			"requires": {
-				"for-own": "0.1.5",
-				"is-extendable": "0.1.1"
+				"for-own": "^0.1.4",
+				"is-extendable": "^0.1.1"
 			}
 		},
 		"object.pick": {
@@ -11285,7 +11952,7 @@
 			"resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
 			"integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
 			"requires": {
-				"isobject": "3.0.1"
+				"isobject": "^3.0.1"
 			}
 		},
 		"object.values": {
@@ -11293,10 +11960,10 @@
 			"resolved": "https://registry.npmjs.org/object.values/-/object.values-1.0.4.tgz",
 			"integrity": "sha1-5STaCbT2b/Bd9FdUbscqyZ8TBpo=",
 			"requires": {
-				"define-properties": "1.1.2",
-				"es-abstract": "1.12.0",
-				"function-bind": "1.1.1",
-				"has": "1.0.2"
+				"define-properties": "^1.1.2",
+				"es-abstract": "^1.6.1",
+				"function-bind": "^1.1.0",
+				"has": "^1.0.1"
 			}
 		},
 		"on-finished": {
@@ -11317,7 +11984,7 @@
 			"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
 			"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
 			"requires": {
-				"wrappy": "1.0.2"
+				"wrappy": "1"
 			}
 		},
 		"onetime": {
@@ -11326,7 +11993,7 @@
 			"integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
 			"dev": true,
 			"requires": {
-				"mimic-fn": "1.2.0"
+				"mimic-fn": "^1.0.0"
 			}
 		},
 		"optimist": {
@@ -11334,8 +12001,8 @@
 			"resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
 			"integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
 			"requires": {
-				"minimist": "0.0.8",
-				"wordwrap": "0.0.3"
+				"minimist": "~0.0.1",
+				"wordwrap": "~0.0.2"
 			}
 		},
 		"optionator": {
@@ -11343,12 +12010,12 @@
 			"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
 			"integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
 			"requires": {
-				"deep-is": "0.1.3",
-				"fast-levenshtein": "2.0.6",
-				"levn": "0.3.0",
-				"prelude-ls": "1.1.2",
-				"type-check": "0.3.2",
-				"wordwrap": "1.0.0"
+				"deep-is": "~0.1.3",
+				"fast-levenshtein": "~2.0.4",
+				"levn": "~0.3.0",
+				"prelude-ls": "~1.1.2",
+				"type-check": "~0.3.2",
+				"wordwrap": "~1.0.0"
 			},
 			"dependencies": {
 				"wordwrap": {
@@ -11370,10 +12037,20 @@
 		},
 		"os-locale": {
 			"version": "1.4.0",
-			"resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
+			"resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
 			"integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
 			"requires": {
-				"lcid": "1.0.0"
+				"lcid": "^1.0.0"
+			}
+		},
+		"os-name": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/os-name/-/os-name-2.0.1.tgz",
+			"integrity": "sha1-uaOGNhwXrjohc27wWZQFyajF3F4=",
+			"dev": true,
+			"requires": {
+				"macos-release": "^1.0.0",
+				"win-release": "^1.0.0"
 			}
 		},
 		"os-tmpdir": {
@@ -11386,8 +12063,8 @@
 			"resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
 			"integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
 			"requires": {
-				"os-homedir": "1.0.2",
-				"os-tmpdir": "1.0.2"
+				"os-homedir": "^1.0.0",
+				"os-tmpdir": "^1.0.0"
 			}
 		},
 		"p-cancelable": {
@@ -11395,28 +12072,13 @@
 			"resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz",
 			"integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw=="
 		},
-		"p-defer": {
-			"version": "1.0.0",
-			"resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
-			"integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww="
-		},
-		"p-finally": {
-			"version": "1.0.0",
-			"resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
-			"integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4="
-		},
-		"p-is-promise": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz",
-			"integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4="
-		},
 		"p-limit": {
 			"version": "1.2.0",
 			"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz",
 			"integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==",
 			"dev": true,
 			"requires": {
-				"p-try": "1.0.0"
+				"p-try": "^1.0.0"
 			}
 		},
 		"p-locate": {
@@ -11425,7 +12087,7 @@
 			"integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
 			"dev": true,
 			"requires": {
-				"p-limit": "1.2.0"
+				"p-limit": "^1.1.0"
 			}
 		},
 		"p-map": {
@@ -11439,22 +12101,6 @@
 			"resolved": "https://registry.npmjs.org/p-queue/-/p-queue-2.4.2.tgz",
 			"integrity": "sha512-n8/y+yDJwBjoLQe1GSJbbaYQLTI7QHNZI2+rpmCDbe++WLf9HC3gf6iqj5yfPAV71W4UF3ql5W1+UBPXoXTxng=="
 		},
-		"p-retry": {
-			"version": "1.0.0",
-			"resolved": "https://registry.npmjs.org/p-retry/-/p-retry-1.0.0.tgz",
-			"integrity": "sha1-OSczKkt9cCabU1UVEX/FR9oaaWg=",
-			"requires": {
-				"retry": "0.10.1"
-			}
-		},
-		"p-timeout": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz",
-			"integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==",
-			"requires": {
-				"p-finally": "1.0.0"
-			}
-		},
 		"p-try": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
@@ -11467,12 +12113,24 @@
 			"integrity": "sha512-5N9lmQ7tmxfXf+hO3X6KRG6w7uYO/HL9fHalSySTdyn63C3WNvTM/1R8tn1u1larNcEbo3Slcy2bsVDQqvEpUg==",
 			"dev": true,
 			"requires": {
-				"character-entities": "1.2.2",
-				"character-entities-legacy": "1.1.2",
-				"character-reference-invalid": "1.1.2",
-				"is-alphanumerical": "1.0.2",
-				"is-decimal": "1.0.2",
-				"is-hexadecimal": "1.0.2"
+				"character-entities": "^1.0.0",
+				"character-entities-legacy": "^1.0.0",
+				"character-reference-invalid": "^1.0.0",
+				"is-alphanumerical": "^1.0.0",
+				"is-decimal": "^1.0.0",
+				"is-hexadecimal": "^1.0.0"
+			}
+		},
+		"parse-filepath": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
+			"integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=",
+			"dev": true,
+			"optional": true,
+			"requires": {
+				"is-absolute": "^1.0.0",
+				"map-cache": "^0.2.0",
+				"path-root": "^0.1.1"
 			}
 		},
 		"parse-github-repo-url": {
@@ -11487,10 +12145,10 @@
 			"integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
 			"dev": true,
 			"requires": {
-				"glob-base": "0.3.0",
-				"is-dotfile": "1.0.3",
-				"is-extglob": "1.0.0",
-				"is-glob": "2.0.1"
+				"glob-base": "^0.3.0",
+				"is-dotfile": "^1.0.0",
+				"is-extglob": "^1.0.0",
+				"is-glob": "^2.0.0"
 			},
 			"dependencies": {
 				"is-extglob": {
@@ -11505,7 +12163,7 @@
 					"integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
 					"dev": true,
 					"requires": {
-						"is-extglob": "1.0.0"
+						"is-extglob": "^1.0.0"
 					}
 				}
 			}
@@ -11516,10 +12174,16 @@
 			"integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
 			"dev": true,
 			"requires": {
-				"error-ex": "1.3.1",
-				"json-parse-better-errors": "1.0.2"
+				"error-ex": "^1.3.1",
+				"json-parse-better-errors": "^1.0.1"
 			}
 		},
+		"parse-passwd": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
+			"integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
+			"dev": true
+		},
 		"parse5": {
 			"version": "4.0.0",
 			"resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz",
@@ -11569,6 +12233,28 @@
 			"integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=",
 			"dev": true
 		},
+		"path-posix": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/path-posix/-/path-posix-1.0.0.tgz",
+			"integrity": "sha1-BrJhE/Vr6rBCVFojv6iAA8ysJg8="
+		},
+		"path-root": {
+			"version": "0.1.1",
+			"resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
+			"integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=",
+			"dev": true,
+			"optional": true,
+			"requires": {
+				"path-root-regex": "^0.1.0"
+			}
+		},
+		"path-root-regex": {
+			"version": "0.1.2",
+			"resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz",
+			"integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=",
+			"dev": true,
+			"optional": true
+		},
 		"path-to-regexp": {
 			"version": "0.1.7",
 			"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
@@ -11579,7 +12265,7 @@
 			"resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
 			"integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
 			"requires": {
-				"pify": "3.0.0"
+				"pify": "^3.0.0"
 			}
 		},
 		"path.js": {
@@ -11587,9 +12273,9 @@
 			"resolved": "https://registry.npmjs.org/path.js/-/path.js-1.0.7.tgz",
 			"integrity": "sha1-fRNrYH3hm/2YugaIdJJih+ZTSTk=",
 			"requires": {
-				"escape-string-regexp": "1.0.5",
-				"inherits-ex": "1.2.3",
-				"util-ex": "0.3.15"
+				"escape-string-regexp": "^1.0.3",
+				"inherits-ex": "^1.1.2",
+				"util-ex": "^0.3.10"
 			}
 		},
 		"pathval": {
@@ -11604,12 +12290,12 @@
 			"integrity": "sha1-68ikqGGf8LioGsFRPDQ0/0af23Q="
 		},
 		"pdfjs-dist": {
-			"version": "2.0.489",
-			"resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-2.0.489.tgz",
-			"integrity": "sha1-Y+VLKSqGeQpFRpfrRNQ0e4+/rSc=",
+			"version": "2.0.550",
+			"resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-2.0.550.tgz",
+			"integrity": "sha512-JO3sxV5qTRV6zYRjdIle772OxZHCLGKUW+bJ/0fex3yVVQUrh4QkAsN3oYb/afn8y2080Vq2PPlnhfl7092+Cw==",
 			"requires": {
-				"node-ensure": "0.0.0",
-				"worker-loader": "1.1.1"
+				"node-ensure": "^0.0.0",
+				"worker-loader": "^2.0.0"
 			}
 		},
 		"pend": {
@@ -11629,15 +12315,15 @@
 			"integrity": "sha1-IPhugtM0nFBZF1J3RbekEeCLOQM=",
 			"dev": true,
 			"requires": {
-				"es6-promise": "4.0.5",
-				"extract-zip": "1.6.7",
-				"fs-extra": "1.0.0",
-				"hasha": "2.2.0",
-				"kew": "0.7.0",
-				"progress": "1.1.8",
-				"request": "2.81.0",
-				"request-progress": "2.0.1",
-				"which": "1.2.14"
+				"es6-promise": "~4.0.3",
+				"extract-zip": "~1.6.5",
+				"fs-extra": "~1.0.0",
+				"hasha": "~2.2.0",
+				"kew": "~0.7.0",
+				"progress": "~1.1.8",
+				"request": "~2.81.0",
+				"request-progress": "~2.0.1",
+				"which": "~1.2.10"
 			},
 			"dependencies": {
 				"ajv": {
@@ -11646,8 +12332,8 @@
 					"integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
 					"dev": true,
 					"requires": {
-						"co": "4.6.0",
-						"json-stable-stringify": "1.0.1"
+						"co": "^4.6.0",
+						"json-stable-stringify": "^1.0.1"
 					}
 				},
 				"assert-plus": {
@@ -11664,7 +12350,7 @@
 				},
 				"es6-promise": {
 					"version": "4.0.5",
-					"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.0.5.tgz",
+					"resolved": "http://registry.npmjs.org/es6-promise/-/es6-promise-4.0.5.tgz",
 					"integrity": "sha1-eILzCt3lskDM+n99eMVIMwlRrkI=",
 					"dev": true
 				},
@@ -11674,9 +12360,9 @@
 					"integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
 					"dev": true,
 					"requires": {
-						"asynckit": "0.4.0",
-						"combined-stream": "1.0.6",
-						"mime-types": "2.1.18"
+						"asynckit": "^0.4.0",
+						"combined-stream": "^1.0.5",
+						"mime-types": "^2.1.12"
 					}
 				},
 				"har-schema": {
@@ -11691,8 +12377,8 @@
 					"integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=",
 					"dev": true,
 					"requires": {
-						"ajv": "4.11.8",
-						"har-schema": "1.0.5"
+						"ajv": "^4.9.1",
+						"har-schema": "^1.0.5"
 					}
 				},
 				"http-signature": {
@@ -11701,9 +12387,9 @@
 					"integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
 					"dev": true,
 					"requires": {
-						"assert-plus": "0.2.0",
-						"jsprim": "1.4.1",
-						"sshpk": "1.14.1"
+						"assert-plus": "^0.2.0",
+						"jsprim": "^1.2.2",
+						"sshpk": "^1.7.0"
 					}
 				},
 				"performance-now": {
@@ -11714,7 +12400,7 @@
 				},
 				"progress": {
 					"version": "1.1.8",
-					"resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz",
+					"resolved": "http://registry.npmjs.org/progress/-/progress-1.1.8.tgz",
 					"integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=",
 					"dev": true
 				},
@@ -11730,28 +12416,28 @@
 					"integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=",
 					"dev": true,
 					"requires": {
-						"aws-sign2": "0.6.0",
-						"aws4": "1.7.0",
-						"caseless": "0.12.0",
-						"combined-stream": "1.0.6",
-						"extend": "3.0.1",
-						"forever-agent": "0.6.1",
-						"form-data": "2.1.4",
-						"har-validator": "4.2.1",
-						"hawk": "3.1.3",
-						"http-signature": "1.1.1",
-						"is-typedarray": "1.0.0",
-						"isstream": "0.1.2",
-						"json-stringify-safe": "5.0.1",
-						"mime-types": "2.1.18",
-						"oauth-sign": "0.8.2",
-						"performance-now": "0.2.0",
-						"qs": "6.4.0",
-						"safe-buffer": "5.1.2",
-						"stringstream": "0.0.6",
-						"tough-cookie": "2.3.4",
-						"tunnel-agent": "0.6.0",
-						"uuid": "3.2.1"
+						"aws-sign2": "~0.6.0",
+						"aws4": "^1.2.1",
+						"caseless": "~0.12.0",
+						"combined-stream": "~1.0.5",
+						"extend": "~3.0.0",
+						"forever-agent": "~0.6.1",
+						"form-data": "~2.1.1",
+						"har-validator": "~4.2.1",
+						"hawk": "~3.1.3",
+						"http-signature": "~1.1.0",
+						"is-typedarray": "~1.0.0",
+						"isstream": "~0.1.2",
+						"json-stringify-safe": "~5.0.1",
+						"mime-types": "~2.1.7",
+						"oauth-sign": "~0.8.1",
+						"performance-now": "^0.2.0",
+						"qs": "~6.4.0",
+						"safe-buffer": "^5.0.1",
+						"stringstream": "~0.0.4",
+						"tough-cookie": "~2.3.0",
+						"tunnel-agent": "^0.6.0",
+						"uuid": "^3.0.0"
 					}
 				}
 			}
@@ -11778,7 +12464,7 @@
 			"integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
 			"dev": true,
 			"requires": {
-				"pinkie": "2.0.4"
+				"pinkie": "^2.0.0"
 			}
 		},
 		"pkg-dir": {
@@ -11787,7 +12473,7 @@
 			"integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=",
 			"dev": true,
 			"requires": {
-				"find-up": "1.1.2"
+				"find-up": "^1.0.0"
 			},
 			"dependencies": {
 				"find-up": {
@@ -11796,8 +12482,8 @@
 					"integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
 					"dev": true,
 					"requires": {
-						"path-exists": "2.1.0",
-						"pinkie-promise": "2.0.1"
+						"path-exists": "^2.0.0",
+						"pinkie-promise": "^2.0.0"
 					}
 				},
 				"path-exists": {
@@ -11806,11 +12492,22 @@
 					"integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
 					"dev": true,
 					"requires": {
-						"pinkie-promise": "2.0.1"
+						"pinkie-promise": "^2.0.0"
 					}
 				}
 			}
 		},
+		"pkg-resolve": {
+			"version": "0.1.14",
+			"resolved": "https://registry.npmjs.org/pkg-resolve/-/pkg-resolve-0.1.14.tgz",
+			"integrity": "sha1-Mpsudsy7Ny4i5qOkHLMKsEV4Nro=",
+			"dev": true,
+			"optional": true,
+			"requires": {
+				"jspm": "^0.17.0-beta.13",
+				"resolve": "^1.1.7"
+			}
+		},
 		"pluralize": {
 			"version": "7.0.0",
 			"resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz",
@@ -11832,7 +12529,7 @@
 			"resolved": "https://registry.npmjs.org/poplib/-/poplib-0.1.7.tgz",
 			"integrity": "sha1-L0tYtVkpcjUM2X9IKrpo+OBVdLw=",
 			"requires": {
-				"optimist": "0.6.1"
+				"optimist": "*"
 			}
 		},
 		"posix-character-classes": {
@@ -11841,24 +12538,14 @@
 			"integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
 		},
 		"postcss": {
-			"version": "5.2.18",
-			"resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
-			"integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
-			"requires": {
-				"chalk": "1.1.3",
-				"js-base64": "2.4.5",
-				"source-map": "0.5.7",
-				"supports-color": "3.2.3"
-			}
-		},
-		"postcss-custom-properties": {
-			"version": "7.0.0",
-			"resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-7.0.0.tgz",
-			"integrity": "sha512-dl/CNaM6z2RBa0vZZqsV6Hunj4HD6Spu7FcAkiVp5B2tgm6xReKKYzI7x7QNx3wTMBNj5v+ylfVcQGMW4xdkHw==",
+			"version": "6.0.23",
+			"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+			"integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
 			"dev": true,
 			"requires": {
-				"balanced-match": "1.0.0",
-				"postcss": "6.0.22"
+				"chalk": "^2.4.1",
+				"source-map": "^0.6.1",
+				"supports-color": "^5.4.0"
 			},
 			"dependencies": {
 				"ansi-styles": {
@@ -11867,7 +12554,7 @@
 					"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
 					"dev": true,
 					"requires": {
-						"color-convert": "1.9.1"
+						"color-convert": "^1.9.0"
 					}
 				},
 				"chalk": {
@@ -11876,26 +12563,9 @@
 					"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
 					"dev": true,
 					"requires": {
-						"ansi-styles": "3.2.1",
-						"escape-string-regexp": "1.0.5",
-						"supports-color": "5.4.0"
-					}
-				},
-				"has-flag": {
-					"version": "3.0.0",
-					"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-					"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
-					"dev": true
-				},
-				"postcss": {
-					"version": "6.0.22",
-					"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz",
-					"integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==",
-					"dev": true,
-					"requires": {
-						"chalk": "2.4.1",
-						"source-map": "0.6.1",
-						"supports-color": "5.4.0"
+						"ansi-styles": "^3.2.1",
+						"escape-string-regexp": "^1.0.5",
+						"supports-color": "^5.3.0"
 					}
 				},
 				"source-map": {
@@ -11903,63 +12573,17 @@
 					"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
 					"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
 					"dev": true
-				},
-				"supports-color": {
-					"version": "5.4.0",
-					"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
-					"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
-					"dev": true,
-					"requires": {
-						"has-flag": "3.0.0"
-					}
-				}
-			}
-		},
-		"postcss-html": {
-			"version": "0.23.7",
-			"resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-0.23.7.tgz",
-			"integrity": "sha1-RxRsFeIbnAB0bEARXc/4JwxDnzI=",
-			"dev": true,
-			"requires": {
-				"htmlparser2": "3.9.2"
-			},
-			"dependencies": {
-				"domutils": {
-					"version": "1.7.0",
-					"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
-					"integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==",
-					"dev": true,
-					"requires": {
-						"dom-serializer": "0.1.0",
-						"domelementtype": "1.3.0"
-					}
-				},
-				"htmlparser2": {
-					"version": "3.9.2",
-					"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz",
-					"integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=",
-					"dev": true,
-					"requires": {
-						"domelementtype": "1.3.0",
-						"domhandler": "2.3.0",
-						"domutils": "1.7.0",
-						"entities": "1.1.1",
-						"inherits": "2.0.3",
-						"readable-stream": "2.3.6"
-					}
 				}
 			}
 		},
-		"postcss-import": {
-			"version": "11.1.0",
-			"resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-11.1.0.tgz",
-			"integrity": "sha512-5l327iI75POonjxkXgdRCUS+AlzAdBx4pOvMEhTKTCjb1p8IEeVR9yx3cPbmN7LIWJLbfnIXxAhoB4jpD0c/Cw==",
+		"postcss-custom-properties": {
+			"version": "7.0.0",
+			"resolved": "http://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-7.0.0.tgz",
+			"integrity": "sha512-dl/CNaM6z2RBa0vZZqsV6Hunj4HD6Spu7FcAkiVp5B2tgm6xReKKYzI7x7QNx3wTMBNj5v+ylfVcQGMW4xdkHw==",
 			"dev": true,
 			"requires": {
-				"postcss": "6.0.22",
-				"postcss-value-parser": "3.3.0",
-				"read-cache": "1.0.0",
-				"resolve": "1.7.1"
+				"balanced-match": "^1.0.0",
+				"postcss": "^6.0.18"
 			},
 			"dependencies": {
 				"ansi-styles": {
@@ -11968,7 +12592,7 @@
 					"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
 					"dev": true,
 					"requires": {
-						"color-convert": "1.9.1"
+						"color-convert": "^1.9.0"
 					}
 				},
 				"chalk": {
@@ -11977,9 +12601,9 @@
 					"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
 					"dev": true,
 					"requires": {
-						"ansi-styles": "3.2.1",
-						"escape-string-regexp": "1.0.5",
-						"supports-color": "5.4.0"
+						"ansi-styles": "^3.2.1",
+						"escape-string-regexp": "^1.0.5",
+						"supports-color": "^5.3.0"
 					}
 				},
 				"has-flag": {
@@ -11994,9 +12618,9 @@
 					"integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==",
 					"dev": true,
 					"requires": {
-						"chalk": "2.4.1",
-						"source-map": "0.6.1",
-						"supports-color": "5.4.0"
+						"chalk": "^2.4.1",
+						"source-map": "^0.6.1",
+						"supports-color": "^5.4.0"
 					}
 				},
 				"source-map": {
@@ -12011,107 +12635,112 @@
 					"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
 					"dev": true,
 					"requires": {
-						"has-flag": "3.0.0"
+						"has-flag": "^3.0.0"
 					}
 				}
 			}
 		},
-		"postcss-less": {
-			"version": "1.1.5",
-			"resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-1.1.5.tgz",
-			"integrity": "sha512-QQIiIqgEjNnquc0d4b6HDOSFZxbFQoy4MPpli2lSLpKhMyBkKwwca2HFqu4xzxlKID/F2fxSOowwtKpgczhF7A==",
-			"dev": true,
-			"requires": {
-				"postcss": "5.2.18"
-			}
-		},
-		"postcss-markdown": {
-			"version": "0.23.7",
-			"resolved": "https://registry.npmjs.org/postcss-markdown/-/postcss-markdown-0.23.7.tgz",
-			"integrity": "sha1-fjo5h5QpXEJeUeTwq97m0TrT0TQ=",
-			"dev": true,
-			"requires": {
-				"remark": "9.0.0",
-				"unist-util-find-all-after": "1.0.2"
-			}
-		},
-		"postcss-media-minmax": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-3.0.0.tgz",
-			"integrity": "sha1-Z1JWA3pD70C8Twdgv9BtTcadSNI=",
+		"postcss-easy-import": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/postcss-easy-import/-/postcss-easy-import-1.0.1.tgz",
+			"integrity": "sha1-oEh3xT9mXxce29r7tOgLMoOboKk=",
 			"dev": true,
 			"requires": {
-				"postcss": "6.0.22"
+				"globby": "^4.0.0",
+				"object-assign": "^4.0.1",
+				"pify": "^2.3.0",
+				"postcss": "^5.0.13",
+				"postcss-import": "^8.0.1",
+				"resolve": "^1.1.7"
 			},
 			"dependencies": {
-				"ansi-styles": {
-					"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==",
+				"glob": {
+					"version": "6.0.4",
+					"resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
+					"integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=",
 					"dev": true,
 					"requires": {
-						"color-convert": "1.9.1"
+						"inflight": "^1.0.4",
+						"inherits": "2",
+						"minimatch": "2 || 3",
+						"once": "^1.3.0",
+						"path-is-absolute": "^1.0.0"
 					}
 				},
-				"chalk": {
-					"version": "2.4.1",
-					"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
-					"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
+				"globby": {
+					"version": "4.1.0",
+					"resolved": "https://registry.npmjs.org/globby/-/globby-4.1.0.tgz",
+					"integrity": "sha1-CA9UVJ7BuCpsYOYx/ILhIR2+lfg=",
 					"dev": true,
 					"requires": {
-						"ansi-styles": "3.2.1",
-						"escape-string-regexp": "1.0.5",
-						"supports-color": "5.4.0"
+						"array-union": "^1.0.1",
+						"arrify": "^1.0.0",
+						"glob": "^6.0.1",
+						"object-assign": "^4.0.1",
+						"pify": "^2.0.0",
+						"pinkie-promise": "^2.0.0"
 					}
 				},
 				"has-flag": {
-					"version": "3.0.0",
-					"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-					"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+					"version": "1.0.0",
+					"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+					"integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+					"dev": true
+				},
+				"pify": {
+					"version": "2.3.0",
+					"resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+					"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
 					"dev": true
 				},
 				"postcss": {
-					"version": "6.0.22",
-					"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz",
-					"integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==",
+					"version": "5.2.18",
+					"resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz",
+					"integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==",
 					"dev": true,
 					"requires": {
-						"chalk": "2.4.1",
-						"source-map": "0.6.1",
-						"supports-color": "5.4.0"
+						"chalk": "^1.1.3",
+						"js-base64": "^2.1.9",
+						"source-map": "^0.5.6",
+						"supports-color": "^3.2.3"
 					}
 				},
-				"source-map": {
-					"version": "0.6.1",
-					"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-					"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-					"dev": true
+				"postcss-import": {
+					"version": "8.2.0",
+					"resolved": "http://registry.npmjs.org/postcss-import/-/postcss-import-8.2.0.tgz",
+					"integrity": "sha1-+S/SRU4h7077HnXADEesA/TROXw=",
+					"dev": true,
+					"requires": {
+						"object-assign": "^4.0.1",
+						"pkg-resolve": "^0.1.7",
+						"postcss": "^5.0.14",
+						"postcss-value-parser": "^3.2.3",
+						"promise-each": "^2.2.0",
+						"read-cache": "^1.0.0",
+						"resolve": "^1.1.7"
+					}
 				},
 				"supports-color": {
-					"version": "5.4.0",
-					"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
-					"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
+					"version": "3.2.3",
+					"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+					"integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
 					"dev": true,
 					"requires": {
-						"has-flag": "3.0.0"
+						"has-flag": "^1.0.0"
 					}
 				}
 			}
 		},
-		"postcss-media-query-parser": {
-			"version": "0.2.3",
-			"resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz",
-			"integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=",
-			"dev": true
-		},
-		"postcss-nested": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-3.0.0.tgz",
-			"integrity": "sha512-1xxmLHSfubuUi6xZZ0zLsNoiKfk3BWQj6fkNMaBJC529wKKLcdeCxXt6KJmDLva+trNyQNwEaE/ZWMA7cve1fA==",
+		"postcss-import": {
+			"version": "12.0.1",
+			"resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-12.0.1.tgz",
+			"integrity": "sha512-3Gti33dmCjyKBgimqGxL3vcV8w9+bsHwO5UrBawp796+jdardbcFl4RP5w/76BwNL7aGzpKstIfF9I+kdE8pTw==",
 			"dev": true,
 			"requires": {
-				"postcss": "6.0.22",
-				"postcss-selector-parser": "3.1.1"
+				"postcss": "^7.0.1",
+				"postcss-value-parser": "^3.2.3",
+				"read-cache": "^1.0.0",
+				"resolve": "^1.1.7"
 			},
 			"dependencies": {
 				"ansi-styles": {
@@ -12120,7 +12749,7 @@
 					"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
 					"dev": true,
 					"requires": {
-						"color-convert": "1.9.1"
+						"color-convert": "^1.9.0"
 					}
 				},
 				"chalk": {
@@ -12129,26 +12758,20 @@
 					"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
 					"dev": true,
 					"requires": {
-						"ansi-styles": "3.2.1",
-						"escape-string-regexp": "1.0.5",
-						"supports-color": "5.4.0"
+						"ansi-styles": "^3.2.1",
+						"escape-string-regexp": "^1.0.5",
+						"supports-color": "^5.3.0"
 					}
 				},
-				"has-flag": {
-					"version": "3.0.0",
-					"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-					"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
-					"dev": true
-				},
 				"postcss": {
-					"version": "6.0.22",
-					"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz",
-					"integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==",
+					"version": "7.0.5",
+					"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.5.tgz",
+					"integrity": "sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ==",
 					"dev": true,
 					"requires": {
-						"chalk": "2.4.1",
-						"source-map": "0.6.1",
-						"supports-color": "5.4.0"
+						"chalk": "^2.4.1",
+						"source-map": "^0.6.1",
+						"supports-color": "^5.5.0"
 					}
 				},
 				"source-map": {
@@ -12156,97 +12779,154 @@
 					"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
 					"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
 					"dev": true
+				}
+			}
+		},
+		"postcss-jsx": {
+			"version": "0.35.0",
+			"resolved": "https://registry.npmjs.org/postcss-jsx/-/postcss-jsx-0.35.0.tgz",
+			"integrity": "sha512-AU2/9QDmHYJRxTiniMt2bJ9fwCzVF6n00VnR4gdnFGHeXRW2mGwoptpuPgYjfivkdI8LlNIuo+w8TyS6a4JhJw==",
+			"dev": true,
+			"requires": {
+				"@babel/core": "^7.1.2",
+				"postcss-styled": ">=0.34.0"
+			}
+		},
+		"postcss-load-config": {
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz",
+			"integrity": "sha1-U56a/J3chiASHr+djDZz4M5Q0oo=",
+			"dev": true,
+			"requires": {
+				"cosmiconfig": "^2.1.0",
+				"object-assign": "^4.1.0",
+				"postcss-load-options": "^1.2.0",
+				"postcss-load-plugins": "^2.3.0"
+			},
+			"dependencies": {
+				"cosmiconfig": {
+					"version": "2.2.2",
+					"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz",
+					"integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==",
+					"dev": true,
+					"requires": {
+						"is-directory": "^0.3.1",
+						"js-yaml": "^3.4.3",
+						"minimist": "^1.2.0",
+						"object-assign": "^4.1.0",
+						"os-homedir": "^1.0.1",
+						"parse-json": "^2.2.0",
+						"require-from-string": "^1.1.0"
+					}
 				},
-				"supports-color": {
-					"version": "5.4.0",
-					"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
-					"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
+				"minimist": {
+					"version": "1.2.0",
+					"resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+					"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+					"dev": true
+				},
+				"parse-json": {
+					"version": "2.2.0",
+					"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+					"integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
 					"dev": true,
 					"requires": {
-						"has-flag": "3.0.0"
+						"error-ex": "^1.2.0"
 					}
 				}
 			}
 		},
-		"postcss-reporter": {
-			"version": "5.0.0",
-			"resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-5.0.0.tgz",
-			"integrity": "sha512-rBkDbaHAu5uywbCR2XE8a25tats3xSOsGNx6mppK6Q9kSFGKc/FyAzfci+fWM2l+K402p1D0pNcfDGxeje5IKg==",
+		"postcss-load-options": {
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/postcss-load-options/-/postcss-load-options-1.2.0.tgz",
+			"integrity": "sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw=",
 			"dev": true,
 			"requires": {
-				"chalk": "2.4.1",
-				"lodash": "4.17.10",
-				"log-symbols": "2.2.0",
-				"postcss": "6.0.22"
+				"cosmiconfig": "^2.1.0",
+				"object-assign": "^4.1.0"
 			},
 			"dependencies": {
-				"ansi-styles": {
-					"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==",
+				"cosmiconfig": {
+					"version": "2.2.2",
+					"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz",
+					"integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==",
 					"dev": true,
 					"requires": {
-						"color-convert": "1.9.1"
+						"is-directory": "^0.3.1",
+						"js-yaml": "^3.4.3",
+						"minimist": "^1.2.0",
+						"object-assign": "^4.1.0",
+						"os-homedir": "^1.0.1",
+						"parse-json": "^2.2.0",
+						"require-from-string": "^1.1.0"
 					}
 				},
-				"chalk": {
-					"version": "2.4.1",
-					"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
-					"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
+				"minimist": {
+					"version": "1.2.0",
+					"resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+					"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+					"dev": true
+				},
+				"parse-json": {
+					"version": "2.2.0",
+					"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+					"integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
 					"dev": true,
 					"requires": {
-						"ansi-styles": "3.2.1",
-						"escape-string-regexp": "1.0.5",
-						"supports-color": "5.4.0"
+						"error-ex": "^1.2.0"
 					}
-				},
-				"has-flag": {
-					"version": "3.0.0",
-					"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-					"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
-					"dev": true
-				},
-				"postcss": {
-					"version": "6.0.22",
-					"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz",
-					"integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==",
+				}
+			}
+		},
+		"postcss-load-plugins": {
+			"version": "2.3.0",
+			"resolved": "https://registry.npmjs.org/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz",
+			"integrity": "sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI=",
+			"dev": true,
+			"requires": {
+				"cosmiconfig": "^2.1.1",
+				"object-assign": "^4.1.0"
+			},
+			"dependencies": {
+				"cosmiconfig": {
+					"version": "2.2.2",
+					"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz",
+					"integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==",
 					"dev": true,
 					"requires": {
-						"chalk": "2.4.1",
-						"source-map": "0.6.1",
-						"supports-color": "5.4.0"
+						"is-directory": "^0.3.1",
+						"js-yaml": "^3.4.3",
+						"minimist": "^1.2.0",
+						"object-assign": "^4.1.0",
+						"os-homedir": "^1.0.1",
+						"parse-json": "^2.2.0",
+						"require-from-string": "^1.1.0"
 					}
 				},
-				"source-map": {
-					"version": "0.6.1",
-					"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-					"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+				"minimist": {
+					"version": "1.2.0",
+					"resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+					"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
 					"dev": true
 				},
-				"supports-color": {
-					"version": "5.4.0",
-					"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
-					"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
+				"parse-json": {
+					"version": "2.2.0",
+					"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+					"integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
 					"dev": true,
 					"requires": {
-						"has-flag": "3.0.0"
+						"error-ex": "^1.2.0"
 					}
 				}
 			}
 		},
-		"postcss-resolve-nested-selector": {
-			"version": "0.1.1",
-			"resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz",
-			"integrity": "sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4=",
-			"dev": true
-		},
-		"postcss-safe-parser": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-3.0.1.tgz",
-			"integrity": "sha1-t1Pv9sfArqXoN1++TN6L+QY/8UI=",
+		"postcss-media-minmax": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-3.0.0.tgz",
+			"integrity": "sha1-Z1JWA3pD70C8Twdgv9BtTcadSNI=",
 			"dev": true,
 			"requires": {
-				"postcss": "6.0.22"
+				"postcss": "^6.0.1"
 			},
 			"dependencies": {
 				"ansi-styles": {
@@ -12255,7 +12935,7 @@
 					"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
 					"dev": true,
 					"requires": {
-						"color-convert": "1.9.1"
+						"color-convert": "^1.9.0"
 					}
 				},
 				"chalk": {
@@ -12264,9 +12944,9 @@
 					"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
 					"dev": true,
 					"requires": {
-						"ansi-styles": "3.2.1",
-						"escape-string-regexp": "1.0.5",
-						"supports-color": "5.4.0"
+						"ansi-styles": "^3.2.1",
+						"escape-string-regexp": "^1.0.5",
+						"supports-color": "^5.3.0"
 					}
 				},
 				"has-flag": {
@@ -12281,9 +12961,9 @@
 					"integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==",
 					"dev": true,
 					"requires": {
-						"chalk": "2.4.1",
-						"source-map": "0.6.1",
-						"supports-color": "5.4.0"
+						"chalk": "^2.4.1",
+						"source-map": "^0.6.1",
+						"supports-color": "^5.4.0"
 					}
 				},
 				"source-map": {
@@ -12298,19 +12978,25 @@
 					"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
 					"dev": true,
 					"requires": {
-						"has-flag": "3.0.0"
+						"has-flag": "^3.0.0"
 					}
 				}
 			}
 		},
-		"postcss-sass": {
-			"version": "0.3.2",
-			"resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.3.2.tgz",
-			"integrity": "sha512-0HgxikiZ07VKYr98KT+k7/rAzyMgZlP+3+R8vUti56T2dPdhW0OhPGDQzddxY/N2iDtBVZQqCHRDA09j5I6EWg==",
+		"postcss-media-query-parser": {
+			"version": "0.2.3",
+			"resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz",
+			"integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=",
+			"dev": true
+		},
+		"postcss-nested": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-3.0.0.tgz",
+			"integrity": "sha512-1xxmLHSfubuUi6xZZ0zLsNoiKfk3BWQj6fkNMaBJC529wKKLcdeCxXt6KJmDLva+trNyQNwEaE/ZWMA7cve1fA==",
 			"dev": true,
 			"requires": {
-				"gonzales-pe": "4.2.3",
-				"postcss": "6.0.22"
+				"postcss": "^6.0.14",
+				"postcss-selector-parser": "^3.1.1"
 			},
 			"dependencies": {
 				"ansi-styles": {
@@ -12319,7 +13005,7 @@
 					"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
 					"dev": true,
 					"requires": {
-						"color-convert": "1.9.1"
+						"color-convert": "^1.9.0"
 					}
 				},
 				"chalk": {
@@ -12328,9 +13014,9 @@
 					"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
 					"dev": true,
 					"requires": {
-						"ansi-styles": "3.2.1",
-						"escape-string-regexp": "1.0.5",
-						"supports-color": "5.4.0"
+						"ansi-styles": "^3.2.1",
+						"escape-string-regexp": "^1.0.5",
+						"supports-color": "^5.3.0"
 					}
 				},
 				"has-flag": {
@@ -12345,9 +13031,9 @@
 					"integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==",
 					"dev": true,
 					"requires": {
-						"chalk": "2.4.1",
-						"source-map": "0.6.1",
-						"supports-color": "5.4.0"
+						"chalk": "^2.4.1",
+						"source-map": "^0.6.1",
+						"supports-color": "^5.4.0"
 					}
 				},
 				"source-map": {
@@ -12362,17 +13048,24 @@
 					"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
 					"dev": true,
 					"requires": {
-						"has-flag": "3.0.0"
+						"has-flag": "^3.0.0"
 					}
 				}
 			}
 		},
-		"postcss-scss": {
-			"version": "1.0.5",
-			"resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-1.0.5.tgz",
-			"integrity": "sha512-gJB1tKYMkBy0MU+COt6WXA4ZiRctAKoWLa6qD7a6bbEbBMqrpa/BhfQdN80eYMV+JkKddZVEpZlOggnGShpvyg==",
+		"postcss-resolve-nested-selector": {
+			"version": "0.1.1",
+			"resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz",
+			"integrity": "sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4=",
+			"dev": true
+		},
+		"postcss-sass": {
+			"version": "0.3.2",
+			"resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.3.2.tgz",
+			"integrity": "sha512-0HgxikiZ07VKYr98KT+k7/rAzyMgZlP+3+R8vUti56T2dPdhW0OhPGDQzddxY/N2iDtBVZQqCHRDA09j5I6EWg==",
 			"dev": true,
 			"requires": {
+				"gonzales-pe": "4.2.3",
 				"postcss": "6.0.22"
 			},
 			"dependencies": {
@@ -12382,7 +13075,7 @@
 					"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
 					"dev": true,
 					"requires": {
-						"color-convert": "1.9.1"
+						"color-convert": "^1.9.0"
 					}
 				},
 				"chalk": {
@@ -12391,9 +13084,9 @@
 					"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
 					"dev": true,
 					"requires": {
-						"ansi-styles": "3.2.1",
-						"escape-string-regexp": "1.0.5",
-						"supports-color": "5.4.0"
+						"ansi-styles": "^3.2.1",
+						"escape-string-regexp": "^1.0.5",
+						"supports-color": "^5.3.0"
 					}
 				},
 				"has-flag": {
@@ -12408,9 +13101,9 @@
 					"integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==",
 					"dev": true,
 					"requires": {
-						"chalk": "2.4.1",
-						"source-map": "0.6.1",
-						"supports-color": "5.4.0"
+						"chalk": "^2.4.1",
+						"source-map": "^0.6.1",
+						"supports-color": "^5.4.0"
 					}
 				},
 				"source-map": {
@@ -12425,7 +13118,7 @@
 					"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
 					"dev": true,
 					"requires": {
-						"has-flag": "3.0.0"
+						"has-flag": "^3.0.0"
 					}
 				}
 			}
@@ -12436,8 +13129,8 @@
 			"integrity": "sha1-Lk2y8JZTNsAefOx9tsYN/3ZzNdk=",
 			"dev": true,
 			"requires": {
-				"balanced-match": "0.4.2",
-				"postcss": "6.0.22"
+				"balanced-match": "^0.4.2",
+				"postcss": "^6.0.1"
 			},
 			"dependencies": {
 				"ansi-styles": {
@@ -12446,7 +13139,7 @@
 					"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
 					"dev": true,
 					"requires": {
-						"color-convert": "1.9.1"
+						"color-convert": "^1.9.0"
 					}
 				},
 				"balanced-match": {
@@ -12461,9 +13154,9 @@
 					"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
 					"dev": true,
 					"requires": {
-						"ansi-styles": "3.2.1",
-						"escape-string-regexp": "1.0.5",
-						"supports-color": "5.4.0"
+						"ansi-styles": "^3.2.1",
+						"escape-string-regexp": "^1.0.5",
+						"supports-color": "^5.3.0"
 					}
 				},
 				"has-flag": {
@@ -12478,9 +13171,9 @@
 					"integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==",
 					"dev": true,
 					"requires": {
-						"chalk": "2.4.1",
-						"source-map": "0.6.1",
-						"supports-color": "5.4.0"
+						"chalk": "^2.4.1",
+						"source-map": "^0.6.1",
+						"supports-color": "^5.4.0"
 					}
 				},
 				"source-map": {
@@ -12495,7 +13188,7 @@
 					"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
 					"dev": true,
 					"requires": {
-						"has-flag": "3.0.0"
+						"has-flag": "^3.0.0"
 					}
 				}
 			}
@@ -12506,9 +13199,9 @@
 			"integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
 			"dev": true,
 			"requires": {
-				"dot-prop": "4.2.0",
-				"indexes-of": "1.0.1",
-				"uniq": "1.0.1"
+				"dot-prop": "^4.1.1",
+				"indexes-of": "^1.0.1",
+				"uniq": "^1.0.1"
 			}
 		},
 		"postcss-sorting": {
@@ -12517,8 +13210,8 @@
 			"integrity": "sha512-YCPTcJwGIInF1LpMD1lIYvMHTGUL4s97o/OraA6eKvoauhhk6vjwOWDDjm6uRKqug/kyDPMKEzmYZ6FtW6RDgw==",
 			"dev": true,
 			"requires": {
-				"lodash": "4.17.10",
-				"postcss": "6.0.22"
+				"lodash": "^4.17.4",
+				"postcss": "^6.0.13"
 			},
 			"dependencies": {
 				"ansi-styles": {
@@ -12527,7 +13220,7 @@
 					"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
 					"dev": true,
 					"requires": {
-						"color-convert": "1.9.1"
+						"color-convert": "^1.9.0"
 					}
 				},
 				"chalk": {
@@ -12536,9 +13229,9 @@
 					"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
 					"dev": true,
 					"requires": {
-						"ansi-styles": "3.2.1",
-						"escape-string-regexp": "1.0.5",
-						"supports-color": "5.4.0"
+						"ansi-styles": "^3.2.1",
+						"escape-string-regexp": "^1.0.5",
+						"supports-color": "^5.3.0"
 					}
 				},
 				"has-flag": {
@@ -12553,9 +13246,9 @@
 					"integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==",
 					"dev": true,
 					"requires": {
-						"chalk": "2.4.1",
-						"source-map": "0.6.1",
-						"supports-color": "5.4.0"
+						"chalk": "^2.4.1",
+						"source-map": "^0.6.1",
+						"supports-color": "^5.4.0"
 					}
 				},
 				"source-map": {
@@ -12570,15 +13263,15 @@
 					"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
 					"dev": true,
 					"requires": {
-						"has-flag": "3.0.0"
+						"has-flag": "^3.0.0"
 					}
 				}
 			}
 		},
-		"postcss-syntax": {
-			"version": "0.9.1",
-			"resolved": "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.9.1.tgz",
-			"integrity": "sha512-oC78MbSKmT/kPgqRl9sQrBIsbfr4TN+vH0STuUa7gnewVg9cs+wjJ00Lclu1GbKy38vJE7tBrhvjlEWvyxiZcg==",
+		"postcss-styled": {
+			"version": "0.34.0",
+			"resolved": "https://registry.npmjs.org/postcss-styled/-/postcss-styled-0.34.0.tgz",
+			"integrity": "sha512-Uaeetr/xOiQWGJgzPFOr32/Bwykpfh9TVE26OpmwDb8eEN205TS/gqkt9ri+C6otQzQKXqbMfeZNbKYi7QpeNA==",
 			"dev": true
 		},
 		"postcss-value-parser": {
@@ -12591,11 +13284,11 @@
 			"resolved": "https://registry.npmjs.org/power-assert/-/power-assert-1.5.0.tgz",
 			"integrity": "sha512-WaWSw+Ts283o6dzxW1BxIxoaHok7aSSGx4SaR6dW62Pk31ynv9DERDieuZpPYv5XaJ+H+zdcOaJQ+PvlasAOVw==",
 			"requires": {
-				"define-properties": "1.1.2",
-				"empower": "1.2.3",
-				"power-assert-formatter": "1.4.1",
-				"universal-deep-strict-equal": "1.2.2",
-				"xtend": "4.0.1"
+				"define-properties": "^1.1.2",
+				"empower": "^1.2.3",
+				"power-assert-formatter": "^1.3.1",
+				"universal-deep-strict-equal": "^1.2.1",
+				"xtend": "^4.0.0"
 			}
 		},
 		"power-assert-context-formatter": {
@@ -12603,8 +13296,8 @@
 			"resolved": "https://registry.npmjs.org/power-assert-context-formatter/-/power-assert-context-formatter-1.1.1.tgz",
 			"integrity": "sha1-7bo1LT7YpgMRTWZyZazOYNaJzN8=",
 			"requires": {
-				"core-js": "2.5.7",
-				"power-assert-context-traversal": "1.1.1"
+				"core-js": "^2.0.0",
+				"power-assert-context-traversal": "^1.1.1"
 			}
 		},
 		"power-assert-context-reducer-ast": {
@@ -12612,11 +13305,11 @@
 			"resolved": "https://registry.npmjs.org/power-assert-context-reducer-ast/-/power-assert-context-reducer-ast-1.1.2.tgz",
 			"integrity": "sha1-SEqZ4m9Jc/+IMuXFzHVnAuYJQXQ=",
 			"requires": {
-				"acorn": "4.0.13",
-				"acorn-es7-plugin": "1.1.7",
-				"core-js": "2.5.7",
-				"espurify": "1.8.0",
-				"estraverse": "4.2.0"
+				"acorn": "^4.0.0",
+				"acorn-es7-plugin": "^1.0.12",
+				"core-js": "^2.0.0",
+				"espurify": "^1.6.0",
+				"estraverse": "^4.2.0"
 			}
 		},
 		"power-assert-context-traversal": {
@@ -12624,8 +13317,8 @@
 			"resolved": "https://registry.npmjs.org/power-assert-context-traversal/-/power-assert-context-traversal-1.1.1.tgz",
 			"integrity": "sha1-iMq8oNE7Y1nwfT0+ivppkmRXftk=",
 			"requires": {
-				"core-js": "2.5.7",
-				"estraverse": "4.2.0"
+				"core-js": "^2.0.0",
+				"estraverse": "^4.1.0"
 			}
 		},
 		"power-assert-formatter": {
@@ -12633,13 +13326,13 @@
 			"resolved": "https://registry.npmjs.org/power-assert-formatter/-/power-assert-formatter-1.4.1.tgz",
 			"integrity": "sha1-XcEl7VCj37HdomwZNH879Y7CiEo=",
 			"requires": {
-				"core-js": "2.5.7",
-				"power-assert-context-formatter": "1.1.1",
-				"power-assert-context-reducer-ast": "1.1.2",
-				"power-assert-renderer-assertion": "1.1.1",
-				"power-assert-renderer-comparison": "1.1.1",
-				"power-assert-renderer-diagram": "1.1.2",
-				"power-assert-renderer-file": "1.1.1"
+				"core-js": "^2.0.0",
+				"power-assert-context-formatter": "^1.0.7",
+				"power-assert-context-reducer-ast": "^1.0.7",
+				"power-assert-renderer-assertion": "^1.0.7",
+				"power-assert-renderer-comparison": "^1.0.7",
+				"power-assert-renderer-diagram": "^1.0.7",
+				"power-assert-renderer-file": "^1.0.7"
 			}
 		},
 		"power-assert-renderer-assertion": {
@@ -12647,8 +13340,8 @@
 			"resolved": "https://registry.npmjs.org/power-assert-renderer-assertion/-/power-assert-renderer-assertion-1.1.1.tgz",
 			"integrity": "sha1-y/wOd+AIao+Wrz8djme57n4ozpg=",
 			"requires": {
-				"power-assert-renderer-base": "1.1.1",
-				"power-assert-util-string-width": "1.1.1"
+				"power-assert-renderer-base": "^1.1.1",
+				"power-assert-util-string-width": "^1.1.1"
 			}
 		},
 		"power-assert-renderer-base": {
@@ -12661,11 +13354,11 @@
 			"resolved": "https://registry.npmjs.org/power-assert-renderer-comparison/-/power-assert-renderer-comparison-1.1.1.tgz",
 			"integrity": "sha1-10Odl9hRVr5OMKAPL7WnJRTOPAg=",
 			"requires": {
-				"core-js": "2.5.7",
-				"diff-match-patch": "1.0.1",
-				"power-assert-renderer-base": "1.1.1",
-				"stringifier": "1.3.0",
-				"type-name": "2.0.2"
+				"core-js": "^2.0.0",
+				"diff-match-patch": "^1.0.0",
+				"power-assert-renderer-base": "^1.1.1",
+				"stringifier": "^1.3.0",
+				"type-name": "^2.0.1"
 			}
 		},
 		"power-assert-renderer-diagram": {
@@ -12673,10 +13366,10 @@
 			"resolved": "https://registry.npmjs.org/power-assert-renderer-diagram/-/power-assert-renderer-diagram-1.1.2.tgz",
 			"integrity": "sha1-ZV+PcRk1qbbVQbhjJ2VHF8Y3qYY=",
 			"requires": {
-				"core-js": "2.5.7",
-				"power-assert-renderer-base": "1.1.1",
-				"power-assert-util-string-width": "1.1.1",
-				"stringifier": "1.3.0"
+				"core-js": "^2.0.0",
+				"power-assert-renderer-base": "^1.1.1",
+				"power-assert-util-string-width": "^1.1.1",
+				"stringifier": "^1.3.0"
 			}
 		},
 		"power-assert-renderer-file": {
@@ -12684,7 +13377,7 @@
 			"resolved": "https://registry.npmjs.org/power-assert-renderer-file/-/power-assert-renderer-file-1.1.1.tgz",
 			"integrity": "sha1-o34rvReMys0E5427eckv40kzxec=",
 			"requires": {
-				"power-assert-renderer-base": "1.1.1"
+				"power-assert-renderer-base": "^1.1.1"
 			}
 		},
 		"power-assert-util-string-width": {
@@ -12692,7 +13385,7 @@
 			"resolved": "https://registry.npmjs.org/power-assert-util-string-width/-/power-assert-util-string-width-1.1.1.tgz",
 			"integrity": "sha1-vmWet5N/3S5smncmjar2S9W3xZI=",
 			"requires": {
-				"eastasianwidth": "0.1.1"
+				"eastasianwidth": "^0.1.1"
 			}
 		},
 		"prebuild-install": {
@@ -12700,26 +13393,26 @@
 			"resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-4.0.0.tgz",
 			"integrity": "sha512-7tayxeYboJX0RbVzdnKyGl2vhQRWr6qfClEXDhOkXjuaOKCw2q8aiuFhONRYVsG/czia7KhpykIlI2S2VaPunA==",
 			"requires": {
-				"detect-libc": "1.0.3",
-				"expand-template": "1.1.1",
+				"detect-libc": "^1.0.3",
+				"expand-template": "^1.0.2",
 				"github-from-package": "0.0.0",
-				"minimist": "1.2.0",
-				"mkdirp": "0.5.1",
-				"node-abi": "2.4.1",
-				"noop-logger": "0.1.1",
-				"npmlog": "4.1.2",
-				"os-homedir": "1.0.2",
-				"pump": "2.0.1",
-				"rc": "1.2.8",
-				"simple-get": "2.8.1",
-				"tar-fs": "1.16.2",
-				"tunnel-agent": "0.6.0",
-				"which-pm-runs": "1.0.0"
+				"minimist": "^1.2.0",
+				"mkdirp": "^0.5.1",
+				"node-abi": "^2.2.0",
+				"noop-logger": "^0.1.1",
+				"npmlog": "^4.0.1",
+				"os-homedir": "^1.0.1",
+				"pump": "^2.0.1",
+				"rc": "^1.1.6",
+				"simple-get": "^2.7.0",
+				"tar-fs": "^1.13.0",
+				"tunnel-agent": "^0.6.0",
+				"which-pm-runs": "^1.0.0"
 			},
 			"dependencies": {
 				"minimist": {
 					"version": "1.2.0",
-					"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+					"resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
 					"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
 				}
 			}
@@ -12734,11 +13427,6 @@
 			"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
 			"integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ="
 		},
-		"prepend-http": {
-			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
-			"integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc="
-		},
 		"preserve": {
 			"version": "0.2.0",
 			"resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
@@ -12757,17 +13445,17 @@
 			"integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
 		},
 		"progress": {
-			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz",
-			"integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=",
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/progress/-/progress-2.0.1.tgz",
+			"integrity": "sha512-OE+a6vzqazc+K6LxJrX5UPyKFvGnL5CYmq2jFGNIBWHpc4QyE49/YOumcrpQFJpfejmvRtbJzgO1zPmMCqlbBg==",
 			"dev": true
 		},
 		"prom-client": {
-			"version": "11.0.0",
-			"resolved": "https://registry.npmjs.org/prom-client/-/prom-client-11.0.0.tgz",
-			"integrity": "sha512-UM4uYDwmA7x9yTq+AZcL4lU/XF11RkbQWbIouFaVMLxdV4qBB5CEmEosQlR1lGvduBuS1IWonHFh1WBtFSoZ3A==",
+			"version": "11.1.3",
+			"resolved": "https://registry.npmjs.org/prom-client/-/prom-client-11.1.3.tgz",
+			"integrity": "sha512-vpEQ8NltXq+lrtOYvPEoX+kvN4FG3LrIfa0/eVE8sfePDIprhV/RY7EX8u14EN4KWNjO9O70b9mNLHglSt1rzQ==",
 			"requires": {
-				"tdigest": "0.1.1"
+				"tdigest": "^0.1.1"
 			}
 		},
 		"promise": {
@@ -12775,7 +13463,29 @@
 			"resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
 			"integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
 			"requires": {
-				"asap": "2.0.6"
+				"asap": "~2.0.3"
+			}
+		},
+		"promise-each": {
+			"version": "2.2.0",
+			"resolved": "https://registry.npmjs.org/promise-each/-/promise-each-2.2.0.tgz",
+			"integrity": "sha1-M1MXTv8mlEgQN+BOAfd6oPttG2A=",
+			"dev": true,
+			"requires": {
+				"any-promise": "^0.1.0"
+			}
+		},
+		"proper-lockfile": {
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-1.2.0.tgz",
+			"integrity": "sha1-zv9d2J0+XxD7deHo52vHWAGlnDQ=",
+			"dev": true,
+			"optional": true,
+			"requires": {
+				"err-code": "^1.0.0",
+				"extend": "^3.0.0",
+				"graceful-fs": "^4.1.2",
+				"retry": "^0.10.0"
 			}
 		},
 		"protobufjs": {
@@ -12783,19 +13493,19 @@
 			"resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.6.tgz",
 			"integrity": "sha512-eH2OTP9s55vojr3b7NBaF9i4WhWPkv/nq55nznWNp/FomKrLViprUcqnBjHph2tFQ+7KciGPTPsVWGz0SOhL0Q==",
 			"requires": {
-				"@protobufjs/aspromise": "1.1.2",
-				"@protobufjs/base64": "1.1.2",
-				"@protobufjs/codegen": "2.0.4",
-				"@protobufjs/eventemitter": "1.1.0",
-				"@protobufjs/fetch": "1.1.0",
-				"@protobufjs/float": "1.0.2",
-				"@protobufjs/inquire": "1.1.0",
-				"@protobufjs/path": "1.1.2",
-				"@protobufjs/pool": "1.1.0",
-				"@protobufjs/utf8": "1.1.0",
-				"@types/long": "3.0.32",
-				"@types/node": "8.10.18",
-				"long": "4.0.0"
+				"@protobufjs/aspromise": "^1.1.2",
+				"@protobufjs/base64": "^1.1.2",
+				"@protobufjs/codegen": "^2.0.4",
+				"@protobufjs/eventemitter": "^1.1.0",
+				"@protobufjs/fetch": "^1.1.0",
+				"@protobufjs/float": "^1.0.2",
+				"@protobufjs/inquire": "^1.1.0",
+				"@protobufjs/path": "^1.1.2",
+				"@protobufjs/pool": "^1.1.0",
+				"@protobufjs/utf8": "^1.1.0",
+				"@types/long": "^3.0.32",
+				"@types/node": "^8.9.4",
+				"long": "^4.0.0"
 			}
 		},
 		"proxy-addr": {
@@ -12803,7 +13513,7 @@
 			"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz",
 			"integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==",
 			"requires": {
-				"forwarded": "0.1.2",
+				"forwarded": "~0.1.2",
 				"ipaddr.js": "1.8.0"
 			},
 			"dependencies": {
@@ -12815,23 +13525,23 @@
 			}
 		},
 		"proxyquire": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/proxyquire/-/proxyquire-2.0.1.tgz",
-			"integrity": "sha512-fQr3VQrbdzHrdaDn3XuisVoJlJNDJizHAvUXw9IuXRR8BpV2x0N7LsCxrpJkeKfPbNjiNU/V5vc008cI0TmzzQ==",
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/proxyquire/-/proxyquire-2.1.0.tgz",
+			"integrity": "sha512-kptdFArCfGRtQFv3Qwjr10lwbEV0TBJYvfqzhwucyfEXqVgmnAkyEw/S3FYzR5HI9i5QOq4rcqQjZ6AlknlCDQ==",
 			"dev": true,
 			"requires": {
-				"fill-keys": "1.0.2",
-				"module-not-found-error": "1.0.1",
-				"resolve": "1.5.0"
+				"fill-keys": "^1.0.2",
+				"module-not-found-error": "^1.0.0",
+				"resolve": "~1.8.1"
 			},
 			"dependencies": {
 				"resolve": {
-					"version": "1.5.0",
-					"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz",
-					"integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==",
+					"version": "1.8.1",
+					"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz",
+					"integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==",
 					"dev": true,
 					"requires": {
-						"path-parse": "1.0.5"
+						"path-parse": "^1.0.5"
 					}
 				}
 			}
@@ -12852,8 +13562,8 @@
 			"resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
 			"integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
 			"requires": {
-				"end-of-stream": "1.4.1",
-				"once": "1.4.0"
+				"end-of-stream": "^1.1.0",
+				"once": "^1.3.1"
 			}
 		},
 		"pumpify": {
@@ -12861,9 +13571,9 @@
 			"resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
 			"integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
 			"requires": {
-				"duplexify": "3.6.0",
-				"inherits": "2.0.3",
-				"pump": "2.0.1"
+				"duplexify": "^3.6.0",
+				"inherits": "^2.0.3",
+				"pump": "^2.0.0"
 			}
 		},
 		"punycode": {
@@ -12876,7 +13586,7 @@
 			"resolved": "https://registry.npmjs.org/pushdata-bitcoin/-/pushdata-bitcoin-1.0.1.tgz",
 			"integrity": "sha1-FZMdPNlnreUiBvUjqnMxrvfUOvc=",
 			"requires": {
-				"bitcoin-ops": "1.4.1"
+				"bitcoin-ops": "^1.3.0"
 			}
 		},
 		"q": {
@@ -12884,9 +13594,9 @@
 			"resolved": "https://registry.npmjs.org/q/-/q-2.0.3.tgz",
 			"integrity": "sha1-dbjbAlWhpa+C9Yw/Oqoe/sfQ0TQ=",
 			"requires": {
-				"asap": "2.0.6",
-				"pop-iterate": "1.0.1",
-				"weak-map": "1.0.5"
+				"asap": "^2.0.0",
+				"pop-iterate": "^1.0.1",
+				"weak-map": "^1.0.5"
 			}
 		},
 		"qs": {
@@ -12894,25 +13604,15 @@
 			"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
 			"integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
 		},
-		"query-string": {
-			"version": "5.1.1",
-			"resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz",
-			"integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==",
-			"requires": {
-				"decode-uri-component": "0.2.0",
-				"object-assign": "4.1.1",
-				"strict-uri-encode": "1.1.0"
-			}
-		},
 		"querystring": {
 			"version": "0.2.0",
 			"resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
 			"integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA="
 		},
 		"querystringify": {
-			"version": "1.0.0",
-			"resolved": "https://registry.npmjs.org/querystringify/-/querystringify-1.0.0.tgz",
-			"integrity": "sha1-YoYkIRLFtxL6ZU5SZlK/ahP/Bcs="
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.0.tgz",
+			"integrity": "sha512-sluvZZ1YiTLD5jsqZcDmFyV2EwToyXZBfpoVOmktMmW+VEnhgakFHnasVph65fOjGPTWN0Nw3+XQaSeMayr0kg=="
 		},
 		"queue-fifo": {
 			"version": "0.2.5",
@@ -12939,9 +13639,9 @@
 			"integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==",
 			"dev": true,
 			"requires": {
-				"is-number": "4.0.0",
-				"kind-of": "6.0.2",
-				"math-random": "1.0.1"
+				"is-number": "^4.0.0",
+				"kind-of": "^6.0.0",
+				"math-random": "^1.0.1"
 			},
 			"dependencies": {
 				"is-number": {
@@ -12957,7 +13657,7 @@
 			"resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz",
 			"integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==",
 			"requires": {
-				"safe-buffer": "5.1.2"
+				"safe-buffer": "^5.1.0"
 			}
 		},
 		"range-parser": {
@@ -12982,7 +13682,7 @@
 				},
 				"iconv-lite": {
 					"version": "0.4.13",
-					"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz",
+					"resolved": "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz",
 					"integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI="
 				}
 			}
@@ -12992,15 +13692,15 @@
 			"resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
 			"integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
 			"requires": {
-				"deep-extend": "0.6.0",
-				"ini": "1.3.5",
-				"minimist": "1.2.0",
-				"strip-json-comments": "2.0.1"
+				"deep-extend": "^0.6.0",
+				"ini": "~1.3.0",
+				"minimist": "^1.2.0",
+				"strip-json-comments": "~2.0.1"
 			},
 			"dependencies": {
 				"minimist": {
 					"version": "1.2.0",
-					"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+					"resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
 					"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
 				}
 			}
@@ -13011,12 +13711,12 @@
 			"integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=",
 			"dev": true,
 			"requires": {
-				"pify": "2.3.0"
+				"pify": "^2.3.0"
 			},
 			"dependencies": {
 				"pify": {
 					"version": "2.3.0",
-					"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+					"resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
 					"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
 					"dev": true
 				}
@@ -13028,9 +13728,9 @@
 			"integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
 			"dev": true,
 			"requires": {
-				"load-json-file": "1.1.0",
-				"normalize-package-data": "2.4.0",
-				"path-type": "1.1.0"
+				"load-json-file": "^1.0.0",
+				"normalize-package-data": "^2.3.2",
+				"path-type": "^1.0.0"
 			},
 			"dependencies": {
 				"load-json-file": {
@@ -13039,11 +13739,11 @@
 					"integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
 					"dev": true,
 					"requires": {
-						"graceful-fs": "4.1.11",
-						"parse-json": "2.2.0",
-						"pify": "2.3.0",
-						"pinkie-promise": "2.0.1",
-						"strip-bom": "2.0.0"
+						"graceful-fs": "^4.1.2",
+						"parse-json": "^2.2.0",
+						"pify": "^2.0.0",
+						"pinkie-promise": "^2.0.0",
+						"strip-bom": "^2.0.0"
 					}
 				},
 				"parse-json": {
@@ -13052,7 +13752,7 @@
 					"integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
 					"dev": true,
 					"requires": {
-						"error-ex": "1.3.1"
+						"error-ex": "^1.2.0"
 					}
 				},
 				"path-type": {
@@ -13061,14 +13761,14 @@
 					"integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
 					"dev": true,
 					"requires": {
-						"graceful-fs": "4.1.11",
-						"pify": "2.3.0",
-						"pinkie-promise": "2.0.1"
+						"graceful-fs": "^4.1.2",
+						"pify": "^2.0.0",
+						"pinkie-promise": "^2.0.0"
 					}
 				},
 				"pify": {
 					"version": "2.3.0",
-					"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+					"resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
 					"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
 					"dev": true
 				},
@@ -13078,7 +13778,7 @@
 					"integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
 					"dev": true,
 					"requires": {
-						"is-utf8": "0.2.1"
+						"is-utf8": "^0.2.0"
 					}
 				}
 			}
@@ -13089,8 +13789,8 @@
 			"integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
 			"dev": true,
 			"requires": {
-				"find-up": "1.1.2",
-				"read-pkg": "1.1.0"
+				"find-up": "^1.0.0",
+				"read-pkg": "^1.0.0"
 			},
 			"dependencies": {
 				"find-up": {
@@ -13099,8 +13799,8 @@
 					"integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
 					"dev": true,
 					"requires": {
-						"path-exists": "2.1.0",
-						"pinkie-promise": "2.0.1"
+						"path-exists": "^2.0.0",
+						"pinkie-promise": "^2.0.0"
 					}
 				},
 				"path-exists": {
@@ -13109,23 +13809,23 @@
 					"integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
 					"dev": true,
 					"requires": {
-						"pinkie-promise": "2.0.1"
+						"pinkie-promise": "^2.0.0"
 					}
 				}
 			}
 		},
 		"readable-stream": {
 			"version": "2.3.6",
-			"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+			"resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
 			"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
 			"requires": {
-				"core-util-is": "1.0.2",
-				"inherits": "2.0.3",
-				"isarray": "1.0.0",
-				"process-nextick-args": "2.0.0",
-				"safe-buffer": "5.1.2",
-				"string_decoder": "1.1.1",
-				"util-deprecate": "1.0.2"
+				"core-util-is": "~1.0.0",
+				"inherits": "~2.0.3",
+				"isarray": "~1.0.0",
+				"process-nextick-args": "~2.0.0",
+				"safe-buffer": "~5.1.1",
+				"string_decoder": "~1.1.1",
+				"util-deprecate": "~1.0.1"
 			}
 		},
 		"readdirp": {
@@ -13134,10 +13834,20 @@
 			"integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=",
 			"dev": true,
 			"requires": {
-				"graceful-fs": "4.1.11",
-				"minimatch": "3.0.4",
-				"readable-stream": "2.3.6",
-				"set-immediate-shim": "1.0.1"
+				"graceful-fs": "^4.1.2",
+				"minimatch": "^3.0.2",
+				"readable-stream": "^2.0.2",
+				"set-immediate-shim": "^1.0.1"
+			}
+		},
+		"rechoir": {
+			"version": "0.6.2",
+			"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
+			"integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
+			"dev": true,
+			"optional": true,
+			"requires": {
+				"resolve": "^1.1.6"
 			}
 		},
 		"redent": {
@@ -13146,8 +13856,8 @@
 			"integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=",
 			"dev": true,
 			"requires": {
-				"indent-string": "3.2.0",
-				"strip-indent": "2.0.0"
+				"indent-string": "^3.0.0",
+				"strip-indent": "^2.0.0"
 			}
 		},
 		"redis": {
@@ -13155,9 +13865,9 @@
 			"resolved": "https://registry.npmjs.org/redis/-/redis-2.8.0.tgz",
 			"integrity": "sha512-M1OkonEQwtRmZv4tEWF2VgpG0JWJ8Fv1PhlgT5+B+uNq2cA3Rt1Yt/ryoR+vQNOQcIEgdCdfH0jr3bDpihAw1A==",
 			"requires": {
-				"double-ended-queue": "2.1.0-0",
-				"redis-commands": "1.3.5",
-				"redis-parser": "2.6.0"
+				"double-ended-queue": "^2.1.0-0",
+				"redis-commands": "^1.2.0",
+				"redis-parser": "^2.6.0"
 			}
 		},
 		"redis-commands": {
@@ -13179,7 +13889,8 @@
 		"regenerator-runtime": {
 			"version": "0.11.1",
 			"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
-			"integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
+			"integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
+			"dev": true
 		},
 		"regenerator-transform": {
 			"version": "0.10.1",
@@ -13187,9 +13898,9 @@
 			"integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==",
 			"dev": true,
 			"requires": {
-				"babel-runtime": "6.26.0",
-				"babel-types": "6.26.0",
-				"private": "0.1.8"
+				"babel-runtime": "^6.18.0",
+				"babel-types": "^6.19.0",
+				"private": "^0.1.6"
 			}
 		},
 		"regex-cache": {
@@ -13198,7 +13909,7 @@
 			"integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
 			"dev": true,
 			"requires": {
-				"is-equal-shallow": "0.1.3"
+				"is-equal-shallow": "^0.1.3"
 			}
 		},
 		"regex-not": {
@@ -13206,13 +13917,13 @@
 			"resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
 			"integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
 			"requires": {
-				"extend-shallow": "3.0.2",
-				"safe-regex": "1.1.0"
+				"extend-shallow": "^3.0.2",
+				"safe-regex": "^1.1.0"
 			}
 		},
 		"regexpp": {
 			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz",
+			"resolved": "http://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz",
 			"integrity": "sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==",
 			"dev": true
 		},
@@ -13222,14 +13933,14 @@
 			"integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=",
 			"dev": true,
 			"requires": {
-				"regenerate": "1.4.0",
-				"regjsgen": "0.2.0",
-				"regjsparser": "0.1.5"
+				"regenerate": "^1.2.1",
+				"regjsgen": "^0.2.0",
+				"regjsparser": "^0.1.4"
 			}
 		},
 		"regjsgen": {
 			"version": "0.2.0",
-			"resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
+			"resolved": "http://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
 			"integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=",
 			"dev": true
 		},
@@ -13239,7 +13950,7 @@
 			"integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
 			"dev": true,
 			"requires": {
-				"jsesc": "0.5.0"
+				"jsesc": "~0.5.0"
 			},
 			"dependencies": {
 				"jsesc": {
@@ -13256,9 +13967,9 @@
 			"integrity": "sha512-amw8rGdD5lHbMEakiEsllmkdBP+/KpjW/PRK6NSGPZKCQowh0BT4IWXDAkRMyG3SB9dKPXWMviFjNusXzXNn3A==",
 			"dev": true,
 			"requires": {
-				"remark-parse": "5.0.0",
-				"remark-stringify": "5.0.0",
-				"unified": "6.2.0"
+				"remark-parse": "^5.0.0",
+				"remark-stringify": "^5.0.0",
+				"unified": "^6.0.0"
 			}
 		},
 		"remark-parse": {
@@ -13267,21 +13978,21 @@
 			"integrity": "sha512-b3iXszZLH1TLoyUzrATcTQUZrwNl1rE70rVdSruJFlDaJ9z5aMkhrG43Pp68OgfHndL/ADz6V69Zow8cTQu+JA==",
 			"dev": true,
 			"requires": {
-				"collapse-white-space": "1.0.4",
-				"is-alphabetical": "1.0.2",
-				"is-decimal": "1.0.2",
-				"is-whitespace-character": "1.0.2",
-				"is-word-character": "1.0.2",
-				"markdown-escapes": "1.0.2",
-				"parse-entities": "1.1.2",
-				"repeat-string": "1.6.1",
-				"state-toggle": "1.0.1",
+				"collapse-white-space": "^1.0.2",
+				"is-alphabetical": "^1.0.0",
+				"is-decimal": "^1.0.0",
+				"is-whitespace-character": "^1.0.0",
+				"is-word-character": "^1.0.0",
+				"markdown-escapes": "^1.0.0",
+				"parse-entities": "^1.1.0",
+				"repeat-string": "^1.5.4",
+				"state-toggle": "^1.0.0",
 				"trim": "0.0.1",
-				"trim-trailing-lines": "1.1.1",
-				"unherit": "1.1.1",
-				"unist-util-remove-position": "1.1.2",
-				"vfile-location": "2.0.3",
-				"xtend": "4.0.1"
+				"trim-trailing-lines": "^1.0.0",
+				"unherit": "^1.0.4",
+				"unist-util-remove-position": "^1.0.0",
+				"vfile-location": "^2.0.0",
+				"xtend": "^4.0.1"
 			}
 		},
 		"remark-stringify": {
@@ -13290,20 +14001,20 @@
 			"integrity": "sha512-Ws5MdA69ftqQ/yhRF9XhVV29mhxbfGhbz0Rx5bQH+oJcNhhSM6nCu1EpLod+DjrFGrU0BMPs+czVmJZU7xiS7w==",
 			"dev": true,
 			"requires": {
-				"ccount": "1.0.3",
-				"is-alphanumeric": "1.0.0",
-				"is-decimal": "1.0.2",
-				"is-whitespace-character": "1.0.2",
-				"longest-streak": "2.0.2",
-				"markdown-escapes": "1.0.2",
-				"markdown-table": "1.1.2",
-				"mdast-util-compact": "1.0.1",
-				"parse-entities": "1.1.2",
-				"repeat-string": "1.6.1",
-				"state-toggle": "1.0.1",
-				"stringify-entities": "1.3.2",
-				"unherit": "1.1.1",
-				"xtend": "4.0.1"
+				"ccount": "^1.0.0",
+				"is-alphanumeric": "^1.0.0",
+				"is-decimal": "^1.0.0",
+				"is-whitespace-character": "^1.0.0",
+				"longest-streak": "^2.0.1",
+				"markdown-escapes": "^1.0.0",
+				"markdown-table": "^1.1.0",
+				"mdast-util-compact": "^1.0.0",
+				"parse-entities": "^1.0.2",
+				"repeat-string": "^1.5.4",
+				"state-toggle": "^1.0.0",
+				"stringify-entities": "^1.0.1",
+				"unherit": "^1.0.4",
+				"xtend": "^4.0.1"
 			}
 		},
 		"remove-trailing-separator": {
@@ -13327,7 +14038,7 @@
 			"integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
 			"dev": true,
 			"requires": {
-				"is-finite": "1.0.2"
+				"is-finite": "^1.0.0"
 			}
 		},
 		"replace-ext": {
@@ -13341,26 +14052,26 @@
 			"resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz",
 			"integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==",
 			"requires": {
-				"aws-sign2": "0.7.0",
-				"aws4": "1.7.0",
-				"caseless": "0.12.0",
-				"combined-stream": "1.0.6",
-				"extend": "3.0.1",
-				"forever-agent": "0.6.1",
-				"form-data": "2.3.2",
-				"har-validator": "5.0.3",
-				"http-signature": "1.2.0",
-				"is-typedarray": "1.0.0",
-				"isstream": "0.1.2",
-				"json-stringify-safe": "5.0.1",
-				"mime-types": "2.1.18",
-				"oauth-sign": "0.8.2",
-				"performance-now": "2.1.0",
-				"qs": "6.5.2",
-				"safe-buffer": "5.1.2",
-				"tough-cookie": "2.3.4",
-				"tunnel-agent": "0.6.0",
-				"uuid": "3.2.1"
+				"aws-sign2": "~0.7.0",
+				"aws4": "^1.6.0",
+				"caseless": "~0.12.0",
+				"combined-stream": "~1.0.5",
+				"extend": "~3.0.1",
+				"forever-agent": "~0.6.1",
+				"form-data": "~2.3.1",
+				"har-validator": "~5.0.3",
+				"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",
+				"performance-now": "^2.1.0",
+				"qs": "~6.5.1",
+				"safe-buffer": "^5.1.1",
+				"tough-cookie": "~2.3.3",
+				"tunnel-agent": "^0.6.0",
+				"uuid": "^3.1.0"
 			}
 		},
 		"request-progress": {
@@ -13369,7 +14080,7 @@
 			"integrity": "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg=",
 			"dev": true,
 			"requires": {
-				"throttleit": "1.0.0"
+				"throttleit": "^1.0.0"
 			}
 		},
 		"request-promise-core": {
@@ -13377,7 +14088,7 @@
 			"resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.1.tgz",
 			"integrity": "sha1-Pu4AssWqgyOc+wTFcA2jb4HNCLY=",
 			"requires": {
-				"lodash": "4.17.10"
+				"lodash": "^4.13.1"
 			}
 		},
 		"request-promise-native": {
@@ -13386,28 +14097,34 @@
 			"integrity": "sha1-UoF3D2jgyXGeUWP9P6tIIhX0/aU=",
 			"requires": {
 				"request-promise-core": "1.1.1",
-				"stealthy-require": "1.1.1",
-				"tough-cookie": "2.3.4"
+				"stealthy-require": "^1.1.0",
+				"tough-cookie": ">=2.3.3"
 			}
 		},
 		"requestretry": {
 			"version": "1.5.0",
-			"resolved": "https://registry.npmjs.org/requestretry/-/requestretry-1.5.0.tgz",
+			"resolved": "http://registry.npmjs.org/requestretry/-/requestretry-1.5.0.tgz",
 			"integrity": "sha1-7RV7ulNSbt6z7DKo5wSkmYvs5ic=",
 			"dev": true,
 			"requires": {
 				"fg-lodash": "0.0.2",
-				"request": "2.87.0"
+				"request": "^2.62.x"
 			}
 		},
+		"require-from-string": {
+			"version": "1.2.1",
+			"resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz",
+			"integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=",
+			"dev": true
+		},
 		"require-uncached": {
 			"version": "1.0.3",
 			"resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz",
 			"integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=",
 			"dev": true,
 			"requires": {
-				"caller-path": "0.1.0",
-				"resolve-from": "1.0.1"
+				"caller-path": "^0.1.0",
+				"resolve-from": "^1.0.0"
 			}
 		},
 		"requires-port": {
@@ -13421,7 +14138,17 @@
 			"integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==",
 			"dev": true,
 			"requires": {
-				"path-parse": "1.0.5"
+				"path-parse": "^1.0.5"
+			}
+		},
+		"resolve-dir": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
+			"integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
+			"dev": true,
+			"requires": {
+				"expand-tilde": "^2.0.0",
+				"global-modules": "^1.0.0"
 			}
 		},
 		"resolve-from": {
@@ -13440,8 +14167,8 @@
 			"resolved": "https://registry.npmjs.org/response-time/-/response-time-2.3.2.tgz",
 			"integrity": "sha1-/6cbq5UtYvfB1Jt0NDVfvGjf/Fo=",
 			"requires": {
-				"depd": "1.1.2",
-				"on-headers": "1.0.1"
+				"depd": "~1.1.0",
+				"on-headers": "~1.0.1"
 			},
 			"dependencies": {
 				"depd": {
@@ -13451,22 +14178,14 @@
 				}
 			}
 		},
-		"responselike": {
-			"version": "1.0.2",
-			"resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
-			"integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=",
-			"requires": {
-				"lowercase-keys": "1.0.1"
-			}
-		},
 		"restore-cursor": {
 			"version": "2.0.0",
 			"resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
 			"integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
 			"dev": true,
 			"requires": {
-				"onetime": "2.0.1",
-				"signal-exit": "3.0.2"
+				"onetime": "^2.0.0",
+				"signal-exit": "^3.0.2"
 			}
 		},
 		"ret": {
@@ -13477,7 +14196,9 @@
 		"retry": {
 			"version": "0.10.1",
 			"resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz",
-			"integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q="
+			"integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=",
+			"dev": true,
+			"optional": true
 		},
 		"retry-axios": {
 			"version": "0.3.2",
@@ -13489,8 +14210,8 @@
 			"resolved": "https://registry.npmjs.org/retry-request/-/retry-request-3.3.1.tgz",
 			"integrity": "sha512-PjAmtWIxjNj4Co/6FRtBl8afRP3CxrrIAnUzb1dzydfROd+6xt7xAebFeskgQgkfFf8NmzrXIoaB3HxmswXyxw==",
 			"requires": {
-				"request": "2.87.0",
-				"through2": "2.0.3"
+				"request": "^2.81.0",
+				"through2": "^2.0.0"
 			}
 		},
 		"rgb2hex": {
@@ -13504,17 +14225,16 @@
 			"resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
 			"integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
 			"dev": true,
-			"optional": true,
 			"requires": {
-				"align-text": "0.1.4"
+				"align-text": "^0.1.1"
 			}
 		},
 		"rimraf": {
 			"version": "2.4.5",
-			"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz",
+			"resolved": "http://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz",
 			"integrity": "sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto=",
 			"requires": {
-				"glob": "6.0.4"
+				"glob": "^6.0.1"
 			},
 			"dependencies": {
 				"glob": {
@@ -13522,11 +14242,11 @@
 					"resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
 					"integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=",
 					"requires": {
-						"inflight": "1.0.6",
-						"inherits": "2.0.3",
-						"minimatch": "3.0.4",
-						"once": "1.4.0",
-						"path-is-absolute": "1.0.1"
+						"inflight": "^1.0.4",
+						"inherits": "2",
+						"minimatch": "2 || 3",
+						"once": "^1.3.0",
+						"path-is-absolute": "^1.0.0"
 					}
 				}
 			}
@@ -13536,8 +14256,8 @@
 			"resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
 			"integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
 			"requires": {
-				"hash-base": "3.0.4",
-				"inherits": "2.0.3"
+				"hash-base": "^3.0.0",
+				"inherits": "^2.0.1"
 			}
 		},
 		"rndm": {
@@ -13545,18 +14265,35 @@
 			"resolved": "https://registry.npmjs.org/rndm/-/rndm-1.2.0.tgz",
 			"integrity": "sha1-8z/pz7Urv9UgqhgyO8ZdsRCht2w="
 		},
+		"rollup": {
+			"version": "0.58.2",
+			"resolved": "https://registry.npmjs.org/rollup/-/rollup-0.58.2.tgz",
+			"integrity": "sha512-RZVvCWm9BHOYloaE6LLiE/ibpjv1CmI8F8k0B0Cp+q1eezo3cswszJH1DN0djgzSlo0hjuuCmyeI+1XOYLl4wg==",
+			"dev": true,
+			"optional": true,
+			"requires": {
+				"@types/estree": "0.0.38",
+				"@types/node": "*"
+			}
+		},
 		"rootpath": {
 			"version": "0.1.2",
 			"resolved": "https://registry.npmjs.org/rootpath/-/rootpath-0.1.2.tgz",
 			"integrity": "sha1-Wzeah9ypBum5HWkKWZQ5vvJn6ms="
 		},
+		"rsvp": {
+			"version": "3.6.2",
+			"resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz",
+			"integrity": "sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==",
+			"dev": true
+		},
 		"run-async": {
 			"version": "2.3.0",
 			"resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
 			"integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
 			"dev": true,
 			"requires": {
-				"is-promise": "2.1.0"
+				"is-promise": "^2.1.0"
 			}
 		},
 		"rx-lite": {
@@ -13571,7 +14308,7 @@
 			"integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=",
 			"dev": true,
 			"requires": {
-				"rx-lite": "4.0.8"
+				"rx-lite": "*"
 			}
 		},
 		"safe-buffer": {
@@ -13587,10 +14324,10 @@
 		},
 		"safe-regex": {
 			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+			"resolved": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
 			"integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
 			"requires": {
-				"ret": "0.1.15"
+				"ret": "~0.1.10"
 			}
 		},
 		"safer-buffer": {
@@ -13598,18 +14335,43 @@
 			"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
 			"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
 		},
+		"sane": {
+			"version": "1.7.0",
+			"resolved": "https://registry.npmjs.org/sane/-/sane-1.7.0.tgz",
+			"integrity": "sha1-s1ebzLRclM8gNVzIESSZDf00bjA=",
+			"dev": true,
+			"optional": true,
+			"requires": {
+				"anymatch": "^1.3.0",
+				"exec-sh": "^0.2.0",
+				"fb-watchman": "^2.0.0",
+				"minimatch": "^3.0.2",
+				"minimist": "^1.1.1",
+				"walker": "~1.0.5",
+				"watch": "~0.10.0"
+			},
+			"dependencies": {
+				"minimist": {
+					"version": "1.2.0",
+					"resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+					"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+					"dev": true,
+					"optional": true
+				}
+			}
+		},
 		"saucelabs": {
 			"version": "1.5.0",
 			"resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz",
 			"integrity": "sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==",
 			"dev": true,
 			"requires": {
-				"https-proxy-agent": "2.2.1"
+				"https-proxy-agent": "^2.2.1"
 			}
 		},
 		"sax": {
 			"version": "1.2.1",
-			"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz",
+			"resolved": "http://registry.npmjs.org/sax/-/sax-1.2.1.tgz",
 			"integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o="
 		},
 		"schema-inspector": {
@@ -13617,12 +14379,12 @@
 			"resolved": "https://registry.npmjs.org/schema-inspector/-/schema-inspector-1.6.8.tgz",
 			"integrity": "sha1-ueU5g8xV/y29e2Xj2+CF2dEoXyo=",
 			"requires": {
-				"async": "1.5.2"
+				"async": "^1.5.0"
 			},
 			"dependencies": {
 				"async": {
 					"version": "1.5.2",
-					"resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+					"resolved": "http://registry.npmjs.org/async/-/async-1.5.2.tgz",
 					"integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo="
 				}
 			}
@@ -13632,8 +14394,8 @@
 			"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz",
 			"integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==",
 			"requires": {
-				"ajv": "6.5.4",
-				"ajv-keywords": "3.2.0"
+				"ajv": "^6.1.0",
+				"ajv-keywords": "^3.1.0"
 			},
 			"dependencies": {
 				"ajv": {
@@ -13641,10 +14403,10 @@
 					"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.4.tgz",
 					"integrity": "sha512-4Wyjt8+t6YszqaXnLDfMmG/8AlO5Zbcsy3ATHncCzjW/NoPzAId8AK6749Ybjmdt+kUY1gP60fCu46oDxPv/mg==",
 					"requires": {
-						"fast-deep-equal": "2.0.1",
-						"fast-json-stable-stringify": "2.0.0",
-						"json-schema-traverse": "0.4.1",
-						"uri-js": "4.2.2"
+						"fast-deep-equal": "^2.0.1",
+						"fast-json-stable-stringify": "^2.0.0",
+						"json-schema-traverse": "^0.4.1",
+						"uri-js": "^4.2.2"
 					}
 				},
 				"ajv-keywords": {
@@ -13680,19 +14442,19 @@
 			"integrity": "sha512-SUEbbxo/IK2RsuPQ1QFgdyKXvxDYJUen6nR40zWL9P0FrqeuAXHNCWdtqnwbgGeoCxCVbPVzUsXfSKtjp2+j0g==",
 			"dev": true,
 			"requires": {
-				"async": "2.6.1",
-				"commander": "2.15.1",
-				"cross-spawn": "6.0.5",
-				"debug": "3.1.0",
-				"lodash": "4.17.10",
-				"minimist": "1.2.0",
-				"mkdirp": "0.5.1",
+				"async": "^2.1.4",
+				"commander": "^2.9.0",
+				"cross-spawn": "^6.0.0",
+				"debug": "^3.0.0",
+				"lodash": "^4.17.4",
+				"minimist": "^1.2.0",
+				"mkdirp": "^0.5.1",
 				"progress": "2.0.0",
 				"request": "2.87.0",
 				"tar-stream": "1.6.1",
-				"urijs": "1.19.1",
-				"which": "1.2.14",
-				"yauzl": "2.9.2"
+				"urijs": "^1.18.4",
+				"which": "^1.2.12",
+				"yauzl": "^2.5.0"
 			},
 			"dependencies": {
 				"debug": {
@@ -13710,54 +14472,75 @@
 					"integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
 					"dev": true,
 					"requires": {
-						"pend": "1.2.0"
+						"pend": "~1.2.0"
 					}
 				},
 				"minimist": {
 					"version": "1.2.0",
-					"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+					"resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
 					"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
 					"dev": true
 				},
+				"progress": {
+					"version": "2.0.0",
+					"resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz",
+					"integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=",
+					"dev": true
+				},
+				"tar-stream": {
+					"version": "1.6.1",
+					"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.1.tgz",
+					"integrity": "sha512-IFLM5wp3QrJODQFPm6/to3LJZrONdBY/otxcvDIQzu217zKye6yVR3hhi9lAjrC2Z+m/j5oDxMPb1qcd8cIvpA==",
+					"dev": true,
+					"requires": {
+						"bl": "^1.0.0",
+						"buffer-alloc": "^1.1.0",
+						"end-of-stream": "^1.0.0",
+						"fs-constants": "^1.0.0",
+						"readable-stream": "^2.3.0",
+						"to-buffer": "^1.1.0",
+						"xtend": "^4.0.0"
+					}
+				},
 				"yauzl": {
 					"version": "2.9.2",
 					"resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.9.2.tgz",
 					"integrity": "sha1-T7G8euH8L1cDe1SvasyP4QMcW3c=",
 					"dev": true,
 					"requires": {
-						"buffer-crc32": "0.2.13",
-						"fd-slicer": "1.1.0"
+						"buffer-crc32": "~0.2.3",
+						"fd-slicer": "~1.1.0"
 					}
 				}
 			}
 		},
 		"semver": {
-			"version": "5.5.0",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
-			"integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA=="
+			"version": "5.6.0",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
+			"integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg=="
 		},
 		"send": {
 			"version": "0.13.2",
 			"resolved": "https://registry.npmjs.org/send/-/send-0.13.2.tgz",
 			"integrity": "sha1-dl52B8gFVFK7pvCwUllTUJhgNt4=",
 			"requires": {
-				"debug": "2.2.0",
-				"depd": "1.1.2",
-				"destroy": "1.0.4",
-				"escape-html": "1.0.3",
-				"etag": "1.7.0",
+				"debug": "~2.2.0",
+				"depd": "~1.1.0",
+				"destroy": "~1.0.4",
+				"escape-html": "~1.0.3",
+				"etag": "~1.7.0",
 				"fresh": "0.3.0",
-				"http-errors": "1.3.1",
+				"http-errors": "~1.3.1",
 				"mime": "1.3.4",
 				"ms": "0.7.1",
-				"on-finished": "2.3.0",
-				"range-parser": "1.0.3",
-				"statuses": "1.2.1"
+				"on-finished": "~2.3.0",
+				"range-parser": "~1.0.3",
+				"statuses": "~1.2.1"
 			},
 			"dependencies": {
 				"debug": {
 					"version": "2.2.0",
-					"resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+					"resolved": "http://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
 					"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
 					"requires": {
 						"ms": "0.7.1"
@@ -13775,7 +14558,7 @@
 				},
 				"ms": {
 					"version": "0.7.1",
-					"resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+					"resolved": "http://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
 					"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg="
 				},
 				"statuses": {
@@ -13790,15 +14573,15 @@
 			"resolved": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.3.2.tgz",
 			"integrity": "sha1-3UGeJo3gEqtysxnTN/IQUBP5OB8=",
 			"requires": {
-				"etag": "1.7.0",
+				"etag": "~1.7.0",
 				"fresh": "0.3.0",
 				"ms": "0.7.2",
-				"parseurl": "1.3.2"
+				"parseurl": "~1.3.1"
 			},
 			"dependencies": {
 				"ms": {
 					"version": "0.7.2",
-					"resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
+					"resolved": "http://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
 					"integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U="
 				}
 			}
@@ -13808,18 +14591,18 @@
 			"resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.7.3.tgz",
 			"integrity": "sha1-egV/xu4o3GP2RWbl+lexEahq7NI=",
 			"requires": {
-				"accepts": "1.2.13",
+				"accepts": "~1.2.13",
 				"batch": "0.5.3",
-				"debug": "2.2.0",
-				"escape-html": "1.0.3",
-				"http-errors": "1.3.1",
-				"mime-types": "2.1.18",
-				"parseurl": "1.3.2"
+				"debug": "~2.2.0",
+				"escape-html": "~1.0.3",
+				"http-errors": "~1.3.1",
+				"mime-types": "~2.1.9",
+				"parseurl": "~1.3.1"
 			},
 			"dependencies": {
 				"debug": {
 					"version": "2.2.0",
-					"resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+					"resolved": "http://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
 					"integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
 					"requires": {
 						"ms": "0.7.1"
@@ -13827,7 +14610,7 @@
 				},
 				"ms": {
 					"version": "0.7.1",
-					"resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+					"resolved": "http://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
 					"integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg="
 				}
 			}
@@ -13837,8 +14620,8 @@
 			"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.10.3.tgz",
 			"integrity": "sha1-zlpuzTEB/tXsCYJ9rCKpwpv7BTU=",
 			"requires": {
-				"escape-html": "1.0.3",
-				"parseurl": "1.3.2",
+				"escape-html": "~1.0.3",
+				"parseurl": "~1.3.1",
 				"send": "0.13.2"
 			}
 		},
@@ -13858,10 +14641,10 @@
 			"resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
 			"integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
 			"requires": {
-				"extend-shallow": "2.0.1",
-				"is-extendable": "0.1.1",
-				"is-plain-object": "2.0.4",
-				"split-string": "3.1.0"
+				"extend-shallow": "^2.0.1",
+				"is-extendable": "^0.1.1",
+				"is-plain-object": "^2.0.3",
+				"split-string": "^3.0.1"
 			},
 			"dependencies": {
 				"extend-shallow": {
@@ -13869,7 +14652,7 @@
 					"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
 					"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
 					"requires": {
-						"is-extendable": "0.1.1"
+						"is-extendable": "^0.1.0"
 					}
 				}
 			}
@@ -13884,25 +14667,51 @@
 			"resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
 			"integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
 			"requires": {
-				"inherits": "2.0.3",
-				"safe-buffer": "5.1.2"
+				"inherits": "^2.0.1",
+				"safe-buffer": "^5.0.1"
 			}
 		},
 		"sharp": {
-			"version": "0.20.3",
-			"resolved": "https://registry.npmjs.org/sharp/-/sharp-0.20.3.tgz",
-			"integrity": "sha512-9P6WclSW4GZg3I2ej3p/Xphsa2kl4b5pZaKMZXaFA5CRN91zzeJoZxLmXFUsjOY7ppIaMLXDOMs0zR2LYzjE/w==",
-			"requires": {
-				"color": "3.0.0",
-				"detect-libc": "1.0.3",
-				"fs-copy-file-sync": "1.1.1",
-				"nan": "2.10.0",
-				"npmlog": "4.1.2",
-				"prebuild-install": "4.0.0",
-				"semver": "5.5.0",
-				"simple-get": "2.8.1",
-				"tar": "4.4.4",
-				"tunnel-agent": "0.6.0"
+			"version": "0.20.8",
+			"resolved": "https://registry.npmjs.org/sharp/-/sharp-0.20.8.tgz",
+			"integrity": "sha512-A8NaPGWRDKpmHTi8sl2xzozYXhTQWBb/GaJ8ZPU7L/vKW8wVvd4Yq+isJ0c7p9sX5gnjPQcM3eOfHuvvnZ2fOQ==",
+			"requires": {
+				"color": "^3.0.0",
+				"detect-libc": "^1.0.3",
+				"fs-copy-file-sync": "^1.1.1",
+				"nan": "^2.11.0",
+				"npmlog": "^4.1.2",
+				"prebuild-install": "^4.0.0",
+				"semver": "^5.5.1",
+				"simple-get": "^2.8.1",
+				"tar": "^4.4.6",
+				"tunnel-agent": "^0.6.0"
+			},
+			"dependencies": {
+				"nan": {
+					"version": "2.11.1",
+					"resolved": "https://registry.npmjs.org/nan/-/nan-2.11.1.tgz",
+					"integrity": "sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA=="
+				},
+				"tar": {
+					"version": "4.4.6",
+					"resolved": "https://registry.npmjs.org/tar/-/tar-4.4.6.tgz",
+					"integrity": "sha512-tMkTnh9EdzxyfW+6GK6fCahagXsnYk6kE6S9Gr9pjVdys769+laCTbodXDhPAjzVtEBazRgP0gYqOjnk9dQzLg==",
+					"requires": {
+						"chownr": "^1.0.1",
+						"fs-minipass": "^1.2.5",
+						"minipass": "^2.3.3",
+						"minizlib": "^1.1.0",
+						"mkdirp": "^0.5.0",
+						"safe-buffer": "^5.1.2",
+						"yallist": "^3.0.2"
+					}
+				},
+				"yallist": {
+					"version": "3.0.2",
+					"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz",
+					"integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k="
+				}
 			}
 		},
 		"shebang-command": {
@@ -13910,7 +14719,7 @@
 			"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
 			"integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
 			"requires": {
-				"shebang-regex": "1.0.0"
+				"shebang-regex": "^1.0.0"
 			}
 		},
 		"shebang-regex": {
@@ -13933,28 +14742,34 @@
 			"resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.1.tgz",
 			"integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==",
 			"requires": {
-				"decompress-response": "3.3.0",
-				"once": "1.4.0",
-				"simple-concat": "1.0.0"
+				"decompress-response": "^3.3.0",
+				"once": "^1.3.1",
+				"simple-concat": "^1.0.0"
 			}
 		},
 		"simple-git": {
-			"version": "1.95.1",
-			"resolved": "https://registry.npmjs.org/simple-git/-/simple-git-1.95.1.tgz",
-			"integrity": "sha512-ctUTw0xwFh8VpUkubCwK0+yNZZPq4OTnBFYicuYUrA05dExPXGS4nW3mri1jK3VmtWO85g6D1nRm5o187Xen9Q==",
+			"version": "1.106.0",
+			"resolved": "https://registry.npmjs.org/simple-git/-/simple-git-1.106.0.tgz",
+			"integrity": "sha512-LaxKq4X9Om7bb16Cpinc36hT1YLHMM9KDQMSWJVv4Y1TGDEUuZbs+0lAk2JSKkCEO3xFjcMSx5OjvZo+i4eJvQ==",
 			"dev": true,
 			"requires": {
-				"debug": "3.1.0"
+				"debug": "^4.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==",
+					"version": "4.1.0",
+					"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz",
+					"integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==",
 					"dev": true,
 					"requires": {
-						"ms": "2.0.0"
+						"ms": "^2.1.1"
 					}
+				},
+				"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==",
+					"dev": true
 				}
 			}
 		},
@@ -13963,7 +14778,7 @@
 			"resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
 			"integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=",
 			"requires": {
-				"is-arrayish": "0.3.1"
+				"is-arrayish": "^0.3.1"
 			}
 		},
 		"slash": {
@@ -13977,7 +14792,7 @@
 			"integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==",
 			"dev": true,
 			"requires": {
-				"is-fullwidth-code-point": "2.0.0"
+				"is-fullwidth-code-point": "^2.0.0"
 			},
 			"dependencies": {
 				"is-fullwidth-code-point": {
@@ -14003,14 +14818,14 @@
 			"resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
 			"integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
 			"requires": {
-				"base": "0.11.2",
-				"debug": "2.6.9",
-				"define-property": "0.2.5",
-				"extend-shallow": "2.0.1",
-				"map-cache": "0.2.2",
-				"source-map": "0.5.7",
-				"source-map-resolve": "0.5.2",
-				"use": "3.1.0"
+				"base": "^0.11.1",
+				"debug": "^2.2.0",
+				"define-property": "^0.2.5",
+				"extend-shallow": "^2.0.1",
+				"map-cache": "^0.2.2",
+				"source-map": "^0.5.6",
+				"source-map-resolve": "^0.5.0",
+				"use": "^3.1.0"
 			},
 			"dependencies": {
 				"define-property": {
@@ -14018,7 +14833,7 @@
 					"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
 					"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
 					"requires": {
-						"is-descriptor": "0.1.6"
+						"is-descriptor": "^0.1.0"
 					}
 				},
 				"extend-shallow": {
@@ -14026,7 +14841,7 @@
 					"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
 					"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
 					"requires": {
-						"is-extendable": "0.1.1"
+						"is-extendable": "^0.1.0"
 					}
 				}
 			}
@@ -14036,9 +14851,9 @@
 			"resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
 			"integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
 			"requires": {
-				"define-property": "1.0.0",
-				"isobject": "3.0.1",
-				"snapdragon-util": "3.0.1"
+				"define-property": "^1.0.0",
+				"isobject": "^3.0.0",
+				"snapdragon-util": "^3.0.1"
 			},
 			"dependencies": {
 				"define-property": {
@@ -14046,7 +14861,7 @@
 					"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
 					"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
 					"requires": {
-						"is-descriptor": "1.0.2"
+						"is-descriptor": "^1.0.0"
 					}
 				},
 				"is-accessor-descriptor": {
@@ -14054,7 +14869,7 @@
 					"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
 					"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
 					"requires": {
-						"kind-of": "6.0.2"
+						"kind-of": "^6.0.0"
 					}
 				},
 				"is-data-descriptor": {
@@ -14062,7 +14877,7 @@
 					"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
 					"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
 					"requires": {
-						"kind-of": "6.0.2"
+						"kind-of": "^6.0.0"
 					}
 				},
 				"is-descriptor": {
@@ -14070,9 +14885,9 @@
 					"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
 					"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
 					"requires": {
-						"is-accessor-descriptor": "1.0.0",
-						"is-data-descriptor": "1.0.0",
-						"kind-of": "6.0.2"
+						"is-accessor-descriptor": "^1.0.0",
+						"is-data-descriptor": "^1.0.0",
+						"kind-of": "^6.0.2"
 					}
 				}
 			}
@@ -14082,7 +14897,7 @@
 			"resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
 			"integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
 			"requires": {
-				"kind-of": "3.2.2"
+				"kind-of": "^3.2.0"
 			},
 			"dependencies": {
 				"kind-of": {
@@ -14090,26 +14905,18 @@
 					"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
 					"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
 					"requires": {
-						"is-buffer": "1.1.6"
+						"is-buffer": "^1.1.5"
 					}
 				}
 			}
 		},
 		"sntp": {
 			"version": "1.0.9",
-			"resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
+			"resolved": "http://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
 			"integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
 			"dev": true,
 			"requires": {
-				"hoek": "2.16.3"
-			}
-		},
-		"sort-keys": {
-			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz",
-			"integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=",
-			"requires": {
-				"is-plain-obj": "1.1.0"
+				"hoek": "2.x.x"
 			}
 		},
 		"source-map": {
@@ -14122,11 +14929,11 @@
 			"resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
 			"integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
 			"requires": {
-				"atob": "2.1.1",
-				"decode-uri-component": "0.2.0",
-				"resolve-url": "0.2.1",
-				"source-map-url": "0.4.0",
-				"urix": "0.1.0"
+				"atob": "^2.1.1",
+				"decode-uri-component": "^0.2.0",
+				"resolve-url": "^0.2.1",
+				"source-map-url": "^0.4.0",
+				"urix": "^0.1.0"
 			}
 		},
 		"source-map-support": {
@@ -14135,7 +14942,7 @@
 			"integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
 			"dev": true,
 			"requires": {
-				"source-map": "0.5.7"
+				"source-map": "^0.5.6"
 			}
 		},
 		"source-map-url": {
@@ -14149,8 +14956,8 @@
 			"integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==",
 			"dev": true,
 			"requires": {
-				"spdx-expression-parse": "3.0.0",
-				"spdx-license-ids": "3.0.0"
+				"spdx-expression-parse": "^3.0.0",
+				"spdx-license-ids": "^3.0.0"
 			}
 		},
 		"spdx-exceptions": {
@@ -14165,8 +14972,8 @@
 			"integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
 			"dev": true,
 			"requires": {
-				"spdx-exceptions": "2.1.0",
-				"spdx-license-ids": "3.0.0"
+				"spdx-exceptions": "^2.1.0",
+				"spdx-license-ids": "^3.0.0"
 			}
 		},
 		"spdx-license-ids": {
@@ -14183,19 +14990,13 @@
 				"base32.js": "0.0.1"
 			}
 		},
-		"specificity": {
-			"version": "0.3.2",
-			"resolved": "https://registry.npmjs.org/specificity/-/specificity-0.3.2.tgz",
-			"integrity": "sha512-Nc/QN/A425Qog7j9aHmwOrlwX2e7pNI47ciwxwy4jOlvbbMHkNNJchit+FX+UjF3IAdiaaV5BKeWuDUnws6G1A==",
-			"dev": true
-		},
 		"split": {
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz",
 			"integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==",
 			"dev": true,
 			"requires": {
-				"through": "2.3.8"
+				"through": "2"
 			}
 		},
 		"split-array-stream": {
@@ -14203,8 +15004,8 @@
 			"resolved": "https://registry.npmjs.org/split-array-stream/-/split-array-stream-1.0.3.tgz",
 			"integrity": "sha1-0rdajl4Ngk1S/eyLgiWDncLjXfo=",
 			"requires": {
-				"async": "2.6.1",
-				"is-stream-ended": "0.1.4"
+				"async": "^2.4.0",
+				"is-stream-ended": "^0.1.0"
 			}
 		},
 		"split-string": {
@@ -14212,7 +15013,7 @@
 			"resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
 			"integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
 			"requires": {
-				"extend-shallow": "3.0.2"
+				"extend-shallow": "^3.0.0"
 			}
 		},
 		"split2": {
@@ -14221,7 +15022,7 @@
 			"integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==",
 			"dev": true,
 			"requires": {
-				"through2": "2.0.3"
+				"through2": "^2.0.2"
 			}
 		},
 		"sprintf-js": {
@@ -14234,14 +15035,14 @@
 			"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz",
 			"integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=",
 			"requires": {
-				"asn1": "0.2.3",
-				"assert-plus": "1.0.0",
-				"bcrypt-pbkdf": "1.0.1",
-				"dashdash": "1.14.1",
-				"ecc-jsbn": "0.1.1",
-				"getpass": "0.1.7",
-				"jsbn": "0.1.1",
-				"tweetnacl": "0.14.5"
+				"asn1": "~0.2.3",
+				"assert-plus": "^1.0.0",
+				"bcrypt-pbkdf": "^1.0.0",
+				"dashdash": "^1.12.0",
+				"ecc-jsbn": "~0.1.1",
+				"getpass": "^0.1.1",
+				"jsbn": "~0.1.0",
+				"tweetnacl": "~0.14.0"
 			}
 		},
 		"stack-chain": {
@@ -14256,7 +15057,7 @@
 			"integrity": "sha1-NvapIHUabBD0maE8Msu19RoLiyU=",
 			"dev": true,
 			"requires": {
-				"stackframe": "1.0.4"
+				"stackframe": "^1.0.2"
 			},
 			"dependencies": {
 				"stackframe": {
@@ -14285,7 +15086,7 @@
 			"dev": true,
 			"requires": {
 				"source-map": "0.5.6",
-				"stackframe": "0.3.1"
+				"stackframe": "~0.3"
 			},
 			"dependencies": {
 				"source-map": {
@@ -14302,9 +15103,9 @@
 			"integrity": "sha1-Z8qyWJr1xBe5Yvc2mUAne7O2oYs=",
 			"dev": true,
 			"requires": {
-				"error-stack-parser": "1.3.6",
-				"stack-generator": "1.1.0",
-				"stacktrace-gps": "2.4.4"
+				"error-stack-parser": "^1.3.6",
+				"stack-generator": "^1.0.7",
+				"stacktrace-gps": "^2.4.3"
 			}
 		},
 		"state-toggle": {
@@ -14318,8 +15119,8 @@
 			"resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
 			"integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
 			"requires": {
-				"define-property": "0.2.5",
-				"object-copy": "0.1.0"
+				"define-property": "^0.2.5",
+				"object-copy": "^0.1.0"
 			},
 			"dependencies": {
 				"define-property": {
@@ -14327,7 +15128,7 @@
 					"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
 					"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
 					"requires": {
-						"is-descriptor": "0.1.6"
+						"is-descriptor": "^0.1.0"
 					}
 				}
 			}
@@ -14347,7 +15148,7 @@
 			"resolved": "https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz",
 			"integrity": "sha1-3tJmVWMZyLDiIoErnPOyb6fZR94=",
 			"requires": {
-				"readable-stream": "1.1.14"
+				"readable-stream": "~1.1.8"
 			},
 			"dependencies": {
 				"isarray": {
@@ -14357,13 +15158,13 @@
 				},
 				"readable-stream": {
 					"version": "1.1.14",
-					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+					"resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
 					"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
 					"requires": {
-						"core-util-is": "1.0.2",
-						"inherits": "2.0.3",
+						"core-util-is": "~1.0.0",
+						"inherits": "~2.0.1",
 						"isarray": "0.0.1",
-						"string_decoder": "0.10.31"
+						"string_decoder": "~0.10.x"
 					}
 				},
 				"string_decoder": {
@@ -14378,7 +15179,7 @@
 			"resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.4.tgz",
 			"integrity": "sha512-D243NJaYs/xBN2QnoiMDY7IesJFIK7gEhnvAYqJa5JvDdnh2dC4qDBwlCf0ohPpX2QRlA/4gnbnPd3rs3KxVcA==",
 			"requires": {
-				"stubs": "3.0.0"
+				"stubs": "^3.0.0"
 			}
 		},
 		"stream-shift": {
@@ -14406,9 +15207,9 @@
 			"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
 			"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
 			"requires": {
-				"code-point-at": "1.1.0",
-				"is-fullwidth-code-point": "1.0.0",
-				"strip-ansi": "3.0.1"
+				"code-point-at": "^1.0.0",
+				"is-fullwidth-code-point": "^1.0.0",
+				"strip-ansi": "^3.0.0"
 			}
 		},
 		"string_decoder": {
@@ -14416,7 +15217,7 @@
 			"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
 			"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
 			"requires": {
-				"safe-buffer": "5.1.2"
+				"safe-buffer": "~5.1.0"
 			}
 		},
 		"stringifier": {
@@ -14424,9 +15225,9 @@
 			"resolved": "https://registry.npmjs.org/stringifier/-/stringifier-1.3.0.tgz",
 			"integrity": "sha1-3vGDQvaTPbDy2/yaoCF1tEjBeVk=",
 			"requires": {
-				"core-js": "2.5.7",
-				"traverse": "0.6.6",
-				"type-name": "2.0.2"
+				"core-js": "^2.0.0",
+				"traverse": "^0.6.6",
+				"type-name": "^2.0.1"
 			}
 		},
 		"stringify-entities": {
@@ -14435,10 +15236,10 @@
 			"integrity": "sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A==",
 			"dev": true,
 			"requires": {
-				"character-entities-html4": "1.1.2",
-				"character-entities-legacy": "1.1.2",
-				"is-alphanumerical": "1.0.2",
-				"is-hexadecimal": "1.0.2"
+				"character-entities-html4": "^1.0.0",
+				"character-entities-legacy": "^1.0.0",
+				"is-alphanumerical": "^1.0.0",
+				"is-hexadecimal": "^1.0.0"
 			}
 		},
 		"stringstream": {
@@ -14449,10 +15250,10 @@
 		},
 		"strip-ansi": {
 			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+			"resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
 			"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
 			"requires": {
-				"ansi-regex": "2.1.1"
+				"ansi-regex": "^2.0.0"
 			}
 		},
 		"strip-bom": {
@@ -14484,56 +15285,72 @@
 			"dev": true
 		},
 		"stylelint": {
-			"version": "9.2.1",
-			"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-9.2.1.tgz",
-			"integrity": "sha512-zR0rSMITL8VjTVoIEGsUh5m0lMluHaIbDLAJTrFYVLElYhP6d5HcJc5/cexA1mrKzQkKu7gvmbDclNLgAeiabw==",
-			"dev": true,
-			"requires": {
-				"autoprefixer": "8.6.0",
-				"balanced-match": "1.0.0",
-				"chalk": "2.4.1",
-				"cosmiconfig": "5.0.5",
-				"debug": "3.1.0",
-				"execall": "1.0.0",
-				"file-entry-cache": "2.0.0",
-				"get-stdin": "6.0.0",
-				"globby": "8.0.1",
-				"globjoin": "0.1.4",
-				"html-tags": "2.0.0",
-				"ignore": "3.3.8",
-				"import-lazy": "3.1.0",
-				"imurmurhash": "0.1.4",
-				"known-css-properties": "0.6.1",
-				"lodash": "4.17.10",
-				"log-symbols": "2.2.0",
-				"mathml-tag-names": "2.1.0",
-				"meow": "5.0.0",
-				"micromatch": "2.3.11",
-				"normalize-selector": "0.2.0",
-				"pify": "3.0.0",
-				"postcss": "6.0.22",
-				"postcss-html": "0.23.7",
-				"postcss-less": "1.1.5",
-				"postcss-markdown": "0.23.7",
-				"postcss-media-query-parser": "0.2.3",
-				"postcss-reporter": "5.0.0",
-				"postcss-resolve-nested-selector": "0.1.1",
-				"postcss-safe-parser": "3.0.1",
-				"postcss-sass": "0.3.2",
-				"postcss-scss": "1.0.5",
-				"postcss-selector-parser": "3.1.1",
-				"postcss-syntax": "0.9.1",
-				"postcss-value-parser": "3.3.0",
-				"resolve-from": "4.0.0",
-				"signal-exit": "3.0.2",
-				"specificity": "0.3.2",
-				"string-width": "2.1.1",
-				"style-search": "0.1.0",
-				"sugarss": "1.0.1",
-				"svg-tags": "1.0.0",
-				"table": "4.0.2"
+			"version": "9.7.0",
+			"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-9.7.0.tgz",
+			"integrity": "sha512-3PxEZ/8HKpKvdWWIeFSZ0gdTz1eEHo2IgLcliN7RJtXxCIHdyI44ffaRgxCyQN3sAGWJO41UXOIFyJxfwznIBA==",
+			"dev": true,
+			"requires": {
+				"autoprefixer": "^9.0.0",
+				"balanced-match": "^1.0.0",
+				"chalk": "^2.4.1",
+				"cosmiconfig": "^5.0.0",
+				"debug": "^4.0.0",
+				"execall": "^1.0.0",
+				"file-entry-cache": "^2.0.0",
+				"get-stdin": "^6.0.0",
+				"global-modules": "^1.0.0",
+				"globby": "^8.0.0",
+				"globjoin": "^0.1.4",
+				"html-tags": "^2.0.0",
+				"ignore": "^4.0.0",
+				"import-lazy": "^3.1.0",
+				"imurmurhash": "^0.1.4",
+				"known-css-properties": "^0.9.0",
+				"leven": "^2.1.0",
+				"lodash": "^4.17.4",
+				"log-symbols": "^2.0.0",
+				"mathml-tag-names": "^2.0.1",
+				"meow": "^5.0.0",
+				"micromatch": "^2.3.11",
+				"normalize-selector": "^0.2.0",
+				"pify": "^4.0.0",
+				"postcss": "^7.0.0",
+				"postcss-html": "^0.34.0",
+				"postcss-jsx": "^0.35.0",
+				"postcss-less": "^3.0.1",
+				"postcss-markdown": "^0.34.0",
+				"postcss-media-query-parser": "^0.2.3",
+				"postcss-reporter": "^6.0.0",
+				"postcss-resolve-nested-selector": "^0.1.1",
+				"postcss-safe-parser": "^4.0.0",
+				"postcss-sass": "^0.3.0",
+				"postcss-scss": "^2.0.0",
+				"postcss-selector-parser": "^3.1.0",
+				"postcss-styled": "^0.34.0",
+				"postcss-syntax": "^0.34.0",
+				"postcss-value-parser": "^3.3.0",
+				"resolve-from": "^4.0.0",
+				"signal-exit": "^3.0.2",
+				"specificity": "^0.4.1",
+				"string-width": "^2.1.0",
+				"style-search": "^0.1.0",
+				"sugarss": "^2.0.0",
+				"svg-tags": "^1.0.0",
+				"table": "^5.0.0"
 			},
 			"dependencies": {
+				"ajv": {
+					"version": "6.5.4",
+					"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.4.tgz",
+					"integrity": "sha512-4Wyjt8+t6YszqaXnLDfMmG/8AlO5Zbcsy3ATHncCzjW/NoPzAId8AK6749Ybjmdt+kUY1gP60fCu46oDxPv/mg==",
+					"dev": true,
+					"requires": {
+						"fast-deep-equal": "^2.0.1",
+						"fast-json-stable-stringify": "^2.0.0",
+						"json-schema-traverse": "^0.4.1",
+						"uri-js": "^4.2.2"
+					}
+				},
 				"ansi-regex": {
 					"version": "3.0.0",
 					"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
@@ -14546,7 +15363,7 @@
 					"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
 					"dev": true,
 					"requires": {
-						"color-convert": "1.9.1"
+						"color-convert": "^1.9.0"
 					}
 				},
 				"arr-diff": {
@@ -14555,7 +15372,7 @@
 					"integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
 					"dev": true,
 					"requires": {
-						"arr-flatten": "1.1.0"
+						"arr-flatten": "^1.0.1"
 					}
 				},
 				"array-unique": {
@@ -14564,44 +15381,99 @@
 					"integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
 					"dev": true
 				},
+				"autoprefixer": {
+					"version": "9.3.1",
+					"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.3.1.tgz",
+					"integrity": "sha512-DY9gOh8z3tnCbJ13JIWaeQsoYncTGdsrgCceBaQSIL4nvdrLxgbRSBPevg2XbX7u4QCSfLheSJEEIUUSlkbx6Q==",
+					"dev": true,
+					"requires": {
+						"browserslist": "^4.3.3",
+						"caniuse-lite": "^1.0.30000898",
+						"normalize-range": "^0.1.2",
+						"num2fraction": "^1.2.2",
+						"postcss": "^7.0.5",
+						"postcss-value-parser": "^3.3.1"
+					},
+					"dependencies": {
+						"postcss-value-parser": {
+							"version": "3.3.1",
+							"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
+							"integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
+							"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.2",
-						"preserve": "0.2.0",
-						"repeat-element": "1.1.2"
+						"expand-range": "^1.8.1",
+						"preserve": "^0.2.0",
+						"repeat-element": "^1.1.2"
+					}
+				},
+				"browserslist": {
+					"version": "4.3.4",
+					"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.3.4.tgz",
+					"integrity": "sha512-u5iz+ijIMUlmV8blX82VGFrB9ecnUg5qEt55CMZ/YJEhha+d8qpBfOFuutJ6F/VKRXjZoD33b6uvarpPxcl3RA==",
+					"dev": true,
+					"requires": {
+						"caniuse-lite": "^1.0.30000899",
+						"electron-to-chromium": "^1.3.82",
+						"node-releases": "^1.0.1"
 					}
 				},
+				"caniuse-lite": {
+					"version": "1.0.30000900",
+					"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000900.tgz",
+					"integrity": "sha512-xDVs8pBFr6bzq9pXUkLKpGQQnzsF/l6/yX38UnCkTcUcwC0rDl1NGZGildcJVTU+uGBxfsyniK/ZWagPNn1Oqw==",
+					"dev": true
+				},
 				"chalk": {
 					"version": "2.4.1",
 					"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
 					"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
 					"dev": true,
 					"requires": {
-						"ansi-styles": "3.2.1",
-						"escape-string-regexp": "1.0.5",
-						"supports-color": "5.4.0"
+						"ansi-styles": "^3.2.1",
+						"escape-string-regexp": "^1.0.5",
+						"supports-color": "^5.3.0"
 					}
 				},
 				"debug": {
-					"version": "3.1.0",
-					"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
-					"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+					"version": "4.1.0",
+					"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz",
+					"integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==",
 					"dev": true,
 					"requires": {
-						"ms": "2.0.0"
+						"ms": "^2.1.1"
+					}
+				},
+				"domutils": {
+					"version": "1.7.0",
+					"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
+					"integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==",
+					"dev": true,
+					"requires": {
+						"dom-serializer": "0",
+						"domelementtype": "1"
 					}
 				},
+				"electron-to-chromium": {
+					"version": "1.3.82",
+					"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.82.tgz",
+					"integrity": "sha512-NI4nB2IWGcU4JVT1AE8kBb/dFor4zjLHMLsOROPahppeHrR0FG5uslxMmkp/thO1MvPjM2xhlKoY29/I60s0ew==",
+					"dev": true
+				},
 				"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.1"
+						"is-posix-bracket": "^0.1.0"
 					}
 				},
 				"extglob": {
@@ -14610,9 +15482,15 @@
 					"integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
 					"dev": true,
 					"requires": {
-						"is-extglob": "1.0.0"
+						"is-extglob": "^1.0.0"
 					}
 				},
+				"fast-deep-equal": {
+					"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
+				},
 				"get-stdin": {
 					"version": "6.0.0",
 					"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz",
@@ -14625,6 +15503,26 @@
 					"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
 					"dev": true
 				},
+				"htmlparser2": {
+					"version": "3.10.0",
+					"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.0.tgz",
+					"integrity": "sha512-J1nEUGv+MkXS0weHNWVKJJ+UrLfePxRWpN3C9bEi9fLxL2+ggW94DQvgYVXsaT30PGwYRIZKNZXuyMhp3Di4bQ==",
+					"dev": true,
+					"requires": {
+						"domelementtype": "^1.3.0",
+						"domhandler": "^2.3.0",
+						"domutils": "^1.5.1",
+						"entities": "^1.1.1",
+						"inherits": "^2.0.1",
+						"readable-stream": "^3.0.6"
+					}
+				},
+				"ignore": {
+					"version": "4.0.6",
+					"resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
+					"integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
+					"dev": true
+				},
 				"is-extglob": {
 					"version": "1.0.0",
 					"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
@@ -14643,33 +15541,45 @@
 					"integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
 					"dev": true,
 					"requires": {
-						"is-extglob": "1.0.0"
+						"is-extglob": "^1.0.0"
 					}
 				},
+				"json-schema-traverse": {
+					"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
+				},
 				"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.6"
+						"is-buffer": "^1.1.5"
 					}
 				},
+				"known-css-properties": {
+					"version": "0.9.0",
+					"resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.9.0.tgz",
+					"integrity": "sha512-2G/A/8XPhH6MmuVgl079wYsgdqfXE3cfm62txk/ajS4wvRWo6tEHcgQCJCHOOy12Fse1Sxlbf7/IJBpR9hnVew==",
+					"dev": true
+				},
 				"meow": {
 					"version": "5.0.0",
 					"resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz",
 					"integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==",
 					"dev": true,
 					"requires": {
-						"camelcase-keys": "4.2.0",
-						"decamelize-keys": "1.1.0",
-						"loud-rejection": "1.6.0",
-						"minimist-options": "3.0.2",
-						"normalize-package-data": "2.4.0",
-						"read-pkg-up": "3.0.0",
-						"redent": "2.0.0",
-						"trim-newlines": "2.0.0",
-						"yargs-parser": "10.0.0"
+						"camelcase-keys": "^4.0.0",
+						"decamelize-keys": "^1.0.0",
+						"loud-rejection": "^1.0.0",
+						"minimist-options": "^3.0.1",
+						"normalize-package-data": "^2.3.4",
+						"read-pkg-up": "^3.0.0",
+						"redent": "^2.0.0",
+						"trim-newlines": "^2.0.0",
+						"yargs-parser": "^10.0.0"
 					}
 				},
 				"micromatch": {
@@ -14678,41 +15588,117 @@
 					"integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
 					"dev": true,
 					"requires": {
-						"arr-diff": "2.0.0",
-						"array-unique": "0.2.1",
-						"braces": "1.8.5",
-						"expand-brackets": "0.1.5",
-						"extglob": "0.3.2",
-						"filename-regex": "2.0.1",
-						"is-extglob": "1.0.0",
-						"is-glob": "2.0.1",
-						"kind-of": "3.2.2",
-						"normalize-path": "2.1.1",
-						"object.omit": "2.0.1",
-						"parse-glob": "3.0.4",
-						"regex-cache": "0.4.4"
+						"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"
 					}
 				},
+				"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==",
+					"dev": true
+				},
+				"pify": {
+					"version": "4.0.1",
+					"resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+					"integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+					"dev": true
+				},
 				"postcss": {
-					"version": "6.0.22",
-					"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz",
-					"integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==",
+					"version": "7.0.5",
+					"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.5.tgz",
+					"integrity": "sha512-HBNpviAUFCKvEh7NZhw1e8MBPivRszIiUnhrJ+sBFVSYSqubrzwX3KG51mYgcRHX8j/cAgZJedONZcm5jTBdgQ==",
+					"dev": true,
+					"requires": {
+						"chalk": "^2.4.1",
+						"source-map": "^0.6.1",
+						"supports-color": "^5.5.0"
+					}
+				},
+				"postcss-html": {
+					"version": "0.34.0",
+					"resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-0.34.0.tgz",
+					"integrity": "sha512-BIW982Kbf9/RikInNhNS3/GA6x/qY/+jhVS9KumqXZtU9ss8Yq15HhPJ6mnaXcU5bFq2ULxpOv96mHPAErpGMQ==",
+					"dev": true,
+					"requires": {
+						"htmlparser2": "^3.9.2"
+					}
+				},
+				"postcss-less": {
+					"version": "3.0.2",
+					"resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-3.0.2.tgz",
+					"integrity": "sha512-+JBOampmDnuaf4w8OIEqkCiF+sOm/nWukDsC+1FTrYcIstptOISzGpYZk24Qh+Ewlmzmi53sRyiTbiGvMCDRwA==",
+					"dev": true,
+					"requires": {
+						"postcss": "^7.0.3"
+					}
+				},
+				"postcss-markdown": {
+					"version": "0.34.0",
+					"resolved": "https://registry.npmjs.org/postcss-markdown/-/postcss-markdown-0.34.0.tgz",
+					"integrity": "sha512-cKPggF9OMOKPoqDm5YpYszCqMsImFh78FK6P8p6IsEKZB6IkUJYKz0/QgadYy4jLb60jcFIHJ6v6jsMH7/ZQrA==",
+					"dev": true,
+					"requires": {
+						"remark": "^9.0.0",
+						"unist-util-find-all-after": "^1.0.2"
+					}
+				},
+				"postcss-reporter": {
+					"version": "6.0.0",
+					"resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-6.0.0.tgz",
+					"integrity": "sha512-5xQXm1UPWuFObjbtyQzWvQaupru8yFcFi4HUlm6OPo1o2bUszYASuqRJ7bVArb3svGCdbYtqdMBKrqR1Aoy+tw==",
+					"dev": true,
+					"requires": {
+						"chalk": "^2.0.1",
+						"lodash": "^4.17.4",
+						"log-symbols": "^2.0.0",
+						"postcss": "^7.0.2"
+					}
+				},
+				"postcss-safe-parser": {
+					"version": "4.0.1",
+					"resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.1.tgz",
+					"integrity": "sha512-xZsFA3uX8MO3yAda03QrG3/Eg1LN3EPfjjf07vke/46HERLZyHrTsQ9E1r1w1W//fWEhtYNndo2hQplN2cVpCQ==",
 					"dev": true,
 					"requires": {
-						"chalk": "2.4.1",
-						"source-map": "0.6.1",
-						"supports-color": "5.4.0"
+						"postcss": "^7.0.0"
 					}
 				},
+				"postcss-scss": {
+					"version": "2.0.0",
+					"resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-2.0.0.tgz",
+					"integrity": "sha512-um9zdGKaDZirMm+kZFKKVsnKPF7zF7qBAtIfTSnZXD1jZ0JNZIxdB6TxQOjCnlSzLRInVl2v3YdBh/M881C4ug==",
+					"dev": true,
+					"requires": {
+						"postcss": "^7.0.0"
+					}
+				},
+				"postcss-syntax": {
+					"version": "0.34.0",
+					"resolved": "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.34.0.tgz",
+					"integrity": "sha512-L36NZwq2UK743US+vl1CRMdBRZCBmFYfThP9n9jCFhX1Wfk6BqnRSgt0Fy8q44IwxPee/GCzlo7T1c1JIeUDlQ==",
+					"dev": true
+				},
 				"read-pkg": {
 					"version": "3.0.0",
 					"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
 					"integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
 					"dev": true,
 					"requires": {
-						"load-json-file": "4.0.0",
-						"normalize-package-data": "2.4.0",
-						"path-type": "3.0.0"
+						"load-json-file": "^4.0.0",
+						"normalize-package-data": "^2.3.2",
+						"path-type": "^3.0.0"
 					}
 				},
 				"read-pkg-up": {
@@ -14721,8 +15707,19 @@
 					"integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=",
 					"dev": true,
 					"requires": {
-						"find-up": "2.1.0",
-						"read-pkg": "3.0.0"
+						"find-up": "^2.0.0",
+						"read-pkg": "^3.0.0"
+					}
+				},
+				"readable-stream": {
+					"version": "3.0.6",
+					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.0.6.tgz",
+					"integrity": "sha512-9E1oLoOWfhSXHGv6QlwXJim7uNzd9EVlWK+21tCU9Ju/kR0/p2AZYPz4qSchgO8PlLIH4FpZYfzwS+rEksZjIg==",
+					"dev": true,
+					"requires": {
+						"inherits": "^2.0.3",
+						"string_decoder": "^1.1.1",
+						"util-deprecate": "^1.0.1"
 					}
 				},
 				"resolve-from": {
@@ -14737,14 +15734,20 @@
 					"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
 					"dev": true
 				},
+				"specificity": {
+					"version": "0.4.1",
+					"resolved": "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz",
+					"integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==",
+					"dev": true
+				},
 				"string-width": {
 					"version": "2.1.1",
 					"resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
 					"integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
 					"dev": true,
 					"requires": {
-						"is-fullwidth-code-point": "2.0.0",
-						"strip-ansi": "4.0.0"
+						"is-fullwidth-code-point": "^2.0.0",
+						"strip-ansi": "^4.0.0"
 					}
 				},
 				"strip-ansi": {
@@ -14753,92 +15756,50 @@
 					"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
 					"dev": true,
 					"requires": {
-						"ansi-regex": "3.0.0"
-					}
-				},
-				"supports-color": {
-					"version": "5.4.0",
-					"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
-					"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
-					"dev": true,
-					"requires": {
-						"has-flag": "3.0.0"
-					}
-				}
-			}
-		},
-		"stylelint-order": {
-			"version": "0.8.1",
-			"resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-0.8.1.tgz",
-			"integrity": "sha512-8mp1P2wnI9XShYXVXDsxVigE2eXnc0C2O4ktbwUvTBwjCP4xZskIbUVxp1evSG3OK4R7hXVNl/2BnJCZkrcc/w==",
-			"dev": true,
-			"requires": {
-				"lodash": "4.17.10",
-				"postcss": "6.0.22",
-				"postcss-sorting": "3.1.0"
-			},
-			"dependencies": {
-				"ansi-styles": {
-					"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.1"
+						"ansi-regex": "^3.0.0"
 					}
 				},
-				"chalk": {
-					"version": "2.4.1",
-					"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
-					"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
+				"sugarss": {
+					"version": "2.0.0",
+					"resolved": "https://registry.npmjs.org/sugarss/-/sugarss-2.0.0.tgz",
+					"integrity": "sha512-WfxjozUk0UVA4jm+U1d736AUpzSrNsQcIbyOkoE364GrtWmIrFdk5lksEupgWMD4VaT/0kVx1dobpiDumSgmJQ==",
 					"dev": true,
 					"requires": {
-						"ansi-styles": "3.2.1",
-						"escape-string-regexp": "1.0.5",
-						"supports-color": "5.4.0"
+						"postcss": "^7.0.2"
 					}
 				},
-				"has-flag": {
-					"version": "3.0.0",
-					"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-					"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
-					"dev": true
-				},
-				"postcss": {
-					"version": "6.0.22",
-					"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz",
-					"integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==",
+				"supports-color": {
+					"version": "5.5.0",
+					"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+					"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
 					"dev": true,
 					"requires": {
-						"chalk": "2.4.1",
-						"source-map": "0.6.1",
-						"supports-color": "5.4.0"
+						"has-flag": "^3.0.0"
 					}
 				},
-				"source-map": {
-					"version": "0.6.1",
-					"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-					"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-					"dev": true
-				},
-				"supports-color": {
-					"version": "5.4.0",
-					"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
-					"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
+				"table": {
+					"version": "5.1.0",
+					"resolved": "https://registry.npmjs.org/table/-/table-5.1.0.tgz",
+					"integrity": "sha512-e542in22ZLhD/fOIuXs/8yDZ9W61ltF8daM88rkRNtgTIct+vI2fTnAyu/Db2TCfEcI8i7mjZz6meLq0nW7TYg==",
 					"dev": true,
 					"requires": {
-						"has-flag": "3.0.0"
+						"ajv": "^6.5.3",
+						"lodash": "^4.17.10",
+						"slice-ansi": "1.0.0",
+						"string-width": "^2.1.1"
 					}
 				}
 			}
 		},
-		"sugarss": {
-			"version": "1.0.1",
-			"resolved": "https://registry.npmjs.org/sugarss/-/sugarss-1.0.1.tgz",
-			"integrity": "sha512-3qgLZytikQQEVn1/FrhY7B68gPUUGY3R1Q1vTiD5xT+Ti1DP/8iZuwFet9ONs5+bmL8pZoDQ6JrQHVgrNlK6mA==",
+		"stylelint-order": {
+			"version": "0.8.1",
+			"resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-0.8.1.tgz",
+			"integrity": "sha512-8mp1P2wnI9XShYXVXDsxVigE2eXnc0C2O4ktbwUvTBwjCP4xZskIbUVxp1evSG3OK4R7hXVNl/2BnJCZkrcc/w==",
 			"dev": true,
 			"requires": {
-				"postcss": "6.0.22"
+				"lodash": "^4.17.4",
+				"postcss": "^6.0.14",
+				"postcss-sorting": "^3.1.0"
 			},
 			"dependencies": {
 				"ansi-styles": {
@@ -14847,7 +15808,7 @@
 					"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
 					"dev": true,
 					"requires": {
-						"color-convert": "1.9.1"
+						"color-convert": "^1.9.0"
 					}
 				},
 				"chalk": {
@@ -14856,9 +15817,9 @@
 					"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
 					"dev": true,
 					"requires": {
-						"ansi-styles": "3.2.1",
-						"escape-string-regexp": "1.0.5",
-						"supports-color": "5.4.0"
+						"ansi-styles": "^3.2.1",
+						"escape-string-regexp": "^1.0.5",
+						"supports-color": "^5.3.0"
 					}
 				},
 				"has-flag": {
@@ -14873,9 +15834,9 @@
 					"integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==",
 					"dev": true,
 					"requires": {
-						"chalk": "2.4.1",
-						"source-map": "0.6.1",
-						"supports-color": "5.4.0"
+						"chalk": "^2.4.1",
+						"source-map": "^0.6.1",
+						"supports-color": "^5.4.0"
 					}
 				},
 				"source-map": {
@@ -14890,36 +15851,28 @@
 					"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
 					"dev": true,
 					"requires": {
-						"has-flag": "3.0.0"
+						"has-flag": "^3.0.0"
 					}
 				}
 			}
 		},
-		"superagent": {
-			"version": "3.8.2",
-			"resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.2.tgz",
-			"integrity": "sha512-gVH4QfYHcY3P0f/BZzavLreHW3T1v7hG9B+hpMQotGQqurOvhv87GcMCd6LWySmBuf+BDR44TQd0aISjVHLeNQ==",
+		"supertest": {
+			"version": "3.3.0",
+			"resolved": "https://registry.npmjs.org/supertest/-/supertest-3.3.0.tgz",
+			"integrity": "sha512-dMQSzYdaZRSANH5LL8kX3UpgK9G1LRh/jnggs/TI0W2Sz7rkMx9Y48uia3K9NgcaWEV28tYkBnXE4tiFC77ygQ==",
 			"dev": true,
 			"requires": {
-				"component-emitter": "1.2.1",
-				"cookiejar": "2.1.2",
-				"debug": "3.1.0",
-				"extend": "3.0.1",
-				"form-data": "2.3.2",
-				"formidable": "1.2.1",
-				"methods": "1.1.2",
-				"mime": "1.6.0",
-				"qs": "6.5.2",
-				"readable-stream": "2.3.6"
+				"methods": "^1.1.2",
+				"superagent": "^3.8.3"
 			},
 			"dependencies": {
 				"debug": {
-					"version": "3.1.0",
-					"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
-					"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+					"version": "3.2.6",
+					"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+					"integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
 					"dev": true,
 					"requires": {
-						"ms": "2.0.0"
+						"ms": "^2.1.1"
 					}
 				},
 				"mime": {
@@ -14927,25 +15880,40 @@
 					"resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
 					"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
 					"dev": true
+				},
+				"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==",
+					"dev": true
+				},
+				"superagent": {
+					"version": "3.8.3",
+					"resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz",
+					"integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==",
+					"dev": true,
+					"requires": {
+						"component-emitter": "^1.2.0",
+						"cookiejar": "^2.1.0",
+						"debug": "^3.1.0",
+						"extend": "^3.0.0",
+						"form-data": "^2.3.1",
+						"formidable": "^1.2.0",
+						"methods": "^1.1.1",
+						"mime": "^1.4.1",
+						"qs": "^6.5.1",
+						"readable-stream": "^2.3.5"
+					}
 				}
 			}
 		},
-		"supertest": {
-			"version": "3.1.0",
-			"resolved": "https://registry.npmjs.org/supertest/-/supertest-3.1.0.tgz",
-			"integrity": "sha512-O44AMnmJqx294uJQjfUmEyYOg7d9mylNFsMw/Wkz4evKd1njyPrtCN+U6ZIC7sKtfEVQhfTqFFijlXx8KP/Czw==",
-			"dev": true,
-			"requires": {
-				"methods": "1.1.2",
-				"superagent": "3.8.2"
-			}
-		},
 		"supports-color": {
-			"version": "3.2.3",
-			"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
-			"integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+			"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": "1.0.0"
+				"has-flag": "^3.0.0"
 			}
 		},
 		"svg-tags": {
@@ -14959,18 +15927,98 @@
 			"resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz",
 			"integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY="
 		},
+		"systemjs": {
+			"version": "0.21.4",
+			"resolved": "https://registry.npmjs.org/systemjs/-/systemjs-0.21.4.tgz",
+			"integrity": "sha512-l1O8boHjAIY5UG74Xk4B63LK9QbFxv/FkQa//GGGWaTeQoMhTsWnFrYwPWBScSF4xQFMO/+v9QB4i633h8Oytw==",
+			"dev": true,
+			"optional": true
+		},
+		"systemjs-builder": {
+			"version": "0.16.13",
+			"resolved": "https://registry.npmjs.org/systemjs-builder/-/systemjs-builder-0.16.13.tgz",
+			"integrity": "sha512-ual5RmcBt7yeXrmpEQIHmITZpNIf289hCTixo/gSOQpdVLLC5v7/W//qn3ZgK6YNdUBptS4szaGVrh7LxOqSHg==",
+			"dev": true,
+			"optional": true,
+			"requires": {
+				"babel-core": "^6.24.1",
+				"babel-plugin-syntax-dynamic-import": "^6.18.0",
+				"babel-plugin-transform-amd-system-wrapper": "^0.3.7",
+				"babel-plugin-transform-cjs-system-wrapper": "^0.6.2",
+				"babel-plugin-transform-es2015-modules-systemjs": "^6.6.5",
+				"babel-plugin-transform-global-system-wrapper": "^0.3.4",
+				"babel-plugin-transform-system-register": "^0.0.1",
+				"bluebird": "^3.3.4",
+				"data-uri-to-buffer": "0.0.4",
+				"es6-template-strings": "^2.0.0",
+				"glob": "^7.0.3",
+				"mkdirp": "^0.5.1",
+				"rollup": "^0.58.2",
+				"source-map": "^0.5.3",
+				"systemjs": "^0.19.46",
+				"traceur": "0.0.105",
+				"uglify-js": "^2.6.1"
+			},
+			"dependencies": {
+				"babel-core": {
+					"version": "6.26.3",
+					"resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz",
+					"integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==",
+					"dev": true,
+					"optional": true,
+					"requires": {
+						"babel-code-frame": "^6.26.0",
+						"babel-generator": "^6.26.0",
+						"babel-helpers": "^6.24.1",
+						"babel-messages": "^6.23.0",
+						"babel-register": "^6.26.0",
+						"babel-runtime": "^6.26.0",
+						"babel-template": "^6.26.0",
+						"babel-traverse": "^6.26.0",
+						"babel-types": "^6.26.0",
+						"babylon": "^6.18.0",
+						"convert-source-map": "^1.5.1",
+						"debug": "^2.6.9",
+						"json5": "^0.5.1",
+						"lodash": "^4.17.4",
+						"minimatch": "^3.0.4",
+						"path-is-absolute": "^1.0.1",
+						"private": "^0.1.8",
+						"slash": "^1.0.0",
+						"source-map": "^0.5.7"
+					}
+				},
+				"json5": {
+					"version": "0.5.1",
+					"resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+					"integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
+					"dev": true,
+					"optional": true
+				},
+				"systemjs": {
+					"version": "0.19.47",
+					"resolved": "https://registry.npmjs.org/systemjs/-/systemjs-0.19.47.tgz",
+					"integrity": "sha1-yMk5NxgPP1SBx2nNJyB2P7SjHG8=",
+					"dev": true,
+					"optional": true,
+					"requires": {
+						"when": "^3.7.5"
+					}
+				}
+			}
+		},
 		"table": {
 			"version": "4.0.2",
 			"resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz",
 			"integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==",
 			"dev": true,
 			"requires": {
-				"ajv": "5.5.2",
-				"ajv-keywords": "2.1.1",
-				"chalk": "2.4.1",
-				"lodash": "4.17.10",
+				"ajv": "^5.2.3",
+				"ajv-keywords": "^2.1.0",
+				"chalk": "^2.1.0",
+				"lodash": "^4.17.4",
 				"slice-ansi": "1.0.0",
-				"string-width": "2.1.1"
+				"string-width": "^2.1.1"
 			},
 			"dependencies": {
 				"ansi-regex": {
@@ -14985,7 +16033,7 @@
 					"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
 					"dev": true,
 					"requires": {
-						"color-convert": "1.9.1"
+						"color-convert": "^1.9.0"
 					}
 				},
 				"chalk": {
@@ -14994,9 +16042,9 @@
 					"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
 					"dev": true,
 					"requires": {
-						"ansi-styles": "3.2.1",
-						"escape-string-regexp": "1.0.5",
-						"supports-color": "5.4.0"
+						"ansi-styles": "^3.2.1",
+						"escape-string-regexp": "^1.0.5",
+						"supports-color": "^5.3.0"
 					}
 				},
 				"has-flag": {
@@ -15017,8 +16065,8 @@
 					"integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
 					"dev": true,
 					"requires": {
-						"is-fullwidth-code-point": "2.0.0",
-						"strip-ansi": "4.0.0"
+						"is-fullwidth-code-point": "^2.0.0",
+						"strip-ansi": "^4.0.0"
 					}
 				},
 				"strip-ansi": {
@@ -15027,7 +16075,7 @@
 					"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
 					"dev": true,
 					"requires": {
-						"ansi-regex": "3.0.0"
+						"ansi-regex": "^3.0.0"
 					}
 				},
 				"supports-color": {
@@ -15036,7 +16084,7 @@
 					"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
 					"dev": true,
 					"requires": {
-						"has-flag": "3.0.0"
+						"has-flag": "^3.0.0"
 					}
 				}
 			}
@@ -15046,13 +16094,13 @@
 			"resolved": "https://registry.npmjs.org/tar/-/tar-4.4.4.tgz",
 			"integrity": "sha512-mq9ixIYfNF9SK0IS/h2HKMu8Q2iaCuhDDsZhdEag/FHv8fOaYld4vN7ouMgcSSt5WKZzPs8atclTcJm36OTh4w==",
 			"requires": {
-				"chownr": "1.0.1",
-				"fs-minipass": "1.2.5",
-				"minipass": "2.3.3",
-				"minizlib": "1.1.0",
-				"mkdirp": "0.5.1",
-				"safe-buffer": "5.1.2",
-				"yallist": "3.0.2"
+				"chownr": "^1.0.1",
+				"fs-minipass": "^1.2.5",
+				"minipass": "^2.3.3",
+				"minizlib": "^1.1.0",
+				"mkdirp": "^0.5.0",
+				"safe-buffer": "^5.1.2",
+				"yallist": "^3.0.2"
 			},
 			"dependencies": {
 				"yallist": {
@@ -15063,14 +16111,14 @@
 			}
 		},
 		"tar-fs": {
-			"version": "1.16.2",
-			"resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.2.tgz",
-			"integrity": "sha512-LdknWjPEiZC1nOBwhv0JBzfJBGPJar08dZg2rwZe0ZTLQoRGEzgrl7vF3qUEkCHpI/wN9e7RyCuDhMsJUCLPPQ==",
-			"requires": {
-				"chownr": "1.0.1",
-				"mkdirp": "0.5.1",
-				"pump": "1.0.3",
-				"tar-stream": "1.6.1"
+			"version": "1.16.3",
+			"resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz",
+			"integrity": "sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==",
+			"requires": {
+				"chownr": "^1.0.1",
+				"mkdirp": "^0.5.1",
+				"pump": "^1.0.0",
+				"tar-stream": "^1.1.2"
 			},
 			"dependencies": {
 				"pump": {
@@ -15078,24 +16126,24 @@
 					"resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz",
 					"integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==",
 					"requires": {
-						"end-of-stream": "1.4.1",
-						"once": "1.4.0"
+						"end-of-stream": "^1.1.0",
+						"once": "^1.3.1"
 					}
 				}
 			}
 		},
 		"tar-stream": {
-			"version": "1.6.1",
-			"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.1.tgz",
-			"integrity": "sha512-IFLM5wp3QrJODQFPm6/to3LJZrONdBY/otxcvDIQzu217zKye6yVR3hhi9lAjrC2Z+m/j5oDxMPb1qcd8cIvpA==",
+			"version": "1.6.2",
+			"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz",
+			"integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==",
 			"requires": {
-				"bl": "1.2.2",
-				"buffer-alloc": "1.2.0",
-				"end-of-stream": "1.4.1",
-				"fs-constants": "1.0.0",
-				"readable-stream": "2.3.6",
-				"to-buffer": "1.1.1",
-				"xtend": "4.0.1"
+				"bl": "^1.0.0",
+				"buffer-alloc": "^1.2.0",
+				"end-of-stream": "^1.0.0",
+				"fs-constants": "^1.0.0",
+				"readable-stream": "^2.3.0",
+				"to-buffer": "^1.1.1",
+				"xtend": "^4.0.0"
 			}
 		},
 		"tdigest": {
@@ -15112,13 +16160,13 @@
 			"integrity": "sha1-W8xOrsxKsscH2LwR2ZzMmiyyh/I=",
 			"dev": true,
 			"requires": {
-				"os-tmpdir": "1.0.2",
-				"uuid": "2.0.3"
+				"os-tmpdir": "^1.0.0",
+				"uuid": "^2.0.1"
 			},
 			"dependencies": {
 				"uuid": {
 					"version": "2.0.3",
-					"resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz",
+					"resolved": "http://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz",
 					"integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=",
 					"dev": true
 				}
@@ -15144,7 +16192,7 @@
 		},
 		"through": {
 			"version": "2.3.8",
-			"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+			"resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz",
 			"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
 			"dev": true
 		},
@@ -15153,15 +16201,10 @@
 			"resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
 			"integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
 			"requires": {
-				"readable-stream": "2.3.6",
-				"xtend": "4.0.1"
+				"readable-stream": "^2.1.5",
+				"xtend": "~4.0.1"
 			}
 		},
-		"timed-out": {
-			"version": "4.0.1",
-			"resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz",
-			"integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8="
-		},
 		"tiny-emitter": {
 			"version": "2.0.2",
 			"resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.0.2.tgz",
@@ -15172,22 +16215,34 @@
 			"resolved": "https://registry.npmjs.org/tiny-secp256k1/-/tiny-secp256k1-1.0.0.tgz",
 			"integrity": "sha512-Wd4YPIQUtNmFoszG9f4PAkpCTurF5deVrbS1KuIZ9LTo9AHmXwbl1iNTrDqT3/xI62TRi0OcVs6eXk+8OcDziQ==",
 			"requires": {
-				"bindings": "1.3.0",
-				"bn.js": "4.11.8",
-				"create-hmac": "1.1.7",
-				"elliptic": "6.4.1",
-				"nan": "2.10.0"
+				"bindings": "^1.3.0",
+				"bn.js": "^4.11.8",
+				"create-hmac": "^1.1.7",
+				"elliptic": "^6.4.0",
+				"nan": "^2.10.0"
 			}
 		},
+		"tlds": {
+			"version": "1.203.1",
+			"resolved": "https://registry.npmjs.org/tlds/-/tlds-1.203.1.tgz",
+			"integrity": "sha512-7MUlYyGJ6rSitEZ3r1Q1QNV8uSIzapS8SmmhSusBuIc7uIxPPwsKllEP0GRp1NS6Ik6F+fRZvnjDWm3ecv2hDw=="
+		},
 		"tmp": {
 			"version": "0.0.33",
 			"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
 			"integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
 			"dev": true,
 			"requires": {
-				"os-tmpdir": "1.0.2"
+				"os-tmpdir": "~1.0.2"
 			}
 		},
+		"tmpl": {
+			"version": "1.0.4",
+			"resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz",
+			"integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=",
+			"dev": true,
+			"optional": true
+		},
 		"to-buffer": {
 			"version": "1.1.1",
 			"resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz",
@@ -15204,7 +16259,7 @@
 			"resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
 			"integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
 			"requires": {
-				"kind-of": "3.2.2"
+				"kind-of": "^3.0.2"
 			},
 			"dependencies": {
 				"kind-of": {
@@ -15212,7 +16267,7 @@
 					"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
 					"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
 					"requires": {
-						"is-buffer": "1.1.6"
+						"is-buffer": "^1.1.5"
 					}
 				}
 			}
@@ -15222,10 +16277,10 @@
 			"resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
 			"integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
 			"requires": {
-				"define-property": "2.0.2",
-				"extend-shallow": "3.0.2",
-				"regex-not": "1.0.2",
-				"safe-regex": "1.1.0"
+				"define-property": "^2.0.2",
+				"extend-shallow": "^3.0.2",
+				"regex-not": "^1.0.2",
+				"safe-regex": "^1.1.0"
 			}
 		},
 		"to-regex-range": {
@@ -15233,8 +16288,8 @@
 			"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
 			"integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
 			"requires": {
-				"is-number": "3.0.0",
-				"repeat-string": "1.6.1"
+				"is-number": "^3.0.0",
+				"repeat-string": "^1.6.1"
 			}
 		},
 		"toastr": {
@@ -15242,7 +16297,7 @@
 			"resolved": "https://registry.npmjs.org/toastr/-/toastr-2.1.4.tgz",
 			"integrity": "sha1-i0O+ZPudDEFIcURvLbjoyk6V8YE=",
 			"requires": {
-				"jquery": "3.3.1"
+				"jquery": ">=1.12.0"
 			}
 		},
 		"tough-cookie": {
@@ -15250,7 +16305,7 @@
 			"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz",
 			"integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==",
 			"requires": {
-				"punycode": "1.4.1"
+				"punycode": "^1.4.1"
 			}
 		},
 		"tr46": {
@@ -15258,7 +16313,7 @@
 			"resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz",
 			"integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=",
 			"requires": {
-				"punycode": "2.1.1"
+				"punycode": "^2.1.0"
 			},
 			"dependencies": {
 				"punycode": {
@@ -15268,6 +16323,67 @@
 				}
 			}
 		},
+		"traceur": {
+			"version": "0.0.105",
+			"resolved": "https://registry.npmjs.org/traceur/-/traceur-0.0.105.tgz",
+			"integrity": "sha1-XPne6D1rd4YcPWxE1ThZrterBHk=",
+			"dev": true,
+			"requires": {
+				"commander": "2.9.x",
+				"glob": "5.0.x",
+				"rsvp": "^3.0.13",
+				"semver": "^4.3.3",
+				"source-map-support": "~0.2.8"
+			},
+			"dependencies": {
+				"commander": {
+					"version": "2.9.0",
+					"resolved": "http://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
+					"integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=",
+					"dev": true,
+					"requires": {
+						"graceful-readlink": ">= 1.0.0"
+					}
+				},
+				"glob": {
+					"version": "5.0.15",
+					"resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
+					"integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
+					"dev": true,
+					"requires": {
+						"inflight": "^1.0.4",
+						"inherits": "2",
+						"minimatch": "2 || 3",
+						"once": "^1.3.0",
+						"path-is-absolute": "^1.0.0"
+					}
+				},
+				"semver": {
+					"version": "4.3.6",
+					"resolved": "http://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
+					"integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=",
+					"dev": true
+				},
+				"source-map": {
+					"version": "0.1.32",
+					"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz",
+					"integrity": "sha1-yLbBZ3l7pHQKjqMyUhYv8IWRsmY=",
+					"dev": true,
+					"requires": {
+						"amdefine": ">=0.0.4"
+					}
+				},
+				"source-map-support": {
+					"version": "0.2.10",
+					"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.2.10.tgz",
+					"integrity": "sha1-6lo5AKHByyUJagrozFwrSxDe09w=",
+					"dev": true,
+					"requires": {
+						"source-map": "0.1.32"
+					}
+				}
+			}
+		},
 		"traverse": {
 			"version": "0.6.6",
 			"resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz",
@@ -15319,7 +16435,7 @@
 			"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
 			"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
 			"requires": {
-				"safe-buffer": "5.1.2"
+				"safe-buffer": "^5.0.1"
 			}
 		},
 		"turndown": {
@@ -15327,7 +16443,7 @@
 			"resolved": "https://registry.npmjs.org/turndown/-/turndown-5.0.1.tgz",
 			"integrity": "sha512-OuNongGmx5vo1TWuSFmVa4Rkm/HxFNPU3dyP9OpOMF2RFTtl0RU+QLIIROcDvXWauFJaLpZaZeVMAsL8vrt3Tw==",
 			"requires": {
-				"jsdom": "11.12.0"
+				"jsdom": "^11.9.0"
 			}
 		},
 		"tweetnacl": {
@@ -15337,16 +16453,17 @@
 			"optional": true
 		},
 		"twilio": {
-			"version": "3.17.1",
-			"resolved": "https://registry.npmjs.org/twilio/-/twilio-3.17.1.tgz",
-			"integrity": "sha512-mhnZ8hfRsQokw7gzcUMkjmuwLbZ2ilWIJaF+HK82DNFgyCryAhb9DHozuQD8Utmd/QMqKKUGI0W5DFsBjzI0Sg==",
+			"version": "3.23.2",
+			"resolved": "https://registry.npmjs.org/twilio/-/twilio-3.23.2.tgz",
+			"integrity": "sha512-qYnGIvtgM5BQeQlnSRisR43bCr/3LRy1crT58v9g5Yu/aPiB1jWdTjPCUJmdY7wjwoGitOnTE7xUU8TvBdT0xg==",
 			"requires": {
+				"@types/express": "^4.11.1",
 				"deprecate": "1.0.0",
-				"jsonwebtoken": "8.2.2",
-				"lodash": "4.17.10",
+				"jsonwebtoken": "^8.1.0",
+				"lodash": "^4.17.10",
 				"moment": "2.19.3",
-				"q": "2.0.3",
-				"request": "2.87.0",
+				"q": "2.0.x",
+				"request": "^2.87.0",
 				"rootpath": "0.1.2",
 				"scmp": "0.0.3",
 				"xmlbuilder": "9.0.1"
@@ -15365,13 +16482,13 @@
 			}
 		},
 		"twit": {
-			"version": "2.2.10",
-			"resolved": "https://registry.npmjs.org/twit/-/twit-2.2.10.tgz",
-			"integrity": "sha512-0jpnxvi4ul05AJ8DfoZ9dDnexXjT3ho3AWkFGoJ3V7mcgNXcUiPiTf828qZY6S6a/5C+Dr082MvHQHZTnybpkg==",
+			"version": "2.2.11",
+			"resolved": "https://registry.npmjs.org/twit/-/twit-2.2.11.tgz",
+			"integrity": "sha512-BkdwvZGRVoUTcEBp0zuocuqfih4LB+kEFUWkWJOVBg6pAE9Ebv9vmsYTTrfXleZGf45Bj5H3A1/O9YhF2uSYNg==",
 			"requires": {
-				"bluebird": "3.5.1",
-				"mime": "1.6.0",
-				"request": "2.87.0"
+				"bluebird": "^3.1.5",
+				"mime": "^1.3.4",
+				"request": "^2.68.0"
 			},
 			"dependencies": {
 				"mime": {
@@ -15386,7 +16503,7 @@
 			"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
 			"integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
 			"requires": {
-				"prelude-ls": "1.1.2"
+				"prelude-ls": "~1.1.2"
 			}
 		},
 		"type-detect": {
@@ -15401,7 +16518,7 @@
 			"integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==",
 			"requires": {
 				"media-typer": "0.3.0",
-				"mime-types": "2.1.18"
+				"mime-types": "~2.1.18"
 			}
 		},
 		"type-name": {
@@ -15425,9 +16542,9 @@
 			"integrity": "sha512-Gr4p6nFNaoufRIY4NMdpQRNmgxVIGMs4Fcu/ujdYk3nAZqk7supzBE9idmvfZIlH/Cuj//dvi+019qEue9lV0w=="
 		},
 		"ua-parser-js": {
-			"version": "0.7.18",
-			"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.18.tgz",
-			"integrity": "sha512-LtzwHlVHwFGTptfNSgezHp7WUlwiqb0gA9AALRbKaERfxwJoiX0A73QbTToxteIAuIaFshhgIZfqK8s7clqgnA=="
+			"version": "0.7.19",
+			"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.19.tgz",
+			"integrity": "sha512-T3PVJ6uz8i0HzPxOF9SWzWAlfN/DavlpQqepn22xgve/5QecC+XMCAtmUNnY7C9StehaV6exjUCI801lOI7QlQ=="
 		},
 		"uc.micro": {
 			"version": "1.0.5",
@@ -15439,29 +16556,26 @@
 			"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
 			"integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
 			"dev": true,
-			"optional": true,
 			"requires": {
-				"source-map": "0.5.7",
-				"uglify-to-browserify": "1.0.2",
-				"yargs": "3.10.0"
+				"source-map": "~0.5.1",
+				"uglify-to-browserify": "~1.0.0",
+				"yargs": "~3.10.0"
 			},
 			"dependencies": {
 				"camelcase": {
 					"version": "1.2.1",
 					"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
 					"integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
-					"dev": true,
-					"optional": true
+					"dev": true
 				},
 				"cliui": {
 					"version": "2.1.0",
 					"resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
 					"integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
 					"dev": true,
-					"optional": true,
 					"requires": {
-						"center-align": "0.1.3",
-						"right-align": "0.1.3",
+						"center-align": "^0.1.1",
+						"right-align": "^0.1.1",
 						"wordwrap": "0.0.2"
 					}
 				},
@@ -15469,26 +16583,23 @@
 					"version": "0.1.0",
 					"resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
 					"integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
-					"dev": true,
-					"optional": true
+					"dev": true
 				},
 				"wordwrap": {
 					"version": "0.0.2",
 					"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
 					"integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
-					"dev": true,
-					"optional": true
+					"dev": true
 				},
 				"yargs": {
 					"version": "3.10.0",
 					"resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
 					"integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
 					"dev": true,
-					"optional": true,
 					"requires": {
-						"camelcase": "1.2.1",
-						"cliui": "2.1.0",
-						"decamelize": "1.2.0",
+						"camelcase": "^1.0.2",
+						"cliui": "^2.1.0",
+						"decamelize": "^1.0.0",
 						"window-size": "0.1.0"
 					}
 				}
@@ -15506,21 +16617,28 @@
 			"resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.4.tgz",
 			"integrity": "sha1-Otbzg2jG1MjHXsF2I/t5qh0HHYE=",
 			"requires": {
-				"random-bytes": "1.0.0"
+				"random-bytes": "~1.0.0"
 			}
 		},
+		"unc-path-regex": {
+			"version": "0.1.2",
+			"resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
+			"integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=",
+			"dev": true,
+			"optional": true
+		},
 		"underscore": {
 			"version": "1.9.1",
 			"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz",
 			"integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg=="
 		},
 		"underscore.string": {
-			"version": "3.3.4",
-			"resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.4.tgz",
-			"integrity": "sha1-LCo/n4PmR2L9xF5s6sZRQoZCE9s=",
+			"version": "3.3.5",
+			"resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.5.tgz",
+			"integrity": "sha512-g+dpmgn+XBneLmXXo+sGlW5xQEt4ErkS3mgeN2GFbremYeMBSJKr9Wf2KJplQVaiPY/f7FN6atosWYNm9ovrYg==",
 			"requires": {
-				"sprintf-js": "1.1.1",
-				"util-deprecate": "1.0.2"
+				"sprintf-js": "^1.0.3",
+				"util-deprecate": "^1.0.2"
 			}
 		},
 		"unherit": {
@@ -15529,8 +16647,8 @@
 			"integrity": "sha512-+XZuV691Cn4zHsK0vkKYwBEwB74T3IZIcxrgn2E4rKwTfFyI1zCh7X7grwh9Re08fdPlarIdyWgI8aVB3F5A5g==",
 			"dev": true,
 			"requires": {
-				"inherits": "2.0.3",
-				"xtend": "4.0.1"
+				"inherits": "^2.0.1",
+				"xtend": "^4.0.1"
 			}
 		},
 		"unified": {
@@ -15539,12 +16657,12 @@
 			"integrity": "sha512-1k+KPhlVtqmG99RaTbAv/usu85fcSRu3wY8X+vnsEhIxNP5VbVIDiXnLqyKIG+UMdyTg0ZX9EI6k2AfjJkHPtA==",
 			"dev": true,
 			"requires": {
-				"bail": "1.0.3",
-				"extend": "3.0.1",
-				"is-plain-obj": "1.1.0",
-				"trough": "1.0.2",
-				"vfile": "2.3.0",
-				"x-is-string": "0.1.0"
+				"bail": "^1.0.0",
+				"extend": "^3.0.0",
+				"is-plain-obj": "^1.1.0",
+				"trough": "^1.0.0",
+				"vfile": "^2.0.0",
+				"x-is-string": "^0.1.0"
 			}
 		},
 		"union-value": {
@@ -15552,10 +16670,10 @@
 			"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
 			"integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
 			"requires": {
-				"arr-union": "3.1.0",
-				"get-value": "2.0.6",
-				"is-extendable": "0.1.1",
-				"set-value": "0.4.3"
+				"arr-union": "^3.1.0",
+				"get-value": "^2.0.6",
+				"is-extendable": "^0.1.1",
+				"set-value": "^0.4.3"
 			},
 			"dependencies": {
 				"extend-shallow": {
@@ -15563,7 +16681,7 @@
 					"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
 					"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
 					"requires": {
-						"is-extendable": "0.1.1"
+						"is-extendable": "^0.1.0"
 					}
 				},
 				"set-value": {
@@ -15571,10 +16689,10 @@
 					"resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
 					"integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
 					"requires": {
-						"extend-shallow": "2.0.1",
-						"is-extendable": "0.1.1",
-						"is-plain-object": "2.0.4",
-						"to-object-path": "0.3.0"
+						"extend-shallow": "^2.0.1",
+						"is-extendable": "^0.1.1",
+						"is-plain-object": "^2.0.1",
+						"to-object-path": "^0.3.0"
 					}
 				}
 			}
@@ -15590,7 +16708,7 @@
 			"resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz",
 			"integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=",
 			"requires": {
-				"crypto-random-string": "1.0.0"
+				"crypto-random-string": "^1.0.0"
 			}
 		},
 		"unist-util-find-all-after": {
@@ -15599,7 +16717,7 @@
 			"integrity": "sha512-nDl79mKpffXojLpCimVXnxhlH/jjaTnDuScznU9J4jjsaUtBdDbxmlc109XtcqxY4SDO0SwzngsxxW8DIISt1w==",
 			"dev": true,
 			"requires": {
-				"unist-util-is": "2.1.2"
+				"unist-util-is": "^2.0.0"
 			}
 		},
 		"unist-util-is": {
@@ -15614,7 +16732,7 @@
 			"integrity": "sha512-GRi04yhng1WqBf5RBzPkOtWAadcZS2gvuOgNn/cyJBYNxtTuyYqTKN0eg4rC1YJwGnzrqfRB3dSKm8cNCjNirg==",
 			"dev": true,
 			"requires": {
-				"array-iterate": "1.1.2"
+				"array-iterate": "^1.0.0"
 			}
 		},
 		"unist-util-remove-position": {
@@ -15623,7 +16741,7 @@
 			"integrity": "sha512-XxoNOBvq1WXRKXxgnSYbtCF76TJrRoe5++pD4cCBsssSiWSnPEktyFrFLE8LTk3JW5mt9hB0Sk5zn4x/JeWY7Q==",
 			"dev": true,
 			"requires": {
-				"unist-util-visit": "1.3.1"
+				"unist-util-visit": "^1.1.0"
 			}
 		},
 		"unist-util-stringify-position": {
@@ -15638,7 +16756,7 @@
 			"integrity": "sha512-0fdB9EQJU0tho5tK0VzOJzAQpPv2LyLZ030b10GxuzAWEfvd54mpY7BMjQ1L69k2YNvL+SvxRzH0yUIehOO8aA==",
 			"dev": true,
 			"requires": {
-				"unist-util-is": "2.1.2"
+				"unist-util-is": "^2.1.1"
 			}
 		},
 		"universal-deep-strict-equal": {
@@ -15646,9 +16764,18 @@
 			"resolved": "https://registry.npmjs.org/universal-deep-strict-equal/-/universal-deep-strict-equal-1.2.2.tgz",
 			"integrity": "sha1-DaSsL3PP95JMgfpN4BjKViyisKc=",
 			"requires": {
-				"array-filter": "1.0.0",
+				"array-filter": "^1.0.0",
 				"indexof": "0.0.1",
-				"object-keys": "1.0.11"
+				"object-keys": "^1.0.0"
+			}
+		},
+		"universal-user-agent": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-2.0.1.tgz",
+			"integrity": "sha512-vz+heWVydO0iyYAa65VHD7WZkYzhl7BeNVy4i54p4TF8OMiLSXdbuQe4hm+fmWAsL+rVibaQHXfhvkw3c1Ws2w==",
+			"dev": true,
+			"requires": {
+				"os-name": "^2.0.1"
 			}
 		},
 		"unpipe": {
@@ -15661,8 +16788,8 @@
 			"resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
 			"integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
 			"requires": {
-				"has-value": "0.3.1",
-				"isobject": "3.0.1"
+				"has-value": "^0.3.1",
+				"isobject": "^3.0.0"
 			},
 			"dependencies": {
 				"has-value": {
@@ -15670,9 +16797,9 @@
 					"resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
 					"integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
 					"requires": {
-						"get-value": "2.0.6",
-						"has-values": "0.1.4",
-						"isobject": "2.1.0"
+						"get-value": "^2.0.3",
+						"has-values": "^0.1.4",
+						"isobject": "^2.0.0"
 					},
 					"dependencies": {
 						"isobject": {
@@ -15703,7 +16830,7 @@
 			"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
 			"integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
 			"requires": {
-				"punycode": "2.1.1"
+				"punycode": "^2.1.0"
 			},
 			"dependencies": {
 				"punycode": {
@@ -15746,20 +16873,12 @@
 			"integrity": "sha1-TTNA6AfTdzvamZH4MFrNzCpmXSo="
 		},
 		"url-parse": {
-			"version": "1.2.0",
-			"resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.2.0.tgz",
-			"integrity": "sha512-DT1XbYAfmQP65M/mE6OALxmXzZ/z1+e5zk2TcSKe/KiYbNGZxgtttzC0mR/sjopbpOXcbniq7eIKmocJnUWlEw==",
-			"requires": {
-				"querystringify": "1.0.0",
-				"requires-port": "1.0.0"
-			}
-		},
-		"url-parse-lax": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
-			"integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=",
+			"version": "1.4.3",
+			"resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.3.tgz",
+			"integrity": "sha512-rh+KuAW36YKo0vClhQzLLveoj8FwPJNu65xLb7Mrt+eZht0IPT0IXgSv8gcMegZ6NvjJUALf6Mf25POlMwD1Fw==",
 			"requires": {
-				"prepend-http": "2.0.0"
+				"querystringify": "^2.0.0",
+				"requires-port": "^1.0.0"
 			}
 		},
 		"url-template": {
@@ -15768,17 +16887,12 @@
 			"integrity": "sha1-/FZaPMy/93MMd19WQflVV5FDnyE=",
 			"dev": true
 		},
-		"url-to-options": {
-			"version": "1.0.1",
-			"resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz",
-			"integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k="
-		},
 		"use": {
 			"version": "3.1.0",
 			"resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz",
 			"integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==",
 			"requires": {
-				"kind-of": "6.0.2"
+				"kind-of": "^6.0.2"
 			}
 		},
 		"utf7": {
@@ -15786,12 +16900,12 @@
 			"resolved": "https://registry.npmjs.org/utf7/-/utf7-1.0.2.tgz",
 			"integrity": "sha1-lV9JCq5lO6IguUVqCod2wZk2CZE=",
 			"requires": {
-				"semver": "5.3.0"
+				"semver": "~5.3.0"
 			},
 			"dependencies": {
 				"semver": {
 					"version": "5.3.0",
-					"resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+					"resolved": "http://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
 					"integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8="
 				}
 			}
@@ -15806,8 +16920,8 @@
 			"resolved": "https://registry.npmjs.org/util-ex/-/util-ex-0.3.15.tgz",
 			"integrity": "sha1-+SYc2hPEMn0HQMvme+Eife2LAFg=",
 			"requires": {
-				"inherits-ex": "1.2.3",
-				"xtend": "4.0.1"
+				"inherits-ex": "^1.1.2",
+				"xtend": "^4.0.0"
 			}
 		},
 		"utils-merge": {
@@ -15831,8 +16945,8 @@
 			"integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==",
 			"dev": true,
 			"requires": {
-				"spdx-correct": "3.0.0",
-				"spdx-expression-parse": "3.0.0"
+				"spdx-correct": "^3.0.0",
+				"spdx-expression-parse": "^3.0.0"
 			}
 		},
 		"validator": {
@@ -15845,7 +16959,7 @@
 			"resolved": "https://registry.npmjs.org/varuint-bitcoin/-/varuint-bitcoin-1.1.0.tgz",
 			"integrity": "sha512-jCEPG+COU/1Rp84neKTyDJQr478/hAfVp5xxYn09QEH0yBjbmPeMfuuQIrp+BUD83hybtYZKhr5elV3bvdV1bA==",
 			"requires": {
-				"safe-buffer": "5.1.2"
+				"safe-buffer": "^5.1.1"
 			}
 		},
 		"vary": {
@@ -15881,9 +16995,9 @@
 			"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
 			"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
 			"requires": {
-				"assert-plus": "1.0.0",
+				"assert-plus": "^1.0.0",
 				"core-util-is": "1.0.2",
-				"extsprintf": "1.3.0"
+				"extsprintf": "^1.2.0"
 			}
 		},
 		"vfile": {
@@ -15892,10 +17006,10 @@
 			"integrity": "sha512-ASt4mBUHcTpMKD/l5Q+WJXNtshlWxOogYyGYYrg4lt/vuRjC1EFQtlAofL5VmtVNIZJzWYFJjzGWZ0Gw8pzW1w==",
 			"dev": true,
 			"requires": {
-				"is-buffer": "1.1.6",
+				"is-buffer": "^1.1.4",
 				"replace-ext": "1.0.0",
-				"unist-util-stringify-position": "1.1.2",
-				"vfile-message": "1.0.1"
+				"unist-util-stringify-position": "^1.0.0",
+				"vfile-message": "^1.0.0"
 			}
 		},
 		"vfile-location": {
@@ -15910,7 +17024,7 @@
 			"integrity": "sha512-vSGCkhNvJzO6VcWC6AlJW4NtYOVtS+RgCaqFIYUjoGIlHnFL+i0LbtYvonDWOMcB97uTPT4PRsyYY7REWC9vug==",
 			"dev": true,
 			"requires": {
-				"unist-util-stringify-position": "1.1.2"
+				"unist-util-stringify-position": "^1.1.1"
 			}
 		},
 		"vhost": {
@@ -15923,9 +17037,26 @@
 			"resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz",
 			"integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=",
 			"requires": {
-				"browser-process-hrtime": "0.1.2"
+				"browser-process-hrtime": "^0.1.2"
+			}
+		},
+		"walker": {
+			"version": "1.0.7",
+			"resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz",
+			"integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=",
+			"dev": true,
+			"optional": true,
+			"requires": {
+				"makeerror": "1.0.x"
 			}
 		},
+		"watch": {
+			"version": "0.10.0",
+			"resolved": "https://registry.npmjs.org/watch/-/watch-0.10.0.tgz",
+			"integrity": "sha1-d3mLLaD5kQ1ZXxrOWwwiWFIfIdw=",
+			"dev": true,
+			"optional": true
+		},
 		"wdio-dot-reporter": {
 			"version": "0.0.9",
 			"resolved": "https://registry.npmjs.org/wdio-dot-reporter/-/wdio-dot-reporter-0.0.9.tgz",
@@ -15939,8 +17070,8 @@
 			"dev": true,
 			"requires": {
 				"babel-runtime": "6.23.0",
-				"fibers": "1.0.15",
-				"object.assign": "4.1.0"
+				"fibers": "~1.0.15",
+				"object.assign": "^4.0.3"
 			},
 			"dependencies": {
 				"babel-runtime": {
@@ -15949,10 +17080,16 @@
 					"integrity": "sha1-CpSJ8UTecO+zzkMArM2zKeL8VDs=",
 					"dev": true,
 					"requires": {
-						"core-js": "2.5.7",
-						"regenerator-runtime": "0.10.5"
+						"core-js": "^2.4.0",
+						"regenerator-runtime": "^0.10.0"
 					}
 				},
+				"fibers": {
+					"version": "1.0.15",
+					"resolved": "http://registry.npmjs.org/fibers/-/fibers-1.0.15.tgz",
+					"integrity": "sha1-IvA5yPGLhWGQ+75N7PBWFUwerpw=",
+					"dev": true
+				},
 				"regenerator-runtime": {
 					"version": "0.10.5",
 					"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz",
@@ -15971,14 +17108,14 @@
 			"resolved": "https://registry.npmjs.org/web-resource-inliner/-/web-resource-inliner-4.2.1.tgz",
 			"integrity": "sha512-fOWnBQHVX8zHvEbECDTxtYL0FXIIZZ5H3LWoez8mGopYJK7inEru1kVMDzM1lVdeJBNEqUnNP5FBGxvzuMcwwQ==",
 			"requires": {
-				"async": "2.6.1",
-				"chalk": "1.1.3",
-				"datauri": "1.1.0",
-				"htmlparser2": "3.9.2",
-				"lodash.unescape": "4.0.1",
-				"request": "2.87.0",
-				"valid-data-url": "0.1.6",
-				"xtend": "4.0.1"
+				"async": "^2.1.2",
+				"chalk": "^1.1.3",
+				"datauri": "^1.0.4",
+				"htmlparser2": "^3.9.2",
+				"lodash.unescape": "^4.0.1",
+				"request": "^2.78.0",
+				"valid-data-url": "^0.1.4",
+				"xtend": "^4.0.0"
 			},
 			"dependencies": {
 				"domutils": {
@@ -15986,8 +17123,8 @@
 					"resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
 					"integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==",
 					"requires": {
-						"dom-serializer": "0.1.0",
-						"domelementtype": "1.3.0"
+						"dom-serializer": "0",
+						"domelementtype": "1"
 					}
 				},
 				"htmlparser2": {
@@ -15995,45 +17132,46 @@
 					"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz",
 					"integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=",
 					"requires": {
-						"domelementtype": "1.3.0",
-						"domhandler": "2.3.0",
-						"domutils": "1.7.0",
-						"entities": "1.1.1",
-						"inherits": "2.0.3",
-						"readable-stream": "2.3.6"
+						"domelementtype": "^1.3.0",
+						"domhandler": "^2.3.0",
+						"domutils": "^1.5.1",
+						"entities": "^1.1.1",
+						"inherits": "^2.0.1",
+						"readable-stream": "^2.0.2"
 					}
 				}
 			}
 		},
 		"webdav": {
-			"version": "1.5.2",
-			"resolved": "https://registry.npmjs.org/webdav/-/webdav-1.5.2.tgz",
-			"integrity": "sha512-x81G3ahrTwM8FIkMkT93YbEQM6/BoN7O7z6WkHHVX1ZkN0OA/wzSrUtpB2LMVk77hsuw1u1hRqkKee/rG2hErQ==",
-			"requires": {
-				"merge": "1.2.0",
-				"node-fetch": "2.0.0",
-				"url-join": "4.0.0",
-				"url-parse": "1.2.0",
-				"xml2js": "0.4.19"
+			"version": "1.6.1",
+			"resolved": "https://registry.npmjs.org/webdav/-/webdav-1.6.1.tgz",
+			"integrity": "sha512-01X5wEfFDt4P1+wYSSUBCADzAGIcBn3zG5ofjRAXbwVgosWTidwsrik9QwjY8pHJfKZWuchV35gdWf5/aEMf8Q==",
+			"requires": {
+				"merge": "~1.2.0",
+				"node-fetch": "~2.2.0",
+				"path-posix": "~1.0.0",
+				"url-join": "~4.0.0",
+				"url-parse": "~1.4.3",
+				"xml2js": "~0.4.17"
 			},
 			"dependencies": {
 				"node-fetch": {
-					"version": "2.0.0",
-					"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.0.0.tgz",
-					"integrity": "sha1-mCu6Q+zU8pIqKcwYamu7C7c/y6Y="
+					"version": "2.2.0",
+					"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.2.0.tgz",
+					"integrity": "sha512-OayFWziIxiHY8bCUyLX6sTpDH8Jsbp4FfYd1j1f7vZyfgkcOnAyM4oQR16f8a0s7Gl/viMGRey8eScYk4V4EZA=="
 				},
 				"xml2js": {
 					"version": "0.4.19",
 					"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz",
 					"integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==",
 					"requires": {
-						"sax": "1.2.1",
-						"xmlbuilder": "9.0.7"
+						"sax": ">=0.6.0",
+						"xmlbuilder": "~9.0.1"
 					}
 				},
 				"xmlbuilder": {
 					"version": "9.0.7",
-					"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz",
+					"resolved": "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz",
 					"integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0="
 				}
 			}
@@ -16044,27 +17182,27 @@
 			"integrity": "sha1-40De8nIYPIFopN0LOCMi+de+4Q0=",
 			"dev": true,
 			"requires": {
-				"archiver": "2.1.1",
-				"babel-runtime": "6.26.0",
-				"css-parse": "2.0.0",
-				"css-value": "0.0.1",
-				"deepmerge": "2.0.1",
-				"ejs": "2.5.9",
-				"gaze": "1.1.3",
-				"glob": "7.1.2",
-				"inquirer": "3.3.0",
-				"json-stringify-safe": "5.0.1",
-				"mkdirp": "0.5.1",
-				"npm-install-package": "2.1.0",
-				"optimist": "0.6.1",
-				"q": "1.5.1",
-				"request": "2.83.0",
-				"rgb2hex": "0.1.1",
-				"safe-buffer": "5.1.2",
-				"supports-color": "5.0.1",
-				"url": "0.11.0",
-				"wdio-dot-reporter": "0.0.9",
-				"wgxpath": "1.0.0"
+				"archiver": "~2.1.0",
+				"babel-runtime": "^6.26.0",
+				"css-parse": "~2.0.0",
+				"css-value": "~0.0.1",
+				"deepmerge": "~2.0.1",
+				"ejs": "~2.5.6",
+				"gaze": "~1.1.2",
+				"glob": "~7.1.1",
+				"inquirer": "~3.3.0",
+				"json-stringify-safe": "~5.0.1",
+				"mkdirp": "~0.5.1",
+				"npm-install-package": "~2.1.0",
+				"optimist": "~0.6.1",
+				"q": "~1.5.0",
+				"request": "~2.83.0",
+				"rgb2hex": "~0.1.0",
+				"safe-buffer": "~5.1.1",
+				"supports-color": "~5.0.0",
+				"url": "~0.11.0",
+				"wdio-dot-reporter": "~0.0.8",
+				"wgxpath": "~1.0.0"
 			},
 			"dependencies": {
 				"boom": {
@@ -16073,7 +17211,7 @@
 					"integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=",
 					"dev": true,
 					"requires": {
-						"hoek": "4.2.1"
+						"hoek": "4.x.x"
 					}
 				},
 				"cryptiles": {
@@ -16082,7 +17220,7 @@
 					"integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=",
 					"dev": true,
 					"requires": {
-						"boom": "5.2.0"
+						"boom": "5.x.x"
 					},
 					"dependencies": {
 						"boom": {
@@ -16091,7 +17229,7 @@
 							"integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==",
 							"dev": true,
 							"requires": {
-								"hoek": "4.2.1"
+								"hoek": "4.x.x"
 							}
 						}
 					}
@@ -16108,10 +17246,10 @@
 					"integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==",
 					"dev": true,
 					"requires": {
-						"boom": "4.3.1",
-						"cryptiles": "3.1.2",
-						"hoek": "4.2.1",
-						"sntp": "2.1.0"
+						"boom": "4.x.x",
+						"cryptiles": "3.x.x",
+						"hoek": "4.x.x",
+						"sntp": "2.x.x"
 					}
 				},
 				"hoek": {
@@ -16138,28 +17276,28 @@
 					"integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==",
 					"dev": true,
 					"requires": {
-						"aws-sign2": "0.7.0",
-						"aws4": "1.7.0",
-						"caseless": "0.12.0",
-						"combined-stream": "1.0.6",
-						"extend": "3.0.1",
-						"forever-agent": "0.6.1",
-						"form-data": "2.3.2",
-						"har-validator": "5.0.3",
-						"hawk": "6.0.2",
-						"http-signature": "1.2.0",
-						"is-typedarray": "1.0.0",
-						"isstream": "0.1.2",
-						"json-stringify-safe": "5.0.1",
-						"mime-types": "2.1.18",
-						"oauth-sign": "0.8.2",
-						"performance-now": "2.1.0",
-						"qs": "6.5.2",
-						"safe-buffer": "5.1.2",
-						"stringstream": "0.0.6",
-						"tough-cookie": "2.3.4",
-						"tunnel-agent": "0.6.0",
-						"uuid": "3.2.1"
+						"aws-sign2": "~0.7.0",
+						"aws4": "^1.6.0",
+						"caseless": "~0.12.0",
+						"combined-stream": "~1.0.5",
+						"extend": "~3.0.1",
+						"forever-agent": "~0.6.1",
+						"form-data": "~2.3.1",
+						"har-validator": "~5.0.3",
+						"hawk": "~6.0.2",
+						"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",
+						"performance-now": "^2.1.0",
+						"qs": "~6.5.1",
+						"safe-buffer": "^5.1.1",
+						"stringstream": "~0.0.5",
+						"tough-cookie": "~2.3.3",
+						"tunnel-agent": "^0.6.0",
+						"uuid": "^3.1.0"
 					}
 				},
 				"sntp": {
@@ -16168,7 +17306,7 @@
 					"integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==",
 					"dev": true,
 					"requires": {
-						"hoek": "4.2.1"
+						"hoek": "4.x.x"
 					}
 				},
 				"supports-color": {
@@ -16177,7 +17315,7 @@
 					"integrity": "sha512-7FQGOlSQ+AQxBNXJpVDj8efTA/FtyB5wcNE1omXXJ0cq6jm1jjDwuROlYDbnzHqdNPqliWFhcioCWSyav+xBnA==",
 					"dev": true,
 					"requires": {
-						"has-flag": "2.0.0"
+						"has-flag": "^2.0.0"
 					}
 				},
 				"url": {
@@ -16203,8 +17341,8 @@
 			"integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=",
 			"dev": true,
 			"requires": {
-				"http-parser-js": "0.4.13",
-				"websocket-extensions": "0.1.3"
+				"http-parser-js": ">=0.4.0",
+				"websocket-extensions": ">=0.1.1"
 			}
 		},
 		"websocket-extensions": {
@@ -16225,6 +17363,16 @@
 			"integrity": "sha512-vM9KWN6MP2mIHZ86ytcyIv7e8Cj3KTfO2nd2c8PFDqcI4bxFmQp83ibq4wadq7rL9l9sZV6o9B0LTt8ygGAAXg==",
 			"requires": {
 				"iconv-lite": "0.4.23"
+			},
+			"dependencies": {
+				"iconv-lite": {
+					"version": "0.4.23",
+					"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
+					"integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
+					"requires": {
+						"safer-buffer": ">= 2.1.2 < 3"
+					}
+				}
 			}
 		},
 		"whatwg-mimetype": {
@@ -16237,17 +17385,24 @@
 			"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.5.0.tgz",
 			"integrity": "sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==",
 			"requires": {
-				"lodash.sortby": "4.7.0",
-				"tr46": "1.0.1",
-				"webidl-conversions": "4.0.2"
+				"lodash.sortby": "^4.7.0",
+				"tr46": "^1.0.1",
+				"webidl-conversions": "^4.0.2"
 			}
 		},
+		"when": {
+			"version": "3.7.8",
+			"resolved": "https://registry.npmjs.org/when/-/when-3.7.8.tgz",
+			"integrity": "sha1-xxMLan6gRpPoQs3J56Hyqjmjn4I=",
+			"dev": true,
+			"optional": true
+		},
 		"which": {
 			"version": "1.2.14",
 			"resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz",
 			"integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=",
 			"requires": {
-				"isexe": "2.0.0"
+				"isexe": "^2.0.0"
 			}
 		},
 		"which-pm-runs": {
@@ -16260,7 +17415,7 @@
 			"resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
 			"integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
 			"requires": {
-				"string-width": "1.0.2"
+				"string-width": "^1.0.2 || 2"
 			}
 		},
 		"wif": {
@@ -16268,7 +17423,16 @@
 			"resolved": "https://registry.npmjs.org/wif/-/wif-2.0.6.tgz",
 			"integrity": "sha1-CNP1IFbGZnkplyb63g1DKudLRwQ=",
 			"requires": {
-				"bs58check": "1.3.4"
+				"bs58check": "<3.0.0"
+			}
+		},
+		"win-release": {
+			"version": "1.1.1",
+			"resolved": "https://registry.npmjs.org/win-release/-/win-release-1.1.1.tgz",
+			"integrity": "sha1-X6VeAr58qTTt/BJmVjLoSbcuUgk=",
+			"dev": true,
+			"requires": {
+				"semver": "^5.0.1"
 			}
 		},
 		"window-size": {
@@ -16277,9 +17441,9 @@
 			"integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY="
 		},
 		"wolfy87-eventemitter": {
-			"version": "5.2.4",
-			"resolved": "https://registry.npmjs.org/wolfy87-eventemitter/-/wolfy87-eventemitter-5.2.4.tgz",
-			"integrity": "sha512-yUOUSIzZxqBeu6VdnigqYHwwjy5N3CRX5XSHh/YcVpy+Qsx+HkHaEWdmdyAr3NvyBYDraOa5EfNIbu47T5QzIA=="
+			"version": "5.2.5",
+			"resolved": "https://registry.npmjs.org/wolfy87-eventemitter/-/wolfy87-eventemitter-5.2.5.tgz",
+			"integrity": "sha512-1Og5JkuMNZfZcDn76HM1ktUqG8MOMWKpaGdExM1pcTloUNSBkx4Mti3/jRKSTt1vI3P7S8BTkFogqMbc7m3A7Q=="
 		},
 		"wordwrap": {
 			"version": "0.0.3",
@@ -16287,21 +17451,21 @@
 			"integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc="
 		},
 		"worker-loader": {
-			"version": "1.1.1",
-			"resolved": "https://registry.npmjs.org/worker-loader/-/worker-loader-1.1.1.tgz",
-			"integrity": "sha512-qJZLVS/jMCBITDzPo/RuweYSIG8VJP5P67mP/71alGyTZRe1LYJFdwLjLalY3T5ifx0bMDRD3OB6P2p1escvlg==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/worker-loader/-/worker-loader-2.0.0.tgz",
+			"integrity": "sha512-tnvNp4K3KQOpfRnD20m8xltE3eWh89Ye+5oj7wXEEHKac1P4oZ6p9oTj8/8ExqoSBnk9nu5Pr4nKfQ1hn2APJw==",
 			"requires": {
-				"loader-utils": "1.1.0",
-				"schema-utils": "0.4.7"
+				"loader-utils": "^1.0.0",
+				"schema-utils": "^0.4.0"
 			}
 		},
 		"wrap-ansi": {
 			"version": "2.1.0",
-			"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
+			"resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
 			"integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
 			"requires": {
-				"string-width": "1.0.2",
-				"strip-ansi": "3.0.1"
+				"string-width": "^1.0.1",
+				"strip-ansi": "^3.0.1"
 			}
 		},
 		"wrappy": {
@@ -16315,7 +17479,7 @@
 			"integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=",
 			"dev": true,
 			"requires": {
-				"mkdirp": "0.5.1"
+				"mkdirp": "^0.5.1"
 			}
 		},
 		"write-file-atomic": {
@@ -16323,18 +17487,9 @@
 			"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz",
 			"integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==",
 			"requires": {
-				"graceful-fs": "4.1.11",
-				"imurmurhash": "0.1.4",
-				"signal-exit": "3.0.2"
-			}
-		},
-		"ws": {
-			"version": "4.1.0",
-			"resolved": "https://registry.npmjs.org/ws/-/ws-4.1.0.tgz",
-			"integrity": "sha512-ZGh/8kF9rrRNffkLFV4AzhvooEclrOH0xaugmqGsIfFgOE/pIz4fMc4Ef+5HSQqTEug2S9JZIWDR47duDSLfaA==",
-			"requires": {
-				"async-limiter": "1.0.0",
-				"safe-buffer": "5.1.2"
+				"graceful-fs": "^4.1.11",
+				"imurmurhash": "^0.1.4",
+				"signal-exit": "^3.0.2"
 			}
 		},
 		"x-is-string": {
@@ -16353,8 +17508,8 @@
 			"resolved": "https://registry.npmjs.org/xml-crypto/-/xml-crypto-0.10.1.tgz",
 			"integrity": "sha1-+DL3TM9W8kr8rhFjofyrRNlndKg=",
 			"requires": {
-				"xmldom": "0.1.19",
-				"xpath.js": "1.1.0"
+				"xmldom": "=0.1.19",
+				"xpath.js": ">=0.0.3"
 			},
 			"dependencies": {
 				"xmldom": {
@@ -16374,13 +17529,13 @@
 			"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.2.0.tgz",
 			"integrity": "sha1-99pSJ33rtkeYMFOtti2XLe5loaw=",
 			"requires": {
-				"sax": "1.2.1"
+				"sax": ">=0.1.1"
 			}
 		},
 		"xmlbuilder": {
-			"version": "10.0.0",
-			"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-10.0.0.tgz",
-			"integrity": "sha512-7RWHlmF1yU/E++BZkRQTEv8ZFAhZ+YHINUAxiZ5LQTKRQq//igpiY8rh7dJqPzgb/IzeC5jH9P7OaCERfM9DwA=="
+			"version": "10.1.1",
+			"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-10.1.1.tgz",
+			"integrity": "sha512-OyzrcFLL/nb6fMGHbiRDuPup9ljBycsdCypwuyg5AAHvyWzGfChJpCXMG88AGTIMFhGZ9RccFN1e6lhg3hkwKg=="
 		},
 		"xmldom": {
 			"version": "0.1.27",
@@ -16389,15 +17544,15 @@
 		},
 		"xolvio-ddp": {
 			"version": "0.12.3",
-			"resolved": "https://registry.npmjs.org/xolvio-ddp/-/xolvio-ddp-0.12.3.tgz",
+			"resolved": "http://registry.npmjs.org/xolvio-ddp/-/xolvio-ddp-0.12.3.tgz",
 			"integrity": "sha1-NqarlhKyQLWg0cCoNJCK8XwLjwI=",
 			"dev": true,
 			"requires": {
-				"bluebird": "2.11.0",
+				"bluebird": "^2.9.24",
 				"ddp-ejson": "0.8.1-3",
 				"ddp-underscore-patched": "0.8.1-2",
-				"faye-websocket": "0.9.4",
-				"request": "2.53.0"
+				"faye-websocket": "~0.9.4",
+				"request": "2.53.x"
 			},
 			"dependencies": {
 				"asn1": {
@@ -16414,7 +17569,7 @@
 				},
 				"async": {
 					"version": "0.9.2",
-					"resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
+					"resolved": "http://registry.npmjs.org/async/-/async-0.9.2.tgz",
 					"integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
 					"dev": true
 				},
@@ -16426,16 +17581,16 @@
 				},
 				"bl": {
 					"version": "0.9.5",
-					"resolved": "https://registry.npmjs.org/bl/-/bl-0.9.5.tgz",
+					"resolved": "http://registry.npmjs.org/bl/-/bl-0.9.5.tgz",
 					"integrity": "sha1-wGt5evCF6gC8Unr8jvzxHeIjIFQ=",
 					"dev": true,
 					"requires": {
-						"readable-stream": "1.0.34"
+						"readable-stream": "~1.0.26"
 					}
 				},
 				"bluebird": {
 					"version": "2.11.0",
-					"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz",
+					"resolved": "http://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz",
 					"integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=",
 					"dev": true
 				},
@@ -16447,7 +17602,7 @@
 				},
 				"combined-stream": {
 					"version": "0.0.7",
-					"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz",
+					"resolved": "http://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz",
 					"integrity": "sha1-ATfmV7qlp1QcV6w3rF/AfXO03B8=",
 					"dev": true,
 					"requires": {
@@ -16468,25 +17623,25 @@
 				},
 				"form-data": {
 					"version": "0.2.0",
-					"resolved": "https://registry.npmjs.org/form-data/-/form-data-0.2.0.tgz",
+					"resolved": "http://registry.npmjs.org/form-data/-/form-data-0.2.0.tgz",
 					"integrity": "sha1-Jvi8JtpkQOKZy9z7aQNcT3em5GY=",
 					"dev": true,
 					"requires": {
-						"async": "0.9.2",
-						"combined-stream": "0.0.7",
-						"mime-types": "2.0.14"
+						"async": "~0.9.0",
+						"combined-stream": "~0.0.4",
+						"mime-types": "~2.0.3"
 					}
 				},
 				"hawk": {
 					"version": "2.3.1",
-					"resolved": "https://registry.npmjs.org/hawk/-/hawk-2.3.1.tgz",
+					"resolved": "http://registry.npmjs.org/hawk/-/hawk-2.3.1.tgz",
 					"integrity": "sha1-HnMc45RH+h0PbXB/e87r7A/R7B8=",
 					"dev": true,
 					"requires": {
-						"boom": "2.10.1",
-						"cryptiles": "2.0.5",
-						"hoek": "2.16.3",
-						"sntp": "1.0.9"
+						"boom": "2.x.x",
+						"cryptiles": "2.x.x",
+						"hoek": "2.x.x",
+						"sntp": "1.x.x"
 					}
 				},
 				"http-signature": {
@@ -16496,7 +17651,7 @@
 					"dev": true,
 					"requires": {
 						"asn1": "0.1.11",
-						"assert-plus": "0.1.5",
+						"assert-plus": "^0.1.5",
 						"ctype": "0.5.3"
 					}
 				},
@@ -16508,17 +17663,17 @@
 				},
 				"mime-db": {
 					"version": "1.12.0",
-					"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.12.0.tgz",
+					"resolved": "http://registry.npmjs.org/mime-db/-/mime-db-1.12.0.tgz",
 					"integrity": "sha1-PQxjGA9FjrENMlqqN9fFiuMS6dc=",
 					"dev": true
 				},
 				"mime-types": {
 					"version": "2.0.14",
-					"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.0.14.tgz",
+					"resolved": "http://registry.npmjs.org/mime-types/-/mime-types-2.0.14.tgz",
 					"integrity": "sha1-MQ4VnbI+B3+Lsit0jav6SVcUCqY=",
 					"dev": true,
 					"requires": {
-						"mime-db": "1.12.0"
+						"mime-db": "~1.12.0"
 					}
 				},
 				"node-uuid": {
@@ -16541,39 +17696,39 @@
 				},
 				"readable-stream": {
 					"version": "1.0.34",
-					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
+					"resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
 					"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
 					"dev": true,
 					"requires": {
-						"core-util-is": "1.0.2",
-						"inherits": "2.0.3",
+						"core-util-is": "~1.0.0",
+						"inherits": "~2.0.1",
 						"isarray": "0.0.1",
-						"string_decoder": "0.10.31"
+						"string_decoder": "~0.10.x"
 					}
 				},
 				"request": {
 					"version": "2.53.0",
-					"resolved": "https://registry.npmjs.org/request/-/request-2.53.0.tgz",
+					"resolved": "http://registry.npmjs.org/request/-/request-2.53.0.tgz",
 					"integrity": "sha1-GAo66St7Y5gC5PlUXdj83rcddgw=",
 					"dev": true,
 					"requires": {
-						"aws-sign2": "0.5.0",
-						"bl": "0.9.5",
-						"caseless": "0.9.0",
-						"combined-stream": "0.0.7",
-						"forever-agent": "0.5.2",
-						"form-data": "0.2.0",
-						"hawk": "2.3.1",
-						"http-signature": "0.10.1",
-						"isstream": "0.1.2",
-						"json-stringify-safe": "5.0.1",
-						"mime-types": "2.0.14",
-						"node-uuid": "1.4.8",
-						"oauth-sign": "0.6.0",
-						"qs": "2.3.3",
-						"stringstream": "0.0.6",
-						"tough-cookie": "2.3.4",
-						"tunnel-agent": "0.4.3"
+						"aws-sign2": "~0.5.0",
+						"bl": "~0.9.0",
+						"caseless": "~0.9.0",
+						"combined-stream": "~0.0.5",
+						"forever-agent": "~0.5.0",
+						"form-data": "~0.2.0",
+						"hawk": "~2.3.0",
+						"http-signature": "~0.10.0",
+						"isstream": "~0.1.1",
+						"json-stringify-safe": "~5.0.0",
+						"mime-types": "~2.0.1",
+						"node-uuid": "~1.4.0",
+						"oauth-sign": "~0.6.0",
+						"qs": "~2.3.1",
+						"stringstream": "~0.0.4",
+						"tough-cookie": ">=0.12.0",
+						"tunnel-agent": "~0.4.0"
 					}
 				},
 				"string_decoder": {
@@ -16592,21 +17747,29 @@
 		},
 		"xolvio-fiber-utils": {
 			"version": "2.0.3",
-			"resolved": "https://registry.npmjs.org/xolvio-fiber-utils/-/xolvio-fiber-utils-2.0.3.tgz",
+			"resolved": "http://registry.npmjs.org/xolvio-fiber-utils/-/xolvio-fiber-utils-2.0.3.tgz",
 			"integrity": "sha1-vsjXDHQGGjFjFbun0w0lyz6C3FA=",
 			"dev": true,
 			"requires": {
-				"fibers": "1.0.15",
-				"underscore": "1.9.1"
+				"fibers": "^1.0.7",
+				"underscore": "^1.8.3"
+			},
+			"dependencies": {
+				"fibers": {
+					"version": "1.0.15",
+					"resolved": "http://registry.npmjs.org/fibers/-/fibers-1.0.15.tgz",
+					"integrity": "sha1-IvA5yPGLhWGQ+75N7PBWFUwerpw=",
+					"dev": true
+				}
 			}
 		},
 		"xolvio-jasmine-expect": {
 			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/xolvio-jasmine-expect/-/xolvio-jasmine-expect-1.1.0.tgz",
+			"resolved": "http://registry.npmjs.org/xolvio-jasmine-expect/-/xolvio-jasmine-expect-1.1.0.tgz",
 			"integrity": "sha1-vCud1ghCMR8EV59agtzqaisxnH0=",
 			"dev": true,
 			"requires": {
-				"jasmine-core": "2.99.1"
+				"jasmine-core": "^2.4.1"
 			}
 		},
 		"xolvio-sync-webdriverio": {
@@ -16615,12 +17778,20 @@
 			"integrity": "sha1-WRri2MiqynQiZJWfzM+QtPndUWA=",
 			"dev": true,
 			"requires": {
-				"fibers": "1.0.15",
-				"meteor-promise": "0.8.6",
-				"underscore": "1.9.1",
-				"wdio-sync": "0.6.14",
-				"webdriverio": "4.12.0",
-				"xolvio-fiber-utils": "2.0.3"
+				"fibers": "^1.0.7",
+				"meteor-promise": "^0.8.2",
+				"underscore": "^1.8.3",
+				"wdio-sync": "^0.6.6",
+				"webdriverio": "^4.4.0",
+				"xolvio-fiber-utils": "^2.0.3"
+			},
+			"dependencies": {
+				"fibers": {
+					"version": "1.0.15",
+					"resolved": "http://registry.npmjs.org/fibers/-/fibers-1.0.15.tgz",
+					"integrity": "sha1-IvA5yPGLhWGQ+75N7PBWFUwerpw=",
+					"dev": true
+				}
 			}
 		},
 		"xpath.js": {
@@ -16650,16 +17821,16 @@
 		},
 		"yargs": {
 			"version": "3.32.0",
-			"resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz",
+			"resolved": "http://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz",
 			"integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=",
 			"requires": {
-				"camelcase": "2.1.1",
-				"cliui": "3.2.0",
-				"decamelize": "1.2.0",
-				"os-locale": "1.4.0",
-				"string-width": "1.0.2",
-				"window-size": "0.1.4",
-				"y18n": "3.2.1"
+				"camelcase": "^2.0.1",
+				"cliui": "^3.0.3",
+				"decamelize": "^1.1.1",
+				"os-locale": "^1.4.0",
+				"string-width": "^1.0.1",
+				"window-size": "^0.1.4",
+				"y18n": "^3.2.0"
 			}
 		},
 		"yargs-parser": {
@@ -16668,7 +17839,7 @@
 			"integrity": "sha512-+DHejWujTVYeMHLff8U96rLc4uE4Emncoftvn5AjhB1Jw1pWxLzgBUT/WYbPrHmy6YPEBTZQx5myHhVcuuu64g==",
 			"dev": true,
 			"requires": {
-				"camelcase": "4.1.0"
+				"camelcase": "^4.1.0"
 			},
 			"dependencies": {
 				"camelcase": {
@@ -16685,7 +17856,7 @@
 			"integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=",
 			"dev": true,
 			"requires": {
-				"fd-slicer": "1.0.1"
+				"fd-slicer": "~1.0.1"
 			}
 		},
 		"zip-stream": {
@@ -16693,10 +17864,10 @@
 			"resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz",
 			"integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=",
 			"requires": {
-				"archiver-utils": "1.3.0",
-				"compress-commons": "1.2.2",
-				"lodash": "4.17.10",
-				"readable-stream": "2.3.6"
+				"archiver-utils": "^1.3.0",
+				"compress-commons": "^1.2.0",
+				"lodash": "^4.8.0",
+				"readable-stream": "^2.0.0"
 			}
 		},
 		"zone-file": {
diff --git a/package.json b/package.json
index a94927fe149a2e8ee2376d3c06fbacc3043736bd..09ddc098f1dcd0f67c767da608d9d8c33ecca681 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
 {
 	"name": "Rocket.Chat",
 	"description": "The Ultimate Open Source WebChat Platform",
-	"version": "0.71.1",
+	"version": "0.72.0",
 	"author": {
 		"name": "Rocket.Chat",
 		"url": "https://rocket.chat/"
@@ -73,6 +73,7 @@
 		"testunit-watch": "mocha --watch --opts ./mocha.opts \"`node -e \"console.log(require('./package.json').mocha.tests.join(' '))\"`\"",
 		"coverage": "nyc -r html mocha --opts ./mocha.opts \"`node -e \"console.log(require('./package.json').mocha.tests.join(' '))\"`\"",
 		"testunit": "mocha --opts ./mocha.opts \"`node -e \"console.log(require('./package.json').mocha.tests.join(' '))\"`\"",
+		"translation-diff": "node .scripts/translationDiff.js",
 		"version": "node .scripts/version.js",
 		"set-version": "node .scripts/set-version.js",
 		"release": "meteor npm run set-version --silent",
@@ -88,69 +89,73 @@
 		"email": "support@rocket.chat"
 	},
 	"devDependencies": {
-		"@octokit/rest": "^15.8.1",
+		"@octokit/rest": "^15.15.1",
 		"@rocket.chat/eslint-config": "^0.1.2",
-		"autoprefixer": "^8.6.0",
+		"autoprefixer": "^8.6.5",
 		"babel-eslint": "^10.0.1",
 		"babel-mocha-es6-compiler": "^0.1.0",
 		"babel-plugin-array-includes": "^2.0.3",
 		"chimp": "^0.51.1",
-		"conventional-changelog-cli": "^2.0.0",
+		"conventional-changelog-cli": "^2.0.5",
 		"eslint": "^4.19.1",
 		"husky": "^0.14.3",
 		"mocha": "^5.2.0",
 		"mock-require": "^3.0.2",
+		"postcss": "^6.0.22",
 		"postcss-custom-properties": "^7.0.0",
-		"postcss-import": "^11.1.0",
+		"postcss-easy-import": "^1.0.1",
+		"postcss-import": "^12.0.0",
+		"postcss-load-config": "^1.2.0",
 		"postcss-media-minmax": "^3.0.0",
 		"postcss-nested": "^3.0.0",
 		"postcss-selector-not": "^3.0.1",
-		"progress": "^2.0.0",
-		"proxyquire": "^2.0.1",
-		"simple-git": "^1.95.1",
-		"stylelint": "^9.2.1",
+		"progress": "^2.0.1",
+		"proxyquire": "^2.1.0",
+		"simple-git": "^1.106.0",
+		"stylelint": "^9.7.0",
 		"stylelint-order": "^0.8.1",
-		"supertest": "^3.1.0"
+		"supertest": "^3.3.0"
 	},
 	"dependencies": {
-		"@babel/runtime": "^7.0.0-beta.49",
+		"@babel/runtime": "^7.1.2",
 		"@google-cloud/language": "^1.2.0",
 		"@google-cloud/storage": "^1.7.0",
 		"@google-cloud/vision": "^0.19.0",
-		"@rocket.chat/apps-engine": "1.2.1",
-		"@slack/client": "^4.2.2",
+		"@rocket.chat/apps-engine": "1.3.1",
+		"@slack/client": "^4.8.0",
 		"adm-zip": "^0.4.11",
 		"archiver": "^2.1.1",
 		"arraybuffer-to-string": "^1.0.2",
 		"atlassian-crowd": "^0.5.0",
-		"autolinker": "^1.6.2",
-		"aws-sdk": "^2.250.1",
-		"bad-words": "^1.6.1",
+		"autolinker": "^1.7.1",
+		"aws-sdk": "^2.344.0",
+		"bad-words": "^1.6.5",
 		"bcrypt": "^2.0.1",
 		"blockstack": "18.0.4",
-		"bson": "^2.0.7",
-		"bugsnag": "^2.4.0",
+		"bson": "^2.0.8",
+		"bugsnag": "^2.4.3",
 		"bunyan": "^1.8.12",
 		"busboy": "^0.2.14",
 		"bytebuffer": "5.0.1",
 		"cas": "https://github.com/kcbanner/node-cas/tarball/fcd27dad333223b3b75a048bce27973fb3ca0f62",
-		"chart.js": "^2.7.2",
+		"chart.js": "^2.7.3",
 		"clipboard": "^2.0.1",
-		"codemirror": "^5.38.0",
+		"codemirror": "^5.41.0",
 		"coffeescript": "^1.12.7",
 		"connect": "^2.7.10",
 		"core-js": "^2.5.7",
-		"csv-parse": "^2.4.0",
+		"csv-parse": "^2.5.0",
 		"emailreplyparser": "^0.0.5",
-		"express": "^4.16.3",
-		"file-type": "^8.0.0",
+		"express": "^4.16.4",
+		"fibers": "^3.0.0",
+		"file-type": "^8.1.0",
 		"filesize": "^3.6.1",
-		"grapheme-splitter": "^1.0.2",
+		"grapheme-splitter": "^1.0.4",
 		"gridfs-stream": "^1.1.1",
-		"he": "^1.1.1",
-		"highlight.js": "^9.12.0",
-		"iconv-lite": "^0.4.23",
-		"image-size": "^0.6.2",
+		"he": "^1.2.0",
+		"highlight.js": "^9.13.1",
+		"iconv-lite": "^0.4.24",
+		"image-size": "^0.6.3",
 		"imap": "^0.8.19",
 		"ip-range-check": "^0.0.2",
 		"jquery": "^3.3.1",
@@ -159,42 +164,42 @@
 		"ldapjs": "^1.0.2",
 		"less": "https://github.com/meteor/less.js/tarball/8130849eb3d7f0ecf0ca8d0af7c4207b0442e3f6",
 		"less-plugin-autoprefix": "^1.5.1",
-		"localforage": "^1.7.1",
+		"localforage": "^1.7.3",
 		"lokijs": "^1.5.5",
 		"lru-cache": "^4.1.3",
-		"mailparser": "^2.2.0",
+		"mailparser": "^2.4.0",
 		"marked": "^0.4.0",
 		"meteor-node-stubs": "^0.3.2",
-		"mime-db": "^1.34.0",
+		"mime-db": "^1.37.0",
 		"mime-type": "^3.0.5",
 		"mkdirp": "^0.5.1",
 		"moment": "^2.22.2",
-		"moment-timezone": "^0.5.17",
+		"moment-timezone": "^0.5.23",
 		"node-dogstatsd": "^0.0.7",
 		"object-path": "^0.11.4",
-		"pdfjs-dist": "^2.0.489",
+		"pdfjs-dist": "^2.0.550",
 		"photoswipe": "^4.1.2",
 		"poplib": "^0.1.7",
-		"prom-client": "^11.0.0",
+		"prom-client": "^11.1.3",
 		"querystring": "^0.2.0",
 		"queue-fifo": "^0.2.4",
 		"redis": "^2.8.0",
-		"semver": "^5.5.0",
-		"sharp": "^0.20.3",
+		"semver": "^5.6.0",
+		"sharp": "^0.20.8",
 		"speakeasy": "^2.0.0",
-		"tar-stream": "^1.6.1",
+		"tar-stream": "^1.6.2",
 		"toastr": "^2.1.4",
 		"turndown": "^5.0.1",
-		"twilio": "^3.17.1",
-		"twit": "^2.2.10",
-		"ua-parser-js": "^0.7.18",
+		"twilio": "^3.23.2",
+		"twit": "^2.2.11",
+		"ua-parser-js": "^0.7.19",
 		"underscore": "^1.9.1",
-		"underscore.string": "^3.3.4",
-		"webdav": "^1.5.2",
-		"wolfy87-eventemitter": "^5.2.4",
+		"underscore.string": "^3.3.5",
+		"webdav": "^1.6.1",
+		"wolfy87-eventemitter": "^5.2.5",
 		"xml-crypto": "^0.10.1",
 		"xml2js": "0.2.0",
-		"xmlbuilder": "^10.0.0",
+		"xmlbuilder": "^10.1.1",
 		"xmldom": "^0.1.27",
 		"yaqrcode": "^0.2.1"
 	}
diff --git a/packages/autoupdate/.gitignore b/packages/autoupdate/.gitignore
deleted file mode 100644
index 677a6fc26373dfaddcf7d4b8a52711f7257e1be5..0000000000000000000000000000000000000000
--- a/packages/autoupdate/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-.build*
diff --git a/packages/autoupdate/QA.md b/packages/autoupdate/QA.md
deleted file mode 100644
index 62afdc6cdf0aba7514af160adfc07660d3e0224d..0000000000000000000000000000000000000000
--- a/packages/autoupdate/QA.md
+++ /dev/null
@@ -1,115 +0,0 @@
-# QA Notes
-## Hot Code Push Reload
-
-Run the leaderboard example, and click on one of the names.  Make a
-change to the leaderboard.html file, see the client reload, and see
-that the name is still selected.
-
-
-## AUTOUPDATE_VERSION
-
-Set the `AUTOUPDATE_VERSION` environment variable when running the
-application:
-
-    $ AUTOUPDATE_VERSION=abc meteor
-
-Now when you make an HTML change, it won't appear in the client
-automatically.  (Note the leader list flickers when the server
-subscription restarts, but that's not a window reload).
-
-Conversely, you can force a client reload (even without making any
-client code changes) by restarting the server with a new value for
-`AUTOUPDATE_VERSION`.
-
-
-## No Client Reload on Server-only Change
-
-Revert previous changes and run the example without setting
-AUTOUPDATE_VERSION.
-
-Note that it might look like the browser is reloading because the page
-content in the leaderboard example will flicker when the server
-restarts because the example is using autopublish, but that the window
-won't actually be reloading.
-
-In the browser console, assign a variable such as `a = true` so that
-you can easily verify that the client hasn't reloaded.
-
-In the leaderboard example directory, create the `server` directory
-and add `foo.js`.  See in the browser console that `a` is still
-defined, indicating the browser hasn't reloaded.
-
-
-## Test with the appcache
-
-Add the appcache package:
-
-    $ meteor add appcache
-
-And do the above tests again.
-
-Note that if 1) AUTOUPDATE_VERSION is set so the client doesn't
-automatically reload, 2) you make a client change, and 3) you manually
-reload the browser page, you usually *won't* see the updated HTML the
-*first* time you reload (unless the browser happened to check the app
-cache manifest between steps 2 and 3).  This is normal browser app
-cache behavior: the browser populates the app cache in the background,
-so it doesn't wait for new files to download before displaying the web
-page.
-
-
-## Autoupdate.newClientAvailable
-
-Undo previous changes made, such as by using `git checkout .` Reload
-the client, which will cause the browser to stop using the app cache.
-
-It's hard to see the `newClientAvailable` reactive variable when the
-client automatically reloads.  Remove the `hot-code-push` package so you can
-see the variable without having the client also reload.
-
-    $ meteor remove meteor-base
-    $ meteor add meteor webapp ddp autoupdate
-
-Add to leaderboard.js:
-
-    Template.leaderboard.helpers({
-      available: function () {
-        return Autoupdate.newClientAvailable().toString();
-      }
-    });
-
-And add `{{available}}` to the leaderboard template in
-leaderboard.html.
-
-Initially you'll see `false`, and then when you make a change to the
-leaderboard HTML you'll see the variable change to `true`.  (You won't
-see the new HTML on the client because you disabled reload).
-
-Amusingly, you can undo the addition you made to the HTML and the "new
-client available" variable will go back to `false` (you now don't have
-client code available on the server different than what's running in
-the browser), because by default the client version is based on a hash
-of the client files.
-
-
-## DDP Version Negotiation Failure
-
-A quick way to test DDP version negotiation failure is to force the
-client to use the wrong DDP version.  At the top of
-livedata_connection.js:
-
-     var Connection = function (url, options) {
-        var self = this;
-    +   options.supportedDDPVersions = ['abc'];
-
-You will see the client reload (in the hope that new client code will
-be available that can successfully negotiation the DDP version).  Each
-reload takes longer than the one before, using an exponential backoff.
-
-If you remove the `options.supportedDDPVersions` line and allow the
-client to connect (or manually reload the browser page so you don't
-have to wait), this will reset the exponential backoff counter.
-
-You can verify the counter was reset by adding the line back in a
-second time, and you'll see the reload cycle start over again with
-first reloading quickly, and then again taking longer between tries.
diff --git a/packages/autoupdate/README.md b/packages/autoupdate/README.md
deleted file mode 100644
index f76824b62ab6ec43da0403b69f1e5da3b29cb93e..0000000000000000000000000000000000000000
--- a/packages/autoupdate/README.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# autoupdate
-[Source code of released version](https://github.com/meteor/meteor/tree/master/packages/autoupdate) | [Source code of development version](https://github.com/meteor/meteor/tree/devel/packages/autoupdate)
-***
-
-This package is the heart of Meteor's Hot Code Push functionality. It has a
-client component and a server component component. The client component uses a
-DDP API provided by the server to subscribe to the version ID of the most recent
-build of the app's client. When it sees that a new version is available, it uses
-the [reload](https://atmospherejs.com/meteor/reload) package (if included in the
-app) to gracefully save the app's state and reload it in place.
-
-`autoupdate` is part of the [Webapp](https://github.com/meteor/meteor/tree/master/packages/webapp)
-project.
diff --git a/packages/autoupdate/autoupdate_client.js b/packages/autoupdate/autoupdate_client.js
deleted file mode 100644
index 64c9af0ca810b7feb405a5f3fafae09ba24363f3..0000000000000000000000000000000000000000
--- a/packages/autoupdate/autoupdate_client.js
+++ /dev/null
@@ -1,176 +0,0 @@
-// Subscribe to the `meteor_autoupdate_clientVersions` collection,
-// which contains the set of acceptable client versions.
-//
-// A "hard code push" occurs when the running client version is not in
-// the set of acceptable client versions (or the server updates the
-// collection, there is a published client version marked `current` and
-// the running client version is no longer in the set).
-//
-// When the `reload` package is loaded, a hard code push causes
-// the browser to reload, so that it will load the latest client
-// version from the server.
-//
-// A "soft code push" represents the situation when the running client
-// version is in the set of acceptable versions, but there is a newer
-// version available on the server.
-//
-// `Autoupdate.newClientAvailable` is a reactive data source which
-// becomes `true` if there is a new version of the client is available on
-// the server.
-//
-// This package doesn't implement a soft code reload process itself,
-// but `newClientAvailable` could be used for example to display a
-// "click to reload" link to the user.
-
-// The client version of the client code currently running in the
-// browser.
-var autoupdateVersion = __meteor_runtime_config__.autoupdateVersion || "unknown";
-var autoupdateVersionRefreshable =
-  __meteor_runtime_config__.autoupdateVersionRefreshable || "unknown";
-
-// The collection of acceptable client versions.
-ClientVersions = new Mongo.Collection("meteor_autoupdate_clientVersions");
-
-Autoupdate = {};
-
-Autoupdate.newClientAvailable = function () {
-  return !! ClientVersions.findOne({
-               _id: "version",
-               version: {$ne: autoupdateVersion} }) ||
-         !! ClientVersions.findOne({
-               _id: "version-refreshable",
-               version: {$ne: autoupdateVersionRefreshable} });
-};
-Autoupdate._ClientVersions = ClientVersions;  // Used by a self-test
-
-var knownToSupportCssOnLoad = false;
-
-var retry = new Retry({
-  // Unlike the stream reconnect use of Retry, which we want to be instant
-  // in normal operation, this is a wacky failure. We don't want to retry
-  // right away, we can start slowly.
-  //
-  // A better way than timeconstants here might be to use the knowledge
-  // of when we reconnect to help trigger these retries. Typically, the
-  // server fixing code will result in a restart and reconnect, but
-  // potentially the subscription could have a transient error.
-  minCount: 0, // don't do any immediate retries
-  baseTimeout: 30*1000 // start with 30s
-});
-var failures = 0;
-
-function after(times, func) {
-  return function() {
-    if (--times < 1) {
-      return func.apply(this, arguments);
-    }
-  };
-};
-
-Autoupdate._retrySubscription = function () {
-  Meteor.subscribe("meteor_autoupdate_clientVersions", {
-    onError: function (error) {
-      Meteor._debug("autoupdate subscription failed:", error);
-      failures++;
-      retry.retryLater(failures, function () {
-        // Just retry making the subscription, don't reload the whole
-        // page. While reloading would catch more cases (for example,
-        // the server went back a version and is now doing old-style hot
-        // code push), it would also be more prone to reload loops,
-        // which look really bad to the user. Just retrying the
-        // subscription over DDP means it is at least possible to fix by
-        // updating the server.
-        Autoupdate._retrySubscription();
-      });
-    },
-    onReady: function () {
-      if (Package.reload) {
-        var checkNewVersionDocument = function (doc) {
-          var self = this;
-          if (doc._id === 'version-refreshable' &&
-              doc.version !== autoupdateVersionRefreshable) {
-            autoupdateVersionRefreshable = doc.version;
-            // Switch out old css links for the new css links. Inspired by:
-            // https://github.com/guard/guard-livereload/blob/master/js/livereload.js#L710
-            var newCss = (doc.assets && doc.assets.allCss) || [];
-            var oldLinks = [];
-
-            Array.prototype.forEach.call(
-              document.getElementsByTagName('link'),
-              function (link) {
-                if (link.className === '__meteor-css__') {
-                  oldLinks.push(link);
-                }
-              }
-            );
-
-            function waitUntilCssLoads(link, callback) {
-              var called;
-              function executeCallback(...args) {
-                if (! called) {
-                  called = true;
-                  return callback(...args);
-                }
-              }
-
-              link.onload = function () {
-                knownToSupportCssOnLoad = true;
-                executeCallback();
-              };
-
-              if (! knownToSupportCssOnLoad) {
-                var id = Meteor.setInterval(function () {
-                  if (link.sheet) {
-                    executeCallback();
-                    Meteor.clearInterval(id);
-                  }
-                }, 50);
-              }
-            }
-
-            var removeOldLinks = after(newCss.length, function () {
-              oldLinks.forEach(function (link) {
-                link.parentNode.removeChild(link);
-              });
-            });
-
-            var attachStylesheetLink = function (newLink) {
-              document.getElementsByTagName("head").item(0).appendChild(newLink);
-
-              waitUntilCssLoads(newLink, function () {
-                Meteor.setTimeout(removeOldLinks, 200);
-              });
-            };
-
-            if (newCss.length !== 0) {
-              newCss.forEach(function (css) {
-                var newLink = document.createElement("link");
-                newLink.setAttribute("rel", "stylesheet");
-                newLink.setAttribute("type", "text/css");
-                newLink.setAttribute("class", "__meteor-css__");
-                newLink.setAttribute("href", css.url);
-                attachStylesheetLink(newLink);
-              });
-            } else {
-              removeOldLinks();
-            }
-
-          }
-          else if (doc._id === 'version' && doc.version !== autoupdateVersion) {
-            handle && handle.stop();
-
-            if (Package.reload) {
-              Package.reload.Reload._reload();
-            }
-          }
-        };
-
-        var handle = ClientVersions.find().observe({
-          added: checkNewVersionDocument,
-          changed: checkNewVersionDocument
-        });
-      }
-    }
-  });
-};
-Autoupdate._retrySubscription();
\ No newline at end of file
diff --git a/packages/autoupdate/autoupdate_cordova.js b/packages/autoupdate/autoupdate_cordova.js
deleted file mode 100644
index dc2bdf0f31098d2200c46c3b7ef2c3e504ae0aa8..0000000000000000000000000000000000000000
--- a/packages/autoupdate/autoupdate_cordova.js
+++ /dev/null
@@ -1,85 +0,0 @@
-var DEBUG_TAG = 'METEOR CORDOVA DEBUG (autoupdate_cordova.js) ';
-var log = function (msg) {
-  console.log(DEBUG_TAG + msg);
-};
-// This constant was picked by testing on iOS 7.1
-// We limit the number of concurrent downloads because iOS gets angry on the
-// application when a certain limit is exceeded and starts timing-out the
-// connections in 1-2 minutes which makes the whole HCP really slow.
-var MAX_NUM_CONCURRENT_DOWNLOADS = 30;
-var MAX_RETRY_COUNT = 5;
-var autoupdateVersionCordova = __meteor_runtime_config__.autoupdateVersionCordova || "unknown";
-
-// The collection of acceptable client versions.
-ClientVersions = new Mongo.Collection("meteor_autoupdate_clientVersions");
-
-Autoupdate = {};
-
-Autoupdate.newClientAvailable = function () {
-  return !! ClientVersions.findOne({
-    _id: 'version-cordova',
-    version: {$ne: autoupdateVersionCordova}
-  });
-};
-
-var hasCalledReload = false;
-var updating = false;
-var localPathPrefix = null;
-var retry = new Retry({
-  // Unlike the stream reconnect use of Retry, which we want to be instant
-  // in normal operation, this is a wacky failure. We don't want to retry
-  // right away, we can start slowly.
-  //
-  // A better way than timeconstants here might be to use the knowledge
-  // of when we reconnect to help trigger these retries. Typically, the
-  // server fixing code will result in a restart and reconnect, but
-  // potentially the subscription could have a transient error.
-  minCount: 0, // don't do any immediate retries
-  baseTimeout: 30*1000 // start with 30s
-});
-var failures = 0;
-
-Autoupdate._retrySubscription = function () {
-  var appId = __meteor_runtime_config__.appId;
-  Meteor.subscribe("meteor_autoupdate_clientVersions", appId, {
-    onError: function (err) {
-      Meteor._debug("autoupdate subscription failed:", err);
-      failures++;
-      retry.retryLater(failures, function () {
-        // Just retry making the subscription, don't reload the whole
-        // page. While reloading would catch more cases (for example,
-        // the server went back a version and is now doing old-style hot
-        // code push), it would also be more prone to reload loops,
-        // which look really bad to the user. Just retrying the
-        // subscription over DDP means it is at least possible to fix by
-        // updating the server.
-        Autoupdate._retrySubscription();
-      });
-    }
-  });
-  if (Package.reload) {
-    var checkNewVersionDocument = function (doc) {
-      var self = this;
-      if (doc.version !== autoupdateVersionCordova) {
-        window.fireGlobalEvent('onNewVersion', doc.version)
-        // onNewVersion();
-      }
-    };
-
-    var handle = ClientVersions.find({
-      _id: 'version-cordova'
-    }).observe({
-      added: checkNewVersionDocument,
-      changed: checkNewVersionDocument
-    });
-  }
-};
-
-Meteor.startup(Autoupdate._retrySubscription);
-
-
-window.WebAppLocalServer = {};
-WebAppLocalServer.startupDidComplete = function() {};
-WebAppLocalServer.checkForUpdates = function() {};
-WebAppLocalServer.onNewVersionReady = function() {};
-WebAppLocalServer.onError = function() {};
diff --git a/packages/autoupdate/autoupdate_server.js b/packages/autoupdate/autoupdate_server.js
deleted file mode 100644
index b04b98620fe0757edc468d5eb908d4ca0901d67a..0000000000000000000000000000000000000000
--- a/packages/autoupdate/autoupdate_server.js
+++ /dev/null
@@ -1,198 +0,0 @@
-// Publish the current client versions to the client.  When a client
-// sees the subscription change and that there is a new version of the
-// client available on the server, it can reload.
-//
-// By default there are two current client versions. The refreshable client
-// version is identified by a hash of the client resources seen by the browser
-// that are refreshable, such as CSS, while the non refreshable client version
-// is identified by a hash of the rest of the client assets
-// (the HTML, code, and static files in the `public` directory).
-//
-// If the environment variable `AUTOUPDATE_VERSION` is set it will be
-// used as the client id instead.  You can use this to control when
-// the client reloads.  For example, if you want to only force a
-// reload on major changes, you can use a custom AUTOUPDATE_VERSION
-// which you only change when something worth pushing to clients
-// immediately happens.
-//
-// The server publishes a `meteor_autoupdate_clientVersions`
-// collection. There are two documents in this collection, a document
-// with _id 'version' which represents the non refreshable client assets,
-// and a document with _id 'version-refreshable' which represents the
-// refreshable client assets. Each document has a 'version' field
-// which is equivalent to the hash of the relevant assets. The refreshable
-// document also contains a list of the refreshable assets, so that the client
-// can swap in the new assets without forcing a page refresh. Clients can
-// observe changes on these documents to detect when there is a new
-// version available.
-//
-// In this implementation only two documents are present in the collection
-// the current refreshable client version and the current nonRefreshable client
-// version.  Developers can easily experiment with different versioning and
-// updating models by forking this package.
-
-import Future from "fibers/future";
-
-Autoupdate = {};
-
-// The collection of acceptable client versions.
-ClientVersions = new Mongo.Collection("meteor_autoupdate_clientVersions",
-  { connection: null });
-
-// The client hash includes __meteor_runtime_config__, so wait until
-// all packages have loaded and have had a chance to populate the
-// runtime config before using the client hash as our default auto
-// update version id.
-
-// Note: Tests allow people to override Autoupdate.autoupdateVersion before
-// startup.
-Autoupdate.autoupdateVersion = null;
-Autoupdate.autoupdateVersionRefreshable = null;
-Autoupdate.autoupdateVersionCordova = null;
-Autoupdate.appId = __meteor_runtime_config__.appId = process.env.APP_ID;
-
-var syncQueue = new Meteor._SynchronousQueue();
-
-// updateVersions can only be called after the server has fully loaded.
-var updateVersions = function (shouldReloadClientProgram) {
-  // Step 1: load the current client program on the server and update the
-  // hash values in __meteor_runtime_config__.
-  if (shouldReloadClientProgram) {
-    WebAppInternals.reloadClientPrograms();
-  }
-
-  // If we just re-read the client program, or if we don't have an autoupdate
-  // version, calculate it.
-  if (shouldReloadClientProgram || Autoupdate.autoupdateVersion === null) {
-    Autoupdate.autoupdateVersion =
-      process.env.AUTOUPDATE_VERSION ||
-      WebApp.calculateClientHashNonRefreshable();
-  }
-  // If we just recalculated it OR if it was set by (eg) test-in-browser,
-  // ensure it ends up in __meteor_runtime_config__.
-  __meteor_runtime_config__.autoupdateVersion =
-    Autoupdate.autoupdateVersion;
-
-  Autoupdate.autoupdateVersionRefreshable =
-    __meteor_runtime_config__.autoupdateVersionRefreshable =
-      process.env.AUTOUPDATE_VERSION ||
-      WebApp.calculateClientHashRefreshable();
-
-  Autoupdate.autoupdateVersionCordova =
-    __meteor_runtime_config__.autoupdateVersionCordova =
-      process.env.AUTOUPDATE_VERSION ||
-      WebApp.calculateClientHashCordova();
-
-  // Step 2: form the new client boilerplate which contains the updated
-  // assets and __meteor_runtime_config__.
-  if (shouldReloadClientProgram) {
-    WebAppInternals.generateBoilerplate();
-  }
-
-  // XXX COMPAT WITH 0.8.3
-  if (! ClientVersions.findOne({current: true})) {
-    // To ensure apps with version of Meteor prior to 0.9.0 (in
-    // which the structure of documents in `ClientVersions` was
-    // different) also reload.
-    ClientVersions.insert({current: true});
-  }
-
-  if (! ClientVersions.findOne({_id: "version"})) {
-    ClientVersions.insert({
-      _id: "version",
-      version: Autoupdate.autoupdateVersion
-    });
-  } else {
-    ClientVersions.update("version", { $set: {
-      version: Autoupdate.autoupdateVersion
-    }});
-  }
-
-  if (! ClientVersions.findOne({_id: "version-cordova"})) {
-    ClientVersions.insert({
-      _id: "version-cordova",
-      version: Autoupdate.autoupdateVersionCordova,
-      refreshable: false
-    });
-  } else {
-    ClientVersions.update("version-cordova", { $set: {
-      version: Autoupdate.autoupdateVersionCordova
-    }});
-  }
-
-  // Use `onListening` here because we need to use
-  // `WebAppInternals.refreshableAssets`, which is only set after
-  // `WebApp.generateBoilerplate` is called by `main` in webapp.
-  WebApp.onListening(function () {
-    if (! ClientVersions.findOne({_id: "version-refreshable"})) {
-      ClientVersions.insert({
-        _id: "version-refreshable",
-        version: Autoupdate.autoupdateVersionRefreshable,
-        assets: WebAppInternals.refreshableAssets
-      });
-    } else {
-      ClientVersions.update("version-refreshable", { $set: {
-        version: Autoupdate.autoupdateVersionRefreshable,
-        assets: WebAppInternals.refreshableAssets
-      }});
-    }
-  });
-};
-
-Meteor.publish(
-  "meteor_autoupdate_clientVersions",
-  function (appId) {
-    // `null` happens when a client doesn't have an appId and passes
-    // `undefined` to `Meteor.subscribe`. `undefined` is translated to
-    // `null` as JSON doesn't have `undefined.
-    check(appId, Match.OneOf(String, undefined, null));
-
-    // Don't notify clients using wrong appId such as mobile apps built with a
-    // different server but pointing at the same local url
-    if (Autoupdate.appId && appId && Autoupdate.appId !== appId)
-      return [];
-
-    return ClientVersions.find();
-  },
-  {is_auto: true}
-);
-
-Meteor.startup(function () {
-  updateVersions(false);
-});
-
-var fut = new Future();
-
-// We only want 'refresh' to trigger 'updateVersions' AFTER onListen,
-// so we add a queued task that waits for onListen before 'refresh' can queue
-// tasks. Note that the `onListening` callbacks do not fire until after
-// Meteor.startup, so there is no concern that the 'updateVersions' calls from
-// 'refresh' will overlap with the `updateVersions` call from Meteor.startup.
-
-syncQueue.queueTask(function () {
-  fut.wait();
-});
-
-WebApp.onListening(function () {
-  fut.return();
-});
-
-var enqueueVersionsRefresh = function () {
-  syncQueue.queueTask(function () {
-    updateVersions(true);
-  });
-};
-
-// Listen for the special {refresh: 'client'} message, which signals that a
-// client asset has changed.
-process.on('message', Meteor.bindEnvironment(function (m) {
-  if (m && m.refresh === 'client') {
-    enqueueVersionsRefresh();
-  }
-}, "handling client refresh message"));
-
-// Another way to tell the process to refresh: send SIGHUP signal
-process.on('SIGHUP', Meteor.bindEnvironment(function () {
-  enqueueVersionsRefresh();
-}, "handling SIGHUP signal for refresh"));
-
diff --git a/packages/autoupdate/package.js b/packages/autoupdate/package.js
deleted file mode 100644
index 359144e4c662ed5e38de61a1e7069460dd725086..0000000000000000000000000000000000000000
--- a/packages/autoupdate/package.js
+++ /dev/null
@@ -1,30 +0,0 @@
-Package.describe({
-  summary: "Update the client when new client code is available",
-  version: '1.4.0'
-});
-
-Package.onUse(function (api) {
-  api.use([
-    'webapp',
-    'check'
-  ], 'server');
-
-  api.use([
-    'tracker',
-    'retry'
-  ], 'client');
-
-  api.use([
-    'ecmascript',
-    'ddp',
-    'mongo'
-  ], ['client', 'server']);
-
-  api.use(['http', 'random'], 'web.cordova');
-
-  api.addFiles('autoupdate_server.js', 'server');
-  api.addFiles('autoupdate_client.js', 'web.browser');
-  api.addFiles('autoupdate_cordova.js', 'web.cordova');
-
-  api.export('Autoupdate');
-});
\ No newline at end of file
diff --git a/packages/chatpal-search/client/index.js b/packages/chatpal-search/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..1b4cd56f41999a23c077e80cb23665fe57be8d1b
--- /dev/null
+++ b/packages/chatpal-search/client/index.js
@@ -0,0 +1,8 @@
+import './style.css';
+import './template/admin.html';
+import './template/result.html';
+import './template/suggestion.html';
+import './template/admin';
+import './template/result';
+import './template/suggestion';
+import './route';
diff --git a/packages/chatpal-search/client/route.js b/packages/chatpal-search/client/route.js
index bea46e84d9305ffc16cdc462459b4aebc083c26c..42361a13967468cad9b2e9d8342418d2a93f55c3 100644
--- a/packages/chatpal-search/client/route.js
+++ b/packages/chatpal-search/client/route.js
@@ -1,3 +1,7 @@
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { BlazeLayout } from 'meteor/kadira:blaze-layout';
+import { t } from 'meteor/rocketchat:ui';
+
 FlowRouter.route('/admin/chatpal', {
 	name: 'chatpal-admin',
 	action() {
diff --git a/packages/chatpal-search/client/template/admin.js b/packages/chatpal-search/client/template/admin.js
index 9c2a6d81c6e91abb73c89ae9e195814a99eb45e1..d104c08311d3919c6d35bc3c591ff7a4ad5c7563 100644
--- a/packages/chatpal-search/client/template/admin.js
+++ b/packages/chatpal-search/client/template/admin.js
@@ -1,3 +1,8 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
+import { RocketChat } from 'meteor/rocketchat:lib';
 import toastr from 'toastr';
 
 Template.ChatpalAdmin.onCreated(function() {
diff --git a/packages/chatpal-search/client/template/result.js b/packages/chatpal-search/client/template/result.js
index b188e21b8a94109d7b46826aed6ee831c93f2ae5..6028c81a6e6b414ab0b35ccdcfdc29add33fdb8f 100644
--- a/packages/chatpal-search/client/template/result.js
+++ b/packages/chatpal-search/client/template/result.js
@@ -1,4 +1,9 @@
 import { DateFormat } from 'meteor/rocketchat:lib';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
+import { RocketChat } from 'meteor/rocketchat:lib';
 
 Template.ChatpalSearchResultTemplate.onCreated(function() {
 	this.badRequest = new ReactiveVar(false);
diff --git a/packages/chatpal-search/client/template/suggestion.js b/packages/chatpal-search/client/template/suggestion.js
index 85f07f26c18c0103ee256487bc01b298d30e5577..8cc3e7ee27c298bf697c19694450004d6176fc05 100644
--- a/packages/chatpal-search/client/template/suggestion.js
+++ b/packages/chatpal-search/client/template/suggestion.js
@@ -1,3 +1,5 @@
+import { Template } from 'meteor/templating';
+
 Template.ChatpalSuggestionItemTemplate.onCreated(function() {
 	if (this.data.type === 'link') {
 		this.data.action = () => {
diff --git a/packages/chatpal-search/package.js b/packages/chatpal-search/package.js
index b1191333b53962da3059f6bd74304fbb03b99736..f55bfeb282d607a3d490c3a80d89582c7523e24b 100644
--- a/packages/chatpal-search/package.js
+++ b/packages/chatpal-search/package.js
@@ -9,32 +9,13 @@ Package.onUse(function(api) {
 	api.use([
 		'ecmascript',
 		'templating',
-		'rocketchat:lib',
-		'rocketchat:logger',
-		'rocketchat:search',
-		'kadira:flow-router',
-		'meteorhacks:inject-initial',
 	]);
 
-	api.addFiles('server/asset/chatpal-enter.svg', 'server', { isAsset:true });
-	api.addFiles('server/asset/chatpal-logo-icon-darkblue.svg', 'server', { isAsset:true });
-
-	api.addFiles([
-		'server/provider/provider.js',
-		'server/provider/index.js',
-		'server/utils/logger.js',
-		'server/utils/utils.js',
-		'server/asset/config.js',
+	api.addAssets([
+		'server/asset/chatpal-enter.svg',
+		'server/asset/chatpal-logo-icon-darkblue.svg',
 	], 'server');
 
-	api.addFiles([
-		'client/template/suggestion.html',
-		'client/template/suggestion.js',
-		'client/template/result.html',
-		'client/template/result.js',
-		'client/template/admin.html',
-		'client/template/admin.js',
-		'client/style.css',
-		'client/route.js',
-	], 'client');
+	api.mainModule('client/index.js', 'client');
+	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/chatpal-search/server/asset/config.js b/packages/chatpal-search/server/asset/config.js
index add37dbca271276514fabcc203ab6b4d5488e80e..266f8d46348e1496733846c99a752f78b4be3242 100644
--- a/packages/chatpal-search/server/asset/config.js
+++ b/packages/chatpal-search/server/asset/config.js
@@ -1,4 +1,4 @@
-/* globals Inject */
+import { Inject } from 'meteor/meteorhacks:inject-initial';
 
 Inject.rawBody('chatpal-enter', Assets.getText('server/asset/chatpal-enter.svg'));
 Inject.rawBody('chatpal-logo-icon-darkblue', Assets.getText('server/asset/chatpal-logo-icon-darkblue.svg'));
diff --git a/packages/chatpal-search/server/index.js b/packages/chatpal-search/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..2a7f1094d09043017eff544a952cf65ce5c42c4c
--- /dev/null
+++ b/packages/chatpal-search/server/index.js
@@ -0,0 +1,3 @@
+import './asset/config';
+import './provider/provider';
+import './utils/utils';
diff --git a/packages/chatpal-search/server/provider/index.js b/packages/chatpal-search/server/provider/index.js
index e1a794176eb8bef38d8f9bdec77f6a48d9a59c2c..fcccc7d96cde02c5f7a1684fd55a5e33da0e05d8 100644
--- a/packages/chatpal-search/server/provider/index.js
+++ b/packages/chatpal-search/server/provider/index.js
@@ -1,5 +1,8 @@
+import { Meteor } from 'meteor/meteor';
+import { HTTP } from 'meteor/http';
 import ChatpalLogger from '../utils/logger';
 import { Random } from 'meteor/random';
+import { RocketChat } from 'meteor/rocketchat:lib';
 
 /**
  * Enables HTTP functions on Chatpal Backend
diff --git a/packages/chatpal-search/server/provider/provider.js b/packages/chatpal-search/server/provider/provider.js
index efe4adf21751bfb5b018e6c4a9e8b616ab342f33..d6175f48c3181a307ee25ca9d072aeeb6ea96c93 100644
--- a/packages/chatpal-search/server/provider/provider.js
+++ b/packages/chatpal-search/server/provider/provider.js
@@ -1,6 +1,8 @@
+import { Meteor } from 'meteor/meteor';
 import { searchProviderService, SearchProvider } from 'meteor/rocketchat:search';
 import Index from './index';
 import ChatpalLogger from '../utils/logger';
+import { RocketChat } from 'meteor/rocketchat:lib';
 
 /**
  * The chatpal search provider enables chatpal search. An appropriate backedn has to be specified by settings.
diff --git a/packages/chatpal-search/server/utils/logger.js b/packages/chatpal-search/server/utils/logger.js
index 2e5278a11924da5fb6661e4246af4c7bb1799c9b..cbae16ba41ebf77e95dbcd82607452ee92123a92 100644
--- a/packages/chatpal-search/server/utils/logger.js
+++ b/packages/chatpal-search/server/utils/logger.js
@@ -1,2 +1,4 @@
+import { Logger } from 'meteor/rocketchat:logger';
+
 const ChatpalLogger = new Logger('Chatpal Logger', {});
 export default ChatpalLogger;
diff --git a/packages/chatpal-search/server/utils/utils.js b/packages/chatpal-search/server/utils/utils.js
index 596b440fe0bf3f632ede8c9a58f72f5f2151898b..d30ba0415c64e342a81235bd3f23fa97f2b458f0 100644
--- a/packages/chatpal-search/server/utils/utils.js
+++ b/packages/chatpal-search/server/utils/utils.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { HTTP } from 'meteor/http';
+
 Meteor.methods({
 	'chatpalUtilsCreateKey'(email) {
 		try {
diff --git a/packages/meteor-accounts-saml/client/index.js b/packages/meteor-accounts-saml/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..5ca4ae3d5c181afd22afcaac3f3cc52b9cb6ef5c
--- /dev/null
+++ b/packages/meteor-accounts-saml/client/index.js
@@ -0,0 +1 @@
+import './saml_client';
diff --git a/packages/meteor-accounts-saml/saml_client.js b/packages/meteor-accounts-saml/client/saml_client.js
similarity index 96%
rename from packages/meteor-accounts-saml/saml_client.js
rename to packages/meteor-accounts-saml/client/saml_client.js
index 6a85fbdbbf6b0bf678c1362ad3c7dd73d48cd158..a30ad29dca19fb63ae9753d931d5a1865a89d8a8 100644
--- a/packages/meteor-accounts-saml/saml_client.js
+++ b/packages/meteor-accounts-saml/client/saml_client.js
@@ -1,4 +1,8 @@
 /* globals cordova */
+import { Meteor } from 'meteor/meteor';
+import { Accounts } from 'meteor/accounts-base';
+import { Random } from 'meteor/random';
+import { ServiceConfiguration } from 'meteor/service-configuration';
 
 if (!Accounts.saml) {
 	Accounts.saml = {};
diff --git a/packages/meteor-accounts-saml/package.js b/packages/meteor-accounts-saml/package.js
index 919afa37eb62c639ef3cd1e932209b739999bbef..4c080b8739d29971a5e0358da36eb9265ae6d22f 100644
--- a/packages/meteor-accounts-saml/package.js
+++ b/packages/meteor-accounts-saml/package.js
@@ -6,12 +6,18 @@ Package.describe({
 });
 
 Package.on_use(function(api) {
-	api.use('rocketchat:lib', 'server');
-	api.use('ecmascript');
-	api.use(['routepolicy', 'webapp', 'service-configuration'], 'server');
-	api.use(['http', 'accounts-base'], ['client', 'server']);
+	api.use([
+		'ecmascript',
+		'http',
+		'accounts-base',
+	]);
+	api.use([
+		'routepolicy',
+		'webapp',
+		'rocketchat:lib',
+		'service-configuration',
+	], 'server');
 
-	api.add_files(['saml_server.js', 'saml_utils.js'], 'server');
-	api.add_files(['saml_rocketchat.js'], 'server');
-	api.add_files('saml_client.js', 'client');
+	api.mainModule('client/index.js', 'client');
+	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/meteor-accounts-saml/server/index.js b/packages/meteor-accounts-saml/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..b9c087f10847793d5ced369f63159232e528ce92
--- /dev/null
+++ b/packages/meteor-accounts-saml/server/index.js
@@ -0,0 +1,2 @@
+import './saml_rocketchat';
+import './saml_server';
diff --git a/packages/meteor-accounts-saml/saml_rocketchat.js b/packages/meteor-accounts-saml/server/saml_rocketchat.js
similarity index 95%
rename from packages/meteor-accounts-saml/saml_rocketchat.js
rename to packages/meteor-accounts-saml/server/saml_rocketchat.js
index 20fc9ad8adb181ab60a85db12d81f4b9fee734f3..4b08f8f0e5c4f882a81a791c944f45dbe745f043 100644
--- a/packages/meteor-accounts-saml/saml_rocketchat.js
+++ b/packages/meteor-accounts-saml/server/saml_rocketchat.js
@@ -1,3 +1,9 @@
+import { Meteor } from 'meteor/meteor';
+import { Accounts } from 'meteor/accounts-base';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { Logger } from 'meteor/rocketchat:logger';
+import { ServiceConfiguration } from 'meteor/service-configuration';
+
 const logger = new Logger('steffo:meteor-accounts-saml', {
 	methods: {
 		updated: {
diff --git a/packages/meteor-accounts-saml/saml_server.js b/packages/meteor-accounts-saml/server/saml_server.js
similarity index 97%
rename from packages/meteor-accounts-saml/saml_server.js
rename to packages/meteor-accounts-saml/server/saml_server.js
index 56370dfe520462f602d27c43bd2aa4350f559c3d..4794b9d6254e1a16a0cfb4b83514fef6b015f964 100644
--- a/packages/meteor-accounts-saml/saml_server.js
+++ b/packages/meteor-accounts-saml/server/saml_server.js
@@ -1,5 +1,10 @@
-/* globals RoutePolicy, SAML */
-/* jshint newcap: false */
+import { Meteor } from 'meteor/meteor';
+import { Accounts } from 'meteor/accounts-base';
+import { Random } from 'meteor/random';
+import { WebApp } from 'meteor/webapp';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { RoutePolicy } from 'meteor/routepolicy';
+import { SAML } from './saml_utils';
 import _ from 'underscore';
 
 if (!Accounts.saml) {
diff --git a/packages/meteor-accounts-saml/saml_utils.js b/packages/meteor-accounts-saml/server/saml_utils.js
similarity index 99%
rename from packages/meteor-accounts-saml/saml_utils.js
rename to packages/meteor-accounts-saml/server/saml_utils.js
index 3fb1776a7a1c0ba15a699fe6c6e239df0a984db9..1331abd69fb74bcd2a29920d0b6f5e8d7f53b6ec 100644
--- a/packages/meteor-accounts-saml/saml_utils.js
+++ b/packages/meteor-accounts-saml/server/saml_utils.js
@@ -1,5 +1,4 @@
-/* globals SAML:true */
-
+import { Meteor } from 'meteor/meteor';
 import zlib from 'zlib';
 import xmlCrypto from 'xml-crypto';
 import crypto from 'crypto';
@@ -7,11 +6,10 @@ import xmldom from 'xmldom';
 import querystring from 'querystring';
 import xmlbuilder from 'xmlbuilder';
 import array2string from 'arraybuffer-to-string';
-
 // var prefixMatch = new RegExp(/(?!xmlns)^.*:/);
 
 
-SAML = function(options) {
+export const SAML = function(options) {
 	this.options = this.initialize(options);
 };
 
diff --git a/packages/meteor-autocomplete/client/autocomplete-client.js b/packages/meteor-autocomplete/client/autocomplete-client.js
index 4ff92bf9d1acc8ac010a6a69de09c3b55b24e134..e57cbcbd6e00802fae6bca699c1da15820e0e59d 100755
--- a/packages/meteor-autocomplete/client/autocomplete-client.js
+++ b/packages/meteor-autocomplete/client/autocomplete-client.js
@@ -1,6 +1,10 @@
-/* globals Deps, getCaretCoordinates*/
+import { Meteor } from 'meteor/meteor';
+import { Match } from 'meteor/check';
+import { Blaze } from 'meteor/blaze';
+import { Deps } from 'meteor/deps';
 import _ from 'underscore';
 import AutoCompleteRecords from './collection';
+import { getCaretCoordinates } from 'meteor/dandv:caret-position';
 
 const isServerSearch = function(rule) {
 	return _.isString(rule.collection);
@@ -69,7 +73,7 @@ const getField = function(obj, str) {
 	return obj;
 };
 
-this.AutoComplete = class {
+export default class AutoComplete {
 	constructor(settings) {
 		this.KEYS = [40, 38, 13, 27, 9];
 		this.limit = settings.limit || 5;
@@ -451,4 +455,4 @@ this.AutoComplete = class {
 		return this.rules[this.matched].template;
 	}
 
-};
+}
diff --git a/packages/meteor-autocomplete/client/collection.js b/packages/meteor-autocomplete/client/collection.js
index 0e701754b2dc25105d0410b48074ac3c3e4a6f50..ff2606e9d3c5695e19b902aaf53450b622164b90 100644
--- a/packages/meteor-autocomplete/client/collection.js
+++ b/packages/meteor-autocomplete/client/collection.js
@@ -1 +1,3 @@
+import { Mongo } from 'meteor/mongo';
+
 export default new Mongo.Collection('autocompleteRecords');
diff --git a/packages/meteor-autocomplete/client/index.js b/packages/meteor-autocomplete/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..d77150ea4f49f0c15abd34d8d655d3f955883282
--- /dev/null
+++ b/packages/meteor-autocomplete/client/index.js
@@ -0,0 +1,8 @@
+import './autocomplete.css';
+import './inputs.html';
+import './templates';
+import AutoComplete from './autocomplete-client';
+
+export {
+	AutoComplete,
+};
diff --git a/packages/meteor-autocomplete/client/templates.js b/packages/meteor-autocomplete/client/templates.js
index 4ed6be7fca725a898b16b7306c9edf8aa8e13acd..81782c33ecd28270deda92980487324dfdebae15 100755
--- a/packages/meteor-autocomplete/client/templates.js
+++ b/packages/meteor-autocomplete/client/templates.js
@@ -1,4 +1,6 @@
-/* globals AutoComplete */
+import { Blaze } from 'meteor/blaze';
+import { Template } from 'meteor/templating';
+import AutoComplete from './autocomplete-client';
 import _ from 'underscore';
 
 //  Events on template instances, sent to the autocomplete class
diff --git a/packages/meteor-autocomplete/package.js b/packages/meteor-autocomplete/package.js
index 3143f3f2227594154c2b1e036892fec005cf51fa..763da8c1ddb355cc53d2da24c793d0c46f27a812 100755
--- a/packages/meteor-autocomplete/package.js
+++ b/packages/meteor-autocomplete/package.js
@@ -6,23 +6,19 @@ Package.describe({
 });
 
 Package.onUse(function(api) {
-	api.use(['blaze', 'templating', 'jquery'], 'client');
-	api.use(['ecmascript']); // both
-	api.use(['mongo', 'ddp']);
+	api.use([
+		'ecmascript',
+		'mongo',
+		'ddp',
+	]);
 
-	api.use('dandv:caret-position@2.1.0-3', 'client');
-
-	// Our files
-	api.addFiles([
-		'client/autocomplete.css',
-		'client/inputs.html',
-		'client/autocomplete-client.js',
-		'client/templates.js',
+	api.use([
+		'blaze',
+		'templating',
+		'jquery',
+		'dandv:caret-position@2.1.0-3',
 	], 'client');
 
-	api.addFiles([
-		'server/autocomplete-server.js',
-	], 'server');
-
-	api.export('Autocomplete', 'server');
+	api.mainModule('client/index.js', 'client');
+	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/meteor-autocomplete/server/autocomplete-server.js b/packages/meteor-autocomplete/server/autocomplete-server.js
index 582daf40c1d1a1e6841f58e0a319a199a9b07a7a..9a86670214dd5e49431118b16114efa79aa7fa47 100755
--- a/packages/meteor-autocomplete/server/autocomplete-server.js
+++ b/packages/meteor-autocomplete/server/autocomplete-server.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { Mongo } from 'meteor/mongo';
 // This also attaches an onStop callback to sub, so we don't need to worry about that.
 // https://github.com/meteor/meteor/blob/devel/packages/mongo/collection.js
 const Autocomplete = class {
diff --git a/packages/meteor-autocomplete/server/index.js b/packages/meteor-autocomplete/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..6ababa09bd75305f053ba87a4847049602e9ca49
--- /dev/null
+++ b/packages/meteor-autocomplete/server/index.js
@@ -0,0 +1 @@
+import './autocomplete-server';
diff --git a/packages/meteor-timesync/client/index.js b/packages/meteor-timesync/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..b9a53fb0ddf6ecb1bd1c51eef7690b2a7e5cba56
--- /dev/null
+++ b/packages/meteor-timesync/client/index.js
@@ -0,0 +1,6 @@
+import { TimeSync, SyncInternals } from './timesync-client';
+
+export {
+	TimeSync,
+	SyncInternals,
+};
diff --git a/packages/meteor-timesync/client/timesync-client.js b/packages/meteor-timesync/client/timesync-client.js
index ff7eb5845255f88cfaf0daa382a0498722182645..026e332c559b4431ffc4454dce9880c35cf59f09 100644
--- a/packages/meteor-timesync/client/timesync-client.js
+++ b/packages/meteor-timesync/client/timesync-client.js
@@ -1,8 +1,11 @@
-/* eslint-disable */
+import { Meteor } from 'meteor/meteor';
+import { Deps } from 'meteor/deps';
+import { HTTP } from 'meteor/http';
+
 //IE8 doesn't have Date.now()
 Date.now = Date.now || function() { return +new Date; };
 
-TimeSync = {
+export const TimeSync = {
   loggingEnabled: true
 };
 
@@ -15,7 +18,7 @@ function log(/* arguments */) {
 var defaultInterval = 1000;
 
 // Internal values, exported for testing
-SyncInternals = {
+export const SyncInternals = {
   offset: undefined,
   roundTripTime: undefined,
   offsetDep: new Deps.Dependency(),
diff --git a/packages/meteor-timesync/package.js b/packages/meteor-timesync/package.js
index 446d4e6e5ba457fa42e8d16809daac606c92c843..175327300c9ca61d6301d7ea9ad330ccd7935e2f 100644
--- a/packages/meteor-timesync/package.js
+++ b/packages/meteor-timesync/package.js
@@ -6,31 +6,33 @@ Package.describe({
 });
 
 Package.onUse(function (api) {
-  api.use([
-    'check',
-    'tracker',
-    'http'
-  ], 'client');
-
-  api.use('webapp', 'server');
+	api.use([
+		'check',
+		'tracker',
+		'http',
+	], 'client');
 
-  // Our files
-  api.addFiles('server/timesync-server.js', 'server');
-  api.addFiles('client/timesync-client.js', 'client');
+	api.use([
+		'webapp',
+	], 'server');
 
-  api.export('TimeSync', 'client');
-  api.export('SyncInternals', 'client', {testOnly: true} );
+  api.use([
+		'ecmascript',
+	]);
+	api.mainModule('client/index.js', 'client');
+	api.mainModule('server/index.js', 'server');
 });
 
 Package.onTest(function (api) {
-  api.use([
-    'tinytest',
-    'test-helpers'
-  ]);
+	api.use([
+		'ecmascript',
+		'tinytest',
+		'test-helpers'
+	]);
 
-  api.use(['tracker'], 'client');
+	api.use(['tracker'], 'client');
 
-  api.use('mizzao:timesync');
+	api.use('mizzao:timesync');
 
-  api.addFiles('tests/client.js', 'client');
+	api.addFiles('tests/client.js', 'client');
 });
diff --git a/packages/meteor-timesync/server/index.js b/packages/meteor-timesync/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..ab8e57008da68ad2f7e13185154d9a3e2a7522d4
--- /dev/null
+++ b/packages/meteor-timesync/server/index.js
@@ -0,0 +1 @@
+import './timesync-server';
\ No newline at end of file
diff --git a/packages/meteor-timesync/server/timesync-server.js b/packages/meteor-timesync/server/timesync-server.js
index 70d11c7d7e9054ab28d11a155da538392029b4bc..d8d694618fa904a7607a9efbc149dfa0a0b9d23b 100644
--- a/packages/meteor-timesync/server/timesync-server.js
+++ b/packages/meteor-timesync/server/timesync-server.js
@@ -1,4 +1,4 @@
-/* eslint-disable */
+import { WebApp } from 'meteor/webapp';
 // Use rawConnectHandlers so we get a response as quickly as possible
 // https://github.com/meteor/meteor/blob/devel/packages/webapp/webapp_server.js
 
diff --git a/packages/rocketchat-2fa/client/TOTPPassword.js b/packages/rocketchat-2fa/client/TOTPPassword.js
index d8bf6b114bb7b40cb30a3599384e2faa87641541..12018bca2d7de58c8c8ba8e63a60c61274995102 100644
--- a/packages/rocketchat-2fa/client/TOTPPassword.js
+++ b/packages/rocketchat-2fa/client/TOTPPassword.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Accounts } from 'meteor/accounts-base';
+import { t, modal } from 'meteor/rocketchat:ui';
 import toastr from 'toastr';
 
 function reportError(error, callback) {
diff --git a/packages/rocketchat-2fa/client/accountSecurity.html b/packages/rocketchat-2fa/client/accountSecurity.html
index 935a10b007c6485e8f83fa64bba9a564cb7b8af2..c6d20854f8e9492aa0a4b238b4ec0512331b5f64 100644
--- a/packages/rocketchat-2fa/client/accountSecurity.html
+++ b/packages/rocketchat-2fa/client/accountSecurity.html
@@ -1,47 +1,44 @@
 <template name="accountSecurity">
-	<section class="preferences-page preferences-page--new">
+	<section class="preferences-page preferences-page--new page-settings">
 		{{> header sectionName="Security" fullpage=true}}
 		<div class="preferences-page__content">
 			<form id="security" autocomplete="off" class="container">
 				{{# if isAllowed}}
-				<fieldset>
-					<div class="section">
-						<h1>{{_ "Two-factor_authentication"}}</h1>
-						<div class="section-content border-component-color">
-							{{#if isEnabled}}
-							<button class="rc-button rc-button--cancel disable-2fa">{{_ "Disable_two-factor_authentication"}}</button>
-							{{else}}
-							{{#unless isRegistering}}
-							<p>{{_ "Two-factor_authentication_is_currently_disabled"}}</p>
+				<div class="section">
+					<h1>{{_ "Two-factor_authentication"}}</h1>
+					<div class="section-content border-component-color">
+						{{#if isEnabled}}
+						<button class="rc-button rc-button--cancel disable-2fa">{{_ "Disable_two-factor_authentication"}}</button>
+						{{else}}
+						{{#unless isRegistering}}
+						<p>{{_ "Two-factor_authentication_is_currently_disabled"}}</p>
 
-							<button class="rc-button rc-button--primary enable-2fa">{{_ "Enable_two-factor_authentication"}}</button>
-							{{else}}
-							<p>{{_ "Scan_QR_code"}}</p>
-							<p>{{_ "Scan_QR_code_alternative_s" code=imageSecret}}</p>
+						<button class="rc-button rc-button--primary enable-2fa">{{_ "Enable_two-factor_authentication"}}</button>
+						{{else}}
+						<p>{{_ "Scan_QR_code"}}</p>
+						<p>{{_ "Scan_QR_code_alternative_s" code=imageSecret}}</p>
 
-							<img src="{{imageData}}">
+						<img src="{{imageData}}">
 
-							<form class="inline">
+						<form>
+							<div class="input-line double-col">
 								<input type="text" class="rc-input__element" id="testCode" placeholder="{{_ "Enter_authentication_code"}}">
-								<button class="rc-button rc-button--primary verify-code">{{_ "Verify"}}</button>
-							</form>
-							{{/unless}}
-							{{/if}}
-						</div>
+								<button class="rc-button rc-button--primary setting-action verify-code">{{_ "Verify"}}</button>
+							</div>
+						</form>
+						{{/unless}}
+						{{/if}}
 					</div>
-				</fieldset>
-
+				</div>
 
 				{{#if isEnabled}}
-				<fieldset>
-					<div class="section">
-						<h1>{{_ "Backup_codes"}}</h1>
-						<div class="section-content border-component-color">
-							<p>{{codesRemaining}}</p>
-							<button class="rc-button rc-button--secondary regenerate-codes">{{_ "Regenerate_codes"}}</button>
-						</div>
+				<div class="section">
+					<h1>{{_ "Backup_codes"}}</h1>
+					<div class="section-content border-component-color">
+						<p>{{codesRemaining}}</p>
+						<button class="rc-button rc-button--secondary regenerate-codes">{{_ "Regenerate_codes"}}</button>
 					</div>
-				</fieldset>
+				</div>
 				{{/if}}
 				{{/if}}
 			</form>
diff --git a/packages/rocketchat-2fa/client/accountSecurity.js b/packages/rocketchat-2fa/client/accountSecurity.js
index 6b9c15d0ec9a8d9e4e11e45b6bcdf4b849b25e0d..76d1da0ca290285788eb87b733c4ad15551b948f 100644
--- a/packages/rocketchat-2fa/client/accountSecurity.js
+++ b/packages/rocketchat-2fa/client/accountSecurity.js
@@ -1,3 +1,8 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Template } from 'meteor/templating';
+import { t, modal } from 'meteor/rocketchat:ui';
+import { RocketChat } from 'meteor/rocketchat:lib';
 import toastr from 'toastr';
 import qrcode from 'yaqrcode';
 
diff --git a/packages/rocketchat-2fa/client/index.js b/packages/rocketchat-2fa/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..c5b1485a073b2a3d8654c5705a5172dd74f51b1a
--- /dev/null
+++ b/packages/rocketchat-2fa/client/index.js
@@ -0,0 +1,3 @@
+import './accountSecurity.html';
+import './accountSecurity';
+import './TOTPPassword';
diff --git a/packages/rocketchat-2fa/package.js b/packages/rocketchat-2fa/package.js
index 4bc9d05c36878d592695f6c04a64fbdbb5ce2050..5f5d3e2dc013d9708baf0e283e3bf418a6b43a65 100644
--- a/packages/rocketchat-2fa/package.js
+++ b/packages/rocketchat-2fa/package.js
@@ -14,22 +14,9 @@ Package.onUse(function(api) {
 		'rocketchat:lib',
 		'sha',
 		'random',
+		'rocketchat:ui',
 	]);
 
-	api.addFiles('client/accountSecurity.html', 'client');
-	api.addFiles('client/accountSecurity.js', 'client');
-	api.addFiles('client/TOTPPassword.js', 'client');
-
-	api.addFiles('server/lib/totp.js', 'server');
-
-	api.addFiles('server/methods/checkCodesRemaining.js', 'server');
-	api.addFiles('server/methods/disable.js', 'server');
-	api.addFiles('server/methods/enable.js', 'server');
-	api.addFiles('server/methods/regenerateCodes.js', 'server');
-	api.addFiles('server/methods/validateTempToken.js', 'server');
-
-	api.addFiles('server/models/users.js', 'server');
-
-	api.addFiles('server/startup/settings.js', 'server');
-	api.addFiles('server/loginHandler.js', 'server');
+	api.mainModule('client/index.js', 'client');
+	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/rocketchat-2fa/server/index.js b/packages/rocketchat-2fa/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..2f088d337986618923ba9774b62f03ba947b3739
--- /dev/null
+++ b/packages/rocketchat-2fa/server/index.js
@@ -0,0 +1,9 @@
+import './startup/settings';
+import './lib/totp';
+import './models/users';
+import './methods/checkCodesRemaining';
+import './methods/disable';
+import './methods/enable';
+import './methods/regenerateCodes';
+import './methods/validateTempToken';
+import './loginHandler';
diff --git a/packages/rocketchat-2fa/server/lib/totp.js b/packages/rocketchat-2fa/server/lib/totp.js
index f245d209f5d3989b481887e7244dfec10c3900f4..8d794d9ec35981ef6126f22cdaa5cffa885b66ae 100644
--- a/packages/rocketchat-2fa/server/lib/totp.js
+++ b/packages/rocketchat-2fa/server/lib/totp.js
@@ -1,3 +1,6 @@
+import { SHA256 } from 'meteor/sha';
+import { Random } from 'meteor/random';
+import { RocketChat } from 'meteor/rocketchat:lib';
 import speakeasy from 'speakeasy';
 
 RocketChat.TOTP = {
diff --git a/packages/rocketchat-2fa/server/loginHandler.js b/packages/rocketchat-2fa/server/loginHandler.js
index b0752ff4623839c457b0e27e0220f8930881cb3b..1060d218cb7a5877ec3c8a88163b72b20a21aa29 100644
--- a/packages/rocketchat-2fa/server/loginHandler.js
+++ b/packages/rocketchat-2fa/server/loginHandler.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { Accounts } from 'meteor/accounts-base';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Accounts.registerLoginHandler('totp', function(options) {
 	if (!options.totp || !options.totp.code) {
 		return;
diff --git a/packages/rocketchat-2fa/server/methods/checkCodesRemaining.js b/packages/rocketchat-2fa/server/methods/checkCodesRemaining.js
index 5deec43f7d1982f88d8b75b1da4f595d0497d28f..63222c87da753f914a3e82024d2e0dbbd04c6a9d 100644
--- a/packages/rocketchat-2fa/server/methods/checkCodesRemaining.js
+++ b/packages/rocketchat-2fa/server/methods/checkCodesRemaining.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	'2fa:checkCodesRemaining'() {
 		if (!Meteor.userId()) {
diff --git a/packages/rocketchat-2fa/server/methods/disable.js b/packages/rocketchat-2fa/server/methods/disable.js
index a47005cddb4b2f094260b2292867937657fe0de0..ac68d9ddc5eb75e12d3c5fbbbd124f04258e615a 100644
--- a/packages/rocketchat-2fa/server/methods/disable.js
+++ b/packages/rocketchat-2fa/server/methods/disable.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.methods({
 	'2fa:disable'(code) {
 		if (!Meteor.userId()) {
diff --git a/packages/rocketchat-2fa/server/methods/enable.js b/packages/rocketchat-2fa/server/methods/enable.js
index c655fead80ba85a6e38220cdbc68967c385ad44e..a2b984a4c1f146403566ea627221aa4c502ce050 100644
--- a/packages/rocketchat-2fa/server/methods/enable.js
+++ b/packages/rocketchat-2fa/server/methods/enable.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.methods({
 	'2fa:enable'() {
 		if (!Meteor.userId()) {
diff --git a/packages/rocketchat-2fa/server/methods/regenerateCodes.js b/packages/rocketchat-2fa/server/methods/regenerateCodes.js
index 379558db3cb18eb6452b2c1f3833427aa026e8a7..750879b8c60bac8b24a2c5c511a15fc1e3f2f1fa 100644
--- a/packages/rocketchat-2fa/server/methods/regenerateCodes.js
+++ b/packages/rocketchat-2fa/server/methods/regenerateCodes.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.methods({
 	'2fa:regenerateCodes'(userToken) {
 		if (!Meteor.userId()) {
diff --git a/packages/rocketchat-2fa/server/methods/validateTempToken.js b/packages/rocketchat-2fa/server/methods/validateTempToken.js
index 69fdc0470f2f761df815d9aab08b1916be131da2..a224f7b88b038e02b218d9bebb042a6c14eff50f 100644
--- a/packages/rocketchat-2fa/server/methods/validateTempToken.js
+++ b/packages/rocketchat-2fa/server/methods/validateTempToken.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.methods({
 	'2fa:validateTempToken'(userToken) {
 		if (!Meteor.userId()) {
diff --git a/packages/rocketchat-2fa/server/models/users.js b/packages/rocketchat-2fa/server/models/users.js
index 21093c6a77fc42b6adf19ad0ed5a56ca901df16c..80190c9cc3a108c430afb9fb2f53ecf6cbac48e5 100644
--- a/packages/rocketchat-2fa/server/models/users.js
+++ b/packages/rocketchat-2fa/server/models/users.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.models.Users.disable2FAAndSetTempSecretByUserId = function(userId, tempToken) {
 	return this.update({
 		_id: userId,
diff --git a/packages/rocketchat-2fa/server/startup/settings.js b/packages/rocketchat-2fa/server/startup/settings.js
index a7a1fad77749216ed61af9b570d210190ff33e23..63d5c6e37b15662ee6c39d1d7792c715237e5653 100644
--- a/packages/rocketchat-2fa/server/startup/settings.js
+++ b/packages/rocketchat-2fa/server/startup/settings.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.settings.addGroup('Accounts', function() {
 	this.section('Two Factor Authentication', function() {
 		this.add('Accounts_TwoFactorAuthentication_Enabled', true, {
diff --git a/packages/rocketchat-action-links/both/lib/actionLinks.js b/packages/rocketchat-action-links/both/lib/actionLinks.js
index 0927f319d24fd15283394b026cd87816de3beb1b..1ca27418a05a53700b3dfc552433f60f69baec38 100644
--- a/packages/rocketchat-action-links/both/lib/actionLinks.js
+++ b/packages/rocketchat-action-links/both/lib/actionLinks.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 // Action Links namespace creation.
 RocketChat.actionLinks = {
 	actions: {},
diff --git a/packages/rocketchat-action-links/client/index.js b/packages/rocketchat-action-links/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..fa97e5534dc5ad787c7a34d43167e753c6725589
--- /dev/null
+++ b/packages/rocketchat-action-links/client/index.js
@@ -0,0 +1,4 @@
+import '../both/lib/actionLinks';
+import './stylesheets/actionLinks.css';
+import './lib/actionLinks';
+import './init';
diff --git a/packages/rocketchat-action-links/client/init.js b/packages/rocketchat-action-links/client/init.js
index 6ef0a25fc88f6dc727e2a2f8c660f41e1f026031..67332f38482b2bc6707fa1a52d13cbf029d52aa8 100644
--- a/packages/rocketchat-action-links/client/init.js
+++ b/packages/rocketchat-action-links/client/init.js
@@ -1,4 +1,8 @@
-/* globals fireGlobalEvent */
+import { Blaze } from 'meteor/blaze';
+import { Template } from 'meteor/templating';
+import { RocketChat, handleError } from 'meteor/rocketchat:lib';
+import { fireGlobalEvent } from 'meteor/rocketchat:ui';
+
 Template.room.events({
 	'click .action-link'(event, instance) {
 		event.preventDefault();
diff --git a/packages/rocketchat-action-links/client/lib/actionLinks.js b/packages/rocketchat-action-links/client/lib/actionLinks.js
index 4b32d9cd5d58801028983cb9f7b704a1da164d8f..fdda77593980bae0f8b835be300c63cc9e8b1773 100644
--- a/packages/rocketchat-action-links/client/lib/actionLinks.js
+++ b/packages/rocketchat-action-links/client/lib/actionLinks.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat, handleError } from 'meteor/rocketchat:lib';
 // Action Links Handler. This method will be called off the client.
 
 RocketChat.actionLinks.run = (name, messageId, instance) => {
diff --git a/packages/rocketchat-action-links/package.js b/packages/rocketchat-action-links/package.js
index b1376bfc748877c8a808859fbeb994a44d1b2cb6..04a37d6dff19c23b8d4454c5f0ed99edd29edb08 100644
--- a/packages/rocketchat-action-links/package.js
+++ b/packages/rocketchat-action-links/package.js
@@ -6,18 +6,13 @@ Package.describe({
 });
 
 Package.onUse(function(api) {
-	api.use('ecmascript');
-	api.use('templating');
-	api.use('rocketchat:lib');
-	api.use('rocketchat:theme');
-	api.use('rocketchat:ui');
-
-	api.addFiles('both/lib/actionLinks.js');
-
-	api.addFiles('client/lib/actionLinks.js', 'client');
-	api.addFiles('client/init.js', 'client');
-
-	api.addFiles('client/stylesheets/actionLinks.css', 'client');
-
-	api.addFiles('server/actionLinkHandler.js', 'server');
+	api.use([
+		'ecmascript',
+		'templating',
+		'rocketchat:lib',
+		'rocketchat:theme',
+		'rocketchat:ui',
+	]);
+	api.mainModule('client/index.js', 'client');
+	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/rocketchat-action-links/server/actionLinkHandler.js b/packages/rocketchat-action-links/server/actionLinkHandler.js
index 6e9dc818df7123c09348ba0af551b59a91832a6f..7fd102c294361d8ac74c5383ee381f453c51de9f 100644
--- a/packages/rocketchat-action-links/server/actionLinkHandler.js
+++ b/packages/rocketchat-action-links/server/actionLinkHandler.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
 // Action Links Handler. This method will be called off the client.
 
 Meteor.methods({
diff --git a/packages/rocketchat-action-links/server/index.js b/packages/rocketchat-action-links/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..8db8549e10d7189665b5e8f8e5d376ce2bbea596
--- /dev/null
+++ b/packages/rocketchat-action-links/server/index.js
@@ -0,0 +1,2 @@
+import '../both/lib/actionLinks';
+import './actionLinkHandler';
diff --git a/packages/rocketchat-analytics/client/index.js b/packages/rocketchat-analytics/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..ec016dc3b595d33d141d7e3efe4e87a7d52c54d2
--- /dev/null
+++ b/packages/rocketchat-analytics/client/index.js
@@ -0,0 +1,2 @@
+import './loadScript';
+import './trackEvents';
diff --git a/packages/rocketchat-analytics/client/loadScript.js b/packages/rocketchat-analytics/client/loadScript.js
index 53573177267cd4ee79c754b4c117a4593c059a22..19c7f95b841399d6e6f09f02c101097028038cda 100644
--- a/packages/rocketchat-analytics/client/loadScript.js
+++ b/packages/rocketchat-analytics/client/loadScript.js
@@ -1,3 +1,8 @@
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
+import { Template } from 'meteor/templating';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Template.body.onRendered(() => {
 	Tracker.autorun((c) => {
 		const piwikUrl = RocketChat.settings.get('PiwikAnalytics_enabled') && RocketChat.settings.get('PiwikAnalytics_url');
diff --git a/packages/rocketchat-analytics/client/trackEvents.js b/packages/rocketchat-analytics/client/trackEvents.js
index b3c2750e012afe58940facfd8f55f22597c74d46..dedeb8b1dd9c220c7e4abe1242bb2603e7688427 100644
--- a/packages/rocketchat-analytics/client/trackEvents.js
+++ b/packages/rocketchat-analytics/client/trackEvents.js
@@ -1,3 +1,9 @@
+import { Meteor } from 'meteor/meteor';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { ChatRoom } from 'meteor/rocketchat:ui';
+import { Tracker } from 'meteor/tracker';
+
 function trackEvent(category, action, label) {
 	if (window._paq) {
 		window._paq.push(['trackEvent', category, action, label]);
@@ -83,7 +89,7 @@ if (!window._paq || window.ga) {
 	(() => {
 		let oldUserId = null;
 
-		Meteor.autorun(() => {
+		Tracker.autorun(() => {
 			const newUserId = Meteor.userId();
 			if (oldUserId === null && newUserId) {
 				if (window._paq && RocketChat.settings.get('Analytics_features_users')) {
diff --git a/packages/rocketchat-analytics/package.js b/packages/rocketchat-analytics/package.js
index ae5fb384d1e4c6955ea01eff93d5502a43882df8..3c5f1e62a65e7478a143b57dc07b57257ce537c1 100644
--- a/packages/rocketchat-analytics/package.js
+++ b/packages/rocketchat-analytics/package.js
@@ -8,9 +8,16 @@ Package.describe({
 // Note: Piwik respects Google Chrome's No Track: http://piwik.org/docs/privacy/#step-4-respect-donottrack-preference
 
 Package.onUse(function(api) {
-	api.use(['ecmascript', 'rocketchat:lib']);
-	api.use(['templating', 'kadira:flow-router'], 'client');
+	api.use([
+		'ecmascript',
+		'rocketchat:lib',
+		'tracker',
+	]);
+	api.use([
+		'templating',
+		'kadira:flow-router',
+	], 'client');
 
-	api.addFiles(['client/loadScript.js', 'client/trackEvents.js'], 'client');
-	api.addFiles(['server/settings.js'], 'server');
+	api.mainModule('client/index.js', 'client');
+	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/rocketchat-analytics/server/index.js b/packages/rocketchat-analytics/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..97097791afdc4deee566e5690c42b17dcbbfa5d9
--- /dev/null
+++ b/packages/rocketchat-analytics/server/index.js
@@ -0,0 +1 @@
+import './settings';
diff --git a/packages/rocketchat-analytics/server/settings.js b/packages/rocketchat-analytics/server/settings.js
index 009e4f77b48af0c7e12f1a0b07f79552b6c9c20c..d37d2a56149775cd451d87cb260a491d93c6691e 100644
--- a/packages/rocketchat-analytics/server/settings.js
+++ b/packages/rocketchat-analytics/server/settings.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.settings.addGroup('Analytics', function addSettings() {
 	this.section('Piwik', function() {
 		const enableQuery = { _id: 'PiwikAnalytics_enabled', value: true };
diff --git a/packages/rocketchat-api/package.js b/packages/rocketchat-api/package.js
index 7101ecc7bf1062d36a3f884ba691073294e067bb..12cdcb5e24734910464834794dd3c4342c465165 100644
--- a/packages/rocketchat-api/package.js
+++ b/packages/rocketchat-api/package.js
@@ -8,45 +8,11 @@ Package.describe({
 Package.onUse(function(api) {
 	api.use([
 		'ecmascript',
-		'rocketchat:lib',
 		'nimble:restivus',
+		'rocketchat:lib',
+		'rocketchat:integrations',
+		'rocketchat:file-upload',
 	]);
 
-	api.addFiles('server/api.js', 'server');
-	api.addFiles('server/settings.js', 'server');
-
-	// Register helpers
-	api.addFiles('server/helpers/composeRoomWithLastMessage.js', 'server');
-	api.addFiles('server/helpers/requestParams.js', 'server');
-	api.addFiles('server/helpers/getPaginationItems.js', 'server');
-	api.addFiles('server/helpers/getUserFromParams.js', 'server');
-	api.addFiles('server/helpers/getUserInfo.js', 'server');
-	api.addFiles('server/helpers/isUserFromParams.js', 'server');
-	api.addFiles('server/helpers/parseJsonQuery.js', 'server');
-	api.addFiles('server/helpers/deprecationWarning.js', 'server');
-	api.addFiles('server/helpers/getLoggedInUser.js', 'server');
-	api.addFiles('server/helpers/insertUserObject.js', 'server');
-
-	// Add default routes
-	api.addFiles('server/default/info.js', 'server');
-
-	// Add v1 routes
-	api.addFiles('server/v1/channels.js', 'server');
-	api.addFiles('server/v1/roles.js', 'server');
-	api.addFiles('server/v1/rooms.js', 'server');
-	api.addFiles('server/v1/subscriptions.js', 'server');
-	api.addFiles('server/v1/chat.js', 'server');
-	api.addFiles('server/v1/commands.js', 'server');
-	api.addFiles('server/v1/emoji-custom.js', 'server');
-	api.addFiles('server/v1/groups.js', 'server');
-	api.addFiles('server/v1/im.js', 'server');
-	api.addFiles('server/v1/integrations.js', 'server');
-	api.addFiles('server/v1/misc.js', 'server');
-	api.addFiles('server/v1/permissions.js', 'server');
-	api.addFiles('server/v1/push.js', 'server');
-	api.addFiles('server/v1/settings.js', 'server');
-	api.addFiles('server/v1/stats.js', 'server');
-	api.addFiles('server/v1/users.js', 'server');
-	api.addFiles('server/v1/assets.js', 'server');
-	api.addFiles('server/v1/e2e.js', 'server');
+	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/rocketchat-api/server/api.js b/packages/rocketchat-api/server/api.js
index 9a47a947d0b6ccde5a36dac0837250cd67b0523a..d28a95d95f497acb76ba4493fd3e8db498f40d3a 100644
--- a/packages/rocketchat-api/server/api.js
+++ b/packages/rocketchat-api/server/api.js
@@ -1,5 +1,12 @@
-/* global Restivus, DDP, DDPCommon */
+import { Meteor } from 'meteor/meteor';
+import { DDPCommon } from 'meteor/ddp-common';
+import { DDP } from 'meteor/ddp';
+import { Accounts } from 'meteor/accounts-base';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { Restivus } from 'meteor/nimble:restivus';
+import { Logger } from 'meteor/rocketchat:logger';
 import _ from 'underscore';
+
 const logger = new Logger('API', {});
 
 class API extends Restivus {
@@ -379,7 +386,7 @@ const defaultOptionsEndpoint = function _defaultOptionsEndpoint() {
 		if (RocketChat.settings.get('API_Enable_CORS') === true) {
 			this.response.writeHead(200, {
 				'Access-Control-Allow-Origin': RocketChat.settings.get('API_CORS_Origin'),
-				'Access-Control-Allow-Headers': 'Origin, X-Requested-With, Content-Type, Accept, X-User-Id, X-Auth-Token',
+				'Access-Control-Allow-Headers': 'Origin, X-Requested-With, Content-Type, Accept, X-User-Id, X-Auth-Token, x-visitor-token',
 			});
 		} else {
 			this.response.writeHead(405);
diff --git a/packages/rocketchat-api/server/default/info.js b/packages/rocketchat-api/server/default/info.js
index 2e0957049efa066cc0501363c7f1898110d4c01c..97b372dd42ad69f6b321914825e547a04c3fd634 100644
--- a/packages/rocketchat-api/server/default/info.js
+++ b/packages/rocketchat-api/server/default/info.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.API.default.addRoute('info', { authRequired: false }, {
 	get() {
 		const user = this.getLoggedInUser();
diff --git a/packages/rocketchat-api/server/helpers/composeRoomWithLastMessage.js b/packages/rocketchat-api/server/helpers/composeRoomWithLastMessage.js
index 34f38bb675a5365355f23c4f6748cc52579aac4b..f9a8e3a702c888012e6f43153dc4b7ed9c49751e 100644
--- a/packages/rocketchat-api/server/helpers/composeRoomWithLastMessage.js
+++ b/packages/rocketchat-api/server/helpers/composeRoomWithLastMessage.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.API.helperMethods.set('composeRoomWithLastMessage', function _composeRoomWithLastMessage(room, userId) {
 	if (room.lastMessage) {
 		room.lastMessage = RocketChat.composeMessageObjectWithUser(room.lastMessage, userId);
diff --git a/packages/rocketchat-api/server/helpers/deprecationWarning.js b/packages/rocketchat-api/server/helpers/deprecationWarning.js
index 3f7052c3abbcec87e140484cc85e1cc0a3dbbebf..ad2cb11a5131b27696f4e32db7c0ea5afad20119 100644
--- a/packages/rocketchat-api/server/helpers/deprecationWarning.js
+++ b/packages/rocketchat-api/server/helpers/deprecationWarning.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.API.helperMethods.set('deprecationWarning', function _deprecationWarning({ endpoint, versionWillBeRemove, response }) {
 	const warningMessage = `The endpoint "${ endpoint }" is deprecated and will be removed after version ${ versionWillBeRemove }`;
 	console.warn(warningMessage);
diff --git a/packages/rocketchat-api/server/helpers/getLoggedInUser.js b/packages/rocketchat-api/server/helpers/getLoggedInUser.js
index 5126d2b67748c796bd6061203ecdeeeb488a657a..1ff50826b928c9b128737d589c4e19ea39fc0b29 100644
--- a/packages/rocketchat-api/server/helpers/getLoggedInUser.js
+++ b/packages/rocketchat-api/server/helpers/getLoggedInUser.js
@@ -1,3 +1,6 @@
+import { Accounts } from 'meteor/accounts-base';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.API.helperMethods.set('getLoggedInUser', function _getLoggedInUser() {
 	let user;
 
diff --git a/packages/rocketchat-api/server/helpers/getPaginationItems.js b/packages/rocketchat-api/server/helpers/getPaginationItems.js
index a03e6b47dbde715d507a71b6f2cea612f01b2b5c..f7d3cff75d1ec80f3d94237e911393c741a837df 100644
--- a/packages/rocketchat-api/server/helpers/getPaginationItems.js
+++ b/packages/rocketchat-api/server/helpers/getPaginationItems.js
@@ -1,6 +1,7 @@
 // If the count query param is higher than the "API_Upper_Count_Limit" setting, then we limit that
 // If the count query param isn't defined, then we set it to the "API_Default_Count" setting
 // If the count is zero, then that means unlimited and is only allowed if the setting "API_Allow_Infinite_Count" is true
+import { RocketChat } from 'meteor/rocketchat:lib';
 
 RocketChat.API.helperMethods.set('getPaginationItems', function _getPaginationItems() {
 	const hardUpperLimit = RocketChat.settings.get('API_Upper_Count_Limit') <= 0 ? 100 : RocketChat.settings.get('API_Upper_Count_Limit');
diff --git a/packages/rocketchat-api/server/helpers/getUserFromParams.js b/packages/rocketchat-api/server/helpers/getUserFromParams.js
index b9e918b5943991cb8a200cc5b5e65f8193e9d168..54b884de6059e94053ea15230fb769d687f097d6 100644
--- a/packages/rocketchat-api/server/helpers/getUserFromParams.js
+++ b/packages/rocketchat-api/server/helpers/getUserFromParams.js
@@ -1,4 +1,7 @@
 // Convenience method, almost need to turn it into a middleware of sorts
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.API.helperMethods.set('getUserFromParams', function _getUserFromParams() {
 	const doesntExist = { _doesntExist: true };
 	let user;
diff --git a/packages/rocketchat-api/server/helpers/getUserInfo.js b/packages/rocketchat-api/server/helpers/getUserInfo.js
index 64dee79284ab5677574bf1e95d6ddfe45796ef8f..c573a336ddd1a1544020dcd08b51ace017003f1c 100644
--- a/packages/rocketchat-api/server/helpers/getUserInfo.js
+++ b/packages/rocketchat-api/server/helpers/getUserInfo.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 const getInfoFromUserObject = (user) => {
 	const {
 		_id,
diff --git a/packages/rocketchat-api/server/helpers/insertUserObject.js b/packages/rocketchat-api/server/helpers/insertUserObject.js
index 0011c292dcadcc151f86e1259065690998d28568..dfa6322099b92aba9017861e37b1556b3c23ed0e 100644
--- a/packages/rocketchat-api/server/helpers/insertUserObject.js
+++ b/packages/rocketchat-api/server/helpers/insertUserObject.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.API.helperMethods.set('insertUserObject', function _addUserToObject({ object, userId }) {
 	const user = RocketChat.models.Users.findOneById(userId);
 	object.user = { };
diff --git a/packages/rocketchat-api/server/helpers/isUserFromParams.js b/packages/rocketchat-api/server/helpers/isUserFromParams.js
index 194011d93d917ba8ebc365a11602fd54d61ace69..79f3b90f3aef78c1f0874304c2987d28ba2dde12 100644
--- a/packages/rocketchat-api/server/helpers/isUserFromParams.js
+++ b/packages/rocketchat-api/server/helpers/isUserFromParams.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.API.helperMethods.set('isUserFromParams', function _isUserFromParams() {
 	const params = this.requestParams();
 
diff --git a/packages/rocketchat-api/server/helpers/parseJsonQuery.js b/packages/rocketchat-api/server/helpers/parseJsonQuery.js
index 64b22724cdf8f2bfe8e2cff759c822d597bcbe22..4de02de2fa0ed86a7b0226bf29132ad445c70f42 100644
--- a/packages/rocketchat-api/server/helpers/parseJsonQuery.js
+++ b/packages/rocketchat-api/server/helpers/parseJsonQuery.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.API.helperMethods.set('parseJsonQuery', function _parseJsonQuery() {
 	let sort;
 	if (this.queryParams.sort) {
diff --git a/packages/rocketchat-api/server/helpers/requestParams.js b/packages/rocketchat-api/server/helpers/requestParams.js
index aa4290c00b6d59332b6bdc2f5afd4519f52f470d..fe70278dd46374ae4a8b78d3143bb8184e3c4609 100644
--- a/packages/rocketchat-api/server/helpers/requestParams.js
+++ b/packages/rocketchat-api/server/helpers/requestParams.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.API.helperMethods.set('requestParams', function _requestParams() {
 	return ['POST', 'PUT'].includes(this.request.method) ? this.bodyParams : this.queryParams;
 });
diff --git a/packages/rocketchat-api/server/index.js b/packages/rocketchat-api/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..f85e14c773dcd9f65add5544b0b0540daedccd6c
--- /dev/null
+++ b/packages/rocketchat-api/server/index.js
@@ -0,0 +1,31 @@
+import './settings';
+import './api';
+import './helpers/composeRoomWithLastMessage';
+import './helpers/deprecationWarning';
+import './helpers/getLoggedInUser';
+import './helpers/getPaginationItems';
+import './helpers/getUserFromParams';
+import './helpers/getUserInfo';
+import './helpers/insertUserObject';
+import './helpers/isUserFromParams';
+import './helpers/parseJsonQuery';
+import './helpers/requestParams';
+import './default/info';
+import './v1/assets';
+import './v1/channels';
+import './v1/chat';
+import './v1/commands';
+import './v1/e2e';
+import './v1/emoji-custom';
+import './v1/groups';
+import './v1/im';
+import './v1/integrations';
+import './v1/misc';
+import './v1/permissions';
+import './v1/push';
+import './v1/roles';
+import './v1/rooms';
+import './v1/settings';
+import './v1/stats';
+import './v1/subscriptions';
+import './v1/users';
diff --git a/packages/rocketchat-api/server/settings.js b/packages/rocketchat-api/server/settings.js
index 53f021f789c709e62782e53df09f019034f33422..6b4c06e7a83a8c9053c9a3f50fe514b62738ac7e 100644
--- a/packages/rocketchat-api/server/settings.js
+++ b/packages/rocketchat-api/server/settings.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.settings.addGroup('General', function() {
 	this.section('REST API', function() {
 		this.add('API_Upper_Count_Limit', 100, { type: 'int', public: false });
diff --git a/packages/rocketchat-api/server/v1/assets.js b/packages/rocketchat-api/server/v1/assets.js
index 9a475fbe6b1ba246e3fdb13f73bade28523df7c5..774ee3c8d58f0323f65708761ec60c6c7f733162 100644
--- a/packages/rocketchat-api/server/v1/assets.js
+++ b/packages/rocketchat-api/server/v1/assets.js
@@ -1,4 +1,6 @@
+import { Meteor } from 'meteor/meteor';
 import Busboy from 'busboy';
+import { RocketChat } from 'meteor/rocketchat:lib';
 
 RocketChat.API.v1.addRoute('assets.setAsset', { authRequired: true }, {
 	post() {
diff --git a/packages/rocketchat-api/server/v1/channels.js b/packages/rocketchat-api/server/v1/channels.js
index 2a6416650b8c127438f1bfe45dcc8f58d256ee6b..6332e0ef840ef4c2b4129ac71ebc38854b44ab8f 100644
--- a/packages/rocketchat-api/server/v1/channels.js
+++ b/packages/rocketchat-api/server/v1/channels.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
 import _ from 'underscore';
 
 // Returns the channel IF found otherwise it will return the failure of why it didn't. Check the `statusCode` property
diff --git a/packages/rocketchat-api/server/v1/chat.js b/packages/rocketchat-api/server/v1/chat.js
index 1d3e8621cad52c0d443ea5ade1c00d3a34d888a5..d6efe9b1af52484acad41285a29a5a4c51e0227d 100644
--- a/packages/rocketchat-api/server/v1/chat.js
+++ b/packages/rocketchat-api/server/v1/chat.js
@@ -1,4 +1,7 @@
-/* global processWebhookMessage */
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { Match, check } from 'meteor/check';
+import { processWebhookMessage } from 'meteor/rocketchat:integrations';
 
 RocketChat.API.v1.addRoute('chat.delete', { authRequired: true }, {
 	post() {
@@ -18,7 +21,7 @@ RocketChat.API.v1.addRoute('chat.delete', { authRequired: true }, {
 			return RocketChat.API.v1.failure('The room id provided does not match where the message is from.');
 		}
 
-		if (this.bodyParams.asUser && msg.u._id !== this.userId && !RocketChat.authz.hasPermission(Meteor.userId(), 'force-delete-message', msg.rid)) {
+		if (this.bodyParams.asUser && msg.u._id !== this.userId && !RocketChat.authz.hasPermission(this.userId, 'force-delete-message', msg.rid)) {
 			return RocketChat.API.v1.failure('Unauthorized. You must have the permission "force-delete-message" to delete other\'s message as them.');
 		}
 
diff --git a/packages/rocketchat-api/server/v1/commands.js b/packages/rocketchat-api/server/v1/commands.js
index 2d4b8a4e04791b12b2aa15f293cf0b35f4d9b661..bfac0b17d5aa023ba85b880209512627b8770ef1 100644
--- a/packages/rocketchat-api/server/v1/commands.js
+++ b/packages/rocketchat-api/server/v1/commands.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { Random } from 'meteor/random';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.API.v1.addRoute('commands.get', { authRequired: true }, {
 	get() {
 		const params = this.queryParams;
diff --git a/packages/rocketchat-api/server/v1/e2e.js b/packages/rocketchat-api/server/v1/e2e.js
index eb180cb1283abc8d7e950266d9bd850482948e0b..f21f55e6e294626439d35416ee49c9d372db5cb0 100644
--- a/packages/rocketchat-api/server/v1/e2e.js
+++ b/packages/rocketchat-api/server/v1/e2e.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.API.v1.addRoute('e2e.fetchMyKeys', { authRequired: true }, {
 	get() {
 		let result;
diff --git a/packages/rocketchat-api/server/v1/emoji-custom.js b/packages/rocketchat-api/server/v1/emoji-custom.js
index de05c96412cd3e42b6d9750fc3b85c1b56b57637..e8041e0a62911fa0703aac81afa07d30d4fa65d9 100644
--- a/packages/rocketchat-api/server/v1/emoji-custom.js
+++ b/packages/rocketchat-api/server/v1/emoji-custom.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.API.v1.addRoute('emoji-custom', { authRequired: true }, {
 	get() {
 		const emojis = Meteor.call('listEmojiCustom');
diff --git a/packages/rocketchat-api/server/v1/groups.js b/packages/rocketchat-api/server/v1/groups.js
index bfb6c67fc96b14b70476a0a505d8ea5a40d981d7..fc5430c1f6ce1a7c68ec79891f519a9810ecfd55 100644
--- a/packages/rocketchat-api/server/v1/groups.js
+++ b/packages/rocketchat-api/server/v1/groups.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
 import _ from 'underscore';
 
 // Returns the private group subscription IF found otherwise it will return the failure of why it didn't. Check the `statusCode` property
@@ -149,10 +151,8 @@ RocketChat.API.v1.addRoute('groups.counters', { authRequired: true }, {
 		const lm = room.lm ? room.lm : room._updatedAt;
 
 		if (typeof subscription !== 'undefined' && subscription.open) {
-			if (subscription.ls) {
-				unreads = RocketChat.models.Messages.countVisibleByRoomIdBetweenTimestampsInclusive(subscription.rid, subscription.ls, lm);
-				unreadsFrom = subscription.ls;
-			}
+			unreads = RocketChat.models.Messages.countVisibleByRoomIdBetweenTimestampsInclusive(subscription.rid, (subscription.ls || subscription.ts), lm);
+			unreadsFrom = subscription.ls || subscription.ts;
 			userMentions = subscription.userMentions;
 			joined = true;
 		}
diff --git a/packages/rocketchat-api/server/v1/im.js b/packages/rocketchat-api/server/v1/im.js
index 35ad3849d9dbd68c0ecde52b7fa5caea13f9f9bd..f560bed0449e58ceac4fbc4f60e6b36cd49b5cb8 100644
--- a/packages/rocketchat-api/server/v1/im.js
+++ b/packages/rocketchat-api/server/v1/im.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 function findDirectMessageRoom(params, user) {
 	if ((!params.roomId || !params.roomId.trim()) && (!params.username || !params.username.trim())) {
 		throw new Meteor.Error('error-room-param-not-provided', 'Body param "roomId" or "username" is required');
diff --git a/packages/rocketchat-api/server/v1/integrations.js b/packages/rocketchat-api/server/v1/integrations.js
index f0f6db93cfd7aac0127913306d533651e1fe1c41..8b47074daa6aeb28405b259ddfed16534b3dd384 100644
--- a/packages/rocketchat-api/server/v1/integrations.js
+++ b/packages/rocketchat-api/server/v1/integrations.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.API.v1.addRoute('integrations.create', { authRequired: true }, {
 	post() {
 		check(this.bodyParams, Match.ObjectIncluding({
diff --git a/packages/rocketchat-api/server/v1/misc.js b/packages/rocketchat-api/server/v1/misc.js
index d29c230b2d966aad38ec25a59847fb9a30f858c8..97efb021f569cf3af2eb53f0b45d33e68314b678 100644
--- a/packages/rocketchat-api/server/v1/misc.js
+++ b/packages/rocketchat-api/server/v1/misc.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+import { TAPi18n } from 'meteor/tap:i18n';
+import { RocketChat } from 'meteor/rocketchat:lib';
 
 RocketChat.API.v1.addRoute('info', { authRequired: false }, {
 	get() {
diff --git a/packages/rocketchat-api/server/v1/permissions.js b/packages/rocketchat-api/server/v1/permissions.js
index 1517a86b7b554ba12c7656f345341c3b7c1068c5..18b8ac69c9883ea8b8a4d218ae7714891fa13aaf 100644
--- a/packages/rocketchat-api/server/v1/permissions.js
+++ b/packages/rocketchat-api/server/v1/permissions.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 /**
 	This API returns all permissions that exists
 	on the server, with respective roles.
diff --git a/packages/rocketchat-api/server/v1/push.js b/packages/rocketchat-api/server/v1/push.js
index c32be4663be21d2958ad236e55363af26c8aac09..50b46f79e62af3871cb56b572a9d490b29d1c28c 100644
--- a/packages/rocketchat-api/server/v1/push.js
+++ b/packages/rocketchat-api/server/v1/push.js
@@ -1,4 +1,7 @@
-/* globals Push */
+import { Meteor } from 'meteor/meteor';
+import { Random } from 'meteor/random';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { Push } from 'meteor/rocketchat:push';
 
 RocketChat.API.v1.addRoute('push.token', { authRequired: true }, {
 	post() {
diff --git a/packages/rocketchat-api/server/v1/roles.js b/packages/rocketchat-api/server/v1/roles.js
index 1172ae7f1551459963cd2e550f21b8b8812ab8db..08addfb62d80fd455b9aafa04a9ac95144464a6e 100644
--- a/packages/rocketchat-api/server/v1/roles.js
+++ b/packages/rocketchat-api/server/v1/roles.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.API.v1.addRoute('roles.list', { authRequired: true }, {
 	get() {
 		const roles = RocketChat.models.Roles.find({}, { fields: { _updatedAt: 0 } }).fetch();
diff --git a/packages/rocketchat-api/server/v1/rooms.js b/packages/rocketchat-api/server/v1/rooms.js
index b758901385a30c463f5f482063f494c963711308..b913fe18ea0e048bbaece87a83c0f4c4f8ef7a84 100644
--- a/packages/rocketchat-api/server/v1/rooms.js
+++ b/packages/rocketchat-api/server/v1/rooms.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { FileUpload } from 'meteor/rocketchat:file-upload';
 import Busboy from 'busboy';
 
 function findRoomByIdOrName({ params, checkedArchived = true }) {
@@ -193,3 +196,24 @@ RocketChat.API.v1.addRoute('rooms.cleanHistory', { authRequired: true }, {
 	},
 });
 
+RocketChat.API.v1.addRoute('rooms.info', { authRequired: true }, {
+	get() {
+		const room = findRoomByIdOrName({ params: this.requestParams() });
+		const { fields } = this.parseJsonQuery();
+		if (!Meteor.call('canAccessRoom', room._id, this.userId, {})) {
+			return RocketChat.API.v1.failure('not-allowed', 'Not Allowed');
+		}
+		return RocketChat.API.v1.success({ room: RocketChat.models.Rooms.findOneByIdOrName(room._id, { fields }) });
+	},
+});
+
+RocketChat.API.v1.addRoute('rooms.leave', { authRequired: true }, {
+	post() {
+		const room = findRoomByIdOrName({ params: this.bodyParams });
+		Meteor.runAsUser(this.userId, () => {
+			Meteor.call('leaveRoom', room._id);
+		});
+
+		return RocketChat.API.v1.success();
+	},
+});
diff --git a/packages/rocketchat-api/server/v1/settings.js b/packages/rocketchat-api/server/v1/settings.js
index 270b396b4a9f57a338c8d1fb4d070622e1ce49f5..3ed2a54e11e87cee78ba26afd7b1fa692ee6c058 100644
--- a/packages/rocketchat-api/server/v1/settings.js
+++ b/packages/rocketchat-api/server/v1/settings.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { ServiceConfiguration } from 'meteor/service-configuration';
 import _ from 'underscore';
 
 // settings endpoints
diff --git a/packages/rocketchat-api/server/v1/stats.js b/packages/rocketchat-api/server/v1/stats.js
index d9ec61b92e684fd33e95e2001149af86a4d37766..d21a1a66174c1bcfc4f2041782935113c0bfe218 100644
--- a/packages/rocketchat-api/server/v1/stats.js
+++ b/packages/rocketchat-api/server/v1/stats.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.API.v1.addRoute('statistics', { authRequired: true }, {
 	get() {
 		let refresh = false;
diff --git a/packages/rocketchat-api/server/v1/subscriptions.js b/packages/rocketchat-api/server/v1/subscriptions.js
index 65d425168af7705e4e11d5e904a7dfc90b846557..9f82c57cf90f9f7a3033d9f27d8c5ae2971422ac 100644
--- a/packages/rocketchat-api/server/v1/subscriptions.js
+++ b/packages/rocketchat-api/server/v1/subscriptions.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.API.v1.addRoute('subscriptions.get', { authRequired: true }, {
 	get() {
 		const { updatedSince } = this.queryParams;
diff --git a/packages/rocketchat-api/server/v1/users.js b/packages/rocketchat-api/server/v1/users.js
index 35a11b8e4f0d084c47759fdcda89469e3b717177..d1e96b8c1f2604a10957f24c102460ecbdaa8995 100644
--- a/packages/rocketchat-api/server/v1/users.js
+++ b/packages/rocketchat-api/server/v1/users.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
+import { TAPi18n } from 'meteor/tap:i18n';
+import { RocketChat } from 'meteor/rocketchat:lib';
 import _ from 'underscore';
 import Busboy from 'busboy';
 
@@ -113,7 +117,8 @@ RocketChat.API.v1.addRoute('users.getPresence', { authRequired: true }, {
 RocketChat.API.v1.addRoute('users.info', { authRequired: true }, {
 	get() {
 		const { username } = this.getUserFromParams();
-
+		const { fields } = this.parseJsonQuery();
+		let user = {};
 		let result;
 		Meteor.runAsUser(this.userId, () => {
 			result = Meteor.call('getFullUserData', { username, limit: 1 });
@@ -123,8 +128,24 @@ RocketChat.API.v1.addRoute('users.info', { authRequired: true }, {
 			return RocketChat.API.v1.failure(`Failed to get the user data for the userId of "${ username }".`);
 		}
 
+		user = result[0];
+		if (fields.userRooms === 1 && RocketChat.authz.hasPermission(this.userId, 'view-other-user-channels')) {
+			user.rooms = RocketChat.models.Subscriptions.findByUserId(this.userId, {
+				fields: {
+					rid: 1,
+					name: 1,
+					t: 1,
+					roles: 1,
+				},
+				sort: {
+					t: 1,
+					name: 1,
+				},
+			}).fetch();
+		}
+
 		return RocketChat.API.v1.success({
-			user: result[0],
+			user,
 		});
 	},
 });
@@ -251,7 +272,8 @@ RocketChat.API.v1.addRoute('users.setAvatar', { authRequired: true }, {
 								if (!user) {
 									return callback(new Meteor.Error('error-invalid-user', 'The optional "userId" or "username" param provided does not match any users'));
 								}
-								if (!RocketChat.authz.hasPermission(this.userId, 'edit-other-user-info')) {
+								const isAnotherUser = this.userId !== user._id;
+								if (isAnotherUser && !RocketChat.authz.hasPermission(this.userId, 'edit-other-user-info')) {
 									return callback(new Meteor.Error('error-not-allowed', 'Not allowed'));
 								}
 							}
@@ -476,8 +498,8 @@ RocketChat.API.v1.addRoute('users.regeneratePersonalAccessToken', { authRequired
 
 RocketChat.API.v1.addRoute('users.getPersonalAccessTokens', { authRequired: true }, {
 	get() {
-		if (!RocketChat.settings.get('API_Enable_Personal_Access_Tokens')) {
-			throw new Meteor.Error('error-personal-access-tokens-are-current-disabled', 'Personal Access Tokens are currently disabled');
+		if (!RocketChat.authz.hasPermission(this.userId, 'create-personal-access-tokens')) {
+			throw new Meteor.Error('not-authorized', 'Not Authorized');
 		}
 		const loginTokens = RocketChat.models.Users.getLoginTokensByUserId(this.userId).fetch()[0];
 		const getPersonalAccessTokens = () => loginTokens.services.resume.loginTokens
diff --git a/packages/rocketchat-apps/client/admin/appInstall.js b/packages/rocketchat-apps/client/admin/appInstall.js
index 498410a3de3c40aa84b0011038a9e2bd16d45f6d..f5e15623ef51aa75067aee0bd2445c16db482cb5 100644
--- a/packages/rocketchat-apps/client/admin/appInstall.js
+++ b/packages/rocketchat-apps/client/admin/appInstall.js
@@ -7,6 +7,9 @@
 // if you're developing it and using a rest api with a particular parameter passed
 // then it will be enabled by default for development reasons. The server prefers a url
 // over the passed in body, so if both are found it will only use the url.
+import { ReactiveVar } from 'meteor/reactive-var';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
 
 Template.appInstall.helpers({
 	appFile() {
diff --git a/packages/rocketchat-apps/client/admin/appLogs.html b/packages/rocketchat-apps/client/admin/appLogs.html
index 431f9a85eef295fb833b9e5eaf77b0d57a2ee336..a41ac81412e7136cad88405207a643ff0741a078 100644
--- a/packages/rocketchat-apps/client/admin/appLogs.html
+++ b/packages/rocketchat-apps/client/admin/appLogs.html
@@ -18,7 +18,7 @@
 					</h2>
 				{{/if}}
 			</header>
-			<div class="content background-transparent-dark">
+			<div class="content">
 				{{#if isReady}}
 					<div class="rocket-form">
 						{{#each log in logs}}
diff --git a/packages/rocketchat-apps/client/admin/appLogs.js b/packages/rocketchat-apps/client/admin/appLogs.js
index 611edd82d01328cc6d2d739ea84e9ac2827f5d71..865bf4dcbfab94a75f10647050844b42f783afda 100644
--- a/packages/rocketchat-apps/client/admin/appLogs.js
+++ b/packages/rocketchat-apps/client/admin/appLogs.js
@@ -1,3 +1,7 @@
+import { ReactiveVar } from 'meteor/reactive-var';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
 import moment from 'moment';
 import hljs from 'highlight.js';
 
diff --git a/packages/rocketchat-apps/client/admin/appManage.js b/packages/rocketchat-apps/client/admin/appManage.js
index 70d984839576c5b7fc56f8449bb8d285b7bf8aea..f47ec13b217f4a0cd2148c900f4599a0aba816a0 100644
--- a/packages/rocketchat-apps/client/admin/appManage.js
+++ b/packages/rocketchat-apps/client/admin/appManage.js
@@ -1,3 +1,9 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
+import { TAPi18next } from 'meteor/tap:i18n';
 import _ from 'underscore';
 import s from 'underscore.string';
 import toastr from 'toastr';
diff --git a/packages/rocketchat-apps/client/admin/appWhatIsIt.js b/packages/rocketchat-apps/client/admin/appWhatIsIt.js
index 969f21b1f5ec9c6eec99dbfeef7f57e95025742f..5da60b4b05b9cb59b386e4cc3578d555af56d81f 100644
--- a/packages/rocketchat-apps/client/admin/appWhatIsIt.js
+++ b/packages/rocketchat-apps/client/admin/appWhatIsIt.js
@@ -1,3 +1,8 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
+
 Template.appWhatIsIt.onCreated(function() {
 	this.isLoading = new ReactiveVar(false);
 	this.hasError = new ReactiveVar(false);
diff --git a/packages/rocketchat-apps/client/admin/apps.js b/packages/rocketchat-apps/client/admin/apps.js
index 5def7c5e4bdd9d7fad4b9774e782fe50dc519a3e..d89aad367b92b81179585c4211aba64fb33e5f84 100644
--- a/packages/rocketchat-apps/client/admin/apps.js
+++ b/packages/rocketchat-apps/client/admin/apps.js
@@ -1,4 +1,7 @@
 import toastr from 'toastr';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
 
 import { AppEvents } from '../communication';
 const ENABLED_STATUS = ['auto_enabled', 'manually_enabled'];
diff --git a/packages/rocketchat-apps/client/communication/websockets.js b/packages/rocketchat-apps/client/communication/websockets.js
index 3152d0d5b2613f67956cab9cccf96193319db668..a43c8312c62a13f782dc5a1e24ea61b4210c056c 100644
--- a/packages/rocketchat-apps/client/communication/websockets.js
+++ b/packages/rocketchat-apps/client/communication/websockets.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 export const AppEvents = Object.freeze({
 	APP_ADDED: 'app/added',
 	APP_REMOVED: 'app/removed',
diff --git a/packages/rocketchat-apps/client/orchestrator.js b/packages/rocketchat-apps/client/orchestrator.js
index 07e01d02068f73443676612b6e0224cd6738cb82..fb85e8da85a647eb6164fc2f14bf4cc22821d3f4 100644
--- a/packages/rocketchat-apps/client/orchestrator.js
+++ b/packages/rocketchat-apps/client/orchestrator.js
@@ -1,5 +1,9 @@
+import { Meteor } from 'meteor/meteor';
 import { AppWebsocketReceiver } from './communication';
 import { Utilities } from '../lib/misc/Utilities';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { BlazeLayout } from 'meteor/kadira:blaze-layout';
+import { TAPi18next } from 'meteor/tap:i18n';
 
 class AppClientOrchestrator {
 	constructor() {
diff --git a/packages/rocketchat-apps/package.js b/packages/rocketchat-apps/package.js
index 434209f023270f25abff0e18e20da8f3d2b0d120..ce67fc50d3a7fc1ef67d14ced7a6aabe73ceb078 100644
--- a/packages/rocketchat-apps/package.js
+++ b/packages/rocketchat-apps/package.js
@@ -11,7 +11,7 @@ Package.onUse(function(api) {
 		'templating',
 	]);
 
-	api.use(['reactive-var', 'kadira:flow-router', 'underscore'], 'client');
+	api.use(['reactive-var', 'kadira:flow-router', 'kadira:blaze-layout', 'underscore'], 'client');
 
 	api.addFiles('lib/Apps.js', ['client', 'server']);
 
diff --git a/packages/rocketchat-apps/server/bridges/api.js b/packages/rocketchat-apps/server/bridges/api.js
index 2d275cd4a9d1cb24e30ba8eefdbee313a02bc08c..346e574ee586aa72f3a9eaaf0e03dbf863af6b73 100644
--- a/packages/rocketchat-apps/server/bridges/api.js
+++ b/packages/rocketchat-apps/server/bridges/api.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import express from 'express';
 import { WebApp } from 'meteor/webapp';
 
diff --git a/packages/rocketchat-apps/server/bridges/commands.js b/packages/rocketchat-apps/server/bridges/commands.js
index 381179dfd6ec30d236112f78a819071db2ab0481..cc59dea6834634028fc8b6291aa550d7a54225ba 100644
--- a/packages/rocketchat-apps/server/bridges/commands.js
+++ b/packages/rocketchat-apps/server/bridges/commands.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import { SlashCommandContext } from '@rocket.chat/apps-engine/definition/slashcommands';
 import { Utilities } from '../../lib/misc/Utilities';
 
diff --git a/packages/rocketchat-apps/server/bridges/http.js b/packages/rocketchat-apps/server/bridges/http.js
index 4d32f265950d6f087656b2c34831867ad82f8dd7..dcb51ec6ce9c2baad80efc99fa02a505f41a30b0 100644
--- a/packages/rocketchat-apps/server/bridges/http.js
+++ b/packages/rocketchat-apps/server/bridges/http.js
@@ -1,3 +1,5 @@
+import { HTTP } from 'meteor/http';
+
 export class AppHttpBridge {
 	async call(info) {
 		if (!info.request.content && typeof info.request.data === 'object') {
diff --git a/packages/rocketchat-apps/server/bridges/messages.js b/packages/rocketchat-apps/server/bridges/messages.js
index 82ad9c58ae4b20ff2a25764e67574a22947afa74..de3b0a89d9ca7ec14028bb8c056c1326e28460a0 100644
--- a/packages/rocketchat-apps/server/bridges/messages.js
+++ b/packages/rocketchat-apps/server/bridges/messages.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Random } from 'meteor/random';
+
 export class AppMessageBridge {
 	constructor(orch) {
 		this.orch = orch;
diff --git a/packages/rocketchat-apps/server/bridges/persistence.js b/packages/rocketchat-apps/server/bridges/persistence.js
index e65fd609a6e27cecec785657f2349c1d0c7250b0..9119807a708d24b380099375efe502c1b085e8fe 100644
--- a/packages/rocketchat-apps/server/bridges/persistence.js
+++ b/packages/rocketchat-apps/server/bridges/persistence.js
@@ -92,4 +92,19 @@ export class AppPersistenceBridge {
 
 		throw new Error('Not implemented.');
 	}
+
+	async updateByAssociation(association, data, upsert, appId) {
+		console.log(`The App ${ appId } is updating the record with association to data as follows:`, association, data);
+
+		if (typeof data !== 'object') {
+			throw new Error('Attempted to store an invalid data type, it must be an object.');
+		}
+
+		const query = {
+			appId,
+			associations: association,
+		};
+
+		return this.orch.getPersistenceModel().upsert(query, { $set: { data } }, { upsert });
+	}
 }
diff --git a/packages/rocketchat-apps/server/bridges/rooms.js b/packages/rocketchat-apps/server/bridges/rooms.js
index 873e279dc5baceec2ef975c073b04466fbb282e7..9ae44a58720010bbd4a5cfcf99de0fa02bd89aae 100644
--- a/packages/rocketchat-apps/server/bridges/rooms.js
+++ b/packages/rocketchat-apps/server/bridges/rooms.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import { RoomType } from '@rocket.chat/apps-engine/definition/rooms';
 
 export class AppRoomBridge {
@@ -18,8 +19,11 @@ export class AppRoomBridge {
 			case RoomType.PRIVATE_GROUP:
 				method = 'createPrivateGroup';
 				break;
+			case RoomType.DIRECT_MESSAGE:
+				method = 'createDirectMessage';
+				break;
 			default:
-				throw new Error('Only channels and private groups can be created.');
+				throw new Error('Only channels, private groups and direct messages can be created.');
 		}
 
 		let rid;
@@ -29,7 +33,13 @@ export class AppRoomBridge {
 			delete extraData.t;
 			delete extraData.ro;
 			delete extraData.customFields;
-			const info = Meteor.call(method, rcRoom.name, members, rcRoom.ro, rcRoom.customFields, extraData);
+			let info;
+			if (room.type === RoomType.DIRECT_MESSAGE) {
+				members.splice(members.indexOf(room.creator.username), 1);
+				info = Meteor.call(method, members[0]);
+			} else {
+				info = Meteor.call(method, rcRoom.name, members, rcRoom.ro, rcRoom.customFields, extraData);
+			}
 			rid = info.rid;
 		});
 
@@ -72,6 +82,21 @@ export class AppRoomBridge {
 		return this.orch.getConverters().get('users').convertById(room.u._id);
 	}
 
+	async getMembers(roomId, appId) {
+		console.log(`The App ${ appId } is getting the room's members by room id: "${ roomId }"`);
+		const subscriptions = await RocketChat.models.Subscriptions.findByRoomId(roomId);
+		return subscriptions.map((sub) => this.orch.getConverters().get('users').convertById(sub.u && sub.u._id));
+	}
+
+	async getDirectByUsernames(usernames, appId) {
+		console.log(`The App ${ appId } is getting direct room by usernames: "${ usernames }"`);
+		const room = await RocketChat.models.Rooms.findDirectRoomContainingAllUsernames(usernames);
+		if (!room) {
+			return undefined;
+		}
+		return this.orch.getConverters().get('rooms').convertRoom(room);
+	}
+
 	async update(room, members = [], appId) {
 		console.log(`The App ${ appId } is updating a room.`);
 
diff --git a/packages/rocketchat-apps/server/communication/methods.js b/packages/rocketchat-apps/server/communication/methods.js
index ae32a126bb50dfa0f28a5e34b401509e0d550cb6..1f67d6e77d79a039a55c089cefca5f72caff8158 100644
--- a/packages/rocketchat-apps/server/communication/methods.js
+++ b/packages/rocketchat-apps/server/communication/methods.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 const waitToLoad = function(orch) {
 	return new Promise((resolve) => {
 		let id = setInterval(() => {
diff --git a/packages/rocketchat-apps/server/communication/rest.js b/packages/rocketchat-apps/server/communication/rest.js
index 2c0d4deb1c51d6d1266c91cb616df18332b7f772..68d30c1bf4706f29741ae2476999c85ee1a60e1f 100644
--- a/packages/rocketchat-apps/server/communication/rest.js
+++ b/packages/rocketchat-apps/server/communication/rest.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { HTTP } from 'meteor/http';
 import Busboy from 'busboy';
 
 export class AppsRestApi {
diff --git a/packages/rocketchat-apps/server/communication/websockets.js b/packages/rocketchat-apps/server/communication/websockets.js
index 436012d1e0fdfa29f97250f033d1c76d0d6f8e08..94b9c22765a76e1f188fadbb91451a161c9f5333 100644
--- a/packages/rocketchat-apps/server/communication/websockets.js
+++ b/packages/rocketchat-apps/server/communication/websockets.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import { AppStatus, AppStatusUtils } from '@rocket.chat/apps-engine/definition/AppStatus';
 
 export const AppEvents = Object.freeze({
diff --git a/packages/rocketchat-apps/server/converters/messages.js b/packages/rocketchat-apps/server/converters/messages.js
index e1bbc5a9b88cf39705537448d5e8f1e88feb118a..d53cc5d297bbd8517b56148798fdf82167c88c37 100644
--- a/packages/rocketchat-apps/server/converters/messages.js
+++ b/packages/rocketchat-apps/server/converters/messages.js
@@ -1,3 +1,5 @@
+import { Random } from 'meteor/random';
+
 export class AppMessagesConverter {
 	constructor(orch) {
 		this.orch = orch;
diff --git a/packages/rocketchat-apps/server/orchestrator.js b/packages/rocketchat-apps/server/orchestrator.js
index 840bc775bab9c9b0e11f096b5f936e2408ae88b3..b8dd4e494cf9df8eb5b46ba33a514173e6cbb22a 100644
--- a/packages/rocketchat-apps/server/orchestrator.js
+++ b/packages/rocketchat-apps/server/orchestrator.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import { RealAppBridges } from './bridges';
 import { AppMethods, AppsRestApi, AppServerNotifier } from './communication';
 import { AppMessagesConverter, AppRoomsConverter, AppSettingsConverter, AppUsersConverter } from './converters';
diff --git a/packages/rocketchat-assets/package.js b/packages/rocketchat-assets/package.js
index be683753e1d7cc46e71bb0d6668602f5df4392da..79b76ed1c1c822131b79ff19c57b780d20b6bace 100644
--- a/packages/rocketchat-assets/package.js
+++ b/packages/rocketchat-assets/package.js
@@ -14,5 +14,5 @@ Package.onUse(function(api) {
 		'webapp-hashing',
 	]);
 
-	api.addFiles('server/assets.js', 'server');
+	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/rocketchat-assets/server/assets.js b/packages/rocketchat-assets/server/assets.js
index 7d48f7b7ebe9db9ac29a20f382a7f2279d1878bf..7f41d6624b2d8277b490c5e2452aade1aaea29cf 100644
--- a/packages/rocketchat-assets/server/assets.js
+++ b/packages/rocketchat-assets/server/assets.js
@@ -1,6 +1,10 @@
-/* global WebAppHashing, WebAppInternals */
+import { Meteor } from 'meteor/meteor';
+import { WebApp } from 'meteor/webapp';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { RocketChatFile } from 'meteor/rocketchat:file';
+import { WebAppHashing } from 'meteor/webapp-hashing';
+import { WebAppInternals } from 'meteor/webapp';
 import _ from 'underscore';
-
 import sizeOf from 'image-size';
 import mime from 'mime-type/with-db';
 import crypto from 'crypto';
@@ -390,8 +394,6 @@ WebAppHashing.calculateClientHash = function(manifest, includeFilter, runtimeCon
 				size: value.cache.size,
 				hash: value.cache.hash,
 			};
-			WebAppInternals.staticFiles[`/__cordova/assets/${ key }`] = value.cache;
-			WebAppInternals.staticFiles[`/__cordova/assets/${ key }.${ value.cache.extension }`] = value.cache;
 		} else {
 			const extension = value.defaultUrl.split('.').pop();
 			cache = {
@@ -403,9 +405,6 @@ WebAppHashing.calculateClientHash = function(manifest, includeFilter, runtimeCon
 				url: `/assets/${ key }.${ extension }?v3`,
 				hash: 'v3',
 			};
-
-			WebAppInternals.staticFiles[`/__cordova/assets/${ key }`] = WebAppInternals.staticFiles[`/__cordova/${ value.defaultUrl }`];
-			WebAppInternals.staticFiles[`/__cordova/assets/${ key }.${ extension }`] = WebAppInternals.staticFiles[`/__cordova/${ value.defaultUrl }`];
 		}
 
 		const manifestItem = _.findWhere(manifest, {
diff --git a/packages/rocketchat-assets/server/index.js b/packages/rocketchat-assets/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..5b8e85c9ffd47d92be4f4b5753eaeb19d4d6fe70
--- /dev/null
+++ b/packages/rocketchat-assets/server/index.js
@@ -0,0 +1 @@
+import './assets';
diff --git a/packages/rocketchat-authorization/client/hasPermission.js b/packages/rocketchat-authorization/client/hasPermission.js
index 134a014e34a4cf7b84a571d962053886b1aba914..ca714683ff6efd69eb4b063bf7f6048674580418 100644
--- a/packages/rocketchat-authorization/client/hasPermission.js
+++ b/packages/rocketchat-authorization/client/hasPermission.js
@@ -1,4 +1,7 @@
-/* globals ChatPermissions */
+import { Meteor } from 'meteor/meteor';
+import { Template } from 'meteor/templating';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { ChatPermissions } from './lib/ChatPermissions';
 
 function atLeastOne(permissions = [], scope) {
 	return permissions.some((permissionId) => {
@@ -52,7 +55,8 @@ RocketChat.authz.hasAllPermission = function(permissions, scope) {
 	return hasPermission(permissions, scope, all);
 };
 
+RocketChat.authz.hasPermission = RocketChat.authz.hasAllPermission;
+
 RocketChat.authz.hasAtLeastOnePermission = function(permissions, scope) {
 	return hasPermission(permissions, scope, atLeastOne);
 };
-
diff --git a/packages/rocketchat-authorization/client/hasRole.js b/packages/rocketchat-authorization/client/hasRole.js
index 858662b46c68e7b24027fa481a36f398f1b44d5c..60a3b0e568009065ad9a372b3751645cecff59f6 100644
--- a/packages/rocketchat-authorization/client/hasRole.js
+++ b/packages/rocketchat-authorization/client/hasRole.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.authz.hasRole = function(userId, roleNames, scope) {
 	roleNames = [].concat(roleNames);
 	return RocketChat.models.Roles.isUserInRoles(userId, roleNames, scope);
diff --git a/packages/rocketchat-authorization/client/index.js b/packages/rocketchat-authorization/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..0b25a1de8336ccf1241be11c2228c89c73b92a5c
--- /dev/null
+++ b/packages/rocketchat-authorization/client/index.js
@@ -0,0 +1,15 @@
+import './stylesheets/permissions.css';
+import '../lib/rocketchat';
+import './lib/models/Roles';
+import './lib/models/Users';
+import './lib/models/Subscriptions';
+import './hasPermission';
+import './hasRole';
+import './usersNameChanged';
+import './requiresPermission.html';
+import './route';
+import './startup';
+import './views/permissions.html';
+import './views/permissions';
+import './views/permissionsRole.html';
+import './views/permissionsRole';
diff --git a/packages/rocketchat-authorization/client/lib/ChatPermissions.js b/packages/rocketchat-authorization/client/lib/ChatPermissions.js
index 9812e4de42b51f94cf9ca50601accbe6c443412f..7c6c0dbd41e2fc32ca36e5626e525a6c7c112889 100644
--- a/packages/rocketchat-authorization/client/lib/ChatPermissions.js
+++ b/packages/rocketchat-authorization/client/lib/ChatPermissions.js
@@ -1,6 +1,8 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.authz.cachedCollection = new RocketChat.CachedCollection({
 	name: 'permissions',
 	eventType: 'onLogged',
 });
 
-this.ChatPermissions = RocketChat.authz.cachedCollection.collection;
+export const ChatPermissions = RocketChat.authz.cachedCollection.collection;
diff --git a/packages/rocketchat-authorization/client/lib/models/Roles.js b/packages/rocketchat-authorization/client/lib/models/Roles.js
index f00332c0aba92ec2778620139daafcb7b6d34132..e98dd63d5aebe98a4245c2b82280da0f1eff5f64 100644
--- a/packages/rocketchat-authorization/client/lib/models/Roles.js
+++ b/packages/rocketchat-authorization/client/lib/models/Roles.js
@@ -1,3 +1,6 @@
+import { Mongo } from 'meteor/mongo';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.models.Roles = new Mongo.Collection('rocketchat_roles');
 
 Object.assign(RocketChat.models.Roles, {
diff --git a/packages/rocketchat-authorization/client/lib/models/Subscriptions.js b/packages/rocketchat-authorization/client/lib/models/Subscriptions.js
index 3ed954b0fff7ca64c1bed1c4ff540778626ff73d..341bf0a33ac748a635c0f37f6045f82b695c01e1 100644
--- a/packages/rocketchat-authorization/client/lib/models/Subscriptions.js
+++ b/packages/rocketchat-authorization/client/lib/models/Subscriptions.js
@@ -1,3 +1,4 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
 import _ from 'underscore';
 
 if (_.isUndefined(RocketChat.models.Subscriptions)) {
diff --git a/packages/rocketchat-authorization/client/lib/models/Users.js b/packages/rocketchat-authorization/client/lib/models/Users.js
index 56a7adbc6697db310566c50683cf24fca1e85493..632ec2e93e71a4f5cbe3d8673005668bd48b8a69 100644
--- a/packages/rocketchat-authorization/client/lib/models/Users.js
+++ b/packages/rocketchat-authorization/client/lib/models/Users.js
@@ -1,3 +1,4 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
 import _ from 'underscore';
 
 if (_.isUndefined(RocketChat.models.Users)) {
diff --git a/packages/rocketchat-authorization/client/route.js b/packages/rocketchat-authorization/client/route.js
index f4fa37fe019532a05d423c3ebd350f03c1be3bab..b13310db167f587e3ed6328f3e343c9209e414df 100644
--- a/packages/rocketchat-authorization/client/route.js
+++ b/packages/rocketchat-authorization/client/route.js
@@ -1,3 +1,7 @@
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { BlazeLayout } from 'meteor/kadira:blaze-layout';
+import { t } from 'meteor/rocketchat:ui';
+
 FlowRouter.route('/admin/permissions', {
 	name: 'admin-permissions',
 	action(/* params*/) {
diff --git a/packages/rocketchat-authorization/client/startup.js b/packages/rocketchat-authorization/client/startup.js
index 0b3fea3f86f45562064b9465cb7f6e06cbde5a4e..40ded90ac716113c1f57405ff88da83902b40a5a 100644
--- a/packages/rocketchat-authorization/client/startup.js
+++ b/packages/rocketchat-authorization/client/startup.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.CachedCollectionManager.onLogin(() => {
 	Meteor.subscribe('roles');
 });
diff --git a/packages/rocketchat-authorization/client/usersNameChanged.js b/packages/rocketchat-authorization/client/usersNameChanged.js
index 720577e05d0b82a24f908bc4dbee1aeba5c2b18a..0c632b888b54eb31b267110389c52d7cd80dcf77 100644
--- a/packages/rocketchat-authorization/client/usersNameChanged.js
+++ b/packages/rocketchat-authorization/client/usersNameChanged.js
@@ -1,4 +1,7 @@
-/* globals RoomRoles */
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { RoomRoles } from 'meteor/rocketchat:ui';
+
 Meteor.startup(function() {
 	RocketChat.Notifications.onLogged('Users:NameChanged', function({ _id, name }) {
 		RoomRoles.update({
diff --git a/packages/rocketchat-authorization/client/views/permissions.js b/packages/rocketchat-authorization/client/views/permissions.js
index 5bb5c204c20cd645794599fe9a4ac0f122218bc0..23c0aefe74a9a6cf18a2506a248c85a2ea3bb8ed 100644
--- a/packages/rocketchat-authorization/client/views/permissions.js
+++ b/packages/rocketchat-authorization/client/views/permissions.js
@@ -1,4 +1,9 @@
-/* globals ChatPermissions */
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Tracker } from 'meteor/tracker';
+import { Template } from 'meteor/templating';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { ChatPermissions } from '../lib/ChatPermissions';
 
 Template.permissions.helpers({
 	role() {
diff --git a/packages/rocketchat-authorization/client/views/permissionsRole.js b/packages/rocketchat-authorization/client/views/permissionsRole.js
index 9b3401861235fcd69b07f44fded22b8f0b6a3655..779b29b74d8bc128aa51d5524d4c2e1368e3b70f 100644
--- a/packages/rocketchat-authorization/client/views/permissionsRole.js
+++ b/packages/rocketchat-authorization/client/views/permissionsRole.js
@@ -1,3 +1,10 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
+import { t, modal } from 'meteor/rocketchat:ui';
+import { RocketChat, handleError } from 'meteor/rocketchat:lib';
+
 import toastr from 'toastr';
 
 Template.permissionsRole.helpers({
diff --git a/packages/rocketchat-authorization/lib/rocketchat.js b/packages/rocketchat-authorization/lib/rocketchat.js
index 6445a1b8b5f09e135d6431ae8629b408f8d89793..29a3b64f00638143ea243619a9ba706753ad71b3 100644
--- a/packages/rocketchat-authorization/lib/rocketchat.js
+++ b/packages/rocketchat-authorization/lib/rocketchat.js
@@ -1 +1,3 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.authz = {};
diff --git a/packages/rocketchat-authorization/package.js b/packages/rocketchat-authorization/package.js
index 94e59df87e2f3be89ea03ca1a09f3d37c571c1bd..99875f5452a85fb852537ac9558eb6cbd0c259ac 100644
--- a/packages/rocketchat-authorization/package.js
+++ b/packages/rocketchat-authorization/package.js
@@ -10,64 +10,15 @@ Package.onUse(function(api) {
 	api.use([
 		'ecmascript',
 		'rocketchat:lib',
+		'mongo',
 	]);
-
-	api.use('mongo', ['client', 'server']);
-	api.use('kadira:flow-router', 'client');
-	api.use('tracker', 'client');
-
-	api.use('templating', 'client');
-
-	api.addFiles('lib/rocketchat.js', ['server', 'client']);
-
-	api.addFiles('client/lib/ChatPermissions.js', ['client']);
-	api.addFiles('client/lib/models/Roles.js', ['client']);
-	api.addFiles('client/lib/models/Users.js', ['client']);
-	api.addFiles('client/lib/models/Subscriptions.js', ['client']);
-
-	api.addFiles('client/startup.js', ['client']);
-	api.addFiles('client/hasPermission.js', ['client']);
-	api.addFiles('client/hasRole.js', ['client']);
-	api.addFiles('client/requiresPermission.html', ['client']);
-
-	api.addFiles('client/route.js', ['client']);
-	api.addFiles('client/usersNameChanged.js', ['client']);
-
-	// views
-	api.addFiles('client/views/permissions.html', ['client']);
-	api.addFiles('client/views/permissions.js', ['client']);
-	api.addFiles('client/views/permissionsRole.html', ['client']);
-	api.addFiles('client/views/permissionsRole.js', ['client']);
-
-	// stylesheets
-	api.addFiles('client/stylesheets/permissions.css', 'client');
-
-	api.addFiles('server/models/Permissions.js', ['server']);
-	api.addFiles('server/models/Roles.js', ['server']);
-	api.addFiles('server/models/Base.js', ['server']);
-	api.addFiles('server/models/Users.js', ['server']);
-	api.addFiles('server/models/Subscriptions.js', ['server']);
-
-	api.addFiles('server/functions/addUserRoles.js', ['server']);
-	api.addFiles('server/functions/canAccessRoom.js', ['server']);
-	api.addFiles('server/functions/getRoles.js', ['server']);
-	api.addFiles('server/functions/getUsersInRole.js', ['server']);
-	api.addFiles('server/functions/hasPermission.js', ['server']);
-	api.addFiles('server/functions/hasRole.js', ['server']);
-	api.addFiles('server/functions/removeUserFromRoles.js', ['server']);
-
-	// publications
-	api.addFiles('server/publications/permissions.js', 'server');
-	api.addFiles('server/publications/roles.js', 'server');
-	api.addFiles('server/publications/usersInRole.js', 'server');
-
-	// methods
-	api.addFiles('server/methods/addUserToRole.js', 'server');
-	api.addFiles('server/methods/deleteRole.js', 'server');
-	api.addFiles('server/methods/removeUserFromRole.js', 'server');
-	api.addFiles('server/methods/saveRole.js', 'server');
-	api.addFiles('server/methods/addPermissionToRole.js', 'server');
-	api.addFiles('server/methods/removeRoleFromPermission.js', 'server');
-
-	api.addFiles('server/startup.js', ['server']);
+	api.use([
+		'templating',
+		'tracker',
+		'kadira:flow-router',
+		'kadira:blaze-layout',
+	], 'client');
+
+	api.mainModule('client/index.js', 'client');
+	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/rocketchat-authorization/server/functions/addUserRoles.js b/packages/rocketchat-authorization/server/functions/addUserRoles.js
index 59870b8c8cffc6e5d61cebbc02218e570f6ab1b7..044533078d736aed0c067b00674a8adbfb8b8096 100644
--- a/packages/rocketchat-authorization/server/functions/addUserRoles.js
+++ b/packages/rocketchat-authorization/server/functions/addUserRoles.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
 import _ from 'underscore';
 
 RocketChat.authz.addUserRoles = function(userId, roleNames, scope) {
diff --git a/packages/rocketchat-authorization/server/functions/canAccessRoom.js b/packages/rocketchat-authorization/server/functions/canAccessRoom.js
index 3d0e1eb0f6eeb74eebf65242834d444f38c256be..eb67c5078b879e0d6afe8fa6b66b874a5ded1565 100644
--- a/packages/rocketchat-authorization/server/functions/canAccessRoom.js
+++ b/packages/rocketchat-authorization/server/functions/canAccessRoom.js
@@ -9,22 +9,22 @@ RocketChat.authz.roomAccessValidators = [
 			return RocketChat.authz.hasPermission(user._id, 'view-c-room');
 		}
 	},
-	function(room, user = {}) {
+	function(room, user) {
 		if (!room || !user) {
 			return;
 		}
 
 		const subscription = RocketChat.models.Subscriptions.findOneByRoomIdAndUserId(room._id, user._id);
 		if (subscription) {
-			return RocketChat.models.Rooms.findOneById(subscription.rid);
+			return true;
 		}
 	},
 ];
 
 RocketChat.authz.canAccessRoom = function(room, user, extraData) {
-	return RocketChat.authz.roomAccessValidators.some((validator) => validator.call(this, room, user, extraData));
+	return RocketChat.authz.roomAccessValidators.some((validator) => validator(room, user, extraData));
 };
 
 RocketChat.authz.addRoomAccessValidator = function(validator) {
-	RocketChat.authz.roomAccessValidators.push(validator);
+	RocketChat.authz.roomAccessValidators.push(validator.bind(this));
 };
diff --git a/packages/rocketchat-authorization/server/functions/getRoles.js b/packages/rocketchat-authorization/server/functions/getRoles.js
index 7fe235157f3ecf9769198a3a1c9a0dc5ee360058..eb2bb2846a562b4ee62928b555a6a96ed5dd2e26 100644
--- a/packages/rocketchat-authorization/server/functions/getRoles.js
+++ b/packages/rocketchat-authorization/server/functions/getRoles.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.authz.getRoles = function() {
 	return RocketChat.models.Roles.find().fetch();
 };
diff --git a/packages/rocketchat-authorization/server/functions/getUsersInRole.js b/packages/rocketchat-authorization/server/functions/getUsersInRole.js
index 40d6aedbd95e9e6d4fe3def9d4fac180c67bf5fa..f38e1b90cd0b7e4e8e396c32570e8004948ea598 100644
--- a/packages/rocketchat-authorization/server/functions/getUsersInRole.js
+++ b/packages/rocketchat-authorization/server/functions/getUsersInRole.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.authz.getUsersInRole = function(roleName, scope, options) {
 	return RocketChat.models.Roles.findUsersInRole(roleName, scope, options);
 };
diff --git a/packages/rocketchat-authorization/server/functions/hasPermission.js b/packages/rocketchat-authorization/server/functions/hasPermission.js
index 7c11f9c8447dfb9e3045906d48b117c9ffed62e6..7aee1113ea31b9721a604eb6615c24a270a3299c 100644
--- a/packages/rocketchat-authorization/server/functions/hasPermission.js
+++ b/packages/rocketchat-authorization/server/functions/hasPermission.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 function atLeastOne(userId, permissions = [], scope) {
 	return permissions.some((permissionId) => {
 		const permission = RocketChat.models.Permissions.findOne(permissionId);
@@ -16,16 +18,20 @@ function hasPermission(userId, permissions, scope, strategy) {
 	if (!userId) {
 		return false;
 	}
-
-	permissions = [].concat(permissions);
-	return strategy(userId, permissions, scope);
+	return strategy(userId, [].concat(permissions), scope);
 }
 
 RocketChat.authz.hasAllPermission = function(userId, permissions, scope) {
 	return hasPermission(userId, permissions, scope, all);
 };
 
-RocketChat.authz.hasPermission = RocketChat.authz.hasAllPermission;
+RocketChat.authz.hasPermission = (userId, permissionId, scope) => {
+	if (!userId) {
+		return false;
+	}
+	const permission = RocketChat.models.Permissions.findOne(permissionId);
+	return RocketChat.models.Roles.isUserInRoles(userId, permission.roles, scope);
+};
 
 RocketChat.authz.hasAtLeastOnePermission = function(userId, permissions, scope) {
 	return hasPermission(userId, permissions, scope, atLeastOne);
diff --git a/packages/rocketchat-authorization/server/functions/hasRole.js b/packages/rocketchat-authorization/server/functions/hasRole.js
index 858662b46c68e7b24027fa481a36f398f1b44d5c..60a3b0e568009065ad9a372b3751645cecff59f6 100644
--- a/packages/rocketchat-authorization/server/functions/hasRole.js
+++ b/packages/rocketchat-authorization/server/functions/hasRole.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.authz.hasRole = function(userId, roleNames, scope) {
 	roleNames = [].concat(roleNames);
 	return RocketChat.models.Roles.isUserInRoles(userId, roleNames, scope);
diff --git a/packages/rocketchat-authorization/server/functions/removeUserFromRoles.js b/packages/rocketchat-authorization/server/functions/removeUserFromRoles.js
index d761e60462a314692aee37d72c401bbaa0cedc50..150ebbd61d00912fa6d8c4e00154f4ff2370b104 100644
--- a/packages/rocketchat-authorization/server/functions/removeUserFromRoles.js
+++ b/packages/rocketchat-authorization/server/functions/removeUserFromRoles.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
 import _ from 'underscore';
 
 RocketChat.authz.removeUserFromRoles = function(userId, roleNames, scope) {
diff --git a/packages/rocketchat-authorization/server/index.js b/packages/rocketchat-authorization/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..e44ac205433b3ec6e5b3d620ebd4bd4a1559db25
--- /dev/null
+++ b/packages/rocketchat-authorization/server/index.js
@@ -0,0 +1,24 @@
+import '../lib/rocketchat';
+import './models/Base';
+import './models/Permissions';
+import './models/Roles';
+import './models/Subscriptions';
+import './models/Users';
+import './functions/addUserRoles';
+import './functions/canAccessRoom';
+import './functions/getRoles';
+import './functions/getUsersInRole';
+import './functions/hasPermission';
+import './functions/hasRole';
+import './functions/removeUserFromRoles';
+import './functions/removeUserFromRoles';
+import './methods/addPermissionToRole';
+import './methods/addUserToRole';
+import './methods/deleteRole';
+import './methods/removeRoleFromPermission';
+import './methods/removeUserFromRole';
+import './methods/saveRole';
+import './publications/permissions';
+import './publications/roles';
+import './publications/usersInRole';
+import './startup';
diff --git a/packages/rocketchat-authorization/server/methods/addPermissionToRole.js b/packages/rocketchat-authorization/server/methods/addPermissionToRole.js
index af23e0d0c753d8c2cf854f887d7db483e083f52b..dd41746e94a697f0742423f9d8769682e5711ddc 100644
--- a/packages/rocketchat-authorization/server/methods/addPermissionToRole.js
+++ b/packages/rocketchat-authorization/server/methods/addPermissionToRole.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.methods({
 	'authorization:addPermissionToRole'(permission, role) {
 		if (!Meteor.userId() || !RocketChat.authz.hasPermission(Meteor.userId(), 'access-permissions')) {
diff --git a/packages/rocketchat-authorization/server/methods/addUserToRole.js b/packages/rocketchat-authorization/server/methods/addUserToRole.js
index 4efd345e9fa072227cc738b3bf3a300d3fb2e2e2..d76b18d916de98d4e3cd5f6675aaf385369253af 100644
--- a/packages/rocketchat-authorization/server/methods/addUserToRole.js
+++ b/packages/rocketchat-authorization/server/methods/addUserToRole.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
 import _ from 'underscore';
 
 Meteor.methods({
diff --git a/packages/rocketchat-authorization/server/methods/deleteRole.js b/packages/rocketchat-authorization/server/methods/deleteRole.js
index 888a56952f5224d428b8eb45e922b94f4b54b35b..2363cbabf29b7c5efa966c33ab9e37fa6639fe0e 100644
--- a/packages/rocketchat-authorization/server/methods/deleteRole.js
+++ b/packages/rocketchat-authorization/server/methods/deleteRole.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.methods({
 	'authorization:deleteRole'(roleName) {
 		if (!Meteor.userId() || !RocketChat.authz.hasPermission(Meteor.userId(), 'access-permissions')) {
diff --git a/packages/rocketchat-authorization/server/methods/removeRoleFromPermission.js b/packages/rocketchat-authorization/server/methods/removeRoleFromPermission.js
index 5278efc7c302c722c8f8130fe4968cc75eba5acf..ef9c898279aee50b143ccc755f9d6e89cfd061c3 100644
--- a/packages/rocketchat-authorization/server/methods/removeRoleFromPermission.js
+++ b/packages/rocketchat-authorization/server/methods/removeRoleFromPermission.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.methods({
 	'authorization:removeRoleFromPermission'(permission, role) {
 		if (!Meteor.userId() || !RocketChat.authz.hasPermission(Meteor.userId(), 'access-permissions')) {
diff --git a/packages/rocketchat-authorization/server/methods/removeUserFromRole.js b/packages/rocketchat-authorization/server/methods/removeUserFromRole.js
index 36b0e2153d1acdb93439338606c019593be0e54a..94a50b4a309d5ef3b794cd5f7fe8d16b52ef4c7b 100644
--- a/packages/rocketchat-authorization/server/methods/removeUserFromRole.js
+++ b/packages/rocketchat-authorization/server/methods/removeUserFromRole.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
 import _ from 'underscore';
 
 Meteor.methods({
diff --git a/packages/rocketchat-authorization/server/methods/saveRole.js b/packages/rocketchat-authorization/server/methods/saveRole.js
index b828dabbef85d7ea5c028fcb83c50d0c07c8b596..d83d680ce42e03c5f63f99b3783f16822dad5285 100644
--- a/packages/rocketchat-authorization/server/methods/saveRole.js
+++ b/packages/rocketchat-authorization/server/methods/saveRole.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.methods({
 	'authorization:saveRole'(roleData) {
 		if (!Meteor.userId() || !RocketChat.authz.hasPermission(Meteor.userId(), 'access-permissions')) {
diff --git a/packages/rocketchat-authorization/server/models/Base.js b/packages/rocketchat-authorization/server/models/Base.js
index c625370304f73bc59f8d4ab99aa81e3b04eff2f2..f3e8b82834689c49017b6d85df6ff2382674f268 100644
--- a/packages/rocketchat-authorization/server/models/Base.js
+++ b/packages/rocketchat-authorization/server/models/Base.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
 import _ from 'underscore';
 
 RocketChat.models._Base.prototype.roleBaseQuery = function(/* userId, scope*/) {
diff --git a/packages/rocketchat-authorization/server/models/Permissions.js b/packages/rocketchat-authorization/server/models/Permissions.js
index 0e84bf19c254ab9f9abcc64fd34cf1343679874d..d4f7876393184eacd581c1391379cef9a019eab1 100644
--- a/packages/rocketchat-authorization/server/models/Permissions.js
+++ b/packages/rocketchat-authorization/server/models/Permissions.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 class ModelPermissions extends RocketChat.models._Base {
 	constructor(...args) {
 		super(...args);
diff --git a/packages/rocketchat-authorization/server/models/Roles.js b/packages/rocketchat-authorization/server/models/Roles.js
index c470f8c5664d5935c150869e4347e60de26eced2..2295f1051afd1ee84b0143142406be51b79650f3 100644
--- a/packages/rocketchat-authorization/server/models/Roles.js
+++ b/packages/rocketchat-authorization/server/models/Roles.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 class ModelRoles extends RocketChat.models._Base {
 	constructor(...args) {
 		super(...args);
diff --git a/packages/rocketchat-authorization/server/models/Subscriptions.js b/packages/rocketchat-authorization/server/models/Subscriptions.js
index b436866381c684484cba0cdb391d6b4e853fabd7..257b75f75e5723ea4a3d1b4e5cef6d0a0aeca675 100644
--- a/packages/rocketchat-authorization/server/models/Subscriptions.js
+++ b/packages/rocketchat-authorization/server/models/Subscriptions.js
@@ -1,3 +1,4 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
 import _ from 'underscore';
 
 RocketChat.models.Subscriptions.roleBaseQuery = function(userId, scope) {
diff --git a/packages/rocketchat-authorization/server/models/Users.js b/packages/rocketchat-authorization/server/models/Users.js
index a29b3e1f7b365b1df9e9ccd9b67b88d09a7af3a8..d6d4132a85cce40de30bb05d17c2b8c98a162f1f 100644
--- a/packages/rocketchat-authorization/server/models/Users.js
+++ b/packages/rocketchat-authorization/server/models/Users.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.models.Users.roleBaseQuery = function(userId) {
 	return { _id: userId };
 };
diff --git a/packages/rocketchat-authorization/server/publications/permissions.js b/packages/rocketchat-authorization/server/publications/permissions.js
index fce3917b6c37666c2d074e2f3e957b38a3cdaf0f..04ba751dd7aa967fa2d08dcc64b5acf516a3d5f3 100644
--- a/packages/rocketchat-authorization/server/publications/permissions.js
+++ b/packages/rocketchat-authorization/server/publications/permissions.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.methods({
 	'permissions/get'(updatedAt) {
 		this.unblock();
diff --git a/packages/rocketchat-authorization/server/publications/roles.js b/packages/rocketchat-authorization/server/publications/roles.js
index a7e8625c9f239f20ef4c38929fb2cfa201746e79..f585c4b1d7cb41a5cf2af8fb78b9cb228d96a5db 100644
--- a/packages/rocketchat-authorization/server/publications/roles.js
+++ b/packages/rocketchat-authorization/server/publications/roles.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.publish('roles', function() {
 	if (!this.userId) {
 		return this.ready();
diff --git a/packages/rocketchat-authorization/server/publications/usersInRole.js b/packages/rocketchat-authorization/server/publications/usersInRole.js
index d0444ccc63a2bedb0b68bc5d0f7c8a84c3003078..c98efb7ab7796219076ab74116d81a745e02ea35 100644
--- a/packages/rocketchat-authorization/server/publications/usersInRole.js
+++ b/packages/rocketchat-authorization/server/publications/usersInRole.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.publish('usersInRole', function(roleName, scope, limit = 50) {
 	if (!this.userId) {
 		return this.ready();
diff --git a/packages/rocketchat-authorization/server/startup.js b/packages/rocketchat-authorization/server/startup.js
index 1ddb15068bad6e27b88d18b054c37628ced25a3c..db5114060f32a3b9d97be9c14864730dfacc5526 100644
--- a/packages/rocketchat-authorization/server/startup.js
+++ b/packages/rocketchat-authorization/server/startup.js
@@ -1,4 +1,6 @@
 /* eslint no-multi-spaces: 0 */
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
 
 Meteor.startup(function() {
 	// Note:
@@ -19,6 +21,7 @@ Meteor.startup(function() {
 		{ _id: 'create-c',                      roles : ['admin', 'user', 'bot'] },
 		{ _id: 'create-d',                      roles : ['admin', 'user', 'bot'] },
 		{ _id: 'create-p',                      roles : ['admin', 'user', 'bot'] },
+		{ _id: 'create-personal-access-tokens', roles : ['admin', 'user'] },
 		{ _id: 'create-user',                   roles : ['admin'] },
 		{ _id: 'clean-channel-history',         roles : ['admin'] },
 		{ _id: 'delete-c',                      roles : ['admin', 'owner'] },
@@ -46,6 +49,7 @@ Meteor.startup(function() {
 		{ _id: 'mention-here',                  roles : ['admin', 'owner', 'moderator', 'user'] },
 		{ _id: 'mute-user',                     roles : ['admin', 'owner', 'moderator'] },
 		{ _id: 'remove-user',                   roles : ['admin', 'owner', 'moderator'] },
+		{ _id: 'reset-other-user-e2e-key',      roles : ['admin'] },
 		{ _id: 'run-import',                    roles : ['admin'] },
 		{ _id: 'run-migration',                 roles : ['admin'] },
 		{ _id: 'set-moderator',                 roles : ['admin', 'owner'] },
diff --git a/packages/rocketchat-autolinker/client/client.js b/packages/rocketchat-autolinker/client/client.js
index 15acc510527bb378293329bc0b7b530bd81fb4b7..2afe8f89f7c00fd0f98bf8a0adf2f4a7cce9cf2f 100644
--- a/packages/rocketchat-autolinker/client/client.js
+++ b/packages/rocketchat-autolinker/client/client.js
@@ -1,4 +1,6 @@
+import { Meteor } from 'meteor/meteor';
 import s from 'underscore.string';
+import { RocketChat } from 'meteor/rocketchat:lib';
 
 //
 // AutoLinker is a named function that will replace links on messages
diff --git a/packages/rocketchat-autolinker/client/index.js b/packages/rocketchat-autolinker/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..d99e4ed773526dbf80c8ad082d306a97170cef7a
--- /dev/null
+++ b/packages/rocketchat-autolinker/client/index.js
@@ -0,0 +1 @@
+import './client';
diff --git a/packages/rocketchat-autolinker/package.js b/packages/rocketchat-autolinker/package.js
index 72b44813b7ef6e83104d2ddec5c4c4c80c4b830c..d9fc4b56e13157edd9391846c9f823f3e6ecd8aa 100644
--- a/packages/rocketchat-autolinker/package.js
+++ b/packages/rocketchat-autolinker/package.js
@@ -6,10 +6,10 @@ Package.describe({
 });
 
 Package.onUse(function(api) {
-	api.use('ecmascript');
-	api.use('rocketchat:lib');
-
-	api.addFiles('client/client.js', 'client');
-
-	api.addFiles('server/settings.js', 'server');
+	api.use([
+		'ecmascript',
+		'rocketchat:lib',
+	]);
+	api.mainModule('client/index.js', 'client');
+	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/rocketchat-autolinker/server/index.js b/packages/rocketchat-autolinker/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..97097791afdc4deee566e5690c42b17dcbbfa5d9
--- /dev/null
+++ b/packages/rocketchat-autolinker/server/index.js
@@ -0,0 +1 @@
+import './settings';
diff --git a/packages/rocketchat-autolinker/server/settings.js b/packages/rocketchat-autolinker/server/settings.js
index 95ef08bc30a59fa7b57c993036ddcfa5c44e4ee8..03e94fd74888fcb55fee4ee90a8ec0f545f3c785 100644
--- a/packages/rocketchat-autolinker/server/settings.js
+++ b/packages/rocketchat-autolinker/server/settings.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.startup(function() {
 	const enableQuery = {
 		_id: 'AutoLinker',
diff --git a/packages/rocketchat-autotranslate/client/index.js b/packages/rocketchat-autotranslate/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..7c18917f528ff2600ce333e7e6b0f3cd258918a4
--- /dev/null
+++ b/packages/rocketchat-autotranslate/client/index.js
@@ -0,0 +1,6 @@
+import './stylesheets/autotranslate.css';
+import './lib/actionButton';
+import './lib/autotranslate';
+import './lib/tabBar';
+import './views/autoTranslateFlexTab.html';
+import './views/autoTranslateFlexTab';
diff --git a/packages/rocketchat-autotranslate/client/lib/actionButton.js b/packages/rocketchat-autotranslate/client/lib/actionButton.js
index bf6100f33820ce73383eda43d9e136e25e1d0b4f..48b6b1ea5069b9c829ec8dd364e5d304b51e929e 100644
--- a/packages/rocketchat-autotranslate/client/lib/actionButton.js
+++ b/packages/rocketchat-autotranslate/client/lib/actionButton.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.startup(function() {
 	Tracker.autorun(function() {
 		if (RocketChat.settings.get('AutoTranslate_Enabled') && RocketChat.authz.hasAtLeastOnePermission(['auto-translate'])) {
diff --git a/packages/rocketchat-autotranslate/client/lib/autotranslate.js b/packages/rocketchat-autotranslate/client/lib/autotranslate.js
index d4c7c47788ed587fb660310735fa85c37ab43508..0e606971120c6acb813ab0c0eff48c88ffe3fd35 100644
--- a/packages/rocketchat-autotranslate/client/lib/autotranslate.js
+++ b/packages/rocketchat-autotranslate/client/lib/autotranslate.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
+import { RocketChat } from 'meteor/rocketchat:lib';
 import _ from 'underscore';
 
 RocketChat.AutoTranslate = {
diff --git a/packages/rocketchat-autotranslate/client/lib/tabBar.js b/packages/rocketchat-autotranslate/client/lib/tabBar.js
index 7007121097d93806a8f234969fbc23997444f772..170c37c04bb4455a3413025b62d4110238c05817 100644
--- a/packages/rocketchat-autotranslate/client/lib/tabBar.js
+++ b/packages/rocketchat-autotranslate/client/lib/tabBar.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.startup(function() {
 	Tracker.autorun(function() {
 		if (RocketChat.settings.get('AutoTranslate_Enabled') && RocketChat.authz.hasAtLeastOnePermission(['auto-translate'])) {
diff --git a/packages/rocketchat-autotranslate/client/views/autoTranslateFlexTab.js b/packages/rocketchat-autotranslate/client/views/autoTranslateFlexTab.js
index 47f3feb7d8c0c6b929f34edbc77bba9dc6e3c6a0..f30e2253c26307456e1a414ac81ba24760b099bd 100644
--- a/packages/rocketchat-autotranslate/client/views/autoTranslateFlexTab.js
+++ b/packages/rocketchat-autotranslate/client/views/autoTranslateFlexTab.js
@@ -1,4 +1,9 @@
-/* globals ChatSubscription */
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Random } from 'meteor/random';
+import { Template } from 'meteor/templating';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { ChatSubscription, t } from 'meteor/rocketchat:ui';
 import _ from 'underscore';
 import toastr from 'toastr';
 
diff --git a/packages/rocketchat-autotranslate/package.js b/packages/rocketchat-autotranslate/package.js
index 718542e16d6f7d7e1dbd70f51f159dbf3d9338af..88b075776e5c2bd8089ef84e65ce7242c66b5825 100644
--- a/packages/rocketchat-autotranslate/package.js
+++ b/packages/rocketchat-autotranslate/package.js
@@ -10,27 +10,8 @@ Package.onUse(function(api) {
 		'ecmascript',
 		'ddp-rate-limiter',
 		'rocketchat:lib',
+		'templating',
 	]);
-
-	api.use('templating', 'client');
-
-	api.addFiles([
-		'client/stylesheets/autotranslate.css',
-		'client/lib/autotranslate.js',
-		'client/lib/actionButton.js',
-		'client/lib/tabBar.js',
-		'client/views/autoTranslateFlexTab.html',
-		'client/views/autoTranslateFlexTab.js',
-	], 'client');
-
-	api.addFiles([
-		'server/settings.js',
-		'server/autotranslate.js',
-		'server/permissions.js',
-		'server/models/Messages.js',
-		'server/models/Subscriptions.js',
-		'server/methods/saveSettings.js',
-		'server/methods/translateMessage.js',
-		'server/methods/getSupportedLanguages.js',
-	], 'server');
+	api.mainModule('client/index.js', 'client');
+	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/rocketchat-autotranslate/server/autotranslate.js b/packages/rocketchat-autotranslate/server/autotranslate.js
index 75a637fa04338b654d66ae870850a8d3694c3569..d42da9982d6bc567f46e1f7f8353574cdc798663 100644
--- a/packages/rocketchat-autotranslate/server/autotranslate.js
+++ b/packages/rocketchat-autotranslate/server/autotranslate.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { HTTP } from 'meteor/http';
+import { RocketChat } from 'meteor/rocketchat:lib';
 import _ from 'underscore';
 import s from 'underscore.string';
 
diff --git a/packages/rocketchat-autotranslate/server/index.js b/packages/rocketchat-autotranslate/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..23f71833001559a8de127454c78c1716a302a744
--- /dev/null
+++ b/packages/rocketchat-autotranslate/server/index.js
@@ -0,0 +1,8 @@
+import './models/Messages';
+import './models/Subscriptions';
+import './settings';
+import './permissions';
+import './autotranslate';
+import './methods/getSupportedLanguages';
+import './methods/saveSettings';
+import './methods/translateMessage';
diff --git a/packages/rocketchat-autotranslate/server/methods/getSupportedLanguages.js b/packages/rocketchat-autotranslate/server/methods/getSupportedLanguages.js
index 17e84b7230aa435ee5b4963fdfd70bd4fecc6557..b2b79b9c7522e367f0295f9fc92a0fc3150e05ee 100644
--- a/packages/rocketchat-autotranslate/server/methods/getSupportedLanguages.js
+++ b/packages/rocketchat-autotranslate/server/methods/getSupportedLanguages.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { DDPRateLimiter } from 'meteor/ddp-rate-limiter';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.methods({
 	'autoTranslate.getSupportedLanguages'(targetLanguage) {
 		if (!RocketChat.authz.hasPermission(Meteor.userId(), 'auto-translate')) {
diff --git a/packages/rocketchat-autotranslate/server/methods/saveSettings.js b/packages/rocketchat-autotranslate/server/methods/saveSettings.js
index 5a948cd4f090a54d9ec784f309b94868e97b8c43..0298c39a784eb65500c3b0ca7ad8b3ed056543cc 100644
--- a/packages/rocketchat-autotranslate/server/methods/saveSettings.js
+++ b/packages/rocketchat-autotranslate/server/methods/saveSettings.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.methods({
 	'autoTranslate.saveSettings'(rid, field, value, options) {
 		if (!Meteor.userId()) {
diff --git a/packages/rocketchat-autotranslate/server/methods/translateMessage.js b/packages/rocketchat-autotranslate/server/methods/translateMessage.js
index 9a5819b45bc8f14307f44598559a39c0fc7cd340..77f1dce763beaf5667a343673ec4e10f7c8cf3f2 100644
--- a/packages/rocketchat-autotranslate/server/methods/translateMessage.js
+++ b/packages/rocketchat-autotranslate/server/methods/translateMessage.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.methods({
 	'autoTranslate.translateMessage'(message, targetLanguage) {
 		const room = RocketChat.models.Rooms.findOneById(message && message.rid);
diff --git a/packages/rocketchat-autotranslate/server/models/Messages.js b/packages/rocketchat-autotranslate/server/models/Messages.js
index 5297e722ca5dbcb567ed799a1110c9e991b719d4..d2c9456765029978776c0c58609a2ad46f83bb43 100644
--- a/packages/rocketchat-autotranslate/server/models/Messages.js
+++ b/packages/rocketchat-autotranslate/server/models/Messages.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.models.Messages.addTranslations = function(messageId, translations) {
 	const updateObj = {};
 	Object.keys(translations).forEach((key) => {
diff --git a/packages/rocketchat-autotranslate/server/models/Subscriptions.js b/packages/rocketchat-autotranslate/server/models/Subscriptions.js
index 703623ea6923b5f7f9d792785e42e78c82857862..28bd43da9ebc93ef91c20a2ef2fb4653f8cd3a94 100644
--- a/packages/rocketchat-autotranslate/server/models/Subscriptions.js
+++ b/packages/rocketchat-autotranslate/server/models/Subscriptions.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.models.Subscriptions.updateAutoTranslateById = function(_id, autoTranslate) {
 	const query = {
 		_id,
diff --git a/packages/rocketchat-autotranslate/server/permissions.js b/packages/rocketchat-autotranslate/server/permissions.js
index 03c306e2e2ecf93f76926d74f8c1234a75369c22..35536af4427af03abaa968c2a7bc4fd674440bf2 100644
--- a/packages/rocketchat-autotranslate/server/permissions.js
+++ b/packages/rocketchat-autotranslate/server/permissions.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.startup(() => {
 	if (RocketChat.models && RocketChat.models.Permissions) {
 		if (!RocketChat.models.Permissions.findOne({ _id: 'auto-translate' })) {
diff --git a/packages/rocketchat-autotranslate/server/settings.js b/packages/rocketchat-autotranslate/server/settings.js
index 4eccb5f825a753dda6edc3c73da8479b72f479e8..813f6f08f992f01414ebd3a6363575617247adf7 100644
--- a/packages/rocketchat-autotranslate/server/settings.js
+++ b/packages/rocketchat-autotranslate/server/settings.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.startup(function() {
 	RocketChat.settings.add('AutoTranslate_Enabled', false, { type: 'boolean', group: 'Message', section: 'AutoTranslate', public: true });
 	RocketChat.settings.add('AutoTranslate_GoogleAPIKey', '', { type: 'string', group: 'Message', section: 'AutoTranslate', enableQuery: { _id: 'AutoTranslate_Enabled', value: true } });
diff --git a/packages/rocketchat-bot-helpers/package.js b/packages/rocketchat-bot-helpers/package.js
index 7c36c0d6d34d1a7a74dbecc536f3ec3fae22f13b..f5d8654dd4e1feb3ba79496e1d0ed7dfe6c5c859 100644
--- a/packages/rocketchat-bot-helpers/package.js
+++ b/packages/rocketchat-bot-helpers/package.js
@@ -6,13 +6,10 @@ Package.describe({
 });
 
 Package.onUse(function(api) {
-	api.use('ecmascript');
-	api.use('rocketchat:lib');
-	api.use('accounts-base');
-	// api.mainModule('server/index.js', 'server'); // when 1.3
-	// api.mainModule('client/index.js', 'client'); // when 1.3
-	api.addFiles([
-		'server/index.js',
-		'server/settings.js',
-	], ['server']);
+	api.use([
+		'ecmascript',
+		'rocketchat:lib',
+		'accounts-base',
+	]);
+	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/rocketchat-bot-helpers/server/index.js b/packages/rocketchat-bot-helpers/server/index.js
index c43182a12a5cfe387efb114d52c0e3ae2e66da39..085a852843537e0f79485cc9deffb152ad77eb7a 100644
--- a/packages/rocketchat-bot-helpers/server/index.js
+++ b/packages/rocketchat-bot-helpers/server/index.js
@@ -1,3 +1,6 @@
+import './settings';
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
 import _ from 'underscore';
 
 /**
diff --git a/packages/rocketchat-bot-helpers/server/settings.js b/packages/rocketchat-bot-helpers/server/settings.js
index c14f622862337f96a79d121700dd6c1e8ccbedad..f2dab1624e968eb3007a15d65e402d152711f946 100644
--- a/packages/rocketchat-bot-helpers/server/settings.js
+++ b/packages/rocketchat-bot-helpers/server/settings.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.startup(function() {
 	RocketChat.settings.addGroup('Bots', function() {
 		this.add('BotHelpers_userFields', '_id, name, username, emails, language, utcOffset', {
diff --git a/packages/rocketchat-cas/client/cas_client.js b/packages/rocketchat-cas/client/cas_client.js
index b56d594e806afea14c5ae92d909b5b3db3bbadc9..4811ef8bb5fbd0c02b21b2d7ef90077faf0ca044 100644
--- a/packages/rocketchat-cas/client/cas_client.js
+++ b/packages/rocketchat-cas/client/cas_client.js
@@ -1,3 +1,8 @@
+import { Meteor } from 'meteor/meteor';
+import { Accounts } from 'meteor/accounts-base';
+import { Random } from 'meteor/random';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 const openCenteredPopup = function(url, width, height) {
 
 	const screenX = typeof window.screenX !== 'undefined' ? window.screenX : window.screenLeft;
diff --git a/packages/rocketchat-cas/client/index.js b/packages/rocketchat-cas/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..75213558d6d8f8f2562cc07803153de0de85e47c
--- /dev/null
+++ b/packages/rocketchat-cas/client/index.js
@@ -0,0 +1 @@
+import './cas_client';
diff --git a/packages/rocketchat-cas/package.js b/packages/rocketchat-cas/package.js
index a599f42ed3e606f340092a85516ebda1732d4293..25096d4fd1f5ea8b9b0ee85546eec9d9541176b4 100644
--- a/packages/rocketchat-cas/package.js
+++ b/packages/rocketchat-cas/package.js
@@ -6,21 +6,15 @@ Package.describe({
 });
 
 Package.onUse(function(api) {
-	// Server libs
-	api.use('rocketchat:lib', 'server');
-	api.use('rocketchat:logger', 'server');
-	api.use('service-configuration', 'server');
-	api.use('routepolicy', 'server');
-	api.use('webapp', 'server');
-	api.use('accounts-base', 'server');
-
-	api.use('ecmascript');
-
-	// Server files
-	api.add_files('server/cas_rocketchat.js', 'server');
-	api.add_files('server/cas_server.js', 'server');
-	api.add_files('server/models/CredentialTokens.js', 'server');
-
-	// Client files
-	api.add_files('client/cas_client.js', 'client');
+	api.use([
+		'ecmascript',
+		'rocketchat:lib',
+		'rocketchat:logger',
+		'service-configuration',
+		'routepolicy',
+		'webapp',
+		'accounts-base',
+	]);
+	api.mainModule('client/index.js', 'client');
+	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/rocketchat-cas/server/cas_rocketchat.js b/packages/rocketchat-cas/server/cas_rocketchat.js
index f8f6e4b0520fdc647236d2f09972496c76dc528b..3d96e1d4d39d6ae9156a896611f6871f789db288 100644
--- a/packages/rocketchat-cas/server/cas_rocketchat.js
+++ b/packages/rocketchat-cas/server/cas_rocketchat.js
@@ -1,6 +1,8 @@
-/* globals logger:true */
-
-logger = new Logger('CAS', {});
+import { Meteor } from 'meteor/meteor';
+import { Logger } from 'meteor/rocketchat:logger';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { ServiceConfiguration } from 'meteor/service-configuration';
+export const logger = new Logger('CAS', {});
 
 Meteor.startup(function() {
 	RocketChat.settings.addGroup('CAS', function() {
diff --git a/packages/rocketchat-cas/server/cas_server.js b/packages/rocketchat-cas/server/cas_server.js
index ac7a7fbf37b0c2ad89854c5375f5a3cdc4ba54ae..dc8acd27ccbbec567bb2a9c03fa4792a36529a22 100644
--- a/packages/rocketchat-cas/server/cas_server.js
+++ b/packages/rocketchat-cas/server/cas_server.js
@@ -1,5 +1,10 @@
-/* globals RoutePolicy, logger */
-/* jshint newcap: false */
+import { Meteor } from 'meteor/meteor';
+import { Accounts } from 'meteor/accounts-base';
+import { Random } from 'meteor/random';
+import { WebApp } from 'meteor/webapp';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { RoutePolicy } from 'meteor/routepolicy';
+import { logger } from './cas_rocketchat';
 import _ from 'underscore';
 
 import fiber from 'fibers';
diff --git a/packages/rocketchat-cas/server/index.js b/packages/rocketchat-cas/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..451c7d5a8aa01e149d9b3d06f8aaaa0a5e6f85b9
--- /dev/null
+++ b/packages/rocketchat-cas/server/index.js
@@ -0,0 +1,3 @@
+import './models/CredentialTokens';
+import './cas_rocketchat';
+import './cas_server';
diff --git a/packages/rocketchat-cas/server/models/CredentialTokens.js b/packages/rocketchat-cas/server/models/CredentialTokens.js
index 63d00ff423ff62087c50c92cab7312461b9b328e..a484eb978b39613b417be4d029ea37af4574856d 100644
--- a/packages/rocketchat-cas/server/models/CredentialTokens.js
+++ b/packages/rocketchat-cas/server/models/CredentialTokens.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.models.CredentialTokens = new class extends RocketChat.models._Base {
 	constructor() {
 		super('credential_tokens');
diff --git a/packages/rocketchat-channel-settings-mail-messages/client/index.js b/packages/rocketchat-channel-settings-mail-messages/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..82a489dbed7e18e8806a7af2858a615c7d143e47
--- /dev/null
+++ b/packages/rocketchat-channel-settings-mail-messages/client/index.js
@@ -0,0 +1,3 @@
+import './lib/startup';
+import './views/mailMessagesInstructions.html';
+import './views/mailMessagesInstructions';
diff --git a/packages/rocketchat-channel-settings-mail-messages/client/lib/startup.js b/packages/rocketchat-channel-settings-mail-messages/client/lib/startup.js
index 7f83b2a6de9cebcd3e0904cd735866760d11437b..d255479029d7a3eed2beeb3c57336ec95836bc9a 100644
--- a/packages/rocketchat-channel-settings-mail-messages/client/lib/startup.js
+++ b/packages/rocketchat-channel-settings-mail-messages/client/lib/startup.js
@@ -1,4 +1,7 @@
 // import resetSelection from '../resetSelection';
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.startup(() => {
 	RocketChat.TabBar.addButton({
 		groups: ['channel', 'group', 'direct'],
diff --git a/packages/rocketchat-channel-settings-mail-messages/client/resetSelection.js b/packages/rocketchat-channel-settings-mail-messages/client/resetSelection.js
index a8493df545d0ed3176cef0ea0a3da0602b65a50f..ef62124d9c7cb28f9069ab92eb834c672ed67706 100644
--- a/packages/rocketchat-channel-settings-mail-messages/client/resetSelection.js
+++ b/packages/rocketchat-channel-settings-mail-messages/client/resetSelection.js
@@ -1,3 +1,5 @@
+import { Blaze } from 'meteor/blaze';
+
 export default function resetSelection(reset) {
 	const [el] = $('.messages-box');
 	if (!el) {
diff --git a/packages/rocketchat-channel-settings-mail-messages/client/views/mailMessagesInstructions.js b/packages/rocketchat-channel-settings-mail-messages/client/views/mailMessagesInstructions.js
index 3fd4e2a39ded2339acbdc8923d419883128c05cc..1e8dd5ff2ff2856f46371c9d7e8714abd1c0f297 100644
--- a/packages/rocketchat-channel-settings-mail-messages/client/views/mailMessagesInstructions.js
+++ b/packages/rocketchat-channel-settings-mail-messages/client/views/mailMessagesInstructions.js
@@ -1,4 +1,12 @@
-/* global AutoComplete Deps */
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Blaze } from 'meteor/blaze';
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
+import { AutoComplete } from 'meteor/mizzao:autocomplete';
+import { RocketChat, handleError } from 'meteor/rocketchat:lib';
+import { t, ChatRoom } from 'meteor/rocketchat:ui';
+import { Deps } from 'meteor/deps';
 import toastr from 'toastr';
 import resetSelection from '../resetSelection';
 
@@ -41,7 +49,7 @@ Template.mailMessagesInstructions.helpers({
 	},
 	roomName() {
 		const room = ChatRoom.findOne(Session.get('openedRoom'));
-		return room && room.name;
+		return room && RocketChat.roomTypes.getRoomName(room.t, room);
 	},
 	erroredEmails() {
 		const instance = Template.instance();
diff --git a/packages/rocketchat-channel-settings-mail-messages/package.js b/packages/rocketchat-channel-settings-mail-messages/package.js
index ddb5ed27849393134f4fa502613b7c8fde019f55..946ffd68a559a5674cb94b4d2e3c6e2f8797ae11 100644
--- a/packages/rocketchat-channel-settings-mail-messages/package.js
+++ b/packages/rocketchat-channel-settings-mail-messages/package.js
@@ -13,18 +13,9 @@ Package.onUse(function(api) {
 		'less',
 		'rocketchat:lib',
 		'rocketchat:channel-settings',
+		'mizzao:autocomplete',
 		'mongo',
 	]);
-
-	api.addFiles([
-		'client/lib/startup.js',
-		'client/views/mailMessagesInstructions.html',
-		'client/views/mailMessagesInstructions.js',
-	], 'client');
-
-
-	api.addFiles([
-		'server/lib/startup.js',
-		'server/methods/mailMessages.js',
-	], 'server');
+	api.mainModule('client/index.js', 'client');
+	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/rocketchat-channel-settings-mail-messages/server/index.js b/packages/rocketchat-channel-settings-mail-messages/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..465e185b386aa60ef684686ca7cc3987b11a2afa
--- /dev/null
+++ b/packages/rocketchat-channel-settings-mail-messages/server/index.js
@@ -0,0 +1,2 @@
+import './lib/startup';
+import './methods/mailMessages';
diff --git a/packages/rocketchat-channel-settings-mail-messages/server/lib/startup.js b/packages/rocketchat-channel-settings-mail-messages/server/lib/startup.js
index ae2edc7c6ee15cdd5a7bc98d4321e71caf9714b4..80c7f8e63595b610f1dc1577ed895a9814173300 100644
--- a/packages/rocketchat-channel-settings-mail-messages/server/lib/startup.js
+++ b/packages/rocketchat-channel-settings-mail-messages/server/lib/startup.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.startup(function() {
 	const permission = {
 		_id: 'mail-messages',
diff --git a/packages/rocketchat-channel-settings-mail-messages/server/methods/mailMessages.js b/packages/rocketchat-channel-settings-mail-messages/server/methods/mailMessages.js
index 930c946d08e1c9b8ce9c88145d4a2dd2aaf4788a..1ad34a81a0f8fcc774856dc28861f0355e2a496b 100644
--- a/packages/rocketchat-channel-settings-mail-messages/server/methods/mailMessages.js
+++ b/packages/rocketchat-channel-settings-mail-messages/server/methods/mailMessages.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
+import { RocketChat } from 'meteor/rocketchat:lib';
 import _ from 'underscore';
 import moment from 'moment';
 import * as Mailer from 'meteor/rocketchat:mailer';
diff --git a/packages/rocketchat-channel-settings/client/index.js b/packages/rocketchat-channel-settings/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..dfe421664c87f4aefcc74a35e7c36c5f18f09a9c
--- /dev/null
+++ b/packages/rocketchat-channel-settings/client/index.js
@@ -0,0 +1,7 @@
+import './stylesheets/channel-settings.css';
+import './startup/messageTypes';
+import './startup/tabBar';
+import './startup/trackSettingsChange';
+import './lib/ChannelSettings';
+import './views/channelSettings.html';
+import './views/channelSettings';
diff --git a/packages/rocketchat-channel-settings/client/lib/ChannelSettings.js b/packages/rocketchat-channel-settings/client/lib/ChannelSettings.js
index 92ff8d7d0ef7b4e38e2cc93f13612b82d5441ac2..f643d2c6674bb08d4f1b86762e1c6a2fba396e28 100644
--- a/packages/rocketchat-channel-settings/client/lib/ChannelSettings.js
+++ b/packages/rocketchat-channel-settings/client/lib/ChannelSettings.js
@@ -1,4 +1,8 @@
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Tracker } from 'meteor/tracker';
+import { RocketChat } from 'meteor/rocketchat:lib';
 import _ from 'underscore';
+
 RocketChat.ChannelSettings = new class {
 	constructor() {
 		this.options = new ReactiveVar({});
diff --git a/packages/rocketchat-channel-settings/client/startup/messageTypes.js b/packages/rocketchat-channel-settings/client/startup/messageTypes.js
index 357adb2abc8581ce998acc3caf530ca8ead628ed..5f38103ab24dce5982be6febcdd6cb4d9512da9a 100644
--- a/packages/rocketchat-channel-settings/client/startup/messageTypes.js
+++ b/packages/rocketchat-channel-settings/client/startup/messageTypes.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { t } from 'meteor/rocketchat:ui';
 import s from 'underscore.string';
 
 Meteor.startup(function() {
diff --git a/packages/rocketchat-channel-settings/client/startup/tabBar.js b/packages/rocketchat-channel-settings/client/startup/tabBar.js
index ba3038584f526cc56fb63f8320b771083a238e00..4f61bca98c570636301bbb1f4e285e1cde5cde8f 100644
--- a/packages/rocketchat-channel-settings/client/startup/tabBar.js
+++ b/packages/rocketchat-channel-settings/client/startup/tabBar.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.startup(() => {
 	RocketChat.TabBar.addButton({
 		groups: ['channel', 'group', 'direct'],
diff --git a/packages/rocketchat-channel-settings/client/startup/trackSettingsChange.js b/packages/rocketchat-channel-settings/client/startup/trackSettingsChange.js
index 8df8addd789fbbadd9d8543d7b9aafe26301f0a2..5827d5c16f42f6fe7f81f65f9c62393db4d0aea7 100644
--- a/packages/rocketchat-channel-settings/client/startup/trackSettingsChange.js
+++ b/packages/rocketchat-channel-settings/client/startup/trackSettingsChange.js
@@ -1,3 +1,10 @@
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Session } from 'meteor/session';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { ChatRoom, RoomManager } from 'meteor/rocketchat:ui';
+
 Meteor.startup(function() {
 	const roomSettingsChangedCallback = (msg) => {
 		Tracker.nonreactive(() => {
diff --git a/packages/rocketchat-channel-settings/client/views/channelSettings.js b/packages/rocketchat-channel-settings/client/views/channelSettings.js
index 57f28e3df8bbca7cd0324cef467cf6def6a03338..d207a2d7fb1f7b1b6fc776e39e2e6097488b72fd 100644
--- a/packages/rocketchat-channel-settings/client/views/channelSettings.js
+++ b/packages/rocketchat-channel-settings/client/views/channelSettings.js
@@ -1,8 +1,13 @@
 /* globals popover */
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
 import toastr from 'toastr';
 import moment from 'moment';
 import s from 'underscore.string';
 import { call, erase, hide, leave, RocketChat, RoomSettingsEnum } from 'meteor/rocketchat:lib';
+import { modal, t, ChatRoom } from 'meteor/rocketchat:ui';
 
 const common = {
 	canLeaveRoom() {
diff --git a/packages/rocketchat-channel-settings/package.js b/packages/rocketchat-channel-settings/package.js
index 0826b364130b8c88e6a842efd239cb9ac614a7ce..ef857658f76989765277d0a8002091c71fcaeff2 100644
--- a/packages/rocketchat-channel-settings/package.js
+++ b/packages/rocketchat-channel-settings/package.js
@@ -13,30 +13,6 @@ Package.onUse(function(api) {
 		'templating',
 		'rocketchat:lib',
 	]);
-
-	api.addFiles([
-		'client/lib/ChannelSettings.js',
-		'client/startup/messageTypes.js',
-		'client/startup/tabBar.js',
-		'client/startup/trackSettingsChange.js',
-		'client/views/channelSettings.html',
-		'client/views/channelSettings.js',
-		'client/stylesheets/channel-settings.css',
-	], 'client');
-
-	api.addFiles([
-		'server/functions/saveReactWhenReadOnly.js',
-		'server/functions/saveRoomType.js',
-		'server/functions/saveRoomTopic.js',
-		'server/functions/saveRoomCustomFields.js',
-		'server/functions/saveRoomAnnouncement.js',
-		'server/functions/saveRoomName.js',
-		'server/functions/saveRoomReadOnly.js',
-		'server/functions/saveRoomDescription.js',
-		'server/functions/saveRoomSystemMessages.js',
-		'server/methods/saveRoomSettings.js',
-		'server/models/Messages.js',
-		'server/models/Rooms.js',
-		'server/startup.js',
-	], 'server');
+	api.mainModule('client/index.js', 'client');
+	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/rocketchat-channel-settings/server/functions/saveReactWhenReadOnly.js b/packages/rocketchat-channel-settings/server/functions/saveReactWhenReadOnly.js
index 61cf8128df04d81cfe6bce4b7762c7c897aec66d..23237f9316bfd3b1ea5c95b4d84aba70da2b1578 100644
--- a/packages/rocketchat-channel-settings/server/functions/saveReactWhenReadOnly.js
+++ b/packages/rocketchat-channel-settings/server/functions/saveReactWhenReadOnly.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { Match } from 'meteor/check';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.saveReactWhenReadOnly = function(rid, allowReact) {
 	if (!Match.test(rid, String)) {
 		throw new Meteor.Error('invalid-room', 'Invalid room', { function: 'RocketChat.saveReactWhenReadOnly' });
diff --git a/packages/rocketchat-channel-settings/server/functions/saveRoomAnnouncement.js b/packages/rocketchat-channel-settings/server/functions/saveRoomAnnouncement.js
index eb48b2f680b5ecc99420ff3940d4be143c19a943..82c7621936a2bc3cc4410bb54e8d7cff348f30d7 100644
--- a/packages/rocketchat-channel-settings/server/functions/saveRoomAnnouncement.js
+++ b/packages/rocketchat-channel-settings/server/functions/saveRoomAnnouncement.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { Match } from 'meteor/check';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.saveRoomAnnouncement = function(rid, roomAnnouncement, user, sendMessage = true) {
 	if (!Match.test(rid, String)) {
 		throw new Meteor.Error('invalid-room', 'Invalid room', { function: 'RocketChat.saveRoomAnnouncement' });
diff --git a/packages/rocketchat-channel-settings/server/functions/saveRoomCustomFields.js b/packages/rocketchat-channel-settings/server/functions/saveRoomCustomFields.js
index f5d20696c0ff61fe7184b99a2a70e0d65b83dc5d..c39dc662a7f6a1575f2a0089f6c1d40659933d6c 100644
--- a/packages/rocketchat-channel-settings/server/functions/saveRoomCustomFields.js
+++ b/packages/rocketchat-channel-settings/server/functions/saveRoomCustomFields.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { Match } from 'meteor/check';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.saveRoomCustomFields = function(rid, roomCustomFields) {
 	if (!Match.test(rid, String)) {
 		throw new Meteor.Error('invalid-room', 'Invalid room', {
diff --git a/packages/rocketchat-channel-settings/server/functions/saveRoomDescription.js b/packages/rocketchat-channel-settings/server/functions/saveRoomDescription.js
index f266ea90a34beaa8197eb12aadbebfa6df24cc29..c515e6b44eaf9f8cb19c5bd1920cae103903f285 100644
--- a/packages/rocketchat-channel-settings/server/functions/saveRoomDescription.js
+++ b/packages/rocketchat-channel-settings/server/functions/saveRoomDescription.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { Match } from 'meteor/check';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.saveRoomDescription = function(rid, roomDescription, user) {
 	if (!Match.test(rid, String)) {
 		throw new Meteor.Error('invalid-room', 'Invalid room', {
diff --git a/packages/rocketchat-channel-settings/server/functions/saveRoomName.js b/packages/rocketchat-channel-settings/server/functions/saveRoomName.js
index 925354cbe2e47718c4c2a7b90785189d51b6fb76..32c9f9aaf7a1ec8627a633a58a885730734bcf3e 100644
--- a/packages/rocketchat-channel-settings/server/functions/saveRoomName.js
+++ b/packages/rocketchat-channel-settings/server/functions/saveRoomName.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
 
 RocketChat.saveRoomName = function(rid, displayName, user, sendMessage = true) {
 	const room = RocketChat.models.Rooms.findOneById(rid);
diff --git a/packages/rocketchat-channel-settings/server/functions/saveRoomReadOnly.js b/packages/rocketchat-channel-settings/server/functions/saveRoomReadOnly.js
index 7c377e9b58655beca6ae1628edaabfa12963a7d6..7db4b0610afd351d3586625b4ed39d42c40c3903 100644
--- a/packages/rocketchat-channel-settings/server/functions/saveRoomReadOnly.js
+++ b/packages/rocketchat-channel-settings/server/functions/saveRoomReadOnly.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { Match } from 'meteor/check';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.saveRoomReadOnly = function(rid, readOnly) {
 	if (!Match.test(rid, String)) {
 		throw new Meteor.Error('invalid-room', 'Invalid room', {
diff --git a/packages/rocketchat-channel-settings/server/functions/saveRoomSystemMessages.js b/packages/rocketchat-channel-settings/server/functions/saveRoomSystemMessages.js
index 74ebe7b46e56aa17b1c9c0ad7532c6897aeee316..26bc61e1e03dbd42ee1ce003d7dcb59487fba92e 100644
--- a/packages/rocketchat-channel-settings/server/functions/saveRoomSystemMessages.js
+++ b/packages/rocketchat-channel-settings/server/functions/saveRoomSystemMessages.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { Match } from 'meteor/check';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.saveRoomSystemMessages = function(rid, systemMessages) {
 	if (!Match.test(rid, String)) {
 		throw new Meteor.Error('invalid-room', 'Invalid room', {
diff --git a/packages/rocketchat-channel-settings/server/functions/saveRoomTopic.js b/packages/rocketchat-channel-settings/server/functions/saveRoomTopic.js
index 39e61c6c40637d44bae5b086aefe8cd10fb0a333..7a76f6fb6f97fa9f704cd9e1ac4827316f493dde 100644
--- a/packages/rocketchat-channel-settings/server/functions/saveRoomTopic.js
+++ b/packages/rocketchat-channel-settings/server/functions/saveRoomTopic.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { Match } from 'meteor/check';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.saveRoomTopic = function(rid, roomTopic, user, sendMessage = true) {
 	if (!Match.test(rid, String)) {
 		throw new Meteor.Error('invalid-room', 'Invalid room', {
diff --git a/packages/rocketchat-channel-settings/server/functions/saveRoomType.js b/packages/rocketchat-channel-settings/server/functions/saveRoomType.js
index a4319609dbd61246835cfa8e9b952363371834dc..a495c2b270b8fd149693acb10e0767f3b4b54038 100644
--- a/packages/rocketchat-channel-settings/server/functions/saveRoomType.js
+++ b/packages/rocketchat-channel-settings/server/functions/saveRoomType.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { Match } from 'meteor/check';
+import { TAPi18n } from 'meteor/tap:i18n';
+import { RocketChat } from 'meteor/rocketchat:lib';
 
 RocketChat.saveRoomType = function(rid, roomType, user, sendMessage = true) {
 	if (!Match.test(rid, String)) {
diff --git a/packages/rocketchat-channel-settings/server/index.js b/packages/rocketchat-channel-settings/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..02ce04779f0d746c2656496a91e8d586dc80d130
--- /dev/null
+++ b/packages/rocketchat-channel-settings/server/index.js
@@ -0,0 +1,13 @@
+import './startup';
+import './models/Messages';
+import './models/Rooms';
+import './functions/saveReactWhenReadOnly';
+import './functions/saveRoomAnnouncement';
+import './functions/saveRoomCustomFields';
+import './functions/saveRoomDescription';
+import './functions/saveRoomName';
+import './functions/saveRoomReadOnly';
+import './functions/saveRoomSystemMessages';
+import './functions/saveRoomTopic';
+import './functions/saveRoomType';
+import './methods/saveRoomSettings';
diff --git a/packages/rocketchat-channel-settings/server/methods/saveRoomSettings.js b/packages/rocketchat-channel-settings/server/methods/saveRoomSettings.js
index adb44bcc21ef276a18e7e4b4b1ebe1ea2e709bf2..9f9b41f58da059498edc34a0eac550ad4a5b9043 100644
--- a/packages/rocketchat-channel-settings/server/methods/saveRoomSettings.js
+++ b/packages/rocketchat-channel-settings/server/methods/saveRoomSettings.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 const fields = ['roomName', 'roomTopic', 'roomAnnouncement', 'roomCustomFields', 'roomDescription', 'roomType', 'readOnly', 'reactWhenReadOnly', 'systemMessages', 'default', 'joinCode', 'tokenpass', 'streamingOptions', 'retentionEnabled', 'retentionMaxAge', 'retentionExcludePinned', 'retentionFilesOnly', 'retentionOverrideGlobal', 'encrypted'];
 Meteor.methods({
 	saveRoomSettings(rid, settings, value) {
diff --git a/packages/rocketchat-channel-settings/server/models/Messages.js b/packages/rocketchat-channel-settings/server/models/Messages.js
index 6f4e473375b3f428e080adb7137abc6931abfe28..2e8b4ee5812c60ff3fa194310568c017ee21c768 100644
--- a/packages/rocketchat-channel-settings/server/models/Messages.js
+++ b/packages/rocketchat-channel-settings/server/models/Messages.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.models.Messages.createRoomSettingsChangedWithTypeRoomIdMessageAndUser = function(type, roomId, message, user, extraData) {
 	return this.createWithTypeRoomIdMessageAndUser(type, roomId, message, user, extraData);
 };
diff --git a/packages/rocketchat-channel-settings/server/models/Rooms.js b/packages/rocketchat-channel-settings/server/models/Rooms.js
index 5f61ff7fce4cd96a9f750cf7818a69dfe88c154a..6dae5225e441717148e19aa160a8038436f8d1dd 100644
--- a/packages/rocketchat-channel-settings/server/models/Rooms.js
+++ b/packages/rocketchat-channel-settings/server/models/Rooms.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.models.Rooms.setDescriptionById = function(_id, description) {
 	const query = {
 		_id,
diff --git a/packages/rocketchat-channel-settings/server/startup.js b/packages/rocketchat-channel-settings/server/startup.js
index 39a5ccc1593375dec03730cbd59668a1935ab1e4..81e6fde8d366a4cda644a593e654348c182f6cf0 100644
--- a/packages/rocketchat-channel-settings/server/startup.js
+++ b/packages/rocketchat-channel-settings/server/startup.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.startup(function() {
 	RocketChat.models.Permissions.upsert('post-readonly', { $setOnInsert: { roles: ['admin', 'owner', 'moderator'] } });
 	RocketChat.models.Permissions.upsert('set-readonly', { $setOnInsert: { roles: ['admin', 'owner'] } });
diff --git a/packages/rocketchat-colors/client/client.js b/packages/rocketchat-colors/client/client.js
index 98f08fe9cc680b8deb6eb6472e05375535054b72..e257c90cd2d9ba102285f48b9f68aa70f88ac0d3 100644
--- a/packages/rocketchat-colors/client/client.js
+++ b/packages/rocketchat-colors/client/client.js
@@ -1,3 +1,4 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
 import s from 'underscore.string';
 
 //
diff --git a/packages/rocketchat-colors/client/index.js b/packages/rocketchat-colors/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..0c35236206a4ee6b6d228cf514adb4044fed1046
--- /dev/null
+++ b/packages/rocketchat-colors/client/index.js
@@ -0,0 +1,2 @@
+import './style.css';
+import './client';
diff --git a/packages/rocketchat-colors/package.js b/packages/rocketchat-colors/package.js
index 980411478848f0537266b9e0fbccd308c8a622bc..7006b3c0da7aa69a9964b8aaaaca321efff36eba 100644
--- a/packages/rocketchat-colors/package.js
+++ b/packages/rocketchat-colors/package.js
@@ -6,10 +6,10 @@ Package.describe({
 });
 
 Package.onUse(function(api) {
-	api.use('rocketchat:lib');
-	api.use('ecmascript');
-
-	api.addFiles('client/client.js', 'client');
-	api.addFiles('client/style.css', 'client');
-	api.addFiles('server/settings.js', 'server');
+	api.use([
+		'ecmascript',
+		'rocketchat:lib',
+	]);
+	api.mainModule('client/index.js', 'client');
+	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/rocketchat-colors/server/index.js b/packages/rocketchat-colors/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..97097791afdc4deee566e5690c42b17dcbbfa5d9
--- /dev/null
+++ b/packages/rocketchat-colors/server/index.js
@@ -0,0 +1 @@
+import './settings';
diff --git a/packages/rocketchat-colors/server/settings.js b/packages/rocketchat-colors/server/settings.js
index d2d347ea0a72eac8e88de866f81cd1b3b177bd69..96b69bce9ce7fea10b4560d9229824f2d2682027 100644
--- a/packages/rocketchat-colors/server/settings.js
+++ b/packages/rocketchat-colors/server/settings.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.settings.add('HexColorPreview_Enabled', true, {
 	type: 'boolean',
 	i18nLabel: 'Enabled',
diff --git a/packages/rocketchat-cors/client/index.js b/packages/rocketchat-cors/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..e44dbe195eff9a9d9dee29dc780cef6e4007362d
--- /dev/null
+++ b/packages/rocketchat-cors/client/index.js
@@ -0,0 +1 @@
+import '../lib/common';
diff --git a/packages/rocketchat-cors/common.js b/packages/rocketchat-cors/lib/common.js
similarity index 62%
rename from packages/rocketchat-cors/common.js
rename to packages/rocketchat-cors/lib/common.js
index 3c90f3d1896c19a555d9c3fc3e10f8ae74a1a358..ffc05767ff766813521b8cf52cdc97533992b15a 100644
--- a/packages/rocketchat-cors/common.js
+++ b/packages/rocketchat-cors/lib/common.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.startup(function() {
 	RocketChat.settings.onload('Force_SSL', function(key, value) {
 		Meteor.absoluteUrl.defaultOptions.secure = value;
diff --git a/packages/rocketchat-cors/package.js b/packages/rocketchat-cors/package.js
index 04d26f3bbd31dce6a133662bb707fdad34881e88..72a4c4c28a6cc703899d8fc138452ffef7217ec1 100644
--- a/packages/rocketchat-cors/package.js
+++ b/packages/rocketchat-cors/package.js
@@ -10,8 +10,9 @@ Package.onUse(function(api) {
 		'ecmascript',
 		'webapp',
 		'mongo',
+		'rocketchat:lib',
 	]);
 
-	api.addFiles('cors.js', 'server');
-	api.addFiles('common.js');
+	api.mainModule('client/index.js', 'client');
+	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/rocketchat-cors/cors.js b/packages/rocketchat-cors/server/cors.js
similarity index 96%
rename from packages/rocketchat-cors/cors.js
rename to packages/rocketchat-cors/server/cors.js
index 33bfeaed1060e367a55a53b43102c9ac73af1742..6beb29788fed0b7f8c78fd9041bab0dd7680f12f 100644
--- a/packages/rocketchat-cors/cors.js
+++ b/packages/rocketchat-cors/server/cors.js
@@ -1,9 +1,10 @@
-/* globals WebAppInternals */
-import _ from 'underscore';
+import { Meteor } from 'meteor/meteor';
+import { WebApp, WebAppInternals } from 'meteor/webapp';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { Mongo } from 'meteor/mongo';
 
+import _ from 'underscore';
 import url from 'url';
-
-import { Mongo } from 'meteor/mongo';
 import tls from 'tls';
 // FIX For TLS error see more here https://github.com/RocketChat/Rocket.Chat/issues/9316
 // TODO: Remove after NodeJS fix it, more information https://github.com/nodejs/node/issues/16196 https://github.com/nodejs/node/pull/16853
diff --git a/packages/rocketchat-cors/server/index.js b/packages/rocketchat-cors/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..42394188fbcfdc9b4e738f21cd5b995c7f67e119
--- /dev/null
+++ b/packages/rocketchat-cors/server/index.js
@@ -0,0 +1,2 @@
+import '../lib/common';
+import './cors';
diff --git a/packages/rocketchat-crowd/client/index.js b/packages/rocketchat-crowd/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..fecf898e1ae444c90891397402222a0de50af738
--- /dev/null
+++ b/packages/rocketchat-crowd/client/index.js
@@ -0,0 +1 @@
+import './loginHelper';
diff --git a/packages/rocketchat-crowd/client/loginHelper.js b/packages/rocketchat-crowd/client/loginHelper.js
index 3767f50ccd4f8142a1c46c36977e5db729db1bc5..a7056d5d2ffef97573cae7fdddedf49fcd8a3c7d 100644
--- a/packages/rocketchat-crowd/client/loginHelper.js
+++ b/packages/rocketchat-crowd/client/loginHelper.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Accounts } from 'meteor/accounts-base';
+
 Meteor.loginWithCrowd = function(...args) {
 	// Pull username and password
 	const username = args.shift();
diff --git a/packages/rocketchat-crowd/package.js b/packages/rocketchat-crowd/package.js
index 567567d05bdcfe8be40d4abc1fc7e0eb5ac90a6a..83c5bcd535378e3c30caa8ebb28b2c93edc646c9 100644
--- a/packages/rocketchat-crowd/package.js
+++ b/packages/rocketchat-crowd/package.js
@@ -6,19 +6,17 @@ Package.describe({
 });
 
 Package.onUse(function(api) {
-	api.use('rocketchat:logger');
-	api.use('rocketchat:lib');
-	api.use('ecmascript');
-	api.use('sha');
+	api.use([
+		'rocketchat:logger',
+		'rocketchat:lib',
+		'ecmascript',
+		'sha',
+		'templating',
+		'accounts-base',
+		'accounts-password',
+		'littledata:synced-cron',
+	]);
 
-	api.use('templating', 'client');
-
-	api.use('accounts-base', 'server');
-	api.use('accounts-password', 'server');
-
-	api.addFiles('client/loginHelper.js', 'client');
-	api.addFiles('server/crowd.js', 'server');
-	api.addFiles('server/settings.js', 'server');
-
-	api.export('CROWD', 'server');
+	api.mainModule('client/index.js', 'client');
+	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/rocketchat-crowd/server/crowd.js b/packages/rocketchat-crowd/server/crowd.js
index a636878407e0de5822e9f6777d6054ec38ad0bd6..c52f39c059ab9b42290e2524d08add88ba49e2ff 100644
--- a/packages/rocketchat-crowd/server/crowd.js
+++ b/packages/rocketchat-crowd/server/crowd.js
@@ -1,5 +1,11 @@
-/* globals:CROWD:true */
-/* eslint new-cap: [2, {"capIsNewExceptions": ["SHA256"]}] */
+import { Meteor } from 'meteor/meteor';
+import { SHA256 } from 'meteor/sha';
+import { SyncedCron } from 'meteor/littledata:synced-cron';
+import { Accounts } from 'meteor/accounts-base';
+import { Logger } from 'meteor/rocketchat:logger';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import _ from 'underscore';
+
 const logger = new Logger('CROWD', {});
 
 function fallbackDefaultAccountSystem(bind, username, password) {
@@ -24,19 +30,14 @@ function fallbackDefaultAccountSystem(bind, username, password) {
 	return Accounts._runLoginHandlers(bind, loginRequest);
 }
 
-const CROWD = class CROWD {
+export class CROWD {
 	constructor() {
 		const AtlassianCrowd = require('atlassian-crowd');
 		let url = RocketChat.settings.get('CROWD_URL');
-		const urlLastChar = url.slice(-1);
-
-		if (urlLastChar !== '/') {
-			url += '/';
-		}
 
 		this.options = {
 			crowd: {
-				base: url,
+				base: (!/\/$/.test(url) ? url += '/' : url),
 			},
 			application: {
 				name: RocketChat.settings.get('CROWD_APP_USERNAME'),
@@ -49,6 +50,7 @@ const CROWD = class CROWD {
 
 		this.crowdClient.user.authenticateSync = Meteor.wrapAsync(this.crowdClient.user.authenticate, this);
 		this.crowdClient.user.findSync = Meteor.wrapAsync(this.crowdClient.user.find, this);
+		this.crowdClient.searchSync = Meteor.wrapAsync(this.crowdClient.search, this);
 		this.crowdClient.pingSync = Meteor.wrapAsync(this.crowdClient.ping, this);
 	}
 
@@ -56,6 +58,17 @@ const CROWD = class CROWD {
 		this.crowdClient.pingSync();
 	}
 
+	fetchCrowdUser(username) {
+		const userResponse = this.crowdClient.user.findSync(username);
+
+		return {
+			displayname: userResponse['display-name'],
+			username: userResponse.name,
+			email: userResponse.email,
+			active: userResponse.active,
+		};
+	}
+
 	authenticate(username, password) {
 		if (!username || !password) {
 			logger.error('No username or password');
@@ -69,30 +82,34 @@ const CROWD = class CROWD {
 			return;
 		}
 
-		const userResponse = this.crowdClient.user.findSync(username);
+		const crowdUser = this.fetchCrowdUser(username);
 
-		const user = {
-			displayname: userResponse['display-name'],
-			username: userResponse.name,
-			email: userResponse.email,
-			password,
-			active: userResponse.active,
-		};
+		crowdUser.password = password;
 
-		return user;
+		return crowdUser;
 	}
 
 	syncDataToUser(crowdUser, id) {
+		const self = this;
 		const user = {
-			username: crowdUser.username,
+			username: self.cleanUsername(crowdUser.username),
+			crowd_username: crowdUser.username,
 			emails: [{
 				address : crowdUser.email,
 				verified: true,
 			}],
-			password: crowdUser.password,
 			active: crowdUser.active,
+			crowd: true,
 		};
 
+		if (crowdUser.password) {
+			Accounts.setPassword(id, crowdUser.password, {
+				logout: false,
+			});
+
+			RocketChat.models.Users.unsetRequirePasswordChange(id);
+		}
+
 		if (crowdUser.displayname) {
 			RocketChat._setRealName(id, crowdUser.displayname);
 		}
@@ -103,40 +120,62 @@ const CROWD = class CROWD {
 	}
 
 	sync() {
+		// if crowd is disabled bail out
 		if (RocketChat.settings.get('CROWD_Enable') !== true) {
 			return;
 		}
 
 		const self = this;
-		logger.info('Sync started');
-
-		const users = RocketChat.models.Users.findCrowdUsers();
-		if (users) {
-			users.forEach(function(user) {
-				logger.info('Syncing user', user.username);
-				const userResponse = self.crowdClient.user.findSync(user.username);
-				if (userResponse) {
-					const crowdUser = {
-						displayname: userResponse['display-name'],
-						username: userResponse.name,
-						email: userResponse.email,
-						password: userResponse.password,
-						active: userResponse.active,
-					};
+		const users = RocketChat.models.Users.findCrowdUsers() || [];
+
+		logger.info('Sync started...');
+
+		users.forEach(function(user) {
+
+			let username = user.hasOwnProperty('crowd_username') ? user.crowd_username : user.username;
+
+			try {
+				logger.info('Syncing user', username);
+
+				const crowdUser = self.fetchCrowdUser(username);
+
+				self.syncDataToUser(crowdUser, user._id);
+			} catch (error) {
+				logger.debug(error);
+				logger.error('Could not sync user with username', username);
+
+				const email = user.emails[0].address;
+				logger.info('Attempting to find for user by email', email);
+
+				const response = self.crowdClient.searchSync('user', `email=" ${ email } "`);
+				if (response.users && response.users.length === 1) {
+					username = response.users[0].name;
+					logger.info('User found. Syncing user', username);
+
+					const crowdUser = self.fetchCrowdUser(response.users[0].name);
 
 					self.syncDataToUser(crowdUser, user._id);
+				} else {
+					throw new Error('User does not exist or email is not unique');
 				}
-			});
+			}
+		});
+	}
+
+	cleanUsername(username) {
+		if (RocketChat.settings.get('CROWD_Clean_Usernames') === true) {
+			return username.split('@')[0];
 		}
+		return username;
 	}
 
-	addNewUser(crowdUser) {
+	updateUserCollection(crowdUser) {
 		const userQuery = {
 			crowd: true,
 			username: crowdUser.username,
 		};
 
-		// find our existinmg user if they exist
+		// find our existing user if they exist
 		const user = Meteor.users.findOne(userQuery);
 
 		if (user) {
@@ -154,29 +193,23 @@ const CROWD = class CROWD {
 				userId: user._id,
 				token: stampedToken.token,
 			};
-		} else {
-			try {
-				crowdUser._id = Accounts.createUser(crowdUser);
-			} catch (error) {
-				logger.info('Error creating new user for crowd user', error);
-			}
+		}
 
-			const updateUser = {
-				name: crowdUser.displayname,
-				crowd: true,
-				active: crowdUser.active,
-			};
+		// Attempt to create the new user
+		try {
+			crowdUser._id = Accounts.createUser(crowdUser);
 
-			Meteor.users.update(crowdUser._id, {
-				$set: updateUser,
-			});
-		}
+			// sync the user data
+			this.syncDataToUser(crowdUser, crowdUser._id);
 
-		return {
-			userId: crowdUser._id,
-		};
+			return {
+				userId: crowdUser._id,
+			};
+		} catch (error) {
+			logger.error('Error creating new crowd user.', error.message);
+		}
 	}
-};
+}
 
 Accounts.registerLoginHandler('crowd', function(loginRequest) {
 	if (!loginRequest.crowd) {
@@ -189,38 +222,50 @@ Accounts.registerLoginHandler('crowd', function(loginRequest) {
 		return fallbackDefaultAccountSystem(this, loginRequest.username, loginRequest.crowdPassword);
 	}
 
-	const crowd = new CROWD();
-	let user;
 	try {
-		user = crowd.authenticate(loginRequest.username, loginRequest.crowdPassword);
+		const crowd = new CROWD();
+		const user = crowd.authenticate(loginRequest.username, loginRequest.crowdPassword);
+
+		return crowd.updateUserCollection(user);
 	} catch (error) {
+		logger.debug(error);
 		logger.error('Crowd user not authenticated due to an error, falling back');
-	}
-
-	if (!user) {
 		return fallbackDefaultAccountSystem(this, loginRequest.username, loginRequest.crowdPassword);
 	}
-
-	return crowd.addNewUser(user);
 });
 
-let interval;
-let timeout;
 
-RocketChat.settings.get('CROWD_Sync_User_Data', function(key, value) {
-	Meteor.clearInterval(interval);
-	Meteor.clearTimeout(timeout);
+const jobName = 'CROWD_Sync';
 
-	if (value === true) {
-		const crowd = new CROWD();
-		logger.info('Enabling CROWD user sync');
-		Meteor.setInterval(crowd.sync, 1000 * 60 * 60);
-		Meteor.setTimeout(function() {
-			crowd.sync();
-		}, 1000 * 30);
-	} else {
-		logger.info('Disabling CROWD user sync');
+const addCronJob = _.debounce(Meteor.bindEnvironment(function addCronJobDebounced() {
+	if (RocketChat.settings.get('CROWD_Sync_User_Data') !== true) {
+		logger.info('Disabling CROWD Background Sync');
+		if (SyncedCron.nextScheduledAtDate(jobName)) {
+			SyncedCron.remove(jobName);
+		}
+		return;
+	}
+
+	const crowd = new CROWD();
+
+	if (RocketChat.settings.get('CROWD_Sync_Interval')) {
+		logger.info('Enabling CROWD Background Sync');
+		SyncedCron.add({
+			name: jobName,
+			schedule: (parser) => parser.text(RocketChat.settings.get('CROWD_Sync_Interval')),
+			job() {
+				crowd.sync();
+			},
+		});
+		SyncedCron.start();
 	}
+}), 500);
+
+Meteor.startup(() => {
+	Meteor.defer(() => {
+		RocketChat.settings.get('CROWD_Sync_Interval', addCronJob);
+		RocketChat.settings.get('CROWD_Sync_User_Data', addCronJob);
+	});
 });
 
 Meteor.methods({
@@ -238,18 +283,43 @@ Meteor.methods({
 			throw new Meteor.Error('crowd_disabled');
 		}
 
-		const crowd = new CROWD();
-
 		try {
+			const crowd = new CROWD();
 			crowd.checkConnection();
+
+			return {
+				message: 'Connection success',
+				params: [],
+			};
 		} catch (error) {
 			logger.error('Invalid crowd connection details, check the url and application username/password and make sure this server is allowed to speak to crowd');
 			throw new Meteor.Error('Invalid connection details', '', { method: 'crowd_test_connection' });
 		}
+	},
+	crowd_sync_users() {
+		const user = Meteor.user();
+		if (RocketChat.settings.get('CROWD_Enable') !== true) {
+			throw new Meteor.Error('crowd_disabled');
+		}
 
-		return {
-			message: 'Connection success',
-			params: [],
-		};
+		if (!RocketChat.authz.hasRole(user._id, 'admin')) {
+			throw new Meteor.Error('error-not-authorized', 'Not authorized', { method: 'crowd_sync_users' });
+		}
+
+		try {
+			const crowd = new CROWD();
+			const startTime = Date.now();
+			crowd.sync();
+			const stopTime = Date.now();
+			const actual = Math.ceil((stopTime - startTime) / 1000);
+
+			return {
+				message: `User data synced in ${ actual } seconds`,
+				params: [],
+			};
+		} catch (error) {
+			logger.error('Error syncing user data. ', error.message);
+			throw new Meteor.Error('Error syncing user data', '', { method: 'crowd_sync_users' });
+		}
 	},
 });
diff --git a/packages/rocketchat-crowd/server/index.js b/packages/rocketchat-crowd/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..33b6eab8d4f70886b7bc621bb38e8261259afc06
--- /dev/null
+++ b/packages/rocketchat-crowd/server/index.js
@@ -0,0 +1,7 @@
+import './settings';
+import { CROWD } from './crowd';
+
+export {
+	CROWD,
+};
+
diff --git a/packages/rocketchat-crowd/server/settings.js b/packages/rocketchat-crowd/server/settings.js
index 7cf9aaa33904a0406da35101329a0f925d41340c..960a80f687dcc171f987cc446bccb95c27c366c2 100644
--- a/packages/rocketchat-crowd/server/settings.js
+++ b/packages/rocketchat-crowd/server/settings.js
@@ -1,12 +1,20 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.startup(function() {
 	RocketChat.settings.addGroup('AtlassianCrowd', function() {
 		const enableQuery = { _id: 'CROWD_Enable', value: true };
+		const enableSyncQuery = [enableQuery, { _id: 'CROWD_Sync_User_Data', value: true }];
+
 		this.add('CROWD_Enable', false, { type: 'boolean', public: true, i18nLabel: 'Enabled' });
 		this.add('CROWD_URL', '', { type: 'string', enableQuery, i18nLabel: 'URL' });
 		this.add('CROWD_Reject_Unauthorized', true, { type: 'boolean', enableQuery });
 		this.add('CROWD_APP_USERNAME', '', { type: 'string', enableQuery, i18nLabel: 'Username' });
 		this.add('CROWD_APP_PASSWORD', '', { type: 'password', enableQuery, i18nLabel: 'Password' });
 		this.add('CROWD_Sync_User_Data', false, { type: 'boolean', enableQuery, i18nLabel: 'Sync_Users' });
+		this.add('CROWD_Sync_Interval', 'Every 60 mins', { type: 'string', enableQuery: enableSyncQuery, i18nLabel: 'Sync_Interval', i18nDescription: 'Crowd_sync_interval_Description' });
+		this.add('CROWD_Clean_Usernames', true, { type: 'boolean', enableQuery, i18nLabel: 'Clean_Usernames', i18nDescription: 'Crowd_clean_usernames_Description' });
 		this.add('CROWD_Test_Connection', 'crowd_test_connection', { type: 'action', actionText: 'Test_Connection', i18nLabel: 'Test_Connection' });
+		this.add('CROWD_Sync_Users', 'crowd_sync_users', { type: 'action', actionText: 'Sync_Users', i18nLabel: 'Sync_Users' });
 	});
 });
diff --git a/packages/rocketchat-custom-oauth/client/custom_oauth_client.js b/packages/rocketchat-custom-oauth/client/custom_oauth_client.js
index 2f2a506b8f25ca389cf9c3840f7eedcd21048b68..bf2fa7ab3064a14d056c88d9008bf3cd55c31d11 100644
--- a/packages/rocketchat-custom-oauth/client/custom_oauth_client.js
+++ b/packages/rocketchat-custom-oauth/client/custom_oauth_client.js
@@ -1,4 +1,8 @@
 /* globals OAuth*/
+import { Meteor } from 'meteor/meteor';
+import { Match } from 'meteor/check';
+import { Accounts } from 'meteor/accounts-base';
+import { Random } from 'meteor/random';
 import s from 'underscore.string';
 
 // Request custom OAuth credentials for the user
diff --git a/packages/rocketchat-custom-oauth/server/custom_oauth_server.js b/packages/rocketchat-custom-oauth/server/custom_oauth_server.js
index 416f87128adca6989bd203bfd2788b9b6213c29d..75c82b1a8d793bd852bfdde17d875e99f3e41a0f 100644
--- a/packages/rocketchat-custom-oauth/server/custom_oauth_server.js
+++ b/packages/rocketchat-custom-oauth/server/custom_oauth_server.js
@@ -1,4 +1,8 @@
 /* globals OAuth*/
+import { Meteor } from 'meteor/meteor';
+import { Match } from 'meteor/check';
+import { Accounts } from 'meteor/accounts-base';
+import { HTTP } from 'meteor/http';
 import _ from 'underscore';
 
 const logger = new Logger('CustomOAuth');
diff --git a/packages/rocketchat-custom-sounds/client/admin/adminSounds.js b/packages/rocketchat-custom-sounds/client/admin/adminSounds.js
index a1f8ecf28c0a0d601bd3684493b8540b6cf87318..aeacec75b331685cc5ff5716db28251d71ba4ebd 100644
--- a/packages/rocketchat-custom-sounds/client/admin/adminSounds.js
+++ b/packages/rocketchat-custom-sounds/client/admin/adminSounds.js
@@ -1,6 +1,11 @@
-import s from 'underscore.string';
-
+import { ReactiveVar } from 'meteor/reactive-var';
 import { RocketChatTabBar } from 'meteor/rocketchat:lib';
+import { Tracker } from 'meteor/tracker';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { SideNav } from 'meteor/rocketchat:ui';
+import s from 'underscore.string';
 
 Template.adminSounds.helpers({
 	isReady() {
diff --git a/packages/rocketchat-custom-sounds/client/admin/route.js b/packages/rocketchat-custom-sounds/client/admin/route.js
index da8f9214515c6f405814cc7852872e41eea6986e..cf12f9949f6a84878776e5fe1cbdf0e8bc971ec9 100644
--- a/packages/rocketchat-custom-sounds/client/admin/route.js
+++ b/packages/rocketchat-custom-sounds/client/admin/route.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { BlazeLayout } from 'meteor/kadira:blaze-layout';
+
 FlowRouter.route('/admin/custom-sounds', {
 	name: 'custom-sounds',
 	subscriptions(/* params, queryParams*/) {
diff --git a/packages/rocketchat-custom-sounds/client/admin/soundEdit.js b/packages/rocketchat-custom-sounds/client/admin/soundEdit.js
index adfad401baf8f4086076484972203c58b3b60083..65594d0d0a2b00e1e7ba951f7dbc46f404d4cf39 100644
--- a/packages/rocketchat-custom-sounds/client/admin/soundEdit.js
+++ b/packages/rocketchat-custom-sounds/client/admin/soundEdit.js
@@ -1,3 +1,8 @@
+import { Meteor } from 'meteor/meteor';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
+import { t } from 'meteor/rocketchat:ui';
+import { handleError } from 'meteor/rocketchat:lib';
 import toastr from 'toastr';
 import s from 'underscore.string';
 
diff --git a/packages/rocketchat-custom-sounds/client/admin/soundInfo.js b/packages/rocketchat-custom-sounds/client/admin/soundInfo.js
index ca40311d815b850e0c938ab8ae7ee8e0273f0e8a..db3853e0b74e03c144ce86f9f45ffdbda91822b6 100644
--- a/packages/rocketchat-custom-sounds/client/admin/soundInfo.js
+++ b/packages/rocketchat-custom-sounds/client/admin/soundInfo.js
@@ -1,3 +1,9 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Template } from 'meteor/templating';
+import { t, modal } from 'meteor/rocketchat:ui';
+import { handleError } from 'meteor/rocketchat:lib';
+
 Template.soundInfo.helpers({
 	name() {
 		const sound = Template.instance().sound.get();
diff --git a/packages/rocketchat-custom-sounds/client/admin/startup.js b/packages/rocketchat-custom-sounds/client/admin/startup.js
index e17d7389925bf06062c9cc42e41051f17b632804..c9e888e96850dcee50261e97d34e7f7a22614db7 100644
--- a/packages/rocketchat-custom-sounds/client/admin/startup.js
+++ b/packages/rocketchat-custom-sounds/client/admin/startup.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.AdminBox.addOption({
 	href: 'custom-sounds',
 	i18nLabel: 'Custom_Sounds',
diff --git a/packages/rocketchat-custom-sounds/client/index.js b/packages/rocketchat-custom-sounds/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..204f894d7b3a9678b4108914d23565e5bc151c98
--- /dev/null
+++ b/packages/rocketchat-custom-sounds/client/index.js
@@ -0,0 +1,15 @@
+import '../assets/stylesheets/customSoundsAdmin.css';
+import './lib/CustomSounds';
+import './models/CustomSounds';
+import './notifications/deleteCustomSound';
+import './notifications/updateCustomSound';
+import './admin/adminSoundEdit.html';
+import './admin/adminSoundInfo.html';
+import './admin/adminSounds.html';
+import './admin/adminSounds';
+import './admin/soundEdit.html';
+import './admin/soundEdit';
+import './admin/soundInfo.html';
+import './admin/soundInfo';
+import './admin/route';
+import './admin/startup';
diff --git a/packages/rocketchat-custom-sounds/client/lib/CustomSounds.js b/packages/rocketchat-custom-sounds/client/lib/CustomSounds.js
index 4bce88b54dc9447525125748e78db859c7f36f67..69bf7c7c6acb2496ed943267196bd5e1a7bddf8a 100644
--- a/packages/rocketchat-custom-sounds/client/lib/CustomSounds.js
+++ b/packages/rocketchat-custom-sounds/client/lib/CustomSounds.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { RocketChat } from 'meteor/rocketchat:lib';
 import _ from 'underscore';
 
 class CustomSounds {
diff --git a/packages/rocketchat-custom-sounds/client/models/CustomSounds.js b/packages/rocketchat-custom-sounds/client/models/CustomSounds.js
index 59c847dd1b79f3ae41c878e274b9831dc9e63627..b43ee109d9f738060654025aba1cb9925c009072 100644
--- a/packages/rocketchat-custom-sounds/client/models/CustomSounds.js
+++ b/packages/rocketchat-custom-sounds/client/models/CustomSounds.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 class CustomSounds extends RocketChat.models._Base {
 	constructor() {
 		super();
diff --git a/packages/rocketchat-custom-sounds/client/notifications/deleteCustomSound.js b/packages/rocketchat-custom-sounds/client/notifications/deleteCustomSound.js
index 2ba76233e4f4ea50c2bfa0c99606240dcd329a86..91560d7d28dfaa99fca2d262209906bda65e6415 100644
--- a/packages/rocketchat-custom-sounds/client/notifications/deleteCustomSound.js
+++ b/packages/rocketchat-custom-sounds/client/notifications/deleteCustomSound.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.startup(() =>
 	RocketChat.CachedCollectionManager.onLogin(() =>
 		RocketChat.Notifications.onAll('deleteCustomSound', (data) => RocketChat.CustomSounds.remove(data.soundData))
diff --git a/packages/rocketchat-custom-sounds/client/notifications/updateCustomSound.js b/packages/rocketchat-custom-sounds/client/notifications/updateCustomSound.js
index ef1252b658e63336c71b07437edcde6878075c00..75903369bd06d8faf326c2f425db98e42a982596 100644
--- a/packages/rocketchat-custom-sounds/client/notifications/updateCustomSound.js
+++ b/packages/rocketchat-custom-sounds/client/notifications/updateCustomSound.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.startup(() =>
 	RocketChat.CachedCollectionManager.onLogin(() =>
 		RocketChat.Notifications.onAll('updateCustomSound', (data) => RocketChat.CustomSounds.update(data.soundData))
diff --git a/packages/rocketchat-custom-sounds/package.js b/packages/rocketchat-custom-sounds/package.js
index aa68853798c480fd273abe25e2a3744646eaf0d2..afd358d9bf4ee4e76ba72767ed0cf50d612272a9 100644
--- a/packages/rocketchat-custom-sounds/package.js
+++ b/packages/rocketchat-custom-sounds/package.js
@@ -13,39 +13,10 @@ Package.onUse(function(api) {
 		'templating',
 		'reactive-var',
 		'webapp',
+		'kadira:flow-router',
+		'kadira:blaze-layout',
 	]);
 
-	api.use('kadira:flow-router', 'client');
-
-	api.addFiles('server/startup/custom-sounds.js', 'server');
-	api.addFiles('server/startup/permissions.js', 'server');
-	api.addFiles('server/startup/settings.js', 'server');
-
-	api.addFiles('server/models/CustomSounds.js', 'server');
-	api.addFiles('server/publications/customSounds.js', 'server');
-
-	api.addFiles([
-		'server/methods/deleteCustomSound.js',
-		'server/methods/insertOrUpdateSound.js',
-		'server/methods/listCustomSounds.js',
-		'server/methods/uploadCustomSound.js',
-	], 'server');
-
-	api.addFiles('assets/stylesheets/customSoundsAdmin.css', 'client');
-
-	api.addFiles('client/admin/startup.js', 'client');
-	api.addFiles('client/admin/adminSounds.html', 'client');
-	api.addFiles('client/admin/adminSounds.js', 'client');
-	api.addFiles('client/admin/adminSoundEdit.html', 'client');
-	api.addFiles('client/admin/adminSoundInfo.html', 'client');
-	api.addFiles('client/admin/soundEdit.html', 'client');
-	api.addFiles('client/admin/soundEdit.js', 'client');
-	api.addFiles('client/admin/soundInfo.html', 'client');
-	api.addFiles('client/admin/soundInfo.js', 'client');
-	api.addFiles('client/admin/route.js', 'client');
-
-	api.addFiles('client/lib/CustomSounds.js', 'client');
-	api.addFiles('client/models/CustomSounds.js', 'client');
-	api.addFiles('client/notifications/updateCustomSound.js', 'client');
-	api.addFiles('client/notifications/deleteCustomSound.js', 'client');
+	api.mainModule('client/index.js', 'client');
+	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/rocketchat-custom-sounds/server/index.js b/packages/rocketchat-custom-sounds/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..9caeb06c2abed5c8c2c31c30c2b4dd42bad0e7ae
--- /dev/null
+++ b/packages/rocketchat-custom-sounds/server/index.js
@@ -0,0 +1,9 @@
+import './startup/custom-sounds';
+import './startup/permissions';
+import './startup/settings';
+import './models/CustomSounds';
+import './methods/deleteCustomSound';
+import './methods/insertOrUpdateSound';
+import './methods/listCustomSounds';
+import './methods/uploadCustomSound';
+import './publications/customSounds';
diff --git a/packages/rocketchat-custom-sounds/server/methods/deleteCustomSound.js b/packages/rocketchat-custom-sounds/server/methods/deleteCustomSound.js
index f9fca4fcafcad321d001e1cc2c9d327d4c2fbcb7..d74871c90ca989d17949c09f817509adc0c81c11 100644
--- a/packages/rocketchat-custom-sounds/server/methods/deleteCustomSound.js
+++ b/packages/rocketchat-custom-sounds/server/methods/deleteCustomSound.js
@@ -1,4 +1,7 @@
-/* globals RocketChatFileCustomSoundsInstance */
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { RocketChatFileCustomSoundsInstance } from '../startup/custom-sounds';
+
 Meteor.methods({
 	deleteCustomSound(_id) {
 		let sound = null;
diff --git a/packages/rocketchat-custom-sounds/server/methods/insertOrUpdateSound.js b/packages/rocketchat-custom-sounds/server/methods/insertOrUpdateSound.js
index 1bd3e4c618afdbae99333ca20d75f6c292bbda0e..cad6c03d1e857ae17ada81970303136661880b0d 100644
--- a/packages/rocketchat-custom-sounds/server/methods/insertOrUpdateSound.js
+++ b/packages/rocketchat-custom-sounds/server/methods/insertOrUpdateSound.js
@@ -1,4 +1,6 @@
-/* globals RocketChatFileCustomSoundsInstance */
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { RocketChatFileCustomSoundsInstance } from '../startup/custom-sounds';
 import s from 'underscore.string';
 
 Meteor.methods({
diff --git a/packages/rocketchat-custom-sounds/server/methods/listCustomSounds.js b/packages/rocketchat-custom-sounds/server/methods/listCustomSounds.js
index f1b721301b654fee5a220b30f9da52d6bdcef33f..9b38e382fbd11944388baaceb746ffbc58a04321 100644
--- a/packages/rocketchat-custom-sounds/server/methods/listCustomSounds.js
+++ b/packages/rocketchat-custom-sounds/server/methods/listCustomSounds.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.methods({
 	listCustomSounds() {
 		return RocketChat.models.CustomSounds.find({}).fetch();
diff --git a/packages/rocketchat-custom-sounds/server/methods/uploadCustomSound.js b/packages/rocketchat-custom-sounds/server/methods/uploadCustomSound.js
index 4e265740821ad7e249f68d4c95f5c18c7d1d7447..2cc8bf2404a9f5c303ddfe449077b2ad6e8d100a 100644
--- a/packages/rocketchat-custom-sounds/server/methods/uploadCustomSound.js
+++ b/packages/rocketchat-custom-sounds/server/methods/uploadCustomSound.js
@@ -1,4 +1,8 @@
-/* globals RocketChatFileCustomSoundsInstance */
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { RocketChatFile } from 'meteor/rocketchat:file';
+import { RocketChatFileCustomSoundsInstance } from '../startup/custom-sounds';
+
 Meteor.methods({
 	uploadCustomSound(binaryContent, contentType, soundData) {
 		if (!RocketChat.authz.hasPermission(this.userId, 'manage-sounds')) {
diff --git a/packages/rocketchat-custom-sounds/server/models/CustomSounds.js b/packages/rocketchat-custom-sounds/server/models/CustomSounds.js
index 8447d7d5e750098ed7ab2311781237d9b9b4f0b3..9c05dab8a6fa951bca3af44251e0e1205b06c15c 100644
--- a/packages/rocketchat-custom-sounds/server/models/CustomSounds.js
+++ b/packages/rocketchat-custom-sounds/server/models/CustomSounds.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 class CustomSounds extends RocketChat.models._Base {
 	constructor() {
 		super('custom_sounds');
diff --git a/packages/rocketchat-custom-sounds/server/publications/customSounds.js b/packages/rocketchat-custom-sounds/server/publications/customSounds.js
index 6ab9afaedfdd6072ce6afe0878bc3f8333df49a3..2da7176ef49939f24d5ebc13873768cfd461d71d 100644
--- a/packages/rocketchat-custom-sounds/server/publications/customSounds.js
+++ b/packages/rocketchat-custom-sounds/server/publications/customSounds.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
 import s from 'underscore.string';
 
 Meteor.publish('customSounds', function(filter, limit) {
diff --git a/packages/rocketchat-custom-sounds/server/startup/custom-sounds.js b/packages/rocketchat-custom-sounds/server/startup/custom-sounds.js
index 33cbc7d3b84c3b568cfbe1b04f2a8a9d9584a958..1d6fb8a79ba5afec0717c21ff664fb94797cdc8e 100644
--- a/packages/rocketchat-custom-sounds/server/startup/custom-sounds.js
+++ b/packages/rocketchat-custom-sounds/server/startup/custom-sounds.js
@@ -1,6 +1,11 @@
-/* globals RocketChatFileCustomSoundsInstance */
+import { Meteor } from 'meteor/meteor';
+import { WebApp } from 'meteor/webapp';
+import { RocketChatFile } from 'meteor/rocketchat:file';
+import { RocketChat } from 'meteor/rocketchat:lib';
 import _ from 'underscore';
 
+export let RocketChatFileCustomSoundsInstance;
+
 Meteor.startup(function() {
 	let storeType = 'GridFS';
 
@@ -23,13 +28,11 @@ Meteor.startup(function() {
 		}
 	}
 
-	this.RocketChatFileCustomSoundsInstance = new RocketChatStore({
+	RocketChatFileCustomSoundsInstance = new RocketChatStore({
 		name: 'custom_sounds',
 		absolutePath: path,
 	});
 
-	self = this;
-
 	return WebApp.connectHandlers.use('/custom-sounds/', Meteor.bindEnvironment(function(req, res/* , next*/) {
 		const params =
 			{ sound: decodeURIComponent(req.url.replace(/^\//, '').replace(/\?.*$/, '')) };
diff --git a/packages/rocketchat-custom-sounds/server/startup/permissions.js b/packages/rocketchat-custom-sounds/server/startup/permissions.js
index c86644103c97eca4bddd69699c2554184a411931..90c5ca5dffdb1921ac5c1aa07b6e02f5bdcc7f15 100644
--- a/packages/rocketchat-custom-sounds/server/startup/permissions.js
+++ b/packages/rocketchat-custom-sounds/server/startup/permissions.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.startup(() => {
 	if (RocketChat.models && RocketChat.models.Permissions) {
 		RocketChat.models.Permissions.createOrUpdate('manage-sounds', ['admin']);
diff --git a/packages/rocketchat-custom-sounds/server/startup/settings.js b/packages/rocketchat-custom-sounds/server/startup/settings.js
index 4d04f2d8b2a367cc666ffe0529811487f500c1e7..67c1fbeb769ed86f384aaac5e5364b136f2a4bb3 100644
--- a/packages/rocketchat-custom-sounds/server/startup/settings.js
+++ b/packages/rocketchat-custom-sounds/server/startup/settings.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.settings.addGroup('CustomSoundsFilesystem', function() {
 	this.add('CustomSounds_Storage_Type', 'GridFS', {
 		type: 'select',
diff --git a/packages/rocketchat-dolphin/client/index.js b/packages/rocketchat-dolphin/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..f463af1d622d19425ed6d533e49996bf0848dcc4
--- /dev/null
+++ b/packages/rocketchat-dolphin/client/index.js
@@ -0,0 +1,2 @@
+import './login-button.css';
+import '../lib/common';
diff --git a/packages/rocketchat-dolphin/login-button.css b/packages/rocketchat-dolphin/client/login-button.css
similarity index 100%
rename from packages/rocketchat-dolphin/login-button.css
rename to packages/rocketchat-dolphin/client/login-button.css
diff --git a/packages/rocketchat-dolphin/common.js b/packages/rocketchat-dolphin/lib/common.js
similarity index 88%
rename from packages/rocketchat-dolphin/common.js
rename to packages/rocketchat-dolphin/lib/common.js
index 28426895cfbe9acb8eca9f80e57d602284033175..7d7b634c78803d52f13629fd4fd89d25ab785f55 100644
--- a/packages/rocketchat-dolphin/common.js
+++ b/packages/rocketchat-dolphin/lib/common.js
@@ -1,5 +1,8 @@
-// Dolphin OAuth2
-/* globals CustomOAuth */
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { ServiceConfiguration } from 'meteor/service-configuration';
+import { CustomOAuth } from 'meteor/rocketchat:custom-oauth';
 
 const config = {
 	serverURL: '',
diff --git a/packages/rocketchat-dolphin/package.js b/packages/rocketchat-dolphin/package.js
index 10c3b6fdcd42c8fbdf66dbfe8a39ee3abb1b757c..cab894f54dedbf9f37e7cfa096aac753d986ea02 100644
--- a/packages/rocketchat-dolphin/package.js
+++ b/packages/rocketchat-dolphin/package.js
@@ -7,13 +7,13 @@ Package.describe({
 
 Package.onUse(function(api) {
 	api.versionsFrom('1.0');
-	api.use('ecmascript');
-	api.use('service-configuration');
-	api.use('rocketchat:lib@0.0.1');
-	api.use('rocketchat:custom-oauth');
-	api.addFiles('common.js');
-	api.addFiles('login-button.css', 'client');
-	api.addFiles('startup.js', 'server');
-
-	api.use('templating', 'client');
+	api.use([
+		'ecmascript',
+		'service-configuration',
+		'rocketchat:lib@0.0.1',
+		'rocketchat:custom-oauth',
+		'templating',
+	]);
+	api.mainModule('client/index.js', 'client');
+	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/rocketchat-dolphin/server/index.js b/packages/rocketchat-dolphin/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..d4fffe60273a46bc3fa249c3dc4b2922fa8cb391
--- /dev/null
+++ b/packages/rocketchat-dolphin/server/index.js
@@ -0,0 +1,2 @@
+import './startup';
+import '../lib/common';
diff --git a/packages/rocketchat-dolphin/startup.js b/packages/rocketchat-dolphin/server/startup.js
similarity index 96%
rename from packages/rocketchat-dolphin/startup.js
rename to packages/rocketchat-dolphin/server/startup.js
index 4110c5f59a75cfff1a949eba57e9aea99c1595c7..c993175df6238c416a8dac33253681aaa79876fc 100644
--- a/packages/rocketchat-dolphin/startup.js
+++ b/packages/rocketchat-dolphin/server/startup.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.settings.add('Accounts_OAuth_Dolphin_URL', '', { type: 'string', group: 'OAuth', public: true, section: 'Dolphin', i18nLabel: 'URL' });
 RocketChat.settings.add('Accounts_OAuth_Dolphin', false, { type: 'boolean', group: 'OAuth', section: 'Dolphin', i18nLabel: 'Accounts_OAuth_Custom_Enable' });
 RocketChat.settings.add('Accounts_OAuth_Dolphin_id', '', { type: 'string', group: 'OAuth', section: 'Dolphin', i18nLabel: 'Accounts_OAuth_Custom_id' });
diff --git a/packages/rocketchat-drupal/client/index.js b/packages/rocketchat-drupal/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..f463af1d622d19425ed6d533e49996bf0848dcc4
--- /dev/null
+++ b/packages/rocketchat-drupal/client/index.js
@@ -0,0 +1,2 @@
+import './login-button.css';
+import '../lib/common';
diff --git a/packages/rocketchat-drupal/login-button.css b/packages/rocketchat-drupal/client/login-button.css
similarity index 100%
rename from packages/rocketchat-drupal/login-button.css
rename to packages/rocketchat-drupal/client/login-button.css
diff --git a/packages/rocketchat-drupal/common.js b/packages/rocketchat-drupal/lib/common.js
similarity index 84%
rename from packages/rocketchat-drupal/common.js
rename to packages/rocketchat-drupal/lib/common.js
index 338854cd2a32678b199387f5d2adf3a3f117e3e7..6386d9de4061b9a29c05f402a3404835d59e6ea2 100644
--- a/packages/rocketchat-drupal/common.js
+++ b/packages/rocketchat-drupal/lib/common.js
@@ -1,4 +1,7 @@
-/* global CustomOAuth */
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { CustomOAuth } from 'meteor/rocketchat:custom-oauth';
 
 // Drupal Server CallBack URL needs to be http(s)://{rocketchat.server}[:port]/_oauth/drupal
 // In RocketChat -> Administration the URL needs to be http(s)://{drupal.server}/
diff --git a/packages/rocketchat-drupal/package.js b/packages/rocketchat-drupal/package.js
index e84e9c543c83e9c124768513300bbfaba8471c20..bd9e2d51ee3b530633d9e883f8fa92070fbcaa37 100644
--- a/packages/rocketchat-drupal/package.js
+++ b/packages/rocketchat-drupal/package.js
@@ -6,17 +6,14 @@ Package.describe({
 
 Package.onUse(function(api) {
 	api.versionsFrom('1.0');
-	api.use('ecmascript');
-	api.use('service-configuration');
-	api.use('rocketchat:lib@0.0.1');
-	api.use('rocketchat:custom-oauth');
-
-	// api.use('templating', 'client');
-
-	api.addFiles('common.js');
-	api.addFiles('login-button.css', 'client');
-	api.addFiles('startup.js', 'server');
-
-	api.use('templating', 'client');
+	api.use([
+		'ecmascript',
+		'service-configuration',
+		'rocketchat:lib@0.0.1',
+		'rocketchat:custom-oauth',
+		'templating',
+	]);
+	api.mainModule('client/index.js', 'client');
+	api.mainModule('server/index.js', 'server');
 });
 
diff --git a/packages/rocketchat-drupal/server/index.js b/packages/rocketchat-drupal/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..d4fffe60273a46bc3fa249c3dc4b2922fa8cb391
--- /dev/null
+++ b/packages/rocketchat-drupal/server/index.js
@@ -0,0 +1,2 @@
+import './startup';
+import '../lib/common';
diff --git a/packages/rocketchat-drupal/startup.js b/packages/rocketchat-drupal/server/startup.js
similarity index 92%
rename from packages/rocketchat-drupal/startup.js
rename to packages/rocketchat-drupal/server/startup.js
index 21bc942a3d06cda94af8ed16e533987511c5324d..389c2d06dbf15b18758908c33d7ba173aff8304d 100644
--- a/packages/rocketchat-drupal/startup.js
+++ b/packages/rocketchat-drupal/server/startup.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.settings.addGroup('OAuth', function() {
 	this.section('Drupal', function() {
 		const enableQuery = {
diff --git a/packages/rocketchat-e2e/client/rocketchat.e2e.js b/packages/rocketchat-e2e/client/rocketchat.e2e.js
index 8a401a6b8f2c14f8a8599cc1c19f1796e72b953b..2aec83f981fe4df4c23c1231a5f5c9d04c5930fb 100644
--- a/packages/rocketchat-e2e/client/rocketchat.e2e.js
+++ b/packages/rocketchat-e2e/client/rocketchat.e2e.js
@@ -67,6 +67,10 @@ class E2E {
 			_id: roomId,
 		});
 
+		if (!room) {
+			return;
+		}
+
 		if (room.encrypted !== true) {
 			return;
 		}
@@ -185,6 +189,7 @@ class E2E {
 	}
 
 	async stopClient() {
+		console.log('E2E -> Stop Client');
 		// This flag is used to avoid closing unrelated alerts.
 		if (showingE2EAlert) {
 			alerts.close();
@@ -192,7 +197,16 @@ class E2E {
 
 		localStorage.removeItem('public_key');
 		localStorage.removeItem('private_key');
+		this.instancesByRoomId = {};
+		this.privateKey = null;
+		this.enabled.set(false);
+		this._ready.set(false);
 		this.started = false;
+
+		this.readyPromise = new Deferred();
+		this.readyPromise.then(() => {
+			this._ready.set(true);
+		});
 	}
 
 	setupListeners() {
@@ -236,6 +250,7 @@ class E2E {
 	async loadKeysFromDB() {
 		try {
 			const { public_key, private_key } = await call('e2e.fetchMyKeys');
+
 			this.db_public_key = public_key;
 			this.db_private_key = private_key;
 		} catch (error) {
@@ -280,6 +295,12 @@ class E2E {
 		} catch (error) {
 			return console.error('E2E -> Error exporting private key: ', error);
 		}
+
+		this.requestSubscriptionKeys();
+	}
+
+	async requestSubscriptionKeys() {
+		call('e2e.requestSubscriptionKeys');
 	}
 
 	createRandomPassword() {
diff --git a/packages/rocketchat-e2e/server/index.js b/packages/rocketchat-e2e/server/index.js
index 9380368df0e2342987c48c93743405179110df3d..c7167c3f6fd346762047359f64b3b7328425f193 100644
--- a/packages/rocketchat-e2e/server/index.js
+++ b/packages/rocketchat-e2e/server/index.js
@@ -9,6 +9,8 @@ import './methods/getUsersOfRoomWithoutKey';
 import './methods/updateGroupKey';
 import './methods/setRoomKeyID';
 import './methods/fetchMyKeys';
+import './methods/resetUserE2EKey';
+import './methods/requestSubscriptionKeys';
 
 RocketChat.callbacks.add('afterJoinRoom', (user, room) => {
 	RocketChat.Notifications.notifyRoom('e2e.keyRequest', room._id, room.e2eKeyId);
diff --git a/packages/rocketchat-e2e/server/methods/requestSubscriptionKeys.js b/packages/rocketchat-e2e/server/methods/requestSubscriptionKeys.js
new file mode 100644
index 0000000000000000000000000000000000000000..50d15ce4814d483b832ff6aee34b6a17975b1c91
--- /dev/null
+++ b/packages/rocketchat-e2e/server/methods/requestSubscriptionKeys.js
@@ -0,0 +1,33 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
+Meteor.methods({
+	'e2e.requestSubscriptionKeys'() {
+		if (!Meteor.userId()) {
+			throw new Meteor.Error('error-invalid-user', 'Invalid user', {
+				method: 'requestSubscriptionKeys',
+			});
+		}
+
+		// Get all encrypted rooms that the user is subscribed to and has no E2E key yet
+		const subscriptions = RocketChat.models.Subscriptions.findByUserIdWithoutE2E(Meteor.userId());
+		const roomIds = subscriptions.map((subscription) => subscription.rid);
+
+		// For all subscriptions without E2E key, get the rooms that have encryption enabled
+		const query = {
+			e2eKeyId : {
+				$exists: true,
+			},
+			_id : {
+				$in: roomIds,
+			},
+		};
+
+		const rooms = RocketChat.models.Rooms.find(query);
+		rooms.forEach((room) => {
+			RocketChat.Notifications.notifyRoom('e2e.keyRequest', room._id, room.e2eKeyId);
+		});
+
+		return true;
+	},
+});
diff --git a/packages/rocketchat-e2e/server/methods/resetUserE2EKey.js b/packages/rocketchat-e2e/server/methods/resetUserE2EKey.js
new file mode 100644
index 0000000000000000000000000000000000000000..53599f16d28489adc868d492163ee6a828f96e91
--- /dev/null
+++ b/packages/rocketchat-e2e/server/methods/resetUserE2EKey.js
@@ -0,0 +1,25 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
+Meteor.methods({
+	'e2e.resetUserE2EKey'(userId) {
+		if (!Meteor.userId()) {
+			throw new Meteor.Error('error-invalid-user', 'Invalid user', {
+				method: 'resetUserE2EKey',
+			});
+		}
+
+		if (RocketChat.authz.hasPermission(Meteor.userId(), 'reset-other-user-e2e-key') !== true) {
+			throw new Meteor.Error('error-not-allowed', 'Not allowed', {
+				method: 'resetUserE2EKey',
+			});
+		}
+
+		RocketChat.models.Users.resetE2EKey(userId);
+		RocketChat.models.Subscriptions.resetUserE2EKey(userId);
+
+		// Force the user to logout, so that the keys can be generated again
+		RocketChat.models.Users.removeResumeService(userId);
+		return true;
+	},
+});
diff --git a/packages/rocketchat-e2e/server/models/Subscriptions.js b/packages/rocketchat-e2e/server/models/Subscriptions.js
index 88af4c7d357bc3171c70d523a60f8893ee5e65b9..2ab46b438e541a46e1e937e128677e58989a57a9 100644
--- a/packages/rocketchat-e2e/server/models/Subscriptions.js
+++ b/packages/rocketchat-e2e/server/models/Subscriptions.js
@@ -17,3 +17,24 @@ RocketChat.models.Subscriptions.findByRidWithoutE2EKey = function(rid, options)
 
 	return this.find(query, options);
 };
+
+RocketChat.models.Subscriptions.resetUserE2EKey = function(userId) {
+	this.update({ 'u._id': userId }, {
+		$unset: {
+			E2EKey: '',
+		},
+	}, {
+		multi: true,
+	});
+};
+
+RocketChat.models.Subscriptions.findByUserIdWithoutE2E = function(userId, options) {
+	const query = {
+		'u._id': userId,
+		E2EKey: {
+			$exists: false,
+		},
+	};
+
+	return this.find(query, options);
+};
diff --git a/packages/rocketchat-e2e/server/models/Users.js b/packages/rocketchat-e2e/server/models/Users.js
index ac072f960d4594762453619c063abd3e2de29598..3a099808b0d9d997c36b02af35ced4e1b8a7c521 100644
--- a/packages/rocketchat-e2e/server/models/Users.js
+++ b/packages/rocketchat-e2e/server/models/Users.js
@@ -34,3 +34,11 @@ RocketChat.models.Users.findByIdsWithPublicE2EKey = function(ids, options) {
 
 	return this.find(query, options);
 };
+
+RocketChat.models.Users.resetE2EKey = function(userId) {
+	this.update({ _id: userId }, {
+		$unset: {
+			e2e: '',
+		},
+	});
+};
diff --git a/packages/rocketchat-emoji-custom/admin/adminEmoji.html b/packages/rocketchat-emoji-custom/client/admin/adminEmoji.html
similarity index 100%
rename from packages/rocketchat-emoji-custom/admin/adminEmoji.html
rename to packages/rocketchat-emoji-custom/client/admin/adminEmoji.html
diff --git a/packages/rocketchat-emoji-custom/admin/adminEmoji.js b/packages/rocketchat-emoji-custom/client/admin/adminEmoji.js
similarity index 90%
rename from packages/rocketchat-emoji-custom/admin/adminEmoji.js
rename to packages/rocketchat-emoji-custom/client/admin/adminEmoji.js
index aee72d545616570cd8e4817eff78df63966d1bb0..b73fe2b8829afd236b355716a2a30cad22d9da3b 100644
--- a/packages/rocketchat-emoji-custom/admin/adminEmoji.js
+++ b/packages/rocketchat-emoji-custom/client/admin/adminEmoji.js
@@ -1,7 +1,11 @@
+import { ReactiveVar } from 'meteor/reactive-var';
+import { RocketChat, RocketChatTabBar } from 'meteor/rocketchat:lib';
+import { Tracker } from 'meteor/tracker';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
+import { SideNav } from 'meteor/rocketchat:ui';
 import s from 'underscore.string';
 
-import { RocketChatTabBar } from 'meteor/rocketchat:lib';
-
 Template.adminEmoji.helpers({
 	isReady() {
 		if (Template.instance().ready != null) {
diff --git a/packages/rocketchat-emoji-custom/admin/adminEmojiEdit.html b/packages/rocketchat-emoji-custom/client/admin/adminEmojiEdit.html
similarity index 100%
rename from packages/rocketchat-emoji-custom/admin/adminEmojiEdit.html
rename to packages/rocketchat-emoji-custom/client/admin/adminEmojiEdit.html
diff --git a/packages/rocketchat-emoji-custom/admin/adminEmojiInfo.html b/packages/rocketchat-emoji-custom/client/admin/adminEmojiInfo.html
similarity index 100%
rename from packages/rocketchat-emoji-custom/admin/adminEmojiInfo.html
rename to packages/rocketchat-emoji-custom/client/admin/adminEmojiInfo.html
diff --git a/packages/rocketchat-emoji-custom/admin/emojiEdit.html b/packages/rocketchat-emoji-custom/client/admin/emojiEdit.html
similarity index 100%
rename from packages/rocketchat-emoji-custom/admin/emojiEdit.html
rename to packages/rocketchat-emoji-custom/client/admin/emojiEdit.html
diff --git a/packages/rocketchat-emoji-custom/admin/emojiEdit.js b/packages/rocketchat-emoji-custom/client/admin/emojiEdit.js
similarity index 93%
rename from packages/rocketchat-emoji-custom/admin/emojiEdit.js
rename to packages/rocketchat-emoji-custom/client/admin/emojiEdit.js
index b6b12d5701fe3a6e54f9069fdafcdedd6a4b8837..0509ab70713ed83c74614e116575d362081d81b6 100644
--- a/packages/rocketchat-emoji-custom/admin/emojiEdit.js
+++ b/packages/rocketchat-emoji-custom/client/admin/emojiEdit.js
@@ -1,3 +1,8 @@
+import { Meteor } from 'meteor/meteor';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
+import { handleError } from 'meteor/rocketchat:lib';
+import { t } from 'meteor/rocketchat:ui';
 import toastr from 'toastr';
 import s from 'underscore.string';
 
diff --git a/packages/rocketchat-emoji-custom/admin/emojiInfo.html b/packages/rocketchat-emoji-custom/client/admin/emojiInfo.html
similarity index 100%
rename from packages/rocketchat-emoji-custom/admin/emojiInfo.html
rename to packages/rocketchat-emoji-custom/client/admin/emojiInfo.html
diff --git a/packages/rocketchat-emoji-custom/admin/emojiInfo.js b/packages/rocketchat-emoji-custom/client/admin/emojiInfo.js
similarity index 91%
rename from packages/rocketchat-emoji-custom/admin/emojiInfo.js
rename to packages/rocketchat-emoji-custom/client/admin/emojiInfo.js
index 17ca686acfb11848003ef7de211effa20f7a7cd7..17c35f3ad577c87dade784fec5aed2cfbe8493ad 100644
--- a/packages/rocketchat-emoji-custom/admin/emojiInfo.js
+++ b/packages/rocketchat-emoji-custom/client/admin/emojiInfo.js
@@ -1,3 +1,9 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Template } from 'meteor/templating';
+import { handleError } from 'meteor/rocketchat:lib';
+import { t, modal } from 'meteor/rocketchat:ui';
+
 Template.emojiInfo.helpers({
 	name() {
 		const emoji = Template.instance().emoji.get();
diff --git a/packages/rocketchat-emoji-custom/admin/emojiPreview.html b/packages/rocketchat-emoji-custom/client/admin/emojiPreview.html
similarity index 100%
rename from packages/rocketchat-emoji-custom/admin/emojiPreview.html
rename to packages/rocketchat-emoji-custom/client/admin/emojiPreview.html
diff --git a/packages/rocketchat-emoji-custom/admin/route.js b/packages/rocketchat-emoji-custom/client/admin/route.js
similarity index 63%
rename from packages/rocketchat-emoji-custom/admin/route.js
rename to packages/rocketchat-emoji-custom/client/admin/route.js
index b84f0afaec0e4e7ca9b1b57be7ac0d865af9fa2f..7c45afaa4a0352ac4fd8088fa60098c913d5c4e9 100644
--- a/packages/rocketchat-emoji-custom/admin/route.js
+++ b/packages/rocketchat-emoji-custom/client/admin/route.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { BlazeLayout } from 'meteor/kadira:blaze-layout';
+
 FlowRouter.route('/admin/emoji-custom', {
 	name: 'emoji-custom',
 	subscriptions(/* params, queryParams*/) {
diff --git a/packages/rocketchat-emoji-custom/admin/startup.js b/packages/rocketchat-emoji-custom/client/admin/startup.js
similarity index 54%
rename from packages/rocketchat-emoji-custom/admin/startup.js
rename to packages/rocketchat-emoji-custom/client/admin/startup.js
index b9c1dc0a1938b89719ddb0772e06bd6f3b6b199f..0d6b232eb9a507ad33821cdb3e6216afcf3c1374 100644
--- a/packages/rocketchat-emoji-custom/admin/startup.js
+++ b/packages/rocketchat-emoji-custom/client/admin/startup.js
@@ -1,8 +1,10 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.AdminBox.addOption({
 	href: 'emoji-custom',
 	i18nLabel: 'Custom_Emoji',
 	icon: 'emoji',
 	permissionGranted() {
-		return RocketChat.authz.hasAtLeastOnePermission(['manage-emoji']);
+		return RocketChat.authz.hasPermission('manage-emoji');
 	},
 });
diff --git a/packages/rocketchat-emoji-custom/client/index.js b/packages/rocketchat-emoji-custom/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..5cd9dc55dd4c1a3f1e0eb050463e1ffe85712a8a
--- /dev/null
+++ b/packages/rocketchat-emoji-custom/client/index.js
@@ -0,0 +1,16 @@
+import '../assets/stylesheets/emojiCustomAdmin.css';
+import './models/EmojiCustom';
+import './lib/emojiCustom';
+import './notifications/deleteEmojiCustom';
+import './notifications/updateEmojiCustom';
+import './admin/startup';
+import './admin/adminEmoji.html';
+import './admin/adminEmoji';
+import './admin/adminEmojiEdit.html';
+import './admin/adminEmojiInfo.html';
+import './admin/emojiEdit.html';
+import './admin/emojiEdit';
+import './admin/emojiInfo.html';
+import './admin/emojiInfo';
+import './admin/emojiPreview.html';
+import './admin/route';
diff --git a/packages/rocketchat-emoji-custom/client/lib/emojiCustom.js b/packages/rocketchat-emoji-custom/client/lib/emojiCustom.js
index a48cbe20ad22c052f39277f6c1c141fc5e49bacd..ca927a938fa5a63883296fcafa08ac29f3e14400 100644
--- a/packages/rocketchat-emoji-custom/client/lib/emojiCustom.js
+++ b/packages/rocketchat-emoji-custom/client/lib/emojiCustom.js
@@ -1,36 +1,11 @@
-/* globals getEmojiUrlFromName:true, updateEmojiCustom:true, deleteEmojiCustom:true, isSetNotNull */
-RocketChat.emoji.packages.emojiCustom = {
-	emojiCategories: { rocket: 'Custom' },
-	toneList: {},
-	list: [],
-
-	render(html) {
-		const regShortNames = new RegExp(`<object[^>]*>.*?<\/object>|<span[^>]*>.*?<\/span>|<(?:object|embed|svg|img|div|span|p|a)[^>]*>|(${ RocketChat.emoji.packages.emojiCustom.list.join('|') })`, 'gi');
-
-		// replace regular shortnames first
-		html = html.replace(regShortNames, function(shortname) {
-			// console.log('shortname (preif) ->', shortname, html);
-			if ((typeof shortname === 'undefined') || (shortname === '') || (RocketChat.emoji.packages.emojiCustom.list.indexOf(shortname) === -1)) {
-				// if the shortname doesnt exist just return the entire match
-				return shortname;
-			} else {
-				let emojiAlias = shortname.replace(/:/g, '');
-
-				let dataCheck = RocketChat.emoji.list[shortname];
-				if (dataCheck.hasOwnProperty('aliasOf')) {
-					emojiAlias = dataCheck.aliasOf;
-					dataCheck = RocketChat.emoji.list[`:${ emojiAlias }:`];
-				}
-
-				return `<span class="emoji" style="background-image:url(${ getEmojiUrlFromName(emojiAlias, dataCheck.extension) });" data-emoji="${ emojiAlias }" title="${ shortname }">${ shortname }</span>`;
-			}
-		});
-
-		return html;
-	},
-};
-
-getEmojiUrlFromName = function(name, extension) {
+import { Meteor } from 'meteor/meteor';
+import { Blaze } from 'meteor/blaze';
+import { Session } from 'meteor/session';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { isSetNotNull } from '../lib/function-isSet';
+import { RoomManager } from 'meteor/rocketchat:ui';
+
+export const getEmojiUrlFromName = function(name, extension) {
 	Session.get;
 
 	const key = `emoji_random_${ name }`;
@@ -49,7 +24,7 @@ getEmojiUrlFromName = function(name, extension) {
 
 Blaze.registerHelper('emojiUrlFromName', getEmojiUrlFromName);
 
-deleteEmojiCustom = function(emojiData) {
+export const deleteEmojiCustom = function(emojiData) {
 	delete RocketChat.emoji.list[`:${ emojiData.name }:`];
 	const arrayIndex = RocketChat.emoji.packages.emojiCustom.emojisByCategory.rocket.indexOf(emojiData.name);
 	if (arrayIndex !== -1) {
@@ -71,7 +46,7 @@ deleteEmojiCustom = function(emojiData) {
 	RocketChat.EmojiPicker.updateRecent();
 };
 
-updateEmojiCustom = function(emojiData) {
+export const updateEmojiCustom = function(emojiData) {
 	let key = `emoji_random_${ emojiData.name }`;
 	Session.set(key, Math.round(Math.random() * 1000));
 
@@ -147,6 +122,37 @@ updateEmojiCustom = function(emojiData) {
 	RocketChat.EmojiPicker.updateRecent();
 };
 
+RocketChat.emoji.packages.emojiCustom = {
+	emojiCategories: { rocket: 'Custom' },
+	toneList: {},
+	list: [],
+
+	render(html) {
+		const regShortNames = new RegExp(`<object[^>]*>.*?<\/object>|<span[^>]*>.*?<\/span>|<(?:object|embed|svg|img|div|span|p|a)[^>]*>|(${ RocketChat.emoji.packages.emojiCustom.list.join('|') })`, 'gi');
+
+		// replace regular shortnames first
+		html = html.replace(regShortNames, function(shortname) {
+			// console.log('shortname (preif) ->', shortname, html);
+			if ((typeof shortname === 'undefined') || (shortname === '') || (RocketChat.emoji.packages.emojiCustom.list.indexOf(shortname) === -1)) {
+				// if the shortname doesnt exist just return the entire match
+				return shortname;
+			} else {
+				let emojiAlias = shortname.replace(/:/g, '');
+
+				let dataCheck = RocketChat.emoji.list[shortname];
+				if (dataCheck.hasOwnProperty('aliasOf')) {
+					emojiAlias = dataCheck.aliasOf;
+					dataCheck = RocketChat.emoji.list[`:${ emojiAlias }:`];
+				}
+
+				return `<span class="emoji" style="background-image:url(${ getEmojiUrlFromName(emojiAlias, dataCheck.extension) });" data-emoji="${ emojiAlias }" title="${ shortname }">${ shortname }</span>`;
+			}
+		});
+
+		return html;
+	},
+};
+
 Meteor.startup(() =>
 	RocketChat.CachedCollectionManager.onLogin(() => {
 		Meteor.call('listEmojiCustom', (error, result) => {
@@ -167,5 +173,3 @@ Meteor.startup(() =>
 		});
 	})
 );
-
-/* exported getEmojiUrlFromName, updateEmojiCustom, deleteEmojiCustom */
diff --git a/packages/rocketchat-emoji-custom/function-isSet.js b/packages/rocketchat-emoji-custom/client/lib/function-isSet.js
similarity index 70%
rename from packages/rocketchat-emoji-custom/function-isSet.js
rename to packages/rocketchat-emoji-custom/client/lib/function-isSet.js
index 4181bb827f2fd2e4d521b5bd7bf20ca33c95f759..1dd2e6e7e8a0e9637afbc91d75dc379b01271469 100644
--- a/packages/rocketchat-emoji-custom/function-isSet.js
+++ b/packages/rocketchat-emoji-custom/client/lib/function-isSet.js
@@ -1,6 +1,5 @@
-/* globals isSet:true, isSetNotNull:true */
 // http://stackoverflow.com/a/26990347 function isSet() from Gajus
-isSet = function(fn) {
+export const isSet = function(fn) {
 	let value;
 	try {
 		value = fn();
@@ -11,7 +10,7 @@ isSet = function(fn) {
 	}
 };
 
-isSetNotNull = function(fn) {
+export const isSetNotNull = function(fn) {
 	let value;
 	try {
 		value = fn();
@@ -21,5 +20,3 @@ isSetNotNull = function(fn) {
 		return value !== null && value !== undefined;
 	}
 };
-
-/* exported isSet, isSetNotNull */
diff --git a/packages/rocketchat-emoji-custom/client/models/EmojiCustom.js b/packages/rocketchat-emoji-custom/client/models/EmojiCustom.js
index c9a99a80cbfe1d28cc21894cbdf58e79eb8cdb38..79794f59848e752c96c8e658f47979d4f813fff8 100644
--- a/packages/rocketchat-emoji-custom/client/models/EmojiCustom.js
+++ b/packages/rocketchat-emoji-custom/client/models/EmojiCustom.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 class EmojiCustom extends RocketChat.models._Base {
 	constructor() {
 		super();
diff --git a/packages/rocketchat-emoji-custom/client/notifications/deleteEmojiCustom.js b/packages/rocketchat-emoji-custom/client/notifications/deleteEmojiCustom.js
index 7be855ba884fa6fc63cb2b9f7549d96047e18127..bcff8efd765e9cc74716d0ca4d09c1ea4d0dd913 100644
--- a/packages/rocketchat-emoji-custom/client/notifications/deleteEmojiCustom.js
+++ b/packages/rocketchat-emoji-custom/client/notifications/deleteEmojiCustom.js
@@ -1,4 +1,7 @@
-/* globals deleteEmojiCustom */
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { deleteEmojiCustom } from '../lib/emojiCustom';
+
 Meteor.startup(() =>
 	RocketChat.Notifications.onLogged('deleteEmojiCustom', (data) => deleteEmojiCustom(data.emojiData))
 );
diff --git a/packages/rocketchat-emoji-custom/client/notifications/updateEmojiCustom.js b/packages/rocketchat-emoji-custom/client/notifications/updateEmojiCustom.js
index afabb4786e001fd4d32173721b9ad36329a07002..f6e33743339d2921af4c22db9e5ef6c509b997e4 100644
--- a/packages/rocketchat-emoji-custom/client/notifications/updateEmojiCustom.js
+++ b/packages/rocketchat-emoji-custom/client/notifications/updateEmojiCustom.js
@@ -1,4 +1,7 @@
-/* globals updateEmojiCustom */
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { updateEmojiCustom } from '../lib/emojiCustom';
+
 Meteor.startup(() =>
 	RocketChat.Notifications.onLogged('updateEmojiCustom', (data) => updateEmojiCustom(data.emojiData))
 );
diff --git a/packages/rocketchat-emoji-custom/package.js b/packages/rocketchat-emoji-custom/package.js
index 07c24560910946a5378feca4e02d65c8ff5c4f7d..abf831b6dbb7e9354fe0d640ecbd98ec0d81a121 100644
--- a/packages/rocketchat-emoji-custom/package.js
+++ b/packages/rocketchat-emoji-custom/package.js
@@ -13,45 +13,10 @@ Package.onUse(function(api) {
 		'rocketchat:lib',
 		'templating',
 		'webapp',
+		'kadira:flow-router',
+		'kadira:blaze-layout',
 	]);
 
-	api.use('kadira:flow-router', 'client');
-
-	api.addFiles('function-isSet.js');
-
-	api.addFiles('server/startup/emoji-custom.js', 'server');
-	api.addFiles('server/startup/settings.js', 'server');
-
-	api.addFiles('server/models/EmojiCustom.js', 'server');
-	api.addFiles('server/publications/fullEmojiData.js', 'server');
-
-	api.addFiles([
-		'server/methods/listEmojiCustom.js',
-		'server/methods/deleteEmojiCustom.js',
-		'server/methods/insertOrUpdateEmoji.js',
-		'server/methods/uploadEmojiCustom.js',
-	], 'server');
-
-	api.addFiles('assets/stylesheets/emojiCustomAdmin.css', 'client');
-
-	api.addFiles([
-		'admin/startup.js',
-		'admin/adminEmoji.html',
-		'admin/adminEmoji.js',
-		'admin/adminEmojiEdit.html',
-		'admin/adminEmojiInfo.html',
-		'admin/emojiPreview.html',
-		'admin/emojiEdit.html',
-		'admin/emojiEdit.js',
-		'admin/emojiInfo.html',
-		'admin/emojiInfo.js',
-		'admin/route.js',
-	], 'client');
-
-	api.addFiles([
-		'client/lib/emojiCustom.js',
-		'client/models/EmojiCustom.js',
-		'client/notifications/updateEmojiCustom.js',
-		'client/notifications/deleteEmojiCustom.js',
-	], 'client');
+	api.mainModule('client/index.js', 'client');
+	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/rocketchat-emoji-custom/server/index.js b/packages/rocketchat-emoji-custom/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..cc0b89be8d5b98e25fcd1c2b8a0c69424e48e946
--- /dev/null
+++ b/packages/rocketchat-emoji-custom/server/index.js
@@ -0,0 +1,8 @@
+import './startup/emoji-custom';
+import './startup/settings';
+import './models/EmojiCustom';
+import './publications/fullEmojiData';
+import './methods/listEmojiCustom';
+import './methods/deleteEmojiCustom';
+import './methods/insertOrUpdateEmoji';
+import './methods/uploadEmojiCustom';
diff --git a/packages/rocketchat-emoji-custom/server/methods/deleteEmojiCustom.js b/packages/rocketchat-emoji-custom/server/methods/deleteEmojiCustom.js
index fa06e0a5e5146788d9047ad1efed13184382259e..38d4b6c6ee158d445c278c603fd7f41051aa5fe7 100644
--- a/packages/rocketchat-emoji-custom/server/methods/deleteEmojiCustom.js
+++ b/packages/rocketchat-emoji-custom/server/methods/deleteEmojiCustom.js
@@ -1,4 +1,7 @@
-/* globals RocketChatFileEmojiCustomInstance */
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { RocketChatFileEmojiCustomInstance } from '../startup/emoji-custom';
+
 Meteor.methods({
 	deleteEmojiCustom(emojiID) {
 		let emoji = null;
diff --git a/packages/rocketchat-emoji-custom/server/methods/insertOrUpdateEmoji.js b/packages/rocketchat-emoji-custom/server/methods/insertOrUpdateEmoji.js
index aea09ed452df349762e11a011fd1da3cb59ac58b..09112918bb5b7a5b2220242db742a45a7ea4db67 100644
--- a/packages/rocketchat-emoji-custom/server/methods/insertOrUpdateEmoji.js
+++ b/packages/rocketchat-emoji-custom/server/methods/insertOrUpdateEmoji.js
@@ -1,4 +1,6 @@
-/* globals RocketChatFileEmojiCustomInstance */
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { RocketChatFileEmojiCustomInstance } from '../startup/emoji-custom';
 import _ from 'underscore';
 import s from 'underscore.string';
 
diff --git a/packages/rocketchat-emoji-custom/server/methods/listEmojiCustom.js b/packages/rocketchat-emoji-custom/server/methods/listEmojiCustom.js
index 8eb0f7d6106290c95f4b31906f0f8021cf9da50f..55a9bd6afc657184dbd4f27c9d42100b917d7ecb 100644
--- a/packages/rocketchat-emoji-custom/server/methods/listEmojiCustom.js
+++ b/packages/rocketchat-emoji-custom/server/methods/listEmojiCustom.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.methods({
 	listEmojiCustom() {
 		return RocketChat.models.EmojiCustom.find({}).fetch();
diff --git a/packages/rocketchat-emoji-custom/server/methods/uploadEmojiCustom.js b/packages/rocketchat-emoji-custom/server/methods/uploadEmojiCustom.js
index 84e8022a873fc01a69f00fa921097c0118de36ff..a99da17ffa2326368045195c17b9c71344d526ba 100644
--- a/packages/rocketchat-emoji-custom/server/methods/uploadEmojiCustom.js
+++ b/packages/rocketchat-emoji-custom/server/methods/uploadEmojiCustom.js
@@ -1,4 +1,8 @@
-/* globals RocketChatFileEmojiCustomInstance */
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { RocketChatFile } from 'meteor/rocketchat:file';
+import { RocketChatFileEmojiCustomInstance } from '../startup/emoji-custom';
+
 Meteor.methods({
 	uploadEmojiCustom(binaryContent, contentType, emojiData) {
 		if (!RocketChat.authz.hasPermission(this.userId, 'manage-emoji')) {
diff --git a/packages/rocketchat-emoji-custom/server/models/EmojiCustom.js b/packages/rocketchat-emoji-custom/server/models/EmojiCustom.js
index 43d1136e12fea8b5ab27459684b04220bc750213..babaf960fba08a1b76844016c80fa41fdc247834 100644
--- a/packages/rocketchat-emoji-custom/server/models/EmojiCustom.js
+++ b/packages/rocketchat-emoji-custom/server/models/EmojiCustom.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 class EmojiCustom extends RocketChat.models._Base {
 	constructor() {
 		super('custom_emoji');
diff --git a/packages/rocketchat-emoji-custom/server/publications/fullEmojiData.js b/packages/rocketchat-emoji-custom/server/publications/fullEmojiData.js
index 4e8c658708cf906542ac65aaf72f74e160fea6cc..daffef5d2b52f0bcb2afa1f6d3ed918cd0baf8a7 100644
--- a/packages/rocketchat-emoji-custom/server/publications/fullEmojiData.js
+++ b/packages/rocketchat-emoji-custom/server/publications/fullEmojiData.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
 import s from 'underscore.string';
 
 Meteor.publish('fullEmojiData', function(filter, limit) {
diff --git a/packages/rocketchat-emoji-custom/server/startup/emoji-custom.js b/packages/rocketchat-emoji-custom/server/startup/emoji-custom.js
index 96e46c5b0beb75c9d839fa1b848f5d10063e4ab6..7d4ea3b7906cc069a5f042facdf869888c40f8e3 100644
--- a/packages/rocketchat-emoji-custom/server/startup/emoji-custom.js
+++ b/packages/rocketchat-emoji-custom/server/startup/emoji-custom.js
@@ -1,6 +1,11 @@
-/* globals RocketChatFileEmojiCustomInstance */
+import { Meteor } from 'meteor/meteor';
+import { WebApp } from 'meteor/webapp';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { RocketChatFile } from 'meteor/rocketchat:file';
 import _ from 'underscore';
 
+export let RocketChatFileEmojiCustomInstance;
+
 Meteor.startup(function() {
 	let storeType = 'GridFS';
 
@@ -23,11 +28,12 @@ Meteor.startup(function() {
 		}
 	}
 
-	this.RocketChatFileEmojiCustomInstance = new RocketChatStore({
+	RocketChatFileEmojiCustomInstance = new RocketChatStore({
 		name: 'custom_emoji',
 		absolutePath: path,
 	});
 
+
 	return WebApp.connectHandlers.use('/emoji-custom/', Meteor.bindEnvironment(function(req, res/* , next*/) {
 		const params =
 			{ emoji: decodeURIComponent(req.url.replace(/^\//, '').replace(/\?.*$/, '')) };
diff --git a/packages/rocketchat-emoji-custom/server/startup/settings.js b/packages/rocketchat-emoji-custom/server/startup/settings.js
index 41c2bd36b887660fdb68276253bdae0d97807d38..2b3e516e8e843257970f780f86e7174d56d80303 100644
--- a/packages/rocketchat-emoji-custom/server/startup/settings.js
+++ b/packages/rocketchat-emoji-custom/server/startup/settings.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.settings.addGroup('EmojiCustomFilesystem', function() {
 	this.add('EmojiUpload_Storage_Type', 'GridFS', {
 		type: 'select',
diff --git a/packages/rocketchat-emoji-emojione/client/index.js b/packages/rocketchat-emoji-emojione/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..f7ece04fae6971fc0bc4cc8cc3d1041ec7e4272c
--- /dev/null
+++ b/packages/rocketchat-emoji-emojione/client/index.js
@@ -0,0 +1,2 @@
+import './sprites.css';
+import '../lib/rocketchat';
diff --git a/packages/rocketchat-emoji-emojione/emojiPicker.js b/packages/rocketchat-emoji-emojione/lib/emojiPicker.js
similarity index 99%
rename from packages/rocketchat-emoji-emojione/emojiPicker.js
rename to packages/rocketchat-emoji-emojione/lib/emojiPicker.js
index 08e552c4f47f877556bb727fdfea1ab87397f0e4..72125682f1a76b7d07edf2a9618c681d36db112c 100644
--- a/packages/rocketchat-emoji-emojione/emojiPicker.js
+++ b/packages/rocketchat-emoji-emojione/lib/emojiPicker.js
@@ -1,9 +1,7 @@
-/* globals emojisByCategory:true, emojiCategories:true, toneList:true */
-
 /*
  * Mapping category hashes into human readable and translated names
  */
-emojiCategories = {
+export const emojiCategories = {
 	people: 'Smileys_and_People',
 	nature: 'Animals_and_Nature',
 	food: 'Food_and_Drink',
@@ -14,7 +12,7 @@ emojiCategories = {
 	flags: 'Flags',
 };
 
-toneList = {
+export const toneList = {
 	raised_hands: 1,
 	clap: 1,
 	wave: 1,
@@ -101,7 +99,7 @@ toneList = {
 	juggling: 1,
 };
 
-emojisByCategory = {
+export const emojisByCategory = {
 	people: [
 		'grinning',
 		'grimacing',
@@ -1525,5 +1523,3 @@ emojisByCategory = {
 		'flag_mf',
 	],
 };
-
-/* exported emojisByCategory, emojiCategories, toneList */
diff --git a/packages/rocketchat-emoji-emojione/generateEmojiIndex.js b/packages/rocketchat-emoji-emojione/lib/generateEmojiIndex.js
similarity index 97%
rename from packages/rocketchat-emoji-emojione/generateEmojiIndex.js
rename to packages/rocketchat-emoji-emojione/lib/generateEmojiIndex.js
index f9b4a6c5ac082e64e31ee1649176963b79950cf4..8296f60fa401fba1c2da1acd38dc212935e78960 100644
--- a/packages/rocketchat-emoji-emojione/generateEmojiIndex.js
+++ b/packages/rocketchat-emoji-emojione/lib/generateEmojiIndex.js
@@ -1,3 +1,4 @@
+/* eslint-disable */
 // emoji.json from emojione@2.2.6
 import fs from 'fs';
 
diff --git a/packages/rocketchat-emoji-emojione/rocketchat.js b/packages/rocketchat-emoji-emojione/lib/rocketchat.js
similarity index 84%
rename from packages/rocketchat-emoji-emojione/rocketchat.js
rename to packages/rocketchat-emoji-emojione/lib/rocketchat.js
index caaf654b24950595b0a7a436974853f6e81d7e74..552cac6ee8a405a24a17c9926a98c47ed790b765 100644
--- a/packages/rocketchat-emoji-emojione/rocketchat.js
+++ b/packages/rocketchat-emoji-emojione/lib/rocketchat.js
@@ -1,4 +1,9 @@
-/* globals emojione, emojisByCategory, emojiCategories, toneList */
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { emojione } from 'meteor/emojione:emojione';
+import { emojisByCategory, emojiCategories, toneList } from './emojiPicker';
+
 RocketChat.emoji.packages.emojione = emojione;
 RocketChat.emoji.packages.emojione.imageType = 'png';
 RocketChat.emoji.packages.emojione.sprites = true;
diff --git a/packages/rocketchat-emoji-emojione/package.js b/packages/rocketchat-emoji-emojione/package.js
index 83d58382488e493412c8c60716d83f851f6e80d6..7c6d7a111b8416cec53ece5b10bb500422c89357 100644
--- a/packages/rocketchat-emoji-emojione/package.js
+++ b/packages/rocketchat-emoji-emojione/package.js
@@ -13,10 +13,6 @@ Package.onUse(function(api) {
 		'rocketchat:lib',
 	]);
 
-	api.addFiles('emojiPicker.js');
-
-	api.addFiles('rocketchat.js');
-
-	api.addFiles('client/sprites.css', 'client');
-	api.addFiles('server/callbacks.js', 'server');
+	api.mainModule('client/index.js', 'client');
+	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/rocketchat-emoji-emojione/server/callbacks.js b/packages/rocketchat-emoji-emojione/server/callbacks.js
index f1da979ce068c008c3d8992afd85b2ba145a2800..2c0edcadee73f5454ab858f3939f06c3c901bb07 100644
--- a/packages/rocketchat-emoji-emojione/server/callbacks.js
+++ b/packages/rocketchat-emoji-emojione/server/callbacks.js
@@ -1,4 +1,7 @@
-/* globals emojione */
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { emojione } from 'meteor/emojione:emojione';
+
 Meteor.startup(function() {
 	RocketChat.callbacks.add('beforeSendMessageNotifications', (message) => emojione.shortnameToUnicode(message));
 });
diff --git a/packages/rocketchat-emoji-emojione/server/index.js b/packages/rocketchat-emoji-emojione/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..c8e0898cfc01c3d802a78db640f4df5a2f6bc075
--- /dev/null
+++ b/packages/rocketchat-emoji-emojione/server/index.js
@@ -0,0 +1,2 @@
+import '../lib/rocketchat';
+import './callbacks';
diff --git a/packages/rocketchat-emoji/client/emojiButton.js b/packages/rocketchat-emoji/client/emojiButton.js
index 7114155ea45674e3627d79c2f00597ba4e36e1af..e10c907fd65be31b2cf4f6f107c50ccd15355f12 100644
--- a/packages/rocketchat-emoji/client/emojiButton.js
+++ b/packages/rocketchat-emoji/client/emojiButton.js
@@ -1,4 +1,7 @@
-/* globals Template chatMessages*/
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { Template } from 'meteor/templating';
+
 Template.messageBox.events({
 	'click .emoji-picker-icon'(event) {
 		event.stopPropagation();
@@ -12,7 +15,7 @@ Template.messageBox.events({
 			RocketChat.EmojiPicker.close();
 		} else {
 			RocketChat.EmojiPicker.open(event.currentTarget, (emoji) => {
-				const { input } = chatMessages[RocketChat.openedRoom];
+				const { input } = window.chatMessages[RocketChat.openedRoom];
 
 				const emojiValue = `:${ emoji }:`;
 
diff --git a/packages/rocketchat-emoji/client/emojiParser.js b/packages/rocketchat-emoji/client/emojiParser.js
index f3271ab14825fff2d92d69d1db7df4f5375c0336..f17aa776e994bd3b84e669a4dc2e2b3e7b0518ec 100644
--- a/packages/rocketchat-emoji/client/emojiParser.js
+++ b/packages/rocketchat-emoji/client/emojiParser.js
@@ -1,4 +1,6 @@
-/* globals isSetNotNull */
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { isSetNotNull } from './function-isSet';
 import s from 'underscore.string';
 
 /*
diff --git a/packages/rocketchat-emoji/client/emojiPicker.js b/packages/rocketchat-emoji/client/emojiPicker.js
index 31094181ae52659df2ff1640ee03982b0d2f624a..342a2f08391e42773b8dd54141ae065ba072592e 100644
--- a/packages/rocketchat-emoji/client/emojiPicker.js
+++ b/packages/rocketchat-emoji/client/emojiPicker.js
@@ -1,4 +1,9 @@
-/* globals Template, isSetNotNull */
+import { ReactiveVar } from 'meteor/reactive-var';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
+import { isSetNotNull } from './function-isSet';
+
 const emojiCategories = {};
 /**
  * Turns category hash to a nice readable translated name
diff --git a/packages/rocketchat-emoji/client/function-isSet.js b/packages/rocketchat-emoji/client/function-isSet.js
index 4181bb827f2fd2e4d521b5bd7bf20ca33c95f759..1dd2e6e7e8a0e9637afbc91d75dc379b01271469 100644
--- a/packages/rocketchat-emoji/client/function-isSet.js
+++ b/packages/rocketchat-emoji/client/function-isSet.js
@@ -1,6 +1,5 @@
-/* globals isSet:true, isSetNotNull:true */
 // http://stackoverflow.com/a/26990347 function isSet() from Gajus
-isSet = function(fn) {
+export const isSet = function(fn) {
 	let value;
 	try {
 		value = fn();
@@ -11,7 +10,7 @@ isSet = function(fn) {
 	}
 };
 
-isSetNotNull = function(fn) {
+export const isSetNotNull = function(fn) {
 	let value;
 	try {
 		value = fn();
@@ -21,5 +20,3 @@ isSetNotNull = function(fn) {
 		return value !== null && value !== undefined;
 	}
 };
-
-/* exported isSet, isSetNotNull */
diff --git a/packages/rocketchat-emoji/client/index.js b/packages/rocketchat-emoji/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..65170c76398a205fde534981e7c6244097d9e951
--- /dev/null
+++ b/packages/rocketchat-emoji/client/index.js
@@ -0,0 +1,12 @@
+import '../lib/rocketchat';
+import './emojiParser';
+import './emojiPicker.html';
+import './emojiPicker';
+import './lib/EmojiPicker';
+import { renderEmoji } from './lib/emojiRenderer';
+import './emojiButton';
+import './keyboardFix';
+
+export {
+	renderEmoji,
+};
diff --git a/packages/rocketchat-emoji/client/keyboardFix.js b/packages/rocketchat-emoji/client/keyboardFix.js
index 297887458074fe6ec2353412edb0006f1884ed4f..c50f6bc2485b3242c720c1ef592e518383218c04 100644
--- a/packages/rocketchat-emoji/client/keyboardFix.js
+++ b/packages/rocketchat-emoji/client/keyboardFix.js
@@ -1,4 +1,6 @@
 /* global device */
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
 
 if (Meteor.isCordova) {
 	window.addEventListener('native.keyboardshow', function() {
diff --git a/packages/rocketchat-emoji/client/lib/EmojiPicker.js b/packages/rocketchat-emoji/client/lib/EmojiPicker.js
index e305ce3f208ad3cf518ad82bae07819323518ef6..6644789d388833685116f37cdab600b9ebc04cbc 100644
--- a/packages/rocketchat-emoji/client/lib/EmojiPicker.js
+++ b/packages/rocketchat-emoji/client/lib/EmojiPicker.js
@@ -1,4 +1,7 @@
-/* globals Blaze, Template */
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { Blaze } from 'meteor/blaze';
+import { Template } from 'meteor/templating';
+
 import _ from 'underscore';
 
 RocketChat.EmojiPicker = {
@@ -55,21 +58,23 @@ RocketChat.EmojiPicker = {
 	},
 	setPosition() {
 		const windowHeight = window.innerHeight;
+		const windowWidth = window.innerWidth;
 		const windowBorder = 10;
 		const sourcePos = $(this.source).offset();
 		const { left, top } = sourcePos;
 		const cssProperties = { top, left };
+		const isLargerThanWindow = this.width + windowBorder > windowWidth;
 
 		if (top + this.height >= windowHeight) {
 			cssProperties.top = windowHeight - this.height - windowBorder;
 		}
 
 		if (left < windowBorder) {
-			cssProperties.left = windowBorder;
+			cssProperties.left = isLargerThanWindow ? 0 : windowBorder;
 		}
 
-		if (left + this.width >= window.innerWidth) {
-			cssProperties.left = left - this.width - windowBorder;
+		if (left + this.width >= windowWidth) {
+			cssProperties.left = isLargerThanWindow ? 0 : windowWidth - this.width - windowBorder;
 		}
 
 		return $('.emoji-picker').css(cssProperties);
diff --git a/packages/rocketchat-emoji/client/lib/emojiRenderer.js b/packages/rocketchat-emoji/client/lib/emojiRenderer.js
index 6e70f4d28c74188609608162a892581a9384cd32..15731c2fb704dd8d69fda2c97fb3585f59774380 100644
--- a/packages/rocketchat-emoji/client/lib/emojiRenderer.js
+++ b/packages/rocketchat-emoji/client/lib/emojiRenderer.js
@@ -1,5 +1,10 @@
-/* globals HTML, isSetNotNull, renderEmoji:true */
-renderEmoji = function(emoji) {
+import { Blaze } from 'meteor/blaze';
+import { Template } from 'meteor/templating';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { isSetNotNull } from '../function-isSet';
+import { HTML } from 'meteor/htmljs';
+
+export const renderEmoji = function(emoji) {
 	if (isSetNotNull(() => RocketChat.emoji.list[emoji].emojiPackage)) {
 		const { emojiPackage } = RocketChat.emoji.list[emoji];
 		return RocketChat.emoji.packages[emojiPackage].render(emoji);
@@ -19,5 +24,3 @@ Template.registerHelper('renderEmoji', new Template('renderEmoji', function() {
 
 	return '';
 }));
-
-/* exported renderEmoji */
diff --git a/packages/rocketchat-emoji/client/rocketchat.js b/packages/rocketchat-emoji/lib/rocketchat.js
similarity index 80%
rename from packages/rocketchat-emoji/client/rocketchat.js
rename to packages/rocketchat-emoji/lib/rocketchat.js
index 870580c1de01fd7c7620c4f6ab98df6a227f9fea..c0bcf7a3f0021a455480e406ca1b9045f03a7aa8 100644
--- a/packages/rocketchat-emoji/client/rocketchat.js
+++ b/packages/rocketchat-emoji/lib/rocketchat.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.emoji = {
 	packages: {
 		base: {
diff --git a/packages/rocketchat-emoji/package.js b/packages/rocketchat-emoji/package.js
index 62c06d91d99866a731f3ef8fb24e67f0b13fadbd..a429f3abf01d8feb2f4b74deea5ed6c30a78ad3c 100644
--- a/packages/rocketchat-emoji/package.js
+++ b/packages/rocketchat-emoji/package.js
@@ -12,20 +12,9 @@ Package.onUse(function(api) {
 		'rocketchat:lib',
 		'rocketchat:theme',
 		'rocketchat:ui-message',
+		'htmljs',
 	]);
 
-	api.addFiles('client/function-isSet.js', 'client');
-	api.addFiles('client/rocketchat.js');
-
-	api.addFiles('client/emojiParser.js', 'client');
-
-	api.addFiles('client/emojiPicker.html', 'client');
-	api.addFiles('client/emojiPicker.js', 'client');
-
-	api.addFiles('client/lib/emojiRenderer.js', 'client');
-	api.addFiles('client/lib/EmojiPicker.js', 'client');
-	api.addFiles('client/emojiButton.js', 'client');
-	api.addFiles('client/keyboardFix.js', 'client');
-
-	api.export('renderEmoji');
+	api.mainModule('client/index.js', 'client');
+	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/rocketchat-emoji/server/index.js b/packages/rocketchat-emoji/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..8e716d1f414f15e8249d4fc6b08ab8211c213f7a
--- /dev/null
+++ b/packages/rocketchat-emoji/server/index.js
@@ -0,0 +1 @@
+import '../lib/rocketchat';
diff --git a/packages/rocketchat-error-handler/package.js b/packages/rocketchat-error-handler/package.js
index 424f081152df21c14cfe44af24f80c5969dc3c1a..77dada9689250db01c3c439ded65daf8be57784f 100644
--- a/packages/rocketchat-error-handler/package.js
+++ b/packages/rocketchat-error-handler/package.js
@@ -12,6 +12,5 @@ Package.onUse(function(api) {
 		'templating',
 	]);
 
-	api.addFiles('server/lib/RocketChat.ErrorHandler.js', 'server');
-	api.addFiles('server/startup/settings.js', 'server');
+	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/rocketchat-error-handler/server/index.js b/packages/rocketchat-error-handler/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..183513dd2b608c80dd389871fbffd57ddf797886
--- /dev/null
+++ b/packages/rocketchat-error-handler/server/index.js
@@ -0,0 +1,2 @@
+import './lib/RocketChat.ErrorHandler';
+import './startup/settings';
diff --git a/packages/rocketchat-error-handler/server/lib/RocketChat.ErrorHandler.js b/packages/rocketchat-error-handler/server/lib/RocketChat.ErrorHandler.js
index 4a8b611259e23a1875681528f6d4f1d8ff3da41e..10443e051adbc9037986de5d90abf8952b37fd91 100644
--- a/packages/rocketchat-error-handler/server/lib/RocketChat.ErrorHandler.js
+++ b/packages/rocketchat-error-handler/server/lib/RocketChat.ErrorHandler.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 class ErrorHandler {
 	constructor() {
 		this.reporting = false;
diff --git a/packages/rocketchat-error-handler/server/startup/settings.js b/packages/rocketchat-error-handler/server/startup/settings.js
index d815d6a20eb57742d056fd5870701176e877f86d..558340c60a8b0f2c00085c6dd486f116653ce419 100644
--- a/packages/rocketchat-error-handler/server/startup/settings.js
+++ b/packages/rocketchat-error-handler/server/startup/settings.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.settings.addGroup('Logs', function() {
 	this.add('Log_Exceptions_to_Channel', '', { type: 'string' });
 });
diff --git a/packages/rocketchat-favico/client/favico.js b/packages/rocketchat-favico/client/favico.js
index 00f6f5e60fa31f1cecd417ddbd5a5ea712bde52e..b85f9b4a4ee1175f44bb0f1500242ef128fea512 100644
--- a/packages/rocketchat-favico/client/favico.js
+++ b/packages/rocketchat-favico/client/favico.js
@@ -23,9 +23,8 @@
  * });
  */
 /* eslint-disable */
-(function() {
 
-	var Favico = (function(opt) {
+	export const Favico = (function(opt) {
 		'use strict';
 		opt = (opt) ? opt : {};
 		var _def = {
@@ -843,20 +842,3 @@
 			}
 		};
 	});
-
-	// AMD / RequireJS
-	if (typeof define !== 'undefined' && define.amd) {
-		define([], function() {
-			return Favico;
-		});
-	}
-	// CommonJS
-	else if (typeof module !== 'undefined' && module.exports) {
-		module.exports = Favico;
-	}
-	// included directly via <script> tag
-	else {
-		this.Favico = Favico;
-	}
-
-})();
diff --git a/packages/rocketchat-favico/client/index.js b/packages/rocketchat-favico/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..a762961a1e632ec4bb617fb86f1b66bdc7b51126
--- /dev/null
+++ b/packages/rocketchat-favico/client/index.js
@@ -0,0 +1,4 @@
+import { Favico } from './favico';
+
+export { Favico };
+
diff --git a/packages/rocketchat-favico/package.js b/packages/rocketchat-favico/package.js
index c9b219e7daf05cf2c04356161610e0276b436232..53290df2f8ae3b21e5042411eee738dedc1830de 100644
--- a/packages/rocketchat-favico/package.js
+++ b/packages/rocketchat-favico/package.js
@@ -5,5 +5,8 @@ Package.describe({
 });
 
 Package.onUse(function(api) {
-	api.addFiles('client/favico.js', 'client');
+	api.use([
+		'ecmascript',
+	]);
+	api.mainModule('client/index.js', 'client');
 });
diff --git a/packages/rocketchat-file-upload/client/lib/fileUploadHandler.js b/packages/rocketchat-file-upload/client/lib/fileUploadHandler.js
index ef486e98ecc59b5f25d162791bc2c7c78b700ae5..0ad23ff54dbd78b42dcadf501d08f0ec7fdbebbb 100644
--- a/packages/rocketchat-file-upload/client/lib/fileUploadHandler.js
+++ b/packages/rocketchat-file-upload/client/lib/fileUploadHandler.js
@@ -1,5 +1,8 @@
 /* globals FileUploadBase, UploadFS, fileUploadHandler:true */
 /* exported fileUploadHandler */
+import { Meteor } from 'meteor/meteor';
+import { Accounts } from 'meteor/accounts-base';
+import { Tracker } from 'meteor/tracker';
 
 new UploadFS.Store({
 	collection: RocketChat.models.Uploads.model,
diff --git a/packages/rocketchat-file-upload/globalFileRestrictions.js b/packages/rocketchat-file-upload/globalFileRestrictions.js
index 7eb6251d5b9d8e631edfb596f8a214c96f98cd64..677202d1dba5d13999c88926152244bb21a513b4 100644
--- a/packages/rocketchat-file-upload/globalFileRestrictions.js
+++ b/packages/rocketchat-file-upload/globalFileRestrictions.js
@@ -1,4 +1,6 @@
 /* globals Slingshot */
+import { Meteor } from 'meteor/meteor';
+import { TAPi18n } from 'meteor/tap:i18n';
 
 import filesize from 'filesize';
 
diff --git a/packages/rocketchat-file-upload/lib/FileUpload.js b/packages/rocketchat-file-upload/lib/FileUpload.js
index 3e504ef10afa164c512efff0ae5ed593eddc575a..86508e369e5266a61229d3ea8c52755b4544ff35 100644
--- a/packages/rocketchat-file-upload/lib/FileUpload.js
+++ b/packages/rocketchat-file-upload/lib/FileUpload.js
@@ -1,6 +1,8 @@
 /* globals FileUpload:true */
 /* exported FileUpload */
-
+import { Meteor } from 'meteor/meteor';
+import { Match } from 'meteor/check';
+import { TAPi18n } from 'meteor/tap:i18n';
 import filesize from 'filesize';
 
 let maxFileSize = 0;
diff --git a/packages/rocketchat-file-upload/lib/FileUploadBase.js b/packages/rocketchat-file-upload/lib/FileUploadBase.js
index 0cce2656e8846045c067258254addf80bd8c343d..0327222401b696ae9ea54500bc816de7c8d27c1c 100644
--- a/packages/rocketchat-file-upload/lib/FileUploadBase.js
+++ b/packages/rocketchat-file-upload/lib/FileUploadBase.js
@@ -1,5 +1,7 @@
 /* globals FileUploadBase:true, UploadFS */
 /* exported FileUploadBase */
+import { Meteor } from 'meteor/meteor';
+import { Random } from 'meteor/random';
 import _ from 'underscore';
 
 UploadFS.config.defaultStorePermissions = new UploadFS.StorePermissions({
diff --git a/packages/rocketchat-file-upload/server/config/FileSystem.js b/packages/rocketchat-file-upload/server/config/FileSystem.js
index 2fd7b21a62cf4c78413b2dfff4c85f837c8a2697..d0e74e5f29d14f15c62c2c7dc07ee1242b4f8739 100644
--- a/packages/rocketchat-file-upload/server/config/FileSystem.js
+++ b/packages/rocketchat-file-upload/server/config/FileSystem.js
@@ -1,5 +1,6 @@
 /* globals FileUpload, UploadFS */
 
+import { Meteor } from 'meteor/meteor';
 import _ from 'underscore';
 import fs from 'fs';
 import { FileUploadClass } from '../lib/FileUpload';
diff --git a/packages/rocketchat-file-upload/server/config/Slingshot_DEPRECATED.js b/packages/rocketchat-file-upload/server/config/Slingshot_DEPRECATED.js
index d802dc1a4aeae3c2351ffccc9719faed4747fed6..2a7539bb17c8058335e3087a1548c98cdb2580a9 100644
--- a/packages/rocketchat-file-upload/server/config/Slingshot_DEPRECATED.js
+++ b/packages/rocketchat-file-upload/server/config/Slingshot_DEPRECATED.js
@@ -1,5 +1,6 @@
 /* globals Slingshot, FileUpload */
 import _ from 'underscore';
+import { Random } from 'meteor/random';
 
 const configureSlingshot = _.debounce(() => {
 	const type = RocketChat.settings.get('FileUpload_Storage_Type');
diff --git a/packages/rocketchat-file-upload/server/lib/FileUpload.js b/packages/rocketchat-file-upload/server/lib/FileUpload.js
index b8ac908f52eb2f34e71b047b36084f89b168d1b7..064970ab16661bdbe799096f9df41430c983afea 100644
--- a/packages/rocketchat-file-upload/server/lib/FileUpload.js
+++ b/packages/rocketchat-file-upload/server/lib/FileUpload.js
@@ -1,5 +1,6 @@
 /* globals UploadFS */
 
+import { Meteor } from 'meteor/meteor';
 import fs from 'fs';
 import stream from 'stream';
 import mime from 'mime-type/with-db';
diff --git a/packages/rocketchat-file-upload/server/lib/proxy.js b/packages/rocketchat-file-upload/server/lib/proxy.js
index b1f44b6a60c199771de907f831cb33f50648fb88..83653bd43a24e8a053911085e7e1ca73553ecd25 100644
--- a/packages/rocketchat-file-upload/server/lib/proxy.js
+++ b/packages/rocketchat-file-upload/server/lib/proxy.js
@@ -1,5 +1,7 @@
 /* globals UploadFS, InstanceStatus */
 
+import { Meteor } from 'meteor/meteor';
+import { WebApp } from 'meteor/webapp';
 import http from 'http';
 import URL from 'url';
 
diff --git a/packages/rocketchat-file-upload/server/lib/requests.js b/packages/rocketchat-file-upload/server/lib/requests.js
index 7962e095351f4847ee86a7e672e71188d260bfeb..1324891569b610d757f1bad1a0c21eb321c67604 100644
--- a/packages/rocketchat-file-upload/server/lib/requests.js
+++ b/packages/rocketchat-file-upload/server/lib/requests.js
@@ -1,5 +1,7 @@
 /* globals FileUpload, WebApp */
 
+import { Meteor } from 'meteor/meteor';
+
 WebApp.connectHandlers.use('/file-upload/',	function(req, res, next) {
 
 	const match = /^\/([^\/]+)\/(.*)/.exec(req.url);
diff --git a/packages/rocketchat-file-upload/server/methods/getS3FileUrl.js b/packages/rocketchat-file-upload/server/methods/getS3FileUrl.js
index c4a1ca29a43f49617b0c6c372944e5705700d4a9..86bd8b7fbc1fa0fb64773492c497e8e33806ce4e 100644
--- a/packages/rocketchat-file-upload/server/methods/getS3FileUrl.js
+++ b/packages/rocketchat-file-upload/server/methods/getS3FileUrl.js
@@ -1,4 +1,5 @@
 /* globals UploadFS */
+import { Meteor } from 'meteor/meteor';
 
 let protectedFiles;
 
diff --git a/packages/rocketchat-file-upload/server/methods/sendFileMessage.js b/packages/rocketchat-file-upload/server/methods/sendFileMessage.js
index ca565ff94cb3fff41153bb59d3d13f2a308f84ea..8cdf36cc0f08808f828cd8e4befcd2ffed6d297d 100644
--- a/packages/rocketchat-file-upload/server/methods/sendFileMessage.js
+++ b/packages/rocketchat-file-upload/server/methods/sendFileMessage.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
+import { Random } from 'meteor/random';
 import _ from 'underscore';
 
 Meteor.methods({
diff --git a/packages/rocketchat-file-upload/ufs/AmazonS3/server.js b/packages/rocketchat-file-upload/ufs/AmazonS3/server.js
index 5906323f4c5d93afd3ab2a5d2fed513bb67e94eb..b1442e07c9253a30a8e67d9ac02978b645ad2d13 100644
--- a/packages/rocketchat-file-upload/ufs/AmazonS3/server.js
+++ b/packages/rocketchat-file-upload/ufs/AmazonS3/server.js
@@ -1,4 +1,6 @@
+import { check } from 'meteor/check';
 import { UploadFS } from 'meteor/jalik:ufs';
+import { Random } from 'meteor/random';
 import _ from 'underscore';
 import S3 from 'aws-sdk/clients/s3';
 import stream from 'stream';
diff --git a/packages/rocketchat-file-upload/ufs/GoogleStorage/server.js b/packages/rocketchat-file-upload/ufs/GoogleStorage/server.js
index 570c1b595d0891a46644ab18decfb646fbec4613..8baa788ba6bc0552d2cff528049a6f0e99763a74 100644
--- a/packages/rocketchat-file-upload/ufs/GoogleStorage/server.js
+++ b/packages/rocketchat-file-upload/ufs/GoogleStorage/server.js
@@ -1,4 +1,6 @@
+import { check } from 'meteor/check';
 import { UploadFS } from 'meteor/jalik:ufs';
+import { Random } from 'meteor/random';
 import gcStorage from '@google-cloud/storage';
 
 /**
diff --git a/packages/rocketchat-file-upload/ufs/Webdav/server.js b/packages/rocketchat-file-upload/ufs/Webdav/server.js
index 19c46700815a8b5c611aa2a1f4bce2301bc9fcf5..1b56620a8926efb394db19463cb76ab111105395 100644
--- a/packages/rocketchat-file-upload/ufs/Webdav/server.js
+++ b/packages/rocketchat-file-upload/ufs/Webdav/server.js
@@ -1,4 +1,6 @@
+import { check } from 'meteor/check';
 import { UploadFS } from 'meteor/jalik:ufs';
+import { Random } from 'meteor/random';
 import Webdav from 'webdav';
 import stream from 'stream';
 /**
diff --git a/packages/rocketchat-file/package.js b/packages/rocketchat-file/package.js
index 313442d2e5e184e0c8b1d656813f65177960aec8..6ca7b8df24263810f2203a6a2caecc59d98f2867 100644
--- a/packages/rocketchat-file/package.js
+++ b/packages/rocketchat-file/package.js
@@ -6,11 +6,8 @@ Package.describe({
 });
 
 Package.onUse(function(api) {
-	api.use('rocketchat:lib');
-	api.use('rocketchat:version');
-	api.use('ecmascript');
-
-	api.addFiles('file.server.js', 'server');
-
-	api.export('RocketChatFile', 'server');
+	api.use([
+		'ecmascript',
+	]);
+	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/rocketchat-file/file.server.js b/packages/rocketchat-file/server/file.server.js
similarity index 98%
rename from packages/rocketchat-file/file.server.js
rename to packages/rocketchat-file/server/file.server.js
index bb36379426f8275754061976ddc1670a26a67fd7..a2548ad63d204ade01d3a0129229f2fa540ca740 100644
--- a/packages/rocketchat-file/file.server.js
+++ b/packages/rocketchat-file/server/file.server.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import Grid from 'gridfs-stream';
 import stream from 'stream';
 import fs from 'fs';
@@ -8,8 +9,8 @@ import mkdirp from 'mkdirp';
 Grid.prototype.tryParseObjectId = function() {
 	return false;
 };
-// TODO: REMOVE RocketChatFile from globals
-RocketChatFile = {};
+
+const RocketChatFile = {};
 
 RocketChatFile.bufferToStream = function(buffer) {
 	const bufferStream = new stream.PassThrough();
@@ -228,3 +229,5 @@ RocketChatFile.FileSystem = class {
 		}
 	}
 };
+
+export { RocketChatFile };
diff --git a/packages/rocketchat-file/server/index.js b/packages/rocketchat-file/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..dee3df2abb29b899ea1340c49983bca0f050a828
--- /dev/null
+++ b/packages/rocketchat-file/server/index.js
@@ -0,0 +1,3 @@
+import { RocketChatFile } from './file.server';
+
+export { RocketChatFile };
diff --git a/packages/rocketchat-github-enterprise/github-enterprise-login-button.css b/packages/rocketchat-github-enterprise/client/github-enterprise-login-button.css
similarity index 100%
rename from packages/rocketchat-github-enterprise/github-enterprise-login-button.css
rename to packages/rocketchat-github-enterprise/client/github-enterprise-login-button.css
diff --git a/packages/rocketchat-github-enterprise/client/index.js b/packages/rocketchat-github-enterprise/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..7f2b10ba6e3d5b8edd9832d3e10aef3f934b1f63
--- /dev/null
+++ b/packages/rocketchat-github-enterprise/client/index.js
@@ -0,0 +1,2 @@
+import './github-enterprise-login-button.css';
+import '../lib/common';
diff --git a/packages/rocketchat-github-enterprise/common.js b/packages/rocketchat-github-enterprise/lib/common.js
similarity index 84%
rename from packages/rocketchat-github-enterprise/common.js
rename to packages/rocketchat-github-enterprise/lib/common.js
index 5a6d76d57514a338157c8b02356abc7acd1ec9b9..86060ab94265d34c44c6ff0ef1dd38e62f0207a0 100644
--- a/packages/rocketchat-github-enterprise/common.js
+++ b/packages/rocketchat-github-enterprise/lib/common.js
@@ -1,4 +1,7 @@
-/* global CustomOAuth */
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
+import { CustomOAuth } from 'meteor/rocketchat:custom-oauth';
+import { RocketChat } from 'meteor/rocketchat:lib';
 
 // GitHub Enterprise Server CallBack URL needs to be http(s)://{rocketchat.server}[:port]/_oauth/github_enterprise
 // In RocketChat -> Administration the URL needs to be http(s)://{github.enterprise.server}/
diff --git a/packages/rocketchat-github-enterprise/package.js b/packages/rocketchat-github-enterprise/package.js
index a9f23a72f1934082837031e410aa710a2ad90b01..1d6fab4926dec877c8535e4bfa9810b603514df3 100644
--- a/packages/rocketchat-github-enterprise/package.js
+++ b/packages/rocketchat-github-enterprise/package.js
@@ -5,13 +5,12 @@ Package.describe({
 });
 
 Package.onUse(function(api) {
-	api.use('ecmascript');
-	api.use('rocketchat:lib');
-	api.use('rocketchat:custom-oauth');
-
-	api.use('templating', 'client');
-
-	api.addFiles('common.js');
-	api.addFiles('github-enterprise-login-button.css', 'client');
-	api.addFiles('startup.js', 'server');
+	api.use([
+		'ecmascript',
+		'rocketchat:lib',
+		'rocketchat:custom-oauth',
+		'templating',
+	]);
+	api.mainModule('client/index.js', 'client');
+	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/rocketchat-github-enterprise/server/index.js b/packages/rocketchat-github-enterprise/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..d4fffe60273a46bc3fa249c3dc4b2922fa8cb391
--- /dev/null
+++ b/packages/rocketchat-github-enterprise/server/index.js
@@ -0,0 +1,2 @@
+import './startup';
+import '../lib/common';
diff --git a/packages/rocketchat-github-enterprise/startup.js b/packages/rocketchat-github-enterprise/server/startup.js
similarity index 93%
rename from packages/rocketchat-github-enterprise/startup.js
rename to packages/rocketchat-github-enterprise/server/startup.js
index 59cdb3d0b13fbd2124e1f0a2bda6d7d6722a44f4..9f20e8ab0fb3d31b2b7a9581900a7aaf0b53de76 100644
--- a/packages/rocketchat-github-enterprise/startup.js
+++ b/packages/rocketchat-github-enterprise/server/startup.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.settings.addGroup('OAuth', function() {
 	this.section('GitHub Enterprise', function() {
 		const enableQuery = {
diff --git a/packages/rocketchat-gitlab/gitlab-login-button.css b/packages/rocketchat-gitlab/client/gitlab-login-button.css
similarity index 100%
rename from packages/rocketchat-gitlab/gitlab-login-button.css
rename to packages/rocketchat-gitlab/client/gitlab-login-button.css
diff --git a/packages/rocketchat-gitlab/client/index.js b/packages/rocketchat-gitlab/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..1550e37081b5984bad75dcccfc2b77e93e51c022
--- /dev/null
+++ b/packages/rocketchat-gitlab/client/index.js
@@ -0,0 +1,2 @@
+import './gitlab-login-button.css';
+import '../lib/common';
diff --git a/packages/rocketchat-gitlab/common.js b/packages/rocketchat-gitlab/lib/common.js
similarity index 79%
rename from packages/rocketchat-gitlab/common.js
rename to packages/rocketchat-gitlab/lib/common.js
index 880f0d53442275beb085d93b8eab3994cc0cada3..e187ef50e7b8dcd6d216a14d290804ba556cb7fc 100644
--- a/packages/rocketchat-gitlab/common.js
+++ b/packages/rocketchat-gitlab/lib/common.js
@@ -1,4 +1,8 @@
-/* global CustomOAuth */
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { CustomOAuth } from 'meteor/rocketchat:custom-oauth';
+
 const config = {
 	serverURL: 'https://gitlab.com',
 	identityPath: '/api/v3/user',
diff --git a/packages/rocketchat-gitlab/package.js b/packages/rocketchat-gitlab/package.js
index 35af8d43ee8cb745db3dbc768d614f26f1b5eb4b..627a7068a8b7a81345593ea90bfc01f08236e02c 100644
--- a/packages/rocketchat-gitlab/package.js
+++ b/packages/rocketchat-gitlab/package.js
@@ -5,13 +5,12 @@ Package.describe({
 });
 
 Package.onUse(function(api) {
-	api.use('ecmascript');
-	api.use('rocketchat:lib');
-	api.use('rocketchat:custom-oauth');
-
-	api.use('templating', 'client');
-
-	api.addFiles('common.js');
-	api.addFiles('gitlab-login-button.css', 'client');
-	api.addFiles('startup.js', 'server');
+	api.use([
+		'ecmascript',
+		'rocketchat:lib',
+		'rocketchat:custom-oauth',
+		'templating',
+	]);
+	api.mainModule('client/index.js', 'client');
+	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/rocketchat-gitlab/server/index.js b/packages/rocketchat-gitlab/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..d4fffe60273a46bc3fa249c3dc4b2922fa8cb391
--- /dev/null
+++ b/packages/rocketchat-gitlab/server/index.js
@@ -0,0 +1,2 @@
+import './startup';
+import '../lib/common';
diff --git a/packages/rocketchat-gitlab/startup.js b/packages/rocketchat-gitlab/server/startup.js
similarity index 92%
rename from packages/rocketchat-gitlab/startup.js
rename to packages/rocketchat-gitlab/server/startup.js
index 4e4f57109d106a293af44570bf41e19032e3107d..843b10015b9e64e54df93b59fc768214c834d2fd 100644
--- a/packages/rocketchat-gitlab/startup.js
+++ b/packages/rocketchat-gitlab/server/startup.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.settings.addGroup('OAuth', function() {
 	this.section('GitLab', function() {
 		const enableQuery = {
diff --git a/packages/rocketchat-google-natural-language/client/index.js b/packages/rocketchat-google-natural-language/client/index.js
index 54c142e259c4e2fc4df89616fa9e81b14298a898..b2be0f808eec0e90d3f2772ee25a8400a707895a 100644
--- a/packages/rocketchat-google-natural-language/client/index.js
+++ b/packages/rocketchat-google-natural-language/client/index.js
@@ -1,3 +1,7 @@
+import { Template } from 'meteor/templating';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { ChatRoom } from 'meteor/rocketchat:ui';
+
 Template.room.helpers({
 	sentimentSmile() {
 		if (!RocketChat.settings.get('GoogleNaturalLanguage_Enabled')) {
diff --git a/packages/rocketchat-google-natural-language/package.js b/packages/rocketchat-google-natural-language/package.js
index 76a52cb6f8b7f6bf9dcf50ec409bd628d58e52df..fb548c47364617b3a4a627fffadb6786cc9ea584 100644
--- a/packages/rocketchat-google-natural-language/package.js
+++ b/packages/rocketchat-google-natural-language/package.js
@@ -6,13 +6,15 @@ Package.describe({
 });
 
 Package.onUse(function(api) {
-	api.use('ecmascript');
-	api.use('http');
-	api.use('templating', 'client');
-
-	api.use('rocketchat:lib');
-	api.use('rocketchat:ui', 'client');
-
+	api.use([
+		'ecmascript',
+		'http',
+		'rocketchat:lib',
+	]);
+	api.use([
+		'templating',
+		'rocketchat:ui',
+	], 'client');
 	api.mainModule('client/index.js', 'client');
 	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/rocketchat-google-natural-language/server/index.js b/packages/rocketchat-google-natural-language/server/index.js
index c02ec077f050d9c5b6088007febf8707698de433..8172b58ea06de2d7437a928725442a2ff84565f2 100644
--- a/packages/rocketchat-google-natural-language/server/index.js
+++ b/packages/rocketchat-google-natural-language/server/index.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
 import './settings.js';
 import './models/Rooms.js';
 import googleLanguage from '@google-cloud/language';
diff --git a/packages/rocketchat-google-natural-language/server/models/Rooms.js b/packages/rocketchat-google-natural-language/server/models/Rooms.js
index d08a7df7db40346ef702f6ed63628af16f3ec0c0..bf97b3d7feb15339e78eb1850feafe581ff6dbc0 100644
--- a/packages/rocketchat-google-natural-language/server/models/Rooms.js
+++ b/packages/rocketchat-google-natural-language/server/models/Rooms.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.models.Rooms.setSentiment = function(roomId, sentiment) {
 	return this.update({ _id: roomId }, { $set: { sentiment } });
 };
diff --git a/packages/rocketchat-google-natural-language/server/settings.js b/packages/rocketchat-google-natural-language/server/settings.js
index f68b07d6bbbae134cb8639fabb029f9912830e39..7d8784c783ad773a1f95a727586a247b70590cff 100644
--- a/packages/rocketchat-google-natural-language/server/settings.js
+++ b/packages/rocketchat-google-natural-language/server/settings.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.startup(function() {
 	RocketChat.settings.add('GoogleNaturalLanguage_Enabled', false, {
 		type: 'boolean',
diff --git a/packages/rocketchat-google-vision/client/googlevision.js b/packages/rocketchat-google-vision/client/googlevision.js
index fb6793025379a1d8128397da68b72c9a25608862..bcd115b781a4050a0b6c0cabc3d34bffed7959df 100644
--- a/packages/rocketchat-google-vision/client/googlevision.js
+++ b/packages/rocketchat-google-vision/client/googlevision.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.GoogleVision = {
 	getVisionAttributes(attachment) {
 		const attributes = {};
diff --git a/packages/rocketchat-google-vision/client/index.js b/packages/rocketchat-google-vision/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..b27b67994b22297b83e7bce05854408729d98c42
--- /dev/null
+++ b/packages/rocketchat-google-vision/client/index.js
@@ -0,0 +1 @@
+import './googlevision';
diff --git a/packages/rocketchat-google-vision/package.js b/packages/rocketchat-google-vision/package.js
index f97242a072666fda55b504c65f9d93312a3625b6..210bb8a760b433aa3632351d6bd027904cf7e68a 100644
--- a/packages/rocketchat-google-vision/package.js
+++ b/packages/rocketchat-google-vision/package.js
@@ -10,7 +10,6 @@ Package.onUse(function(api) {
 		'ecmascript',
 		'rocketchat:lib',
 	]);
-
-	api.addFiles('client/googlevision.js', 'client');
-	api.addFiles(['server/settings.js', 'server/googlevision.js', 'server/models/Messages.js'], 'server');
+	api.mainModule('client/index.js', 'client');
+	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/rocketchat-google-vision/server/googlevision.js b/packages/rocketchat-google-vision/server/googlevision.js
index f2d32f989a1fe3f96546028da208f88e4ca50ff2..4b7b047b0d4821c099532ddd37c00f249067bcce 100644
--- a/packages/rocketchat-google-vision/server/googlevision.js
+++ b/packages/rocketchat-google-vision/server/googlevision.js
@@ -1,3 +1,9 @@
+import { Meteor } from 'meteor/meteor';
+import { Random } from 'meteor/random';
+import { TAPi18n } from 'meteor/tap:i18n';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { FileUpload } from 'meteor/rocketchat:file-upload';
+
 class GoogleVision {
 	constructor() {
 		this.storage = require('@google-cloud/storage');
diff --git a/packages/rocketchat-google-vision/server/index.js b/packages/rocketchat-google-vision/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..df4e64972a9dd07afe0c484ca48dab874550aef0
--- /dev/null
+++ b/packages/rocketchat-google-vision/server/index.js
@@ -0,0 +1,3 @@
+import './settings';
+import './googlevision';
+import './models/Messages';
diff --git a/packages/rocketchat-google-vision/server/models/Messages.js b/packages/rocketchat-google-vision/server/models/Messages.js
index 47776984618dc6826b3da8b133c5527290af3931..257949dd213b2fd38c3c0459a7447e78cc0d4aa8 100644
--- a/packages/rocketchat-google-vision/server/models/Messages.js
+++ b/packages/rocketchat-google-vision/server/models/Messages.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.models.Messages.setGoogleVisionData = function(messageId, visionData) {
 	const updateObj = {};
 	for (const index in visionData) {
diff --git a/packages/rocketchat-google-vision/server/settings.js b/packages/rocketchat-google-vision/server/settings.js
index bd99a39600a35f5af756d7bca732194d1665c2c4..e3934ed9a60d2b103af4169cd64fba1738ecdfb7 100644
--- a/packages/rocketchat-google-vision/server/settings.js
+++ b/packages/rocketchat-google-vision/server/settings.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.startup(function() {
 	RocketChat.settings.add('GoogleVision_Enable', false, {
 		type: 'boolean',
diff --git a/packages/rocketchat-grant/package.js b/packages/rocketchat-grant/package.js
index 2d68828a11d731f49b4cea865dfc65d8e3d268b3..ad577eeb7dbd75d17fe046d364e7c9881ad45a13 100644
--- a/packages/rocketchat-grant/package.js
+++ b/packages/rocketchat-grant/package.js
@@ -13,6 +13,7 @@ Package.onUse(function(api) {
 		'ecmascript',
 		'rocketchat:lib',
 		'rocketchat:accounts',
+		'rocketchat:ui',
 	]);
 
 	api.mainModule('server/index.js', 'server');
diff --git a/packages/rocketchat-grant/server/authenticate.js b/packages/rocketchat-grant/server/authenticate.js
index 2e1a8c957f3eb5a87025127223614fff62b06d7d..838e70408e324d39400e1bc07f766fc5451ef4ac 100644
--- a/packages/rocketchat-grant/server/authenticate.js
+++ b/packages/rocketchat-grant/server/authenticate.js
@@ -2,9 +2,9 @@ import { AccountsServer } from 'meteor/rocketchat:accounts';
 import { RocketChat } from 'meteor/rocketchat:lib';
 import { Accounts } from 'meteor/accounts-base';
 import { Meteor } from 'meteor/meteor';
-
 import { GrantError } from './error';
 import Providers from './providers';
+import { t } from 'meteor/rocketchat:ui';
 
 const setAvatarFromUrl = (userId, url) => new Promise((resolve, reject) => {
 	Meteor.runAsUser(userId, () => {
diff --git a/packages/rocketchat-grant/server/index.js b/packages/rocketchat-grant/server/index.js
index c9143ede759595d1167dfaa63c5c31e54f312dbf..8b07f8ece918d15e8d7447cfa3977b00e8a3dd01 100644
--- a/packages/rocketchat-grant/server/index.js
+++ b/packages/rocketchat-grant/server/index.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import { WebApp } from 'meteor/webapp';
 import session from 'express-session';
 import Grant from 'grant-express';
diff --git a/packages/rocketchat-grant/server/settings.js b/packages/rocketchat-grant/server/settings.js
index 4a8664a56c291d40d7301e5515654a36c1892f73..2d426a614ed2e60dce1a98ca6fd1981bd205a26f 100644
--- a/packages/rocketchat-grant/server/settings.js
+++ b/packages/rocketchat-grant/server/settings.js
@@ -1,4 +1,4 @@
-import { check } from 'meteor/check';
+import { Match, check } from 'meteor/check';
 
 import { Storage } from './storage';
 
diff --git a/packages/rocketchat-graphql/package.js b/packages/rocketchat-graphql/package.js
index 841148d71f93aa40f518243ac006a4cf470fb168..62bcf609107c07437bebc8460815000ab49a640e 100644
--- a/packages/rocketchat-graphql/package.js
+++ b/packages/rocketchat-graphql/package.js
@@ -15,8 +15,7 @@ Package.onUse(function(api) {
 		'rocketchat:accounts',
 		'swydo:graphql',
 	]);
-	api.addFiles('server/settings.js', 'server');
-	api.mainModule('server/api.js', 'server');
+	api.mainModule('server/index.js', 'server');
 });
 
 Npm.depends({
diff --git a/packages/rocketchat-graphql/server/api.js b/packages/rocketchat-graphql/server/api.js
index 0fc074ecc0f82ad3d2debfc2c056d17c03f18ce3..f0079592d348893b7ccd19e0d9bb11dece715f1f 100644
--- a/packages/rocketchat-graphql/server/api.js
+++ b/packages/rocketchat-graphql/server/api.js
@@ -4,6 +4,7 @@ import { SubscriptionServer } from 'subscriptions-transport-ws';
 import { execute, subscribe } from 'graphql';
 import { Meteor } from 'meteor/meteor';
 import { WebApp } from 'meteor/webapp';
+import { RocketChat } from 'meteor/rocketchat:lib';
 import bodyParser from 'body-parser';
 import express from 'express';
 import cors from 'cors';
diff --git a/packages/rocketchat-graphql/server/index.js b/packages/rocketchat-graphql/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..c19d98f29eb55714eededbe5a3ea266f095b2700
--- /dev/null
+++ b/packages/rocketchat-graphql/server/index.js
@@ -0,0 +1,2 @@
+import './settings';
+import './api';
diff --git a/packages/rocketchat-graphql/server/resolvers/messages/sendMessage.js b/packages/rocketchat-graphql/server/resolvers/messages/sendMessage.js
index 2c02f06653cc1a78680a5429cf8bbc138aae1b37..13cfe4a82f29601bbd32678a25024d116b367e60 100644
--- a/packages/rocketchat-graphql/server/resolvers/messages/sendMessage.js
+++ b/packages/rocketchat-graphql/server/resolvers/messages/sendMessage.js
@@ -1,5 +1,4 @@
-/* global processWebhookMessage */
-
+import { processWebhookMessage } from 'meteor/rocketchat:integrations';
 import { authenticated } from '../../helpers/authenticated';
 import schema from '../../schemas/messages/sendMessage.graphqls';
 
diff --git a/packages/rocketchat-graphql/server/resolvers/users/User-type.js b/packages/rocketchat-graphql/server/resolvers/users/User-type.js
index 2b56911e0dc3a0d52983c58653f959d6df3d2f70..ed35be4b3b3101254ded673555084cc0e5e800e4 100644
--- a/packages/rocketchat-graphql/server/resolvers/users/User-type.js
+++ b/packages/rocketchat-graphql/server/resolvers/users/User-type.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import { RocketChat } from 'meteor/rocketchat:lib';
 import property from 'lodash.property';
 
diff --git a/packages/rocketchat-graphql/server/settings.js b/packages/rocketchat-graphql/server/settings.js
index f7d06fb80fe4567b64e140ff6c52f6eeceb6f00b..de2735d1599592cf957b52446a5fa05e3591bcc2 100644
--- a/packages/rocketchat-graphql/server/settings.js
+++ b/packages/rocketchat-graphql/server/settings.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.settings.addGroup('General', function() {
 	this.section('GraphQL API', function() {
 		this.add('Graphql_Enabled', false, { type: 'boolean', public: false });
diff --git a/packages/rocketchat-highlight-words/client/client.js b/packages/rocketchat-highlight-words/client/client.js
index 6afd8938c453e8f2ef85f7c11400474c789457bc..f90b8764f349d91fb34969de5f965455c5785c56 100644
--- a/packages/rocketchat-highlight-words/client/client.js
+++ b/packages/rocketchat-highlight-words/client/client.js
@@ -2,6 +2,8 @@
  * Highlights is a named function that will process Highlights
  * @param {Object} message - The message object
  */
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
 import _ from 'underscore';
 import s from 'underscore.string';
 
diff --git a/packages/rocketchat-highlight-words/client/index.js b/packages/rocketchat-highlight-words/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..d99e4ed773526dbf80c8ad082d306a97170cef7a
--- /dev/null
+++ b/packages/rocketchat-highlight-words/client/index.js
@@ -0,0 +1 @@
+import './client';
diff --git a/packages/rocketchat-highlight-words/package.js b/packages/rocketchat-highlight-words/package.js
index 1ca8ac0bc5391cc9594fb5a00fd661b373aa5977..65fe19bdb3e61be75ce760013d88dac9b5bcc73d 100644
--- a/packages/rocketchat-highlight-words/package.js
+++ b/packages/rocketchat-highlight-words/package.js
@@ -15,6 +15,5 @@ Package.onUse(function(api) {
 		'ecmascript',
 		'rocketchat:lib',
 	]);
-
-	api.addFiles('client/client.js', 'client');
+	api.mainModule('client/index.js', 'client');
 });
diff --git a/packages/rocketchat-i18n/i18n/af.i18n.json b/packages/rocketchat-i18n/i18n/af.i18n.json
index f99e31a0aed086b91fe002784c342b3d62c62f49..d71c4e3cc76d7cac198b69bc98f52a3fa10d6289 100644
--- a/packages/rocketchat-i18n/i18n/af.i18n.json
+++ b/packages/rocketchat-i18n/i18n/af.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "verbode",
+  "500": "Interne bedienerfout",
   "#channel": "#channel",
   "0_Errors_Only": "0 - Slegs foute",
   "1_Errors_and_Information": "1 - foute en inligting",
   "2_Erros_Information_and_Debug": "2 - foute, inligting en ontfouting",
-  "403": "verbode",
-  "500": "Interne bedienerfout",
   "@username": "@username",
   "@username_message": "@gebruikernaam <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__username__ is nie meer __role__ deur __user_by__",
@@ -57,13 +57,13 @@
   "Accounts_Email_Approved": "[naam]<br/><br/><p>Jou rekening is goedgekeur.</p>",
   "Accounts_Email_Approved_Subject": "Rekening goedgekeur",
   "Accounts_Email_Deactivated": "[naam]<br/><br/><p>Jou rekening is gedeaktiveer.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>Welkom by <strong>[SITE_NAME]</strong></h1><p>Gaan na <a href=\"[Site_URL]\">[SITE_URL] </a>en probeer die beste open source chat oplossing wat vandag beskikbaar is!</p>",
   "Accounts_Email_Deactivated_Subject": "Rekening gedeaktiveer",
   "Accounts_EmailVerification": "E-pos verifikasie",
   "Accounts_EmailVerification_Description": "Maak seker dat u die korrekte SMTP-instellings het om hierdie kenmerk te gebruik",
+  "Accounts_Enrollment_Email_Subject_Default": "Welkom by [Site_Name]",
   "Accounts_Enrollment_Email": "Inskrywing E-pos",
-  "Accounts_Enrollment_Email_Default": "<h1>Welkom by <strong>[SITE_NAME]</strong></h1><p>Gaan na <a href=\"[Site_URL]\">[SITE_URL] </a>en probeer die beste open source chat oplossing wat vandag beskikbaar is!</p>",
   "Accounts_Enrollment_Email_Description": "U mag die volgende plekhouers gebruik: <br/><ul><li>[naam], [fname], [lname] vir die volle naam, voornaam of van die gebruiker se naam.</li><li>[e-pos] vir die gebruiker se e-pos.</li><li>[Site_Name] en [Site_URL] vir die Aansoek Naam en URL onderskeidelik.</li></ul>",
-  "Accounts_Enrollment_Email_Subject_Default": "Welkom by [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "Vergeet gebruikerssessie op venster sluit",
   "Accounts_Iframe_api_method": "Api Metode",
   "Accounts_Iframe_api_url": "API-URL",
@@ -177,12 +177,12 @@
   "Accounts_ShowFormLogin": "Wys vormgebaseerde inskrywing",
   "Accounts_TwoFactorAuthentication_Enabled": "Aktiveer twee faktore verifikasie",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Maksimum Delta",
+  "Accounts_UserAddedEmail_Default": "<h1>Welkom by <strong>[SITE_NAME]</strong></h1><p>Gaan na <a href=\"[Site_URL]\">[SITE_URL]</a> en probeer die beste open source chat oplossing wat vandag beskikbaar is!</p><p>Jy kan inteken met jou e-pos: [email] en wagwoord: [password]. Dit kan van u verwag word om dit te verander na u eerste aanmelding.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "Die Maksimum Delta bepaal hoeveel tokens geldig is op enige gegewe tydstip. Tokens word elke 30 sekondes gegenereer en geld vir (30 * Maksimum Delta) sekondes. <br/>Voorbeeld: Met 'n Maksimum Delta ingestel op 10, kan elke teken tot 300 sekondes voor of na die tydstempel gebruik word. Dit is handig as die kliënt se klok nie behoorlik met die bediener gesinkroniseer word nie.",
   "Accounts_UseDefaultBlockedDomainsList": "Gebruik verstek geblokkeerde domeinnelys",
   "Accounts_UseDNSDomainCheck": "Gebruik DNS Domain Check",
-  "Accounts_UserAddedEmail_Default": "<h1>Welkom by <strong>[SITE_NAME]</strong></h1><p>Gaan na <a href=\"[Site_URL]\">[SITE_URL]</a> en probeer die beste open source chat oplossing wat vandag beskikbaar is!</p><p>Jy kan inteken met jou e-pos: [email] en wagwoord: [password]. Dit kan van u verwag word om dit te verander na u eerste aanmelding.",
-  "Accounts_UserAddedEmail_Description": "U mag die volgende plekhouers gebruik: <br/><ul><li>[naam], [fname], [lname] vir die volle naam, voornaam of van die gebruiker se naam.</li><li>[e-pos] vir die gebruiker se e-pos.</li><li>[wagwoord] vir die gebruiker se wagwoord.</li><li>[Site_Name] en [Site_URL] vir die Aansoek Naam en URL onderskeidelik.</li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "Jy is by [Site_Name] bygevoeg",
+  "Accounts_UserAddedEmail_Description": "U mag die volgende plekhouers gebruik: <br/><ul><li>[naam], [fname], [lname] vir die volle naam, voornaam of van die gebruiker se naam.</li><li>[e-pos] vir die gebruiker se e-pos.</li><li>[wagwoord] vir die gebruiker se wagwoord.</li><li>[Site_Name] en [Site_URL] vir die Aansoek Naam en URL onderskeidelik.</li></ul>",
   "Activate": "aktiveer",
   "Activity": "aktiwiteit",
   "Add": "Voeg",
@@ -238,6 +238,7 @@
   "Allow_Marketing_Emails": "Laat bemarkings e-pos toe",
   "Alphabetical": "alfabetiese",
   "Always_open_in_new_window": "Altyd oop in nuwe venster",
+  "Analytics": "Analytics",
   "Analytics_features_enabled": "Funksies aangeskakel",
   "Analytics_features_messages_Description": "Wys persoonlike gebeurtenisse wat verband hou met aksies wat 'n gebruiker op boodskappe doen.",
   "Analytics_features_rooms_Description": "Wys persoonlike gebeurtenisse wat verband hou met aksies op 'n kanaal of groep (skep, verlaat, verwyder).",
@@ -816,6 +817,7 @@
   "Created_at_s_by_s_triggered_by_s": "Gemaak op <strong>%s</strong>deur <strong>%s</strong>geaktiveer deur <strong>%s</strong>",
   "CRM_Integration": "CRM Integrasie",
   "CROWD_Reject_Unauthorized": "Verwerp ongemagtigde",
+  "Crowd_sync_interval_Description": "Die interval tussen sinkronisasies. Voorbeeld 'elke 24 uur' of 'op die eerste dag van die week`, meer voorbeelde by [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "Huidige kletse",
   "Current_Status": "Huidige toestand",
   "Custom": "Custom",
@@ -1339,8 +1341,10 @@
   "Install_package": "Installeer pakket",
   "Installation": "installasie",
   "Installed_at": "Geïnstalleer by",
+  "Invitation_HTML": "Uitnodiging HTML",
   "Instance_Record": "Opname Rekord",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Instruksies aan jou besoeker vul die vorm in om 'n boodskap te stuur",
+  "Invitation_HTML_Default": "<h1>Jy is genooi na <strong>[Site_Name]</strong></h1><p>Gaan na [Site_URL] en probeer die beste oopbron-kletsoplossing wat vandag beskikbaar is!</p>",
   "Insurance": "versekering",
   "Integration_added": "Integrasie is bygevoeg",
   "Integration_Advanced_Settings": "Gevorderde instellings",
@@ -1406,9 +1410,7 @@
   "invisible": "onsigbare",
   "Invisible": "onsigbare",
   "Invitation": "uitnodiging",
-  "Invitation_HTML": "Uitnodiging HTML",
-  "Invitation_HTML_Default": "<h1>Jy is genooi na <strong>[Site_Name]</strong></h1><p>Gaan na [Site_URL] en probeer die beste oopbron-kletsoplossing wat vandag beskikbaar is!</p>",
-  "Invitation_HTML_Description": "U mag die volgende plekhouers gebruik: <br/><ul><li>[e-pos] vir die ontvanger se e-pos.</li><li>[Site_Name] en [Site_URL] vir die Aansoek Naam en URL onderskeidelik.</li></ul>",
+  "Invitation_Email_Description": "U mag die volgende plekhouers gebruik: <br/><ul><li>[e-pos] vir die ontvanger se e-pos.</li><li>[Site_Name] en [Site_URL] vir die Aansoek Naam en URL onderskeidelik.</li></ul>",
   "Invitation_Subject": "Uitnodigingsvak",
   "Invitation_Subject_Default": "U is genooi na [Site_Name]",
   "Invite_user_to_join_channel": "Nooi een gebruiker uit om by hierdie kanaal aan te sluit",
@@ -2525,6 +2527,7 @@
   "Tokens_Required_Input_Error": "Ongeldige getikte tokens.",
   "Tokens_Required_Input_Placeholder": "Tokens bate name",
   "Topic": "onderwerp",
+  "Total_messages": "Totale boodskappe",
   "Tourism": "toerisme",
   "Transcript_Enabled": "Vra die besoeker as hulle 'n transkripsie wil hê nadat die klets gesluit is",
   "Transcript_message": "Boodskap om te wys wanneer jy oor Transcript vra",
@@ -2585,6 +2588,7 @@
   "Upload_file_description": "Lêer beskrywing",
   "Upload_file_name": "Lêernaam",
   "Upload_file_question": "Laai leêr op?",
+  "Upload_Folder_Path": "Laai mappad op",
   "Upload_user_avatar": "Laai avatar op",
   "Uploading_file": "Laai tans lêer op ...",
   "Uptime": "uptime",
@@ -2596,6 +2600,7 @@
   "Use_initials_avatar": "Gebruik jou gebruikersnaam voorletters",
   "Use_minor_colors": "Gebruik minder kleurpalet (standaard verwerf groot kleure)",
   "Use_service_avatar": "Gebruik%s avatar",
+  "Verification_Email": "Klik <a href=\"[Verification_Url]\">hier</a>om jou rekening te verifieer.",
   "Use_this_username": "Gebruik hierdie gebruikersnaam",
   "Use_uploaded_avatar": "Gebruik opgelaaide avatar",
   "Use_url_for_avatar": "Gebruik URL vir avatar",
@@ -2692,7 +2697,6 @@
   "Validate_email_address": "Bevestig e-pos adres",
   "Verification": "Verifikasie",
   "Verification_Description": "U mag die volgende plekhouers gebruik: <br/><ul><li>[Verifikasie_Url] vir die verifikasie-URL.</li><li>[naam], [fname], [lname] vir die volle naam, voornaam of van die gebruiker se naam.</li><li>[e-pos] vir die gebruiker se e-pos.</li><li>[Site_Name] en [Site_URL] vir die Aansoek Naam en URL onderskeidelik.</li></ul>",
-  "Verification_Email": "Klik <a href=\"[Verification_Url]\">hier</a>om jou rekening te verifieer.",
   "Verification_email_sent": "Verifikasie e-pos gestuur",
   "Verification_Email_Subject": "[Site_Name] - Verifieer jou rekening",
   "Verified": "geverifieer",
@@ -2753,6 +2757,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Ons is vanlyn. Jammer vir die ongerief.",
   "We_have_sent_password_email": "Ons het jou 'n e-pos gestuur met wagwoordterugstellinginstruksies. As jy nie binnekort 'n e-pos ontvang nie, kom asseblief terug en probeer weer.",
   "We_have_sent_registration_email": "Ons het jou 'n e-pos gestuur om jou registrasie te bevestig. As jy nie binnekort 'n e-pos ontvang nie, kom asseblief terug en probeer weer.",
+  "Webdav_Server_URL": "WebDAV-bediener toegangs URL",
+  "Webdav_Username": "WebDAV gebruikersnaam",
+  "Webdav_Password": "WebDAV Wagwoord",
   "Webhook_URL": "Webhook URL",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "Direkte klankoproep vanaf%s",
diff --git a/packages/rocketchat-i18n/i18n/ar.i18n.json b/packages/rocketchat-i18n/i18n/ar.i18n.json
index fff94b7eadacc36d5edb13da5e738c939f020101..32f9fce58b71739d1d0f0fb4ecd97be9357c1443 100644
--- a/packages/rocketchat-i18n/i18n/ar.i18n.json
+++ b/packages/rocketchat-i18n/i18n/ar.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "ممنوع",
+  "500": "خطأ محلي في الخادم",
   "#channel": "#channel",
   "0_Errors_Only": "0 - أخطاء فقط",
   "1_Errors_and_Information": "1 - أخطاء ومعلومات",
   "2_Erros_Information_and_Debug": "2 - Erros والمعلومات وتصحيح",
-  "403": "ممنوع",
-  "500": "خطأ محلي في الخادم",
   "@username": "@اسم المستخدم",
   "@username_message": "username <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__username__ لم يعد __role__، من خلال __user_by__",
@@ -57,13 +57,13 @@
   "Accounts_Email_Approved": "[نيم] <br/><br/><p>تمت الموافقة على حسابك.</p>",
   "Accounts_Email_Approved_Subject": "تمت الموافقة على الحساب",
   "Accounts_Email_Deactivated": "[نيم] <br/><br/><p>تم إلغاء تنشيط حسابك.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>مرحبا بكم في <strong>[قرآنى نت] </strong></h1><p>انتقل إلى <a href=\"[Site_URL]\"><a href=\"[Site_URL]\">[SITE_URL] </a></a>وحاول أفضل المصدر المفتوح دردشة الحلول المتاحة اليوم! </p>",
   "Accounts_Email_Deactivated_Subject": "تم إلغاء تنشيط الحساب",
   "Accounts_EmailVerification": "التحقق من البريد الإلكتروني",
   "Accounts_EmailVerification_Description": "تأكد أن لديك إعدادات SMTP الصحيحة لاستخدام هذه الميزة",
+  "Accounts_Enrollment_Email_Subject_Default": "مرحبا بكم في [Site_Name]",
   "Accounts_Enrollment_Email": "البريد الإلكتروني E-التحاق",
-  "Accounts_Enrollment_Email_Default": "<h1>مرحبا بكم في <strong>[قرآنى نت] </strong></h1><p>انتقل إلى <a href=\"[Site_URL]\"><a href=\"[Site_URL]\">[SITE_URL] </a></a>وحاول أفضل المصدر المفتوح دردشة الحلول المتاحة اليوم! </p>",
   "Accounts_Enrollment_Email_Description": "يمكنك استخدام العناصر النائبة التالية: <br/><ul><li>[اسم]، [fname]، [lname] لاسم المستخدم الكامل أو الاسم الأول أو اسم العائلة، على التوالي </li><li>[البريد الإلكتروني] بالنسبة إلى البريد الإلكتروني للمستخدم. </li><li>[Site_Name] و [Site_URL] لاسم التطبيق وعنوان URL على التوالي. </li></ul>",
-  "Accounts_Enrollment_Email_Subject_Default": "مرحبا بكم في [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "مسح جلسة المستخدم وإغلاق النافذة",
   "Accounts_Iframe_api_method": "الطريقة المعهد",
   "Accounts_Iframe_api_url": "المعهد رابط",
@@ -177,12 +177,12 @@
   "Accounts_ShowFormLogin": "يستند النموذج مشاهدة الدخول",
   "Accounts_TwoFactorAuthentication_Enabled": "تمكين المصادقة الثنائية",
   "Accounts_TwoFactorAuthentication_MaxDelta": "أقصى دلتا",
+  "Accounts_UserAddedEmail_Default": "<h2 style=\";text-align:right;direction:rtl\"> مرحبا بكم في <h1 style=\";text-align:right;direction:rtl\">[Site_Name]</h1></h2><p style=\";text-align:right;direction:rtl\"> الذهاب إلى <a href=\"[Site_URL]\">[Site_URL]</a> ومحاولة أفضل المصدر المفتوح دردشة الحلول المتاحة اليوم! </p><p style=\";text-align:right;direction:rtl\"> تستطيع تسجيل الدخول باستخدام البريد الإلكتروني: [email] وكلمة المرور: [password]. قد تكون هناك حاجة لتغييره بعد تسجيل الدخول الخاص بك أولا.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "يحدد Maximum Delta عدد الرموز المميزة في أي وقت معين. يتم إنشاء الرموز المميزة كل 30 ثانية ، وتكون صالحة لمدة (30 * Maximum Delta) ثانية. <br/>مثال: مع تعيين الحد الأقصى من دلتا على 10 ، يمكن استخدام كل رمز مميز حتى 300 ثانية قبل أو بعد طابعه الزمني. هذا مفيد عندما لا تتم مزامنة ساعة العميل بشكل صحيح مع الخادم.",
   "Accounts_UseDefaultBlockedDomainsList": "استخدام الافتراضي محظور قائمة المجالات",
   "Accounts_UseDNSDomainCheck": "استخدام المجال DNS تحقق",
-  "Accounts_UserAddedEmail_Default": "<h2 style=\";text-align:right;direction:rtl\"> مرحبا بكم في <h1 style=\";text-align:right;direction:rtl\">[Site_Name]</h1></h2><p style=\";text-align:right;direction:rtl\"> الذهاب إلى <a href=\"[Site_URL]\">[Site_URL]</a> ومحاولة أفضل المصدر المفتوح دردشة الحلول المتاحة اليوم! </p><p style=\";text-align:right;direction:rtl\"> تستطيع تسجيل الدخول باستخدام البريد الإلكتروني: [email] وكلمة المرور: [password]. قد تكون هناك حاجة لتغييره بعد تسجيل الدخول الخاص بك أولا.",
-  "Accounts_UserAddedEmail_Description": "يمكنك استخدام العناصر النائبة التالية: <br/><ul style=\";text-align:right;direction:rtl\"><li style=\";text-align:right;direction:rtl\"> [name]، [fname]، [lname] لاسم المستخدم الكامل أو الاسم الأول أو اسم العائلة، على التوالي. </li><li style=\";text-align:right;direction:rtl\"> [email] للبريد الإلكتروني الخاص بالمستخدم. </li><li style=\";text-align:right;direction:rtl\"> [password] لكلمة المرور الخاصة بالمستخدم. </li><li style=\";text-align:right;direction:rtl\"> [Site_Name] و [Site_URL] لاسم التطبيق وعنوان URL على التوالي. </li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "لقد تم إضافتك إلى [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "يمكنك استخدام العناصر النائبة التالية: <br/><ul style=\";text-align:right;direction:rtl\"><li style=\";text-align:right;direction:rtl\"> [name]، [fname]، [lname] لاسم المستخدم الكامل أو الاسم الأول أو اسم العائلة، على التوالي. </li><li style=\";text-align:right;direction:rtl\"> [email] للبريد الإلكتروني الخاص بالمستخدم. </li><li style=\";text-align:right;direction:rtl\"> [password] لكلمة المرور الخاصة بالمستخدم. </li><li style=\";text-align:right;direction:rtl\"> [Site_Name] و [Site_URL] لاسم التطبيق وعنوان URL على التوالي. </li></ul>",
   "Activate": "تفعيل",
   "Activity": "أنشطة",
   "Add": "إضافة",
@@ -238,6 +238,7 @@
   "Allow_Marketing_Emails": "السماح بتسويق رسائل البريد الإلكتروني",
   "Alphabetical": "مرتب حسب الحروف الأبجدية",
   "Always_open_in_new_window": "دائماً قم بالفتح بنافذة جديدة",
+  "Analytics": "التحليلات",
   "Analytics_features_enabled": "الميزات الممكنة",
   "Analytics_features_messages_Description": "يتابع أحداث مخصصة ذات الصلة إلى إجراءات المستخدم لا على الرسائل.",
   "Analytics_features_rooms_Description": "يتابع أحداث مخصصة تتعلق الإجراءات على قناة أو مجموعة (خلق، وترك، وحذف).",
@@ -816,6 +817,7 @@
   "Created_at_s_by_s_triggered_by_s": "تم الإنشاء في <strong>%s</strong> بوساطة <strong> %s </strong>ومُشغّل بوساطة <strong> %s </strong>",
   "CRM_Integration": "دمج CRM",
   "CROWD_Reject_Unauthorized": "رفض غير المُصرّح به",
+  "Crowd_sync_interval_Description": "الفاصل الزمني بين عمليات المزامنة. مثال `كل 24 ساعة` أو` في اليوم الأول من الأسبوع`، المزيد من الأمثلة على [كرون تكست بارسر] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "الدردشات الحالية",
   "Current_Status": "الحالة الحالية",
   "Custom": "عرف",
@@ -1339,8 +1341,10 @@
   "Install_package": "ثبت المجموعة",
   "Installation": "تركيب",
   "Installed_at": "تثبيت في",
+  "Invitation_HTML": "دعوة HTML",
   "Instance_Record": "مثال على قيد",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "تعليمات لزائرك ملء النموذج لإرسال رسالة",
+  "Invitation_HTML_Default": "<h2 style=\";text-align:right;direction:rtl\"> لقد وجهت الدعوة ل <h1 style=\";text-align:right;direction:rtl\">[Site_Name]</h1></h2><p style=\";text-align:right;direction:rtl\"> الذهاب إلى [Site_URL] ومحاولة أفضل المصدر المفتوح دردشة الحلول المتاحة اليوم! </p>",
   "Insurance": "تأمين",
   "Integration_added": "تمت إضافة التكامل",
   "Integration_Advanced_Settings": "الإعدادات المتقدمة",
@@ -1406,9 +1410,7 @@
   "invisible": "خفي",
   "Invisible": "خفي",
   "Invitation": "رسالة دعوة",
-  "Invitation_HTML": "دعوة HTML",
-  "Invitation_HTML_Default": "<h2 style=\";text-align:right;direction:rtl\"> لقد وجهت الدعوة ل <h1 style=\";text-align:right;direction:rtl\">[Site_Name]</h1></h2><p style=\";text-align:right;direction:rtl\"> الذهاب إلى [Site_URL] ومحاولة أفضل المصدر المفتوح دردشة الحلول المتاحة اليوم! </p>",
-  "Invitation_HTML_Description": "يمكنك استخدام العناصر النائبة التالية: <br/><ul style=\";text-align:right;direction:rtl\"><li style=\";text-align:right;direction:rtl\"> [email] على البريد الإلكتروني المستلم. </li><li style=\";text-align:right;direction:rtl\"> [Site_Name] و [Site_URL] لاسم التطبيق وعنوان URL على التوالي. </li></ul>",
+  "Invitation_Email_Description": "يمكنك استخدام العناصر النائبة التالية: <br/><ul style=\";text-align:right;direction:rtl\"><li style=\";text-align:right;direction:rtl\"> [email] على البريد الإلكتروني المستلم. </li><li style=\";text-align:right;direction:rtl\"> [Site_Name] و [Site_URL] لاسم التطبيق وعنوان URL على التوالي. </li></ul>",
   "Invitation_Subject": "موضوع الدعوة",
   "Invitation_Subject_Default": "لقد وجهت الدعوة إلى [Site_Name]",
   "Invite_user_to_join_channel": "دعوة مستخدم واحد لهذه القناة",
@@ -2525,6 +2527,7 @@
   "Tokens_Required_Input_Error": "الرموز المطبوعة غير الصالحة.",
   "Tokens_Required_Input_Placeholder": "أسماء أصول الرموز المميزة",
   "Topic": "الموضوع",
+  "Total_messages": "مجموع الرسائل",
   "Tourism": "السياحة",
   "Transcript_Enabled": "سؤال المستخدم إذا أراد تحويل الدردشة لنص كتابي قبل الإغلاق",
   "Transcript_message": "رسالة إلى إظهار عندما يسأل عن النص",
@@ -2585,6 +2588,7 @@
   "Upload_file_description": "وصف الملف",
   "Upload_file_name": "اسم الملف",
   "Upload_file_question": "تحميل الملف؟",
+  "Upload_Folder_Path": "تحميل مسار المجلد",
   "Upload_user_avatar": "تحميل الصورة الرمزية",
   "Uploading_file": "تحميل الملف ...",
   "Uptime": "الجهوزية",
@@ -2596,6 +2600,7 @@
   "Use_initials_avatar": "استخدم الأحرف الأولى من اسم المستخدم",
   "Use_minor_colors": "استخدام لوحة الألوان البسيطة (الافتراضية ترث الألوان الرئيسية)",
   "Use_service_avatar": "استخدام %s الرمزية",
+  "Verification_Email": "انقر <a href=\"[Verification_Url]\">هنا</a> لتأكيد حسابك.",
   "Use_this_username": "استخدم هذا الاسم",
   "Use_uploaded_avatar": "استخدم الصورة المحملة",
   "Use_url_for_avatar": "استخدم رابط للصورة الرمزية",
@@ -2692,7 +2697,6 @@
   "Validate_email_address": "التحقق من صحة البريد الإلكتروني",
   "Verification": "التحقق",
   "Verification_Description": "يمكنك استخدام العناصر النائبة التالية: <br/><ul><li>[verify_Url] لعنوان ورل للتحقق.</li><li>[نيم] و [فنيم] و [لنيم] للاسم الكامل للمستخدم أو الاسم الأول أو اسم العائلة، على التوالي.</li><li>[إمايل] للبريد الإلكتروني للمستخدم.</li><li>[Site_Name] و [Site_URL] لاسم التطبيق وعنوان ورل على التوالي.</li></ul>",
-  "Verification_Email": "انقر <a href=\"[Verification_Url]\">هنا</a> لتأكيد حسابك.",
   "Verification_email_sent": "تم ارسال رسالة التحقق",
   "Verification_Email_Subject": "Site_Name] - تأكيد حسابك",
   "Verified": "التحقق",
@@ -2753,6 +2757,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "نحن حاليا. آسف للإزعاج.",
   "We_have_sent_password_email": "لقد قمنا بإرسال رسالة بريد إلكتروني مع إرشادات إعادة تعيين كلمة السر. إذا لم يصلك البريد الإلكتروني قريبا، يرجى العودة والمحاولة مرة أخرى.",
   "We_have_sent_registration_email": "لقد قمنا بإرسال رسالة بريد إلكتروني لتأكيد تسجيلك. إذا لم يصلك البريد الإلكتروني قريبا، يرجى العودة والمحاولة مرة أخرى.",
+  "Webdav_Server_URL": "عنوان URL لدخول خادم WebDAV",
+  "Webdav_Username": "اسم مستخدم WebDAV",
+  "Webdav_Password": "WebDAV كلمة السر",
   "Webhook_URL": "URL Webhook",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "مكالمة صوتية مباشرة من٪ s",
diff --git a/packages/rocketchat-i18n/i18n/az.i18n.json b/packages/rocketchat-i18n/i18n/az.i18n.json
index cb8fd198400322c0e0f066db5726eb3ff1c9523c..e763ad2a194b97be3d3e9afae3b4115fff20cd4c 100644
--- a/packages/rocketchat-i18n/i18n/az.i18n.json
+++ b/packages/rocketchat-i18n/i18n/az.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "QadaÄŸan",
+  "500": "Daxili Server Xətası",
   "#channel": "#kanal",
   "0_Errors_Only": "0 - Yalnız səhvlər",
   "1_Errors_and_Information": "1 - Səhvlər və məlumatlar",
   "2_Erros_Information_and_Debug": "2 - Səhvlər, məlumat və Debug",
-  "403": "QadaÄŸan",
-  "500": "Daxili Server Xətası",
   "@username": "@ istifadəçi adı",
   "@username_message": "@ istifadəçi adı <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__username__ artıq __user_by__ tərəfindən __role__ deyil",
@@ -57,13 +57,13 @@
   "Accounts_Email_Approved": "[ad]<br/><br/><p>Hesabınız təsdiq edildi.</p>",
   "Accounts_Email_Approved_Subject": "Hesab təsdiqləndi",
   "Accounts_Email_Deactivated": "[ad]<br/><br/><p>Hesabınız ləğv edildi.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>xoş gəlmisiniz <strong>[Site_Name]</strong></h1><p>gedin <a href=\"[Site_URL]\">[Site_URL]</a> bu gün mövcud ən yaxşı açıq mənbə chat həllini cəhd edin!</p>",
   "Accounts_Email_Deactivated_Subject": "Hesab deaktivasiya olundu",
   "Accounts_EmailVerification": "E-poçt Doğrulama",
   "Accounts_EmailVerification_Description": "Bu xüsusiyyəti istifadə etmək üçün doğru SMTP ayarlarınız olduğundan əmin olun",
+  "Accounts_Enrollment_Email_Subject_Default": "[Site_Name] səhifəsinə xoş gəlmisiniz",
   "Accounts_Enrollment_Email": "Qeydiyyatın E-poçtu",
-  "Accounts_Enrollment_Email_Default": "<h1>xoş gəlmisiniz <strong>[Site_Name]</strong></h1><p>gedin <a href=\"[Site_URL]\">[Site_URL]</a> bu gün mövcud ən yaxşı açıq mənbə chat həllini cəhd edin!</p>",
   "Accounts_Enrollment_Email_Description": "Aşağıdakı yer tutuculardan istifadə edə bilərsiniz:<br/><ul><li>[ad], [fname], [lname] istifadəçinin tam adı, soyadı və soyadı üçün müvafiq olaraq. Istifadəçinin e-poçtu üçün</li><li>[email].</li><li>[Site_Name] və [Site_URL] üçün ərizə adı və URL sırasıyla.</li></ul>",
-  "Accounts_Enrollment_Email_Subject_Default": "[Site_Name] səhifəsinə xoş gəlmisiniz",
   "Accounts_ForgetUserSessionOnWindowClose": "Pəncərədə İstifadəçi Sessiyasını Yadda saxla",
   "Accounts_Iframe_api_method": "Api metodu",
   "Accounts_Iframe_api_url": "API URL",
@@ -177,12 +177,12 @@
   "Accounts_ShowFormLogin": "Forma əsaslanan Giriş göstər",
   "Accounts_TwoFactorAuthentication_Enabled": "İki Faktör Kimlik Doğrulamasını Etkinleştir",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Maksimum Delta",
+  "Accounts_UserAddedEmail_Default": "<h1>xoş gəlmisiniz <strong>[Site_Name]</strong></h1><p>gedin <a href=\"[Site_URL]\">[SITE_URL]</a>və bu gün mövcud olan ən yaxşı açıq mənbə chat həll cəhd edin!</p><p>E-poçtunuzu istifadə edərək daxil ola bilərsiniz: [email] və parol: [parol]. İlk girişinizdən sonra onu dəyişdirmək tələb oluna bilər.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "Maksimum Delta, hər hansı bir zamanda neçə tokenin etibarlı olduğunu müəyyən edir. Token hər 30 saniyədə yaradılıb və (30 * Maksimum Delta) saniyə üçün etibarlıdır. <br/>Örnek: Maksimum Delta 10'a ayarlandığında, her simge, zaman damgasının öncesi və ya sonra 300 saniyə qədər istifadə edilə bilər. Müştərinin saatı server ilə düzgün bir şəkildə sinxronlaşdırılmadıqda bu faydalıdır.",
   "Accounts_UseDefaultBlockedDomainsList": "Default Engellenen Etki Alan siyahısı istifadə edin",
   "Accounts_UseDNSDomainCheck": "DNS Domain Check istifadÉ™ edin",
-  "Accounts_UserAddedEmail_Default": "<h1>xoş gəlmisiniz <strong>[Site_Name]</strong></h1><p>gedin <a href=\"[Site_URL]\">[SITE_URL]</a>və bu gün mövcud olan ən yaxşı açıq mənbə chat həll cəhd edin!</p><p>E-poçtunuzu istifadə edərək daxil ola bilərsiniz: [email] və parol: [parol]. İlk girişinizdən sonra onu dəyişdirmək tələb oluna bilər.",
-  "Accounts_UserAddedEmail_Description": "Aşağıdakı yer tutuculardan istifadə edə bilərsiniz: <br/><ul><li>[ad], [fname], [lname] istifadəçinin tam adı, soyadı və soyadı üçün müvafiq olaraq. Istifadəçinin e-poçtu üçün</li><li>[email]. Istifadəçi şifrəsi üçün</li><li>[parol].</li><li>[Site_Name] və [Site_URL] üçün ərizə adı və URL sırasıyla.</li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "Siz [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "Aşağıdakı yer tutuculardan istifadə edə bilərsiniz: <br/><ul><li>[ad], [fname], [lname] istifadəçinin tam adı, soyadı və soyadı üçün müvafiq olaraq. Istifadəçinin e-poçtu üçün</li><li>[email]. Istifadəçi şifrəsi üçün</li><li>[parol].</li><li>[Site_Name] və [Site_URL] üçün ərizə adı və URL sırasıyla.</li></ul>",
   "Activate": "Aktivləşdir",
   "Activity": "Fəaliyyət",
   "Add": "Əlavə et",
@@ -238,6 +238,7 @@
   "Allow_Marketing_Emails": "Marketinq E-poçtlarına icazə verin",
   "Alphabetical": "Alfabetik",
   "Always_open_in_new_window": "Həmişə yeni pəncərədə açın",
+  "Analytics": "Analytics",
   "Analytics_features_enabled": "Xüsusiyyətləri Aktivləşdi",
   "Analytics_features_messages_Description": "Bir istifadəçi mesajlardakı əməliyyatlarla əlaqəli xüsusi tədbirləri izləyir.",
   "Analytics_features_rooms_Description": "Bir kanalda və ya qrupda hərəkətlər ilə əlaqəli xüsusi tədbirlər izləyir (yarat, buraxın, silin).",
@@ -816,6 +817,7 @@
   "Created_at_s_by_s_triggered_by_s": "<strong>%s</strong>tərəfindən tetiklenen <strong>%s</strong><strong>%s</strong>",
   "CRM_Integration": "CRM Integration",
   "CROWD_Reject_Unauthorized": "Yetkisizliyi rədd et",
+  "Crowd_sync_interval_Description": "Sinxronizasiyalar arasında interval. Məsələn, hər 24 saatda və ya həftənin birinci günü, daha çox nümunə [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "Cari söhbətlər",
   "Current_Status": "Mövcud vəziyyət",
   "Custom": "Xüsusi",
@@ -1339,8 +1341,10 @@
   "Install_package": "Paketi quraşdırın",
   "Installation": "Quraşdırma",
   "Installed_at": "Quraşdırıldı",
+  "Invitation_HTML": "Dəvət HTML",
   "Instance_Record": "Instance Record",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Ziyaretçinize yönergeler bir məktub göndərmək üçün formu doldurur",
+  "Invitation_HTML_Default": "<h1>Sizə <strong>[Site_Name]</strong></h1><p>[Site_URL] ünvanına gedin və bu gün mövcud olan ən yaxşı açıq mənbə chat həllini etməyə dəvət etdiniz!</p>",
   "Insurance": "Sığorta",
   "Integration_added": "İnteqrasiya əlavə edildi",
   "Integration_Advanced_Settings": "Ətraflı Ayarlar",
@@ -1406,9 +1410,7 @@
   "invisible": "görünməz",
   "Invisible": "Görünməz",
   "Invitation": "Dəvət",
-  "Invitation_HTML": "Dəvət HTML",
-  "Invitation_HTML_Default": "<h1>Sizə <strong>[Site_Name]</strong></h1><p>[Site_URL] ünvanına gedin və bu gün mövcud olan ən yaxşı açıq mənbə chat həllini etməyə dəvət etdiniz!</p>",
-  "Invitation_HTML_Description": "Aşağıdakı tutuculardan istifadə edə bilərsiniz: <br/><ul><li>[email] alıcının e-poçtu üçün.</li><li>[Site_Name] və [Site_URL] üçün ərizə adı və URL sırasıyla.</li></ul>",
+  "Invitation_Email_Description": "Aşağıdakı tutuculardan istifadə edə bilərsiniz: <br/><ul><li>[email] alıcının e-poçtu üçün.</li><li>[Site_Name] və [Site_URL] üçün ərizə adı və URL sırasıyla.</li></ul>",
   "Invitation_Subject": "Dəvət mövzusu",
   "Invitation_Subject_Default": "Sizə [Site_Name] dəvət olunmuşdunuz",
   "Invite_user_to_join_channel": "Bir istifadəçini bu kanala qoşulmağa dəvət edin",
@@ -2525,6 +2527,7 @@
   "Tokens_Required_Input_Error": "Yanlış yazılmış tokens.",
   "Tokens_Required_Input_Placeholder": "Tokens aktivin adları",
   "Topic": "Mövzu",
+  "Total_messages": "Ãœmumi mesajlar",
   "Tourism": "Turizm",
   "Transcript_Enabled": "Görüşəndən sonra söhbət etmək istərdiklərini soruş",
   "Transcript_message": "Transkript haqqında soruşanda göstərmək üçün mesaj",
@@ -2585,6 +2588,7 @@
   "Upload_file_description": "Fayl təsviri",
   "Upload_file_name": "Fayl adı",
   "Upload_file_question": "Fayl yükləməyiniz?",
+  "Upload_Folder_Path": "Qovluq yolunu yükləyin",
   "Upload_user_avatar": "Avatar yüklə",
   "Uploading_file": "Fayl yüklənir ...",
   "Uptime": "Uptime",
@@ -2596,6 +2600,7 @@
   "Use_initials_avatar": "İstifadəçi adınızın başlanğıclarını istifadə edin",
   "Use_minor_colors": "Kiçik rəng palitrası istifadə edin (əvəzliklər əsas rəngləri devralır)",
   "Use_service_avatar": "%s avatarını istifadə edin",
+  "Verification_Email": "Hesabınızı təsdiqləmək üçün <a href=\"[Verification_Url]\">burada</a>vurun.",
   "Use_this_username": "Bu istifadəçi adını istifadə edin",
   "Use_uploaded_avatar": "Yüklənmiş avatardan istifadə edin",
   "Use_url_for_avatar": "Avatar üçün istifadə edin",
@@ -2692,7 +2697,6 @@
   "Validate_email_address": "E-poçt ünvanı təsdiqləyin",
   "Verification": "DoÄŸrulama",
   "Verification_Description": "Aşağıdakı yer tutuculardan istifadə edə bilərsiniz: Doğrulama URL'si üçün <br/><ul><li>[Verification_Url].</li><li>[ad], [fname], [lname] istifadəçinin tam adı, soyadı və soyadı üçün müvafiq olaraq. Istifadəçinin e-poçtu üçün</li><li>[email].</li><li>[Site_Name] və [Site_URL] üçün ərizə adı və URL sırasıyla.</li></ul>",
-  "Verification_Email": "Hesabınızı təsdiqləmək üçün <a href=\"[Verification_Url]\">burada</a>vurun.",
   "Verification_email_sent": "Doğrulama e-poçtu göndərildi",
   "Verification_Email_Subject": "[Site_Name] - Hesabınızı təsdiqləyin",
   "Verified": "Verified",
@@ -2753,6 +2757,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Biz offline. Narahatçılığa görə üzr istəyirik.",
   "We_have_sent_password_email": "Şifrəni sıfırlama talimatları olan bir e-poçt göndərdik. Qısa müddətdə bir e-poçt almazsan, geri qayıdın və yenidən cəhd edin.",
   "We_have_sent_registration_email": "Qeydiyyatınızı təsdiqləyən bir e-poçt göndərdik. Qısa müddətdə bir e-poçt almazsan, geri qayıdın və yenidən cəhd edin.",
+  "Webdav_Server_URL": "WebDAV Server EriÅŸim URL'si",
+  "Webdav_Username": "WebDAV İstifadəçi adı",
+  "Webdav_Password": "WebDAV ÅžifrÉ™",
   "Webhook_URL": "Webhook URL",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "%s-dən birbaşa audio zəng",
diff --git a/packages/rocketchat-i18n/i18n/be-BY.i18n.json b/packages/rocketchat-i18n/i18n/be-BY.i18n.json
index 1b8f7ced2b9c98708fb183566a328ef979f72676..491b86bbb06f968e795c4b5c2d9badcb4941874d 100644
--- a/packages/rocketchat-i18n/i18n/be-BY.i18n.json
+++ b/packages/rocketchat-i18n/i18n/be-BY.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "Забаронена",
+  "500": "Унутраная памылка сервера",
   "#channel": "#канал",
   "0_Errors_Only": "0 - Толькі памылкі",
   "1_Errors_and_Information": "1 - Памылкі і інфармацыя",
   "2_Erros_Information_and_Debug": "2 - Памылкі, інфармацыя і адладка",
-  "403": "Забаронена",
-  "500": "Унутраная памылка сервера",
   "@username": "@лагін",
   "@username_message": "@лагін <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__username__ более не __role__ па рашэнні __user_by__",
@@ -58,13 +58,13 @@
   "Accounts_Email_Approved": "[name] <br/><br/><p>Ваш уліковы запіс быў адобраны. </p>",
   "Accounts_Email_Approved_Subject": "Уліковы запіс зацверджаны",
   "Accounts_Email_Deactivated": "[name] <br/><br/><p>Ваш уліковы запіс быў дэактываваны. </p>",
+  "Accounts_Enrollment_Email_Default": "<h1>Сардэчна запрашаем у <strong>[Site_Name]</strong></h1><p>Пераход <a href=\"[Site_URL]\">[site_URL]</a>і паспрабаваць лепшае рашэнне чата з адкрытым зыходным кодам на сённяшні дзень!</p>",
   "Accounts_Email_Deactivated_Subject": "Уліковы запіс заблакаваны",
   "Accounts_EmailVerification": "Пацвярджэнне адрасу электроннай пошты",
   "Accounts_EmailVerification_Description": "Пераканайцеся, што ў вас верныя налады SMTP для выкарыстання гэтай функцыі",
+  "Accounts_Enrollment_Email_Subject_Default": "Сардэчна запрашаем на [site_name]",
   "Accounts_Enrollment_Email": "Электроннае паведамленне пры рэгістрацыі",
-  "Accounts_Enrollment_Email_Default": "<h1>Сардэчна запрашаем у <strong>[Site_Name]</strong></h1><p>Пераход <a href=\"[Site_URL]\">[site_URL]</a>і паспрабаваць лепшае рашэнне чата з адкрытым зыходным кодам на сённяшні дзень!</p>",
   "Accounts_Enrollment_Email_Description": "Вы можаце выкарыстоўваць наступныя запаўняльнікі: <br/><ul><li>[імя], [імя_файла], [LNAME] поўнае імя карыстальніка, імя або прозвішча, адпаведна.</li><li>[пошта] для электроннай пошты карыстальніка.</li><li>[site_name] і [site_url] для імя прыкладання і URL адпаведна.</li></ul>",
-  "Accounts_Enrollment_Email_Subject_Default": "Сардэчна запрашаем на [site_name]",
   "Accounts_ForgetUserSessionOnWindowClose": "Забыць сесію карыстальніка пры закрыцці вокна",
   "Accounts_Iframe_api_method": "Метад API",
   "Accounts_Iframe_api_url": "API URL",
@@ -173,17 +173,18 @@
   "Accounts_RequireNameForSignUp": "Патрабуецца назва для Signup",
   "Accounts_RequirePasswordConfirmation": "Патрабуецца пацверджанне пароля",
   "Accounts_SearchFields": "Палі для разгляду ў пошуку",
+  "Accounts_Directory_DefaultView": "Спіс каталогаў па змаўчанні ",
   "Accounts_SetDefaultAvatar": "Ўсталяваць па змаўчанні Аватар",
   "Accounts_SetDefaultAvatar_Description": "Спрабуе вызначыць аватар па змаўчанні на аснове OAuth рахунку або Gravatar",
   "Accounts_ShowFormLogin": "Паказаць па змаўчанні Увайсці Форма",
   "Accounts_TwoFactorAuthentication_Enabled": "Ўключэнне двухфакторную аўтэнтыфікацыі",
   "Accounts_TwoFactorAuthentication_MaxDelta": "максімальная Delta",
+  "Accounts_UserAddedEmail_Default": "<h1>Сардэчна запрашаем у <strong>[Site_Name]</strong></h1><p>Пераход <a href=\"[Site_URL]\">[site_URL]</a>і паспрабаваць лепшае рашэнне чата з адкрытым зыходным кодам на сённяшні дзень!</p><p>Вы можаце ўвайсці ў сістэму, выкарыстоўваючы адрас электроннай пошты: [email] і пароль: [password]. Вам можа спатрэбіцца змяніць яго пасля першага ўваходу ў сістэму.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "Максімальная Delta вызначае, колькі маркераў сапраўдныя ў любы момант часу. Лексемы генеруюцца кожныя 30 секунд, і сапраўдныя на працягу (30 * Максімальная Delta) секунд. <br/>Прыклад: З максімальнай Дэльта значэнне 10, кожны маркер можа быць выкарыстаны да 300 секунд да або пасля таго, як гэта часовая пазнака. Гэта карысна, калі гадзіны кліента не правільна сінхранізавацца з серверам.",
   "Accounts_UseDefaultBlockedDomainsList": "Выкарыстоўваць па змаўчанні заблакаваў Спіс даменаў",
   "Accounts_UseDNSDomainCheck": "Выкарыстанне дамена DNS Праверка",
-  "Accounts_UserAddedEmail_Default": "<h1>Сардэчна запрашаем у <strong>[Site_Name]</strong></h1><p>Пераход <a href=\"[Site_URL]\">[site_URL]</a>і паспрабаваць лепшае рашэнне чата з адкрытым зыходным кодам на сённяшні дзень!</p><p>Вы можаце ўвайсці ў сістэму, выкарыстоўваючы адрас электроннай пошты: [email] і пароль: [password]. Вам можа спатрэбіцца змяніць яго пасля першага ўваходу ў сістэму.",
-  "Accounts_UserAddedEmail_Description": "Вы можаце выкарыстоўваць наступныя запаўняльнікі: <br/><ul><li>[імя], [імя_файла], [LNAME] поўнае імя карыстальніка, імя або прозвішча, адпаведна.</li><li>[пошта] для электроннай пошты карыстальніка.</li><li>[пароль] для пароля карыстальніка.</li><li>[site_name] і [site_url] для імя прыкладання і URL адпаведна.</li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "Вы былі дададзеныя ў [site_name]",
+  "Accounts_UserAddedEmail_Description": "Вы можаце выкарыстоўваць наступныя запаўняльнікі: <br/><ul><li>[імя], [імя_файла], [LNAME] поўнае імя карыстальніка, імя або прозвішча, адпаведна.</li><li>[пошта] для электроннай пошты карыстальніка.</li><li>[пароль] для пароля карыстальніка.</li><li>[site_name] і [site_url] для імя прыкладання і URL адпаведна.</li></ul>",
   "Activate": "Актываваць",
   "Activity": "Дзейнасць",
   "Add": "Дадаць",
@@ -239,6 +240,7 @@
   "Allow_Marketing_Emails": "Дазволіць паведамленні электроннай пошты маркетынгу",
   "Alphabetical": "Па алфавіце",
   "Always_open_in_new_window": "Заўсёды Адкрыць у новым акне",
+  "Analytics": "аналітыка",
   "Analytics_features_enabled": "Функцыі",
   "Analytics_features_messages_Description": "Трэкі прыстасаваныя падзеі, звязаныя з дзеяннямі карыстальніка робіць на паведамленні.",
   "Analytics_features_rooms_Description": "Трэкі прыстасаваныя падзеі, звязаныя з дзеяннямі па канале або групе (стварэнне, адпачынак, выдаленне).",
@@ -250,6 +252,7 @@
   "Animals_and_Nature": "Жывёлы і Прырода",
   "Announcement": "Аб'ява",
   "API": "API",
+  "API_Add_Personal_Access_Token": "Дадаць новы асабісты маркер доступу",
   "API_Allow_Infinite_Count": "Дазволіць атрымліваць усе",
   "API_Allow_Infinite_Count_Description": "Калі выклікі REST API дазволена вярнуць усё ў адным выкліку?",
   "API_Analytics": "аналітыка",
@@ -276,6 +279,11 @@
   "API_GitHub_Enterprise_URL": "URL-адрас сервера",
   "API_GitHub_Enterprise_URL_Description": "Прыклад: http://domain.com (за выключэннем касой рысы)",
   "API_Gitlab_URL": "URL GitLab",
+  "API_Personal_Access_Token_Name": "Імя Асабістага токена доступу",
+  "API_Personal_Access_Tokens_Remove_Modal": "Вы ўпэўненыя, што жадаеце выдаліць гэты асабісты маркер доступу?",
+  "API_Personal_Access_Token_Generated": "Асабісты токенаў доступу паспяхова створаны",
+  "API_Personal_Access_Tokens_Regenerate_Modal": "Калі вы страцілі або забылі свой маркер, вы можаце рэгенераваць, але памятайце, што ўсе прыкладання, якія выкарыстоўваюць гэты маркер павінны быць абноўлены",
+  "API_Personal_Access_Tokens_Regenerate_It": "Рэгенерацыя маркера",
   "API_Shield_Types": "тыпы шчыта",
   "API_Shield_Types_Description": "Тыпы шчытоў, каб уключыць у спіс падзеленых коскамі, выбраць з `online`,` channel` або `` * для ўсіх",
   "API_Token": "API токен",
@@ -288,6 +296,7 @@
   "Apiai_Key": "Api.ai Key",
   "Apiai_Language": "Api.ai Мова",
   "App_author_homepage": "старонка аўтара",
+  "App_Details": "Падрабязней аб App",
   "App_Information": "інфармацыя аб дадатку",
   "App_Installation": "ўстаноўка App",
   "App_status_auto_enabled": "Уключана",
@@ -355,6 +364,7 @@
   "AutoLinker_Urls_www": "URL-AutoLinker 'WWW'",
   "AutoLinker_UrlsRegExp": "AutoLinker URL Regular Expression",
   "Automatic_Translation": "аўтаматычны пераклад",
+  "Author_Site": "Аўтар",
   "AutoTranslate_Change_Language_Description": "Змена аўтаматычнага перакладу мовы не перакладае папярэднія паведамленні.",
   "AutoTranslate_Enabled": "Enable Auto-Перавесці",
   "AutoTranslate_Enabled_Description": "Ўключэнне аўтаматычнага перакладу дазволіць людзям з дазволу <code class=\"inline\">аўтаматычны пераклад</code>, каб мець усе паведамленні аўтаматычна пераведзены на іх абраным мове. Тарыфы могуць прымяняцца, см <a target=\"_blank\" href=\"https://cloud.google.com/translate/pricing\">Дакументацыя кампаніі Google</a>",
@@ -385,6 +395,8 @@
   "Beta_feature_Depends_on_Video_Conference_to_be_enabled": "Бэта-функцыя. У залежнасці ад відэа канферэнцыі, якая будзе ўключана.",
   "Block_User": "заблакаваць карыстальніка",
   "Blockchain": "Blockchain",
+  "Blockstack_Auth_Description": "Апісанне Auth",
+  "Blockstack_ButtonLabelText": "Тэкст цэтліка кнопкі",
   "Body": "цела",
   "bold": "паўтлусты",
   "bot_request": "запыт Bot",
@@ -431,6 +443,7 @@
   "CAS_Sync_User_Data_FieldMap_Description": "Выкарыстоўвайце гэты ўваход JSON пабудаваць ўнутраныя атрыбуты (ключ) ад знешніх атрыбутаў (неадназначнасьць). Знешнія імёны атрыбутаў абнесеныя '%' будуць интерполированными ў радках значэння <br/>Прыклад, `{\" электронная пошта \":\"% EMAIL% \",\" імя \":\"% FirstName%,% LastName% \"}.` <br/><br/>Карта атрыбут заўсёды з інтэрпаляцыяй. У CAS 1.0 толькі `username` атрыбут даступны. Даступныя ўнутраныя атрыбуты: імя карыстальніка, імя, адрас электроннай пошты, нумары; нумары, падзеленых коскамі спіс нумароў, каб далучыцца пасля стварэння карыстальніка напрыклад: { «пакояў»: «% каманда%,% аддзела%»} далучацца карыстальнікі CAS па стварэнні іх каманды і аддзела канала.",
   "CAS_version": "CAS Version",
   "CAS_version_Description": "Выкарыстоўвайце толькі патрэбная версія CAS падтрымліваецца вашай службай CAS SSO.",
+  "Categories": "Катэгорыі",
   "CDN_PREFIX": "CDN Prefix",
   "CDN_PREFIX_ALL": "Выкарыстанне CDN прыстаўкі для ўсіх актываў",
   "CDN_JSCSS_PREFIX": "CDN прыстаўка для JS/CSS",
@@ -548,6 +561,7 @@
   "Consulting": "кансалтынг",
   "Consumer_Goods": "спажывецкія тавары",
   "Contains_Security_Fixes": "Змяшчае выпраўленні бяспекі",
+  "Contact": "Кантакт",
   "Content": "змест",
   "Continue": "працягваць",
   "Continuous_sound_notifications_for_new_livechat_room": "Бесперапынныя гукавыя апавяшчэння для новай Livechat пакоя",
@@ -819,6 +833,7 @@
   "Created_at_s_by_s_triggered_by_s": "Створана <strong>%s</strong>па <strong>%s</strong>запускаецца <strong>%s</strong>",
   "CRM_Integration": "інтэграцыя CRM",
   "CROWD_Reject_Unauthorized": "адхіліць Несанкцыянаванае",
+  "Crowd_sync_interval_Description": "Інтэрвал паміж сінхранізацыі. Прыклад `кожныя 24 hours` или` на першы дзень week`, больш прыкладаў [Крон Тэкст Parser] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "бягучыя Чаты",
   "Current_Status": "бягучы статус",
   "Custom": "выраблены на замову",
@@ -1342,8 +1357,10 @@
   "Install_package": "ўсталяваць пакет",
   "Installation": "Ўстаноўка",
   "Installed_at": "Устаноўленая на",
+  "Invitation_HTML": "запрашэнне HTML",
   "Instance_Record": "Instance запіс",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Інструкцыі для вашага наведвальніка запоўніць форму, каб адправіць паведамленне",
+  "Invitation_HTML_Default": "<h1>Вы былі запрошаны <strong>[Site_Name]</strong></h1><p>Перайсці да [site_URL] і паспрабаваць лепшае рашэнне чат з адкрытым зыходным кодам на сённяшні дзень!</p>",
   "Insurance": "страхаванне",
   "Integration_added": "Інтэграцыя была дададзеная",
   "Integration_Advanced_Settings": "Пашыраныя налады",
@@ -1409,9 +1426,7 @@
   "invisible": "нябачны",
   "Invisible": "нябачны",
   "Invitation": "запрашэнне",
-  "Invitation_HTML": "запрашэнне HTML",
-  "Invitation_HTML_Default": "<h1>Вы былі запрошаны <strong>[Site_Name]</strong></h1><p>Перайсці да [site_URL] і паспрабаваць лепшае рашэнне чат з адкрытым зыходным кодам на сённяшні дзень!</p>",
-  "Invitation_HTML_Description": "Вы можаце выкарыстоўваць наступныя запаўняльнікі: <br/><ul><li>[пошта] для электроннай пошты атрымальніка.</li><li>[site_name] і [site_url] для імя прыкладання і URL адпаведна.</li></ul>",
+  "Invitation_Email_Description": "Вы можаце выкарыстоўваць наступныя запаўняльнікі: <br/><ul><li>[пошта] для электроннай пошты атрымальніка.</li><li>[site_name] і [site_url] для імя прыкладання і URL адпаведна.</li></ul>",
   "Invitation_Subject": "запрашэнне Тэма",
   "Invitation_Subject_Default": "Вы былі запрошаны [site_name]",
   "Invite_user_to_join_channel": "Запрасіць аднаго карыстальніка далучыцца да гэтага каналу",
@@ -2530,6 +2545,7 @@
   "Tokens_Required_Input_Error": "Несапраўдныя набраныя жэтоны.",
   "Tokens_Required_Input_Placeholder": "Лексемы імёны актываў",
   "Topic": "тэма",
+  "Total_messages": "Усяго паведамленняў",
   "Tourism": "турызм",
   "Transcript_Enabled": "Спытаеце наведвальнік, калі яны хацелі стэнаграму Пасля чата Закрыта",
   "Transcript_message": "Паведамленне Паказаць Пытаючыся Аб Стэнаграма",
@@ -2590,6 +2606,7 @@
   "Upload_file_description": "апісанне файла",
   "Upload_file_name": "Імя файла",
   "Upload_file_question": "Загрузіць файл?",
+  "Upload_Folder_Path": "Загрузіць шлях да тэчцы",
   "Upload_user_avatar": "загрузіць аватар",
   "Uploading_file": "Загрузка файла ...",
   "Uptime": "Uptime",
@@ -2601,6 +2618,7 @@
   "Use_initials_avatar": "Выкарыстоўвайце імя карыстальніка ініцыялы",
   "Use_minor_colors": "Выкарыстоўвайце невялікую каляровую палітру (па змаўчанні ў спадчыну асноўныя колеру)",
   "Use_service_avatar": "Выкарыстоўвайце%s аватар",
+  "Verification_Email": "Націсніце <a href=\"[Verification_Url]\">тут</a>, каб пацвердзіць свой рахунак.",
   "Use_this_username": "Выкарыстоўвайце гэтае імя карыстальніка",
   "Use_uploaded_avatar": "Выкарыстоўвайце загружанае аватар",
   "Use_url_for_avatar": "Выкарыстоўвайце URL для аватара",
@@ -2697,7 +2715,6 @@
   "Validate_email_address": "Пацвердзіць адрас электроннай пошты",
   "Verification": "верыфікацыя",
   "Verification_Description": "Вы можаце выкарыстоўваць наступныя запаўняльнікі: <br/><ul><li>[VERIFICATION_URL] для праверкі URL-адрасы.</li><li>[імя], [імя_файла], [LNAME] поўнае імя карыстальніка, імя або прозвішча, адпаведна.</li><li>[пошта] для электроннай пошты карыстальніка.</li><li>[site_name] і [site_url] для імя прыкладання і URL адпаведна.</li></ul>",
-  "Verification_Email": "Націсніце <a href=\"[Verification_Url]\">тут</a>, каб пацвердзіць свой рахунак.",
   "Verification_email_sent": "Праверка электроннай пошты адпраўлена",
   "Verification_Email_Subject": "[Site_name] - Праверце свой кошт",
   "Verified": "правераны",
@@ -2758,6 +2775,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Мы не ў сеткі. Прабачце за дастаўленыя нязручнасці.",
   "We_have_sent_password_email": "Мы адправілі вам ліст з інструкцыямі па змене пароля. Калі вы не атрымаеце па электроннай пошце ў бліжэйшы час, калі ласка, вярніцеся і паспрабуйце ізноў.",
   "We_have_sent_registration_email": "Мы адправілі вам па электроннай пошце, каб пацвердзіць рэгістрацыю. Калі вы не атрымаеце па электроннай пошце ў бліжэйшы час, калі ласка, вярніцеся і паспрабуйце ізноў.",
+  "Webdav_Server_URL": "URL WebDAV сервер доступу",
+  "Webdav_Username": "WebDAV Імя карыстальніка",
+  "Webdav_Password": "WebDAV пароль",
   "Webhook_URL": "URL Webhook",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "Прамой аўдыё званок ад%s",
diff --git a/packages/rocketchat-i18n/i18n/bg.i18n.json b/packages/rocketchat-i18n/i18n/bg.i18n.json
index cc7d2241ce61624d5fad6cd91df09be0ecbc8478..47a0e8e4844e0fb887a26a5a559ba1d47894dd82 100644
--- a/packages/rocketchat-i18n/i18n/bg.i18n.json
+++ b/packages/rocketchat-i18n/i18n/bg.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "Забранен",
+  "500": "Вътрешна грешка на сървъра",
   "#channel": "#канал",
   "0_Errors_Only": "0 - Само Грешки",
   "1_Errors_and_Information": "1 - Грешки и Информация",
   "2_Erros_Information_and_Debug": "2 - Грешки, Информация и Дебъг",
-  "403": "Забранен",
-  "500": "Вътрешна грешка на сървъра",
   "@username": "@потребителско име",
   "@username_message": "@потребителско име<message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__username__ вече не е __role__ от __user_by__",
@@ -57,13 +57,13 @@
   "Accounts_Email_Approved": "[name] <br/><br/><p>Вашият профил бе одобрен.</p>",
   "Accounts_Email_Approved_Subject": "Профилът е одобрен",
   "Accounts_Email_Deactivated": "[name] <br/><br/><p>Вашият профил бе деактивиран.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>дошли в <strong>[Site_Name]</strong></h1><p>Към <a href=\"[Site_URL]\">[SITE_URL]</a>и опитайте най-доброто решение за чат с отворен код, налично днес!</p>",
   "Accounts_Email_Deactivated_Subject": "Профилът е деактивиран",
   "Accounts_EmailVerification": "Проверка на електроната поща",
   "Accounts_EmailVerification_Description": "Уверете се, че имате правилни SMTP настройки, за да използвате тази функция",
+  "Accounts_Enrollment_Email_Subject_Default": "Добре дошли в [Site_Name]",
   "Accounts_Enrollment_Email": "Имейл за записване",
-  "Accounts_Enrollment_Email_Default": "<h1>дошли в <strong>[Site_Name]</strong></h1><p>Към <a href=\"[Site_URL]\">[SITE_URL]</a>и опитайте най-доброто решение за чат с отворен код, налично днес!</p>",
   "Accounts_Enrollment_Email_Description": "Можете да използвате следните заместващи символи: <br/><ul><li>[име], [fname], [име] за пълно име, потребителско име или фамилия на потребителя.</li><li>[имейл] за имейла на потребителя.</li><li>[Site_Name] и [Site_URL] съответно за името на приложението и URL адреса.</li></ul>",
-  "Accounts_Enrollment_Email_Subject_Default": "Добре дошли в [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "Забравете потребителската сесия в прозореца Затваряне",
   "Accounts_Iframe_api_method": "Метод Апи",
   "Accounts_Iframe_api_url": "API URL адрес",
@@ -177,12 +177,12 @@
   "Accounts_ShowFormLogin": "Показване на формуляра за влизане",
   "Accounts_TwoFactorAuthentication_Enabled": "Активиране на удостоверяване с два фактора",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Максимална делта",
+  "Accounts_UserAddedEmail_Default": "<h1>Добре дошли в <strong>[Site_Name]</strong></h1><p>Отворете <a href=\"[Site_URL]\">[SITE_URL]</a>и да се опита най-доброто решение с отворен код чат на разположение днес!</p><p>Можете да влезете с имейла си: [имейл] и парола: [парола]. Може да се наложи да я промените след първото си влизане.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "Максималната делта определя колко символа са валидни във всеки един момент. Точки се генерират на всеки 30 секунди и са валидни за секунди (30 * Максимална делта). <br/>Пример: При максимална делта, зададена на 10, всяко означение може да се използва до 300 секунди преди или след него. Това е полезно, когато часовникът на клиента не е синхронизиран правилно със сървъра.",
   "Accounts_UseDefaultBlockedDomainsList": "Използване на списъка с блокирани домейни по подразбиране",
   "Accounts_UseDNSDomainCheck": "Използвайте проверка на домейн DNS",
-  "Accounts_UserAddedEmail_Default": "<h1>Добре дошли в <strong>[Site_Name]</strong></h1><p>Отворете <a href=\"[Site_URL]\">[SITE_URL]</a>и да се опита най-доброто решение с отворен код чат на разположение днес!</p><p>Можете да влезете с имейла си: [имейл] и парола: [парола]. Може да се наложи да я промените след първото си влизане.",
-  "Accounts_UserAddedEmail_Description": "Можете да използвате следните заместващи символи: <br/><ul><li>[име], [fname], [име] за пълно име, потребителско име или фамилия на потребителя.</li><li>[имейл] за имейла на потребителя.</li><li>[парола] за паролата на потребителя.</li><li>[Site_Name] и [Site_URL] съответно за името на приложението и URL адреса.</li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "Бяхте добавени към [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "Можете да използвате следните заместващи символи: <br/><ul><li>[име], [fname], [име] за пълно име, потребителско име или фамилия на потребителя.</li><li>[имейл] за имейла на потребителя.</li><li>[парола] за паролата на потребителя.</li><li>[Site_Name] и [Site_URL] съответно за името на приложението и URL адреса.</li></ul>",
   "Activate": "Активирайте",
   "Activity": "Дейност",
   "Add": "Добави",
@@ -238,6 +238,7 @@
   "Allow_Marketing_Emails": "Позволете маркетинг имейли",
   "Alphabetical": "По азбучен ред",
   "Always_open_in_new_window": "Винаги се отваря в нов прозорец",
+  "Analytics": "анализ",
   "Analytics_features_enabled": "Функциите са активирани",
   "Analytics_features_messages_Description": "Проследява персонализирани събития, свързани с действията, които потребителят прави по отношение на съобщенията.",
   "Analytics_features_rooms_Description": "Проследява персонализирани събития, свързани с действия в даден канал или група (създаване, излизане, изтриване).",
@@ -816,6 +817,7 @@
   "Created_at_s_by_s_triggered_by_s": "Създаден на <strong>%s</strong>от <strong>%s</strong>%strong>е задействан от <strong>%s</strong>",
   "CRM_Integration": "CRM интеграция",
   "CROWD_Reject_Unauthorized": "Отхвърляне на неупълномощени",
+  "Crowd_sync_interval_Description": "Интервалът между синхронизациите. Пример \"на всеки 24 часа\" или \"в първия ден от седмицата\", още примери в [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "Текущи чатове",
   "Current_Status": "Актуално състояние",
   "Custom": "Персонализиран",
@@ -1339,8 +1341,10 @@
   "Install_package": "Инсталирайте пакета",
   "Installation": "Инсталация",
   "Installed_at": "Инсталиран на",
+  "Invitation_HTML": "Покана HTML",
   "Instance_Record": "Инвентарен запис",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Инструкции за Вашия посетител попълнете формуляра, за да изпратите съобщение",
+  "Invitation_HTML_Default": "<h1>Получихте покана да <strong>[Site_Name]</strong></h1><p>Отидете на [Site_URL] и опитайте най-доброто решение за чат с отворен код, налично днес!</p>",
   "Insurance": "Застраховка",
   "Integration_added": "Добавена е интеграция",
   "Integration_Advanced_Settings": "Разширени настройки",
@@ -1406,9 +1410,7 @@
   "invisible": "невидим",
   "Invisible": "невидим",
   "Invitation": "покана",
-  "Invitation_HTML": "Покана HTML",
-  "Invitation_HTML_Default": "<h1>Получихте покана да <strong>[Site_Name]</strong></h1><p>Отидете на [Site_URL] и опитайте най-доброто решение за чат с отворен код, налично днес!</p>",
-  "Invitation_HTML_Description": "Можете да използвате следните заместващи символи: <br/><ul><li>[имейл] за имейл адреса на получателя.</li><li>[Site_Name] и [Site_URL] съответно за името на приложението и URL адреса.</li></ul>",
+  "Invitation_Email_Description": "Можете да използвате следните заместващи символи: <br/><ul><li>[имейл] за имейл адреса на получателя.</li><li>[Site_Name] и [Site_URL] съответно за името на приложението и URL адреса.</li></ul>",
   "Invitation_Subject": "Предмет на поканата",
   "Invitation_Subject_Default": "Получихте покана до [Site_Name]",
   "Invite_user_to_join_channel": "Поканете един потребител да се присъедини към този канал",
@@ -2525,6 +2527,7 @@
   "Tokens_Required_Input_Error": "Невалидни въведени символи.",
   "Tokens_Required_Input_Placeholder": "Име на активите на тонове",
   "Topic": "тема",
+  "Total_messages": "Общо съобщения",
   "Tourism": "туризъм",
   "Transcript_Enabled": "Попитайте посетителя, ако желаят препис след приключване на чата",
   "Transcript_message": "Съобщение за показване при поискване за препис",
@@ -2585,6 +2588,7 @@
   "Upload_file_description": "Описание на файла",
   "Upload_file_name": "Име на файл",
   "Upload_file_question": "Качи фаил?",
+  "Upload_Folder_Path": "Качване на пътя на папките",
   "Upload_user_avatar": "Качване на аватар",
   "Uploading_file": "Качване на файл ...",
   "Uptime": "Uptime",
@@ -2596,6 +2600,7 @@
   "Use_initials_avatar": "Използвайте инициалите на потребителското име",
   "Use_minor_colors": "Използвайте малка цветова палитра (по подразбиране наследете основни цветове)",
   "Use_service_avatar": "Използвайте%s аватар",
+  "Verification_Email": "Кликнете върху <a href=\"[Verification_Url]\">тук</a>, за да потвърдите профила си.",
   "Use_this_username": "Използвайте това потребителско име",
   "Use_uploaded_avatar": "Използвайте качения аватар",
   "Use_url_for_avatar": "Използвайте URL адреса за аватар",
@@ -2692,7 +2697,6 @@
   "Validate_email_address": "Потвърдете имейл адреса",
   "Verification": "Проверка",
   "Verification_Description": "Можете да използвате следните заместващи символи:<br/><ul><li>[Verification_Url] за URL адреса за потвърждение.</li><li>[име], [fname], [име] за пълното име, съответно име или фамилия на потребителя.</li><li>[имейл] за имейла на потребителя.</li><li>[Site_Name] и [Site_URL] съответно за името на приложението и URL адреса.</li></ul>",
-  "Verification_Email": "Кликнете върху <a href=\"[Verification_Url]\">тук</a>, за да потвърдите профила си.",
   "Verification_email_sent": "Имейлът за потвърждение е изпратен",
   "Verification_Email_Subject": "[Site_Name] - Проверете профила си",
   "Verified": "Потвърден",
@@ -2753,6 +2757,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Ние сме офлайн. Съжалявам за неудобството.",
   "We_have_sent_password_email": "Изпратихме имейл с инструкции за нулиране на паролата. Ако скоро не получите имейл, моля, върнете се и опитайте отново.",
   "We_have_sent_registration_email": "Изпратихме ви имейл, за да потвърдите регистрацията си. Ако скоро не получите имейл, моля, върнете се и опитайте отново.",
+  "Webdav_Server_URL": "URL адрес за достъп до WebDAV сървър",
+  "Webdav_Username": "WebDAV потребителско име",
+  "Webdav_Password": "WebDAV парола",
   "Webhook_URL": "URL адрес на Webhook",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "Директно аудио обаждане от%s",
diff --git a/packages/rocketchat-i18n/i18n/ca.i18n.json b/packages/rocketchat-i18n/i18n/ca.i18n.json
index 0a4590170aee90eac39a6fc6cff078f3fd80351c..70ff60f7c0021fc9b0f7a005a183ac4ccdd39890 100644
--- a/packages/rocketchat-i18n/i18n/ca.i18n.json
+++ b/packages/rocketchat-i18n/i18n/ca.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "Prohibit",
+  "500": "Error intern del servidor",
   "#channel": "#canal",
   "0_Errors_Only": "0 - Només errors",
   "1_Errors_and_Information": "1 - Errors i informació",
   "2_Erros_Information_and_Debug": "2 - Errors, informació i depuració",
-  "403": "Prohibit",
-  "500": "Error intern del servidor",
   "@username": "@usuari",
   "@username_message": "@usuari <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__username__ ja no és __role__ (per __user_by__)",
@@ -57,13 +57,13 @@
   "Accounts_Email_Approved": "[nom]<br/><br/><p>El vostre compte s'ha aprovat.</p>",
   "Accounts_Email_Approved_Subject": "S'ha aprovat el compte",
   "Accounts_Email_Deactivated": "[nom]<br/><br/><p>El vostre compte s'ha desactivat.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>Benvingut a <strong>[Site_Name]</strong></h1><p>Vés a <a href=\"[Site_URL]\">[Site_URL]</a> i prova la millor eina de programari lliure per a treball a distància disponible actualment!</p>",
   "Accounts_Email_Deactivated_Subject": "Compte desactivat",
   "Accounts_EmailVerification": "Verificació de correu electrònic",
   "Accounts_EmailVerification_Description": "Assegura't que la configuració SMTP és correcta per fer servir aquesta funcionalitat",
+  "Accounts_Enrollment_Email_Subject_Default": "Benvingut a [Site_Name]",
   "Accounts_Enrollment_Email": "Missatge de correu electrònic d'inscripció",
-  "Accounts_Enrollment_Email_Default": "<h1>Benvingut a <strong>[Site_Name]</strong></h1><p>Vés a <a href=\"[Site_URL]\">[Site_URL]</a> i prova la millor eina de programari lliure per a treball a distància disponible actualment!</p>",
   "Accounts_Enrollment_Email_Description": "És possible utilitzar els marcadors: <br/><ul><li>[name], [fname], [lname] per al nom complet de l'usuari, nom o cognom, respectivament.</li><li>[email] per a l'adreça de correu electrònic de l'usuari.</li><li>[Site_Name] i [Site_URL] pel nom del lloc web i de l'adreça URL, respectivament.</li></ul>",
-  "Accounts_Enrollment_Email_Subject_Default": "Benvingut a [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "Oblida la sessió d'usuari en tancar la finestra",
   "Accounts_Iframe_api_method": "Mètode API",
   "Accounts_Iframe_api_url": "URL de la API",
@@ -177,12 +177,12 @@
   "Accounts_ShowFormLogin": "Mostra inici de sessió basat en formulari",
   "Accounts_TwoFactorAuthentication_Enabled": "Activa l'autenticació de dos factors",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Delta màxima",
+  "Accounts_UserAddedEmail_Default": "<h1>Benvingut a <strong>[Site_Name]</strong></h1><p>Vés a <a href=\"[Site_URL]\">[Site_URL]</a> i prova la millor eina de programari lliure per a treball a distància disponible actualment!</p><p>Pots entrar utilitzant el teu correu-e: [email] i contrasenya: [password]. És possible que et demanem canviar-la quan entris per primera vegada.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "El Maximum Delta determina quants tokens són vàlids en un moment donat. Els tokens es generen cada 30 segons i són vàlids per a (30 * Maximum Delta) segons. <br/>Exemple: amb un Delta màxim establert a 10, cada token es pot utilitzar fins a 300 segons abans o després de la marca de temps. Això és útil quan el rellotge del client no està correctament sincronitzat amb el servidor.",
   "Accounts_UseDefaultBlockedDomainsList": "Utilitza la llista predeterminada de dominis bloquejats",
   "Accounts_UseDNSDomainCheck": "Utilitza la comprovació DNS de dominis",
-  "Accounts_UserAddedEmail_Default": "<h1>Benvingut a <strong>[Site_Name]</strong></h1><p>Vés a <a href=\"[Site_URL]\">[Site_URL]</a> i prova la millor eina de programari lliure per a treball a distància disponible actualment!</p><p>Pots entrar utilitzant el teu correu-e: [email] i contrasenya: [password]. És possible que et demanem canviar-la quan entris per primera vegada.",
-  "Accounts_UserAddedEmail_Description": "És possible utilitzar els marcadors: <br/><ul><li>[name], [fname], [lname] per al nom complet de l'usuari, nom o cognom, respectivament.</li><li>[email] per a l'adreça de correu electrònic de l'usuari.</li><li>[password] per la contrasenya.</li><li>[Site_Name] i [Site_URL] pel nom del lloc web i de l'adreça URL, respectivament.</li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "Se t'ha afegit a [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "És possible utilitzar els marcadors: <br/><ul><li>[name], [fname], [lname] per al nom complet de l'usuari, nom o cognom, respectivament.</li><li>[email] per a l'adreça de correu electrònic de l'usuari.</li><li>[password] per la contrasenya.</li><li>[Site_Name] i [Site_URL] pel nom del lloc web i de l'adreça URL, respectivament.</li></ul>",
   "Activate": "Activa",
   "Activity": "Activitat",
   "Add": "Afegeix",
@@ -238,6 +238,7 @@
   "Allow_Marketing_Emails": "Permet els correus electrònics de màrqueting",
   "Alphabetical": "Alfabètic",
   "Always_open_in_new_window": "Obre sempre en finestra nova",
+  "Analytics": "Analítiques",
   "Analytics_features_enabled": "Funcionalitats habilitades",
   "Analytics_features_messages_Description": "Monitoritza esdeveniments personalitzats relacionats amb accions que els usuaris fan als missatges.",
   "Analytics_features_rooms_Description": "Monitoritza esdeveniments personalitzats relacionats amb accions en un canal o grup (crear, abandonar, eliminar...).",
@@ -816,6 +817,7 @@
   "Created_at_s_by_s_triggered_by_s": "Creat el <strong>%s</strong> per <strong>%s</strong> i disparat per <strong>%s</strong>",
   "CRM_Integration": "Integració CRM",
   "CROWD_Reject_Unauthorized": "Rebutja no autoritzat",
+  "Crowd_sync_interval_Description": "L'interval entre les sincronitzacions. Exemple \"cada 24 hores\" o \"el primer dia de la setmana\", més exemples a [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "Xats actuals",
   "Current_Status": "Estat actual",
   "Custom": "Personalitzat",
@@ -1339,8 +1341,10 @@
   "Install_package": "Instal·leu el paquet",
   "Installation": "Instal·lació",
   "Installed_at": "Instal·lat a",
+  "Invitation_HTML": "HTML de la invitació",
   "Instance_Record": "Registre d'instància",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Instruccions als visitants, ompliu el formulari per enviar un missatge",
+  "Invitation_HTML_Default": "<h1>Se us ha convidat a <strong>[Site_Name]</strong></h1><p>Aneu a [Site_URL] i proveu la millor solució de col·laboració a distància de codi lliure!</p>",
   "Insurance": "segur",
   "Integration_added": "La integració s'ha afegit",
   "Integration_Advanced_Settings": "Configuració avançada",
@@ -1405,9 +1409,7 @@
   "invisible": "invisible",
   "Invisible": "Invisible",
   "Invitation": "Invitació",
-  "Invitation_HTML": "HTML de la invitació",
-  "Invitation_HTML_Default": "<h1>Se us ha convidat a <strong>[Site_Name]</strong></h1><p>Aneu a [Site_URL] i proveu la millor solució de col·laboració a distància de codi lliure!</p>",
-  "Invitation_HTML_Description": "Podeu utilitzar els següents marcadors: <br/><ul><li>[email] per a l'adreça del receptor del missatge.</li><li>[Site_Name] i [Site_URL] per al nom de l'aplicació i l'adreça URL, respectivament.</li></ul>",
+  "Invitation_Email_Description": "Podeu utilitzar els següents marcadors: <br/><ul><li>[email] per a l'adreça del receptor del missatge.</li><li>[Site_Name] i [Site_URL] per al nom de l'aplicació i l'adreça URL, respectivament.</li></ul>",
   "Invitation_Subject": "Assumpte de la invitació",
   "Invitation_Subject_Default": "Se us ha convidat a [Site_Name]",
   "Invite_user_to_join_channel": "Convidar un usuari a unir-se a aquest canal",
@@ -2524,6 +2526,7 @@
   "Tokens_Required_Input_Error": "Valors de teclat no vàlids.",
   "Tokens_Required_Input_Placeholder": "Noms d'actius de tokens",
   "Topic": "Tema",
+  "Total_messages": "Total de missatges",
   "Tourism": "Turisme",
   "Transcript_Enabled": "Pregunta als visitants si volen rebre la transcripció del xat després de tancar-lo",
   "Transcript_message": "Missatge a mostrar per a la pregunta sobre la transcripció",
@@ -2584,6 +2587,7 @@
   "Upload_file_description": "Descripció de l'arxiu",
   "Upload_file_name": "Nom de l'arxiu",
   "Upload_file_question": "Pujar l'arxiu?",
+  "Upload_Folder_Path": "Carrega la ruta de la carpeta",
   "Upload_user_avatar": "Penja l'avatar",
   "Uploading_file": "Pujant l'arxiu...",
   "Uptime": "Temps en funcionament",
@@ -2595,6 +2599,7 @@
   "Use_initials_avatar": "Utilitza les inicials del nom d'usuari",
   "Use_minor_colors": "Utilitza la paleta de colors secundària (per defecte s'hereta de la primària)",
   "Use_service_avatar": "Utilitza l'avatar de %s",
+  "Verification_Email": "Fes clic <a href=\"[Verification_Url]\">aquí</a> per verificar el teu compte.",
   "Use_this_username": "Utilitza aquest nom d'usuari",
   "Use_uploaded_avatar": "Utilitza l'avatar pujat",
   "Use_url_for_avatar": "Utilitza una URL per l'avatar",
@@ -2691,7 +2696,6 @@
   "Validate_email_address": "Valida l'adreça de correu-e",
   "Verification": "Verificació",
   "Verification_Description": "És possible utilitzar els marcadors: <br/><ul><li>[Verification_Url] per a l'adreça URL de verificació.</li><li>[name], [fname], [lname] per al nom complet de l'usuari, nom o cognom, respectivament.</li><li>[email] per a l'adreça de correu electrònic de l'usuari.</li><li>[Site_Name] i [Site_URL] pel nom del lloc web i de l'adreça URL, respectivament.</li></ul>",
-  "Verification_Email": "Fes clic <a href=\"[Verification_Url]\">aquí</a> per verificar el teu compte.",
   "Verification_email_sent": "Missatge de correu-e de verificació enviat",
   "Verification_Email_Subject": "[Site_Name] - Verifica el teu compte",
   "Verified": "Verificat",
@@ -2752,6 +2756,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Estem fora de línia. Disculpi les molèsties.",
   "We_have_sent_password_email": "T'hem enviat un missatge de correu electrònic amb les instruccions per reinicialitzar la contrasenya. Si no reps el missatge en breu, si us plau mira al correu brossa i/o torna i reintenta-ho.",
   "We_have_sent_registration_email": "T'hem enviat un missatge de correu electrònic per confirmar el registre. Si no reps el missatge en breu, si us plau mira al correu brossa i/o torna i reintenta-ho.",
+  "Webdav_Server_URL": "URL d'accés al servidor WebDAV",
+  "Webdav_Username": "Nom d'usuari de WebDAV",
+  "Webdav_Password": "Contrasenya de WebDAV",
   "Webhook_URL": "Adreça URL WebHook",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "Crida d'àudio directe de%s",
diff --git a/packages/rocketchat-i18n/i18n/cs.i18n.json b/packages/rocketchat-i18n/i18n/cs.i18n.json
index 238516b48bccd6b4c366a6287cea34ef96d0e78b..c7e066fc1b7c84bb233c403de0eb9aa7afe7d8c3 100644
--- a/packages/rocketchat-i18n/i18n/cs.i18n.json
+++ b/packages/rocketchat-i18n/i18n/cs.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "Zakázaný",
+  "500": "Chyba serveru",
   "#channel": "#místnost",
   "0_Errors_Only": "0 - Pouze chyby",
   "1_Errors_and_Information": "1 - Chyby a informace",
   "2_Erros_Information_and_Debug": "2 - Chyby, informace a ladění",
-  "403": "Zakázaný",
-  "500": "Chyba serveru",
   "@username": "@uživatel",
   "@username_message": "@uživatel <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__username__ již není __role__ (odebral/a __user_by__ )",
@@ -57,13 +57,13 @@
   "Accounts_Email_Approved": "[name]<br/><br/><p>Váš účet byl schválen.</p>",
   "Accounts_Email_Approved_Subject": "Účet byl schválen",
   "Accounts_Email_Deactivated": "[name]<br/><br/><p>Váš účet byl deaktivován.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>Vítá Vás <strong>[Site_Name]</strong></h1> <p>Přejděte na <a href=\"[Site_URL]\">[Site_URL]</a> a vyzkoušejte to nejlepší open source chat řešení na trhu!</p>",
   "Accounts_Email_Deactivated_Subject": "Účet byl deaktivován",
   "Accounts_EmailVerification": "Ověření e-mailu",
   "Accounts_EmailVerification_Description": "Pro použití této funkce se ujistěte, že máte správné nastavení SMTP",
+  "Accounts_Enrollment_Email_Subject_Default": "Vítejte na stránkách [Site_Name]",
   "Accounts_Enrollment_Email": "Úvodní E-mail",
-  "Accounts_Enrollment_Email_Default": "<h1>Vítá Vás <strong>[Site_Name]</strong></h1> <p>Přejděte na <a href=\"[Site_URL]\">[Site_URL]</a> a vyzkoušejte to nejlepší open source chat řešení na trhu!</p>",
   "Accounts_Enrollment_Email_Description": "Můžete použít: <br/><ul><li>[name] [fname], [lname] pro celé jméno uživatele, křestní nebo příjmení</li><li>[email] pro e-mail uživatele </li><li>[Site_Name] a [Site_URL] pro jméno a URL aplikace. </li></ul>",
-  "Accounts_Enrollment_Email_Subject_Default": "Vítejte na stránkách [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "Zapomenout session uživatele při zavření okna",
   "Accounts_Iframe_api_method": "Api Metoda",
   "Accounts_Iframe_api_url": "Api URL",
@@ -177,12 +177,12 @@
   "Accounts_ShowFormLogin": "Zobrazit výchozí formulář přihlášení",
   "Accounts_TwoFactorAuthentication_Enabled": "Povolit ověření dvou faktorů",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Maximální Delta",
+  "Accounts_UserAddedEmail_Default": "<h1>Vítá Vás <strong>[Site_Name]</strong></h1> <p>Přejděte na <a href=\"[Site_URL]\">[Site_URL]</a> a zkuste to nejlepší open source chat řešení na trhu!</p><p>Můžete se přihlásit pomocí e-mailu: [email] a hesla: [password]. Po přihlášení jej možná budete muset změnit.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "Maximální hodnota Delta určuje, kolik tokenů je v daném okamžiku platných. Tokeny jsou generovány každých 30 sekund a platí (30 * Maximální Delta) sekund. <br/>Příklad: Pokud je maximální Delta nastavena na 10, může být každý token použit až do 300 sekund před nebo po jeho časovém razítku. Tato funkce se může hodit, pokud nejsou hodiny klienta správně synchronizovány se serverem.",
   "Accounts_UseDefaultBlockedDomainsList": "Použít výchozí seznam blokovaných domén",
   "Accounts_UseDNSDomainCheck": "Použít ověření DNS domény",
-  "Accounts_UserAddedEmail_Default": "<h1>Vítá Vás <strong>[Site_Name]</strong></h1> <p>Přejděte na <a href=\"[Site_URL]\">[Site_URL]</a> a zkuste to nejlepší open source chat řešení na trhu!</p><p>Můžete se přihlásit pomocí e-mailu: [email] a hesla: [password]. Po přihlášení jej možná budete muset změnit.",
-  "Accounts_UserAddedEmail_Description": "Můžete použít:<br/><ul><li>[name], [fname], [lname] pro celé jméno, křestní nebo příjmení.</li><li>[email] pro email uživatele.</li><li>[password] pro heslo uživatele.</li><li>[Site_Name] a [Site_URL] pro jméno a URL aplikace.</li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "Vítejte na [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "Můžete použít:<br/><ul><li>[name], [fname], [lname] pro celé jméno, křestní nebo příjmení.</li><li>[email] pro email uživatele.</li><li>[password] pro heslo uživatele.</li><li>[Site_Name] a [Site_URL] pro jméno a URL aplikace.</li></ul>",
   "Activate": "Aktivovat",
   "Activity": "Aktivita",
   "Add": "Přidat",
@@ -238,6 +238,7 @@
   "Allow_Marketing_Emails": "Povolit marketingové e-maily",
   "Alphabetical": "Abecední",
   "Always_open_in_new_window": "Vždy otevírat v novém okně",
+  "Analytics": "Analytika",
   "Analytics_features_enabled": "Povolené funkce",
   "Analytics_features_messages_Description": "Sleduje vlastní události spojené s uživatelskými akcemi u zpráv.",
   "Analytics_features_rooms_Description": "Sleduje vlastní události spojené s uživatelskými akcemi na místnosti nebo skupině (vytvoření, odchod, smazání).",
@@ -818,6 +819,7 @@
   "Created_at_s_by_s_triggered_by_s": "Vytvořeno ve <strong>%s</strong> <strong>%s</strong> vyvoláno <strong>%s</strong>",
   "CRM_Integration": "Integrace CRM",
   "CROWD_Reject_Unauthorized": "Zamítnout neutorizované",
+  "Crowd_sync_interval_Description": "Interval mezi synchronizacemi. Například `every 24 hours` nebo `on the first day of the week`, více příkladů - [Cron Text Parser](http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "Aktuální Místnosti",
   "Current_Status": "Aktuální stav",
   "Custom": "Vlastní",
@@ -1344,8 +1346,10 @@
   "Install_package": "Nainstalujte balíček",
   "Installation": "Instalace",
   "Installed_at": "instalováno v",
+  "Invitation_HTML": "HTML tělo pozvánky",
   "Instance_Record": "ID Instance",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Pokyny pro Vaše návštěvníky k vyplnění formulář pro odeslání zprávy",
+  "Invitation_HTML_Default": "<h1>Vítá Vás <strong>[Site_Name]</strong></h1><p> Přejděte na [Site_URL] a zkuste to nejlepší open source chat řešení na trhu! </p>",
   "Insurance": "Pojištění",
   "Integration_added": "Integrace byla přidána",
   "Integration_Advanced_Settings": "Pokročilé nastavení",
@@ -1411,9 +1415,7 @@
   "invisible": "neviditelný",
   "Invisible": "Neviditelný",
   "Invitation": "Pozvánka",
-  "Invitation_HTML": "HTML tělo pozvánky",
-  "Invitation_HTML_Default": "<h1>Vítá Vás <strong>[Site_Name]</strong></h1><p> Přejděte na [Site_URL] a zkuste to nejlepší open source chat řešení na trhu! </p>",
-  "Invitation_HTML_Description": "Můžete použít: <br/><ul><li>[email] - e-mail adresáta.</li><li>[Site_Name] a [Site_URL] název a URL aplikace.</li></ul>",
+  "Invitation_Email_Description": "Můžete použít: <br/><ul><li>[email] - e-mail adresáta.</li><li>[Site_Name] a [Site_URL] název a URL aplikace.</li></ul>",
   "Invitation_Subject": "Předmět pozvánky",
   "Invitation_Subject_Default": "Byli jste pozváni na [Site_Name]",
   "Invite_user_to_join_channel": "Pozvat jednoho uživatele, aby se připojil k této místnosti",
@@ -2528,6 +2530,7 @@
   "Tokens_Required_Input_Error": "Nevalidní typ tokenů",
   "Tokens_Required_Input_Placeholder": "Asset jména tokenů",
   "Topic": "Téma",
+  "Total_messages": "Celkem zpráv",
   "Tourism": "Turistika",
   "Transcript_Enabled": "Zeptat se po skončení chatu, zda uživateli odeslat kopii konverzace",
   "Transcript_message": "Zpráva kterou zobrazit jako dotaz zda odeslat kopii konverzace",
@@ -2589,6 +2592,7 @@
   "Upload_file_description": "Popis souboru",
   "Upload_file_name": "Název souboru",
   "Upload_file_question": "Nahrát soubor?",
+  "Upload_Folder_Path": "Cesta složky pro nahrávání souborů",
   "Upload_user_avatar": "Nahrát avatara",
   "Uploading_file": "Nahrávání souboru...",
   "Uptime": "Doba od spuštění",
@@ -2600,6 +2604,7 @@
   "Use_initials_avatar": "Použít iniciály Vašeho jména",
   "Use_minor_colors": "Použít nevýraznou barevnou baletu (ve výchozím stavu podědí výraznou paletu)",
   "Use_service_avatar": "Použijte avatar z %s",
+  "Verification_Email": "Klikněte na <a href=\"[Verification_Url]\">tento odkaz</a> pro potvrzení svého účtu.",
   "Use_this_username": "Použít toto uživatelské jméno",
   "Use_uploaded_avatar": "Použít nahraný avatar",
   "Use_url_for_avatar": "Použijte avatar z URL",
@@ -2696,7 +2701,6 @@
   "Validate_email_address": "Validovat email",
   "Verification": "Ověření",
   "Verification_Description": "Můžete použít následující zástupné symboly: <br/><ul><li>[Verification_Url] pro adresu potvrzení.</li><li>[name] pro celé jméno, [fname] pro křestní jméno a [lname] pro příjmení uživatele.</li><li>[email] pro email uživatele.</li><li>[Site_Name] pro název a [Site_URL] pro a URL stránky.</li></ul>",
-  "Verification_Email": "Klikněte na <a href=\"[Verification_Url]\">tento odkaz</a> pro potvrzení svého účtu.",
   "Verification_email_sent": "Ověřovací email odeslán",
   "Verification_Email_Subject": "[Site_Name] - Potvrďte svůj účet",
   "Verified": "Ověřený",
@@ -2757,6 +2761,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Jsme offline. Omlouváme se za nepříjemnosti.",
   "We_have_sent_password_email": "Poslali jsme vám e-mail s pokyny k obnovení hesla. Pokud neobdržíte e-mail v blízké době, zkuste to prosím znovu.",
   "We_have_sent_registration_email": "Poslali jsme vám e-mail pro potvrzení registrace. Pokud e-mail neobdržíte v blízké době, zkuste to prosím znovu.",
+  "Webdav_Server_URL": "WebDAV URL adresa serveru",
+  "Webdav_Username": "WebDAV uživatelské jméno",
+  "Webdav_Password": "WebDAV heslo",
   "Webhook_URL": "URL Webhooku",
   "Webhooks": "Webhooky",
   "WebRTC_direct_audio_call_from_%s": "Audio hovor od %s",
diff --git a/packages/rocketchat-i18n/i18n/cy.i18n.json b/packages/rocketchat-i18n/i18n/cy.i18n.json
index 21c4e5ffb7f0b57ad720e3b912b566c52f27d8a9..c18157b38c90de6239510d6220e619bec86652ef 100644
--- a/packages/rocketchat-i18n/i18n/cy.i18n.json
+++ b/packages/rocketchat-i18n/i18n/cy.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "Gwaherddir",
+  "500": "Gwall Gweinyddwr Mewnol",
   "#channel": "#channel",
   "0_Errors_Only": "0 - Gwallau yn Unig",
   "1_Errors_and_Information": "1 - Gwallau a Gwybodaeth",
   "2_Erros_Information_and_Debug": "2 - Gwallau, Gwybodaeth a Dileu",
-  "403": "Gwaherddir",
-  "500": "Gwall Gweinyddwr Mewnol",
   "@username": "@ enwwr",
   "@username_message": "@username <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__username__ bellach yn __role__ gan __user_by__",
@@ -57,13 +57,13 @@
   "Accounts_Email_Approved": "[enw] <br / ><br / ><p>Cymeradwywyd eich cyfrif.</p>",
   "Accounts_Email_Approved_Subject": "Cyfrif wedi'i gymeradwyo",
   "Accounts_Email_Deactivated": "[enw] <br / ><br / ><p>Cafodd eich cyfrif ei ddileu.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>Croeso i <strong>[site_name]</strong></h1><p>Ewch i <a href = \"[Site_URL]\">[Site_URL]</a>a rhowch gynnig ar y gorau ffynhonnell agored ateb sgwrs ar gael heddiw!</p>",
   "Accounts_Email_Deactivated_Subject": "Cyfrif wedi'i ddileu",
   "Accounts_EmailVerification": "Gwirio Ebost",
   "Accounts_EmailVerification_Description": "Gwnewch yn siŵr eich bod wedi gosodiadau SMTP cywir i ddefnyddio'r nodwedd hon",
+  "Accounts_Enrollment_Email_Subject_Default": "Croeso i [Site_Name]",
   "Accounts_Enrollment_Email": "E-bost Cofrestriad",
-  "Accounts_Enrollment_Email_Default": "<h1>Croeso i <strong>[site_name]</strong></h1><p>Ewch i <a href = \"[Site_URL]\">[Site_URL]</a>a rhowch gynnig ar y gorau ffynhonnell agored ateb sgwrs ar gael heddiw!</p>",
   "Accounts_Enrollment_Email_Description": "Efallai y byddwch yn defnyddio'r canlynol: <br / ><ul><li>[name], [fname], [lname] ar gyfer enw llawn, enw cyntaf neu enw olaf y defnyddiwr, yn y drefn honno.</li><li>[e-bost] ar gyfer e-bost y defnyddiwr.</li><li>[Site_Name] a [Site_URL] ar gyfer yr Enw Cais a'r URL yn y drefn honno.</li></ul>",
-  "Accounts_Enrollment_Email_Subject_Default": "Croeso i [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "Anghofiwch Sesiwn Defnyddiwr ar Gau'r Ffenestr",
   "Accounts_Iframe_api_method": "Dull Api",
   "Accounts_Iframe_api_url": "URL API",
@@ -177,12 +177,12 @@
   "Accounts_ShowFormLogin": "Dangos Ffurflen Mewngofnodi Diofyn",
   "Accounts_TwoFactorAuthentication_Enabled": "Galluogi Dau Ffactor Dilysu",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Delta Uchafswm",
+  "Accounts_UserAddedEmail_Default": "<h1>Croeso i <strong>[site_name]</strong></h1><p>Ewch i <a href = \"[Site_URL]\">[Site_URL]</a>a rhowch gynnig ar y gorau ffynhonnell agored ateb sgwrs ar gael heddiw!</p><p>Fe allwch chi fewngofnodi trwy ddefnyddio'ch e-bost: [e-bost] a chyfrinair: [cyfrinair]. Efallai y bydd gofyn i chi ei newid ar ôl eich mewngofnodi cyntaf.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "Mae'r Uchafswm Delta yn pennu faint o docynnau sy'n ddilys ar unrhyw adeg benodol. Cynhyrchir tocynnau bob 30 eiliad, ac maent yn ddilys ar gyfer eiliadau (30 * Uchafswm Delta). <br / >Enghraifft: Gyda set Delta uchaf i 10, gellir defnyddio pob tocyn hyd at 300 eiliad cyn neu ar ôl ei amserlen. Mae hyn yn ddefnyddiol pan nad yw cloc y cleient wedi'i syncedio'n iawn â'r gweinydd.",
   "Accounts_UseDefaultBlockedDomainsList": "Defnyddiwch y Rhestr Parthau Gwaharddedig",
   "Accounts_UseDNSDomainCheck": "Defnyddio Gwiriad Parth DNS",
-  "Accounts_UserAddedEmail_Default": "<h1>Croeso i <strong>[site_name]</strong></h1><p>Ewch i <a href = \"[Site_URL]\">[Site_URL]</a>a rhowch gynnig ar y gorau ffynhonnell agored ateb sgwrs ar gael heddiw!</p><p>Fe allwch chi fewngofnodi trwy ddefnyddio'ch e-bost: [e-bost] a chyfrinair: [cyfrinair]. Efallai y bydd gofyn i chi ei newid ar ôl eich mewngofnodi cyntaf.",
-  "Accounts_UserAddedEmail_Description": "Efallai y byddwch yn defnyddio'r canlynol: <br / ><ul><li>[name], [fname], [lname] ar gyfer enw llawn, enw cyntaf neu enw olaf y defnyddiwr, yn y drefn honno.</li><li>[e-bost] ar gyfer e-bost y defnyddiwr.</li><li>[password] ar gyfer cyfrinair y defnyddiwr.</li><li>[Site_Name] a [Site_URL] ar gyfer yr Enw Cais a'r URL yn y drefn honno.</li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "Rydych chi wedi cael eich ychwanegu at [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "Efallai y byddwch yn defnyddio'r canlynol: <br / ><ul><li>[name], [fname], [lname] ar gyfer enw llawn, enw cyntaf neu enw olaf y defnyddiwr, yn y drefn honno.</li><li>[e-bost] ar gyfer e-bost y defnyddiwr.</li><li>[password] ar gyfer cyfrinair y defnyddiwr.</li><li>[Site_Name] a [Site_URL] ar gyfer yr Enw Cais a'r URL yn y drefn honno.</li></ul>",
   "Activate": "Gweithredwch",
   "Activity": "Gweithgaredd",
   "Add": "Ychwanegwch",
@@ -238,6 +238,7 @@
   "Allow_Marketing_Emails": "Caniatáu E-byst Marchnata",
   "Alphabetical": "Yn nhrefn yr wyddor",
   "Always_open_in_new_window": "Ar agor bob amser yn y Ffenestr Newydd",
+  "Analytics": "Dadansoddiadau",
   "Analytics_features_enabled": "Nodweddion Galluogi",
   "Analytics_features_messages_Description": "Digwyddiadau arfer traciau sy'n gysylltiedig â gweithredoedd y mae defnyddiwr yn ei wneud ar negeseuon.",
   "Analytics_features_rooms_Description": "Digwyddiadau arfer traciau sy'n gysylltiedig â gweithredoedd ar sianel neu grŵp (creu, gadael, dileu).",
@@ -816,6 +817,7 @@
   "Created_at_s_by_s_triggered_by_s": "Crëwyd yn <strong>% s</strong>gan <strong>% s</strong>a achoswyd gan <strong>% s</strong>",
   "CRM_Integration": "Integreiddio CRM",
   "CROWD_Reject_Unauthorized": "Gwrthod heb awdurdod",
+  "Crowd_sync_interval_Description": "Yr egwyl rhwng synchronizations. Enghraifft `bob 24 awr` neu` ar ddiwrnod cyntaf yr wythnos`, mwy o enghreifftiau yn [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "Cyfathrebiadau Cyfredol",
   "Current_Status": "Statws Cyfredol",
   "Custom": "Custom",
@@ -1339,8 +1341,10 @@
   "Install_package": "Gosod pecyn",
   "Installation": "Gosod",
   "Installed_at": "Wedi'i osod yn",
+  "Invitation_HTML": "Gwahoddiad HTML",
   "Instance_Record": "Cofnod Instance",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Mae cyfarwyddiadau i'ch ymwelydd yn llenwi'r ffurflen i anfon neges",
+  "Invitation_HTML_Default": "<h1>Fe'ch gwahoddwyd i <strong>[Site_Name]</strong></h1><p>Ewch i [Site_URL] a cheisiwch y datrysiad sgwrs agored gorau sydd ar gael heddiw!</p>",
   "Insurance": "Yswiriant",
   "Integration_added": "Mae integreiddio wedi'i ychwanegu",
   "Integration_Advanced_Settings": "Lleoliadau uwch",
@@ -1406,9 +1410,7 @@
   "invisible": "anweledig",
   "Invisible": "Anweledig",
   "Invitation": "Gwahoddiad",
-  "Invitation_HTML": "Gwahoddiad HTML",
-  "Invitation_HTML_Default": "<h1>Fe'ch gwahoddwyd i <strong>[Site_Name]</strong></h1><p>Ewch i [Site_URL] a cheisiwch y datrysiad sgwrs agored gorau sydd ar gael heddiw!</p>",
-  "Invitation_HTML_Description": "Efallai y byddwch chi'n defnyddio'r canlynol i ddeiliaid lle: <br / ><ul><li>[e-bost] ar gyfer yr e-bost y derbynnydd.</li><li>[Site_Name] a [Site_URL] ar gyfer yr Enw Cais a'r URL yn y drefn honno.</li></ul>",
+  "Invitation_Email_Description": "Efallai y byddwch chi'n defnyddio'r canlynol i ddeiliaid lle: <br / ><ul><li>[e-bost] ar gyfer yr e-bost y derbynnydd.</li><li>[Site_Name] a [Site_URL] ar gyfer yr Enw Cais a'r URL yn y drefn honno.</li></ul>",
   "Invitation_Subject": "Pwnc Gwahoddiad",
   "Invitation_Subject_Default": "Fe'ch gwahoddwyd i [Site_Name]",
   "Invite_user_to_join_channel": "Gwahodd un defnyddiwr i ymuno â'r sianel hon",
@@ -2525,6 +2527,7 @@
   "Tokens_Required_Input_Error": "Tocynnau teipio annilys.",
   "Tokens_Required_Input_Placeholder": "Enwau asedau tocynnau",
   "Topic": "Pwnc",
+  "Total_messages": "Cyfanswm Negeseuon",
   "Tourism": "Twristiaeth",
   "Transcript_Enabled": "Gofynnwch i Ymwelydd pe byddent yn hoffi trawsgrifiad ar ôl i'r sgwrs gael ei gau",
   "Transcript_message": "Neges i'w Dangos Wrth Holi Amdanom Trawsgrifiad",
@@ -2585,6 +2588,7 @@
   "Upload_file_description": "Disgrifiad o'r ffeil",
   "Upload_file_name": "Ffeil enw",
   "Upload_file_question": "Llwytho ffeil?",
+  "Upload_Folder_Path": "Llwytho Llwybr Ffolder",
   "Upload_user_avatar": "Upload avatar",
   "Uploading_file": "Llwytho ffeil ...",
   "Uptime": "Amser",
@@ -2596,6 +2600,7 @@
   "Use_initials_avatar": "Defnyddiwch eich cychwynnydd enw defnyddiwr",
   "Use_minor_colors": "Defnyddio palet mân lliw (mae diffygion yn etifeddu lliwiau mawr)",
   "Use_service_avatar": "Defnyddiwch% s avatar",
+  "Verification_Email": "Cliciwch <a href = \"[Verification_Url]\">yma</a>i wirio'ch cyfrif.",
   "Use_this_username": "Defnyddiwch yr enw defnyddiwr hwn",
   "Use_uploaded_avatar": "Defnyddiwch avatar llwythog",
   "Use_url_for_avatar": "Defnyddiwch URL ar gyfer avatar",
@@ -2692,7 +2697,6 @@
   "Validate_email_address": "Dilyswch yr E-bost",
   "Verification": "Gwirio",
   "Verification_Description": "Fe allech chi ddefnyddio'r llefydd canlynol: <br / ><ul><li>[Verification_Url] ar gyfer yr URL dilysu.</li><li>[name], [fname], [lname] ar gyfer enw llawn, enw cyntaf neu enw olaf y defnyddiwr, yn y drefn honno.</li><li>[e-bost] ar gyfer e-bost y defnyddiwr.</li><li>[Site_Name] a [Site_URL] ar gyfer yr Enw Cais a'r URL yn y drefn honno.</li></ul>",
-  "Verification_Email": "Cliciwch <a href = \"[Verification_Url]\">yma</a>i wirio'ch cyfrif.",
   "Verification_email_sent": "Anfonwyd e-bost dilysu",
   "Verification_Email_Subject": "[Site_Name] - Gwiriwch eich cyfrif",
   "Verified": "Wedi'i wirio",
@@ -2753,6 +2757,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Rydym ni allan. Mae'n ddrwg gennym am yr anghyfleustra.",
   "We_have_sent_password_email": "Rydym wedi anfon e-bost atoch gyda chyfarwyddiadau ailosod cyfrinair. Os na chewch e-bost yn fuan, dewch yn ôl a cheisiwch eto.",
   "We_have_sent_registration_email": "Rydym wedi anfon e-bost atoch i gadarnhau eich cofrestriad. Os na chewch e-bost yn fuan, dewch yn ôl a cheisiwch eto.",
+  "Webdav_Server_URL": "URL Mynediad Gweinydd WebDAV",
+  "Webdav_Username": "Enw Defnyddiwr WebDAV",
+  "Webdav_Password": "Cyfrinair WebDAV",
   "Webhook_URL": "URL Webhook",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "Galwad sain uniongyrchol o% s",
diff --git a/packages/rocketchat-i18n/i18n/da.i18n.json b/packages/rocketchat-i18n/i18n/da.i18n.json
index 4ae2bb80bf32b63995081884aee07de563503532..bc49a6cd44b2074c3846ef88c7dbed962c54f5e8 100644
--- a/packages/rocketchat-i18n/i18n/da.i18n.json
+++ b/packages/rocketchat-i18n/i18n/da.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "Forbudt",
+  "500": "Intern serverfejl",
   "#channel": "#kanal",
   "0_Errors_Only": "0 - Kun fejl",
   "1_Errors_and_Information": "1 - Fejl og information",
   "2_Erros_Information_and_Debug": "2 - Fejl, information og fejlfinding",
-  "403": "Forbudt",
-  "500": "Intern serverfejl",
   "@username": "@brugernavn",
   "@username_message": "@brugernavn <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__username__ er ikke længere __role__ takket være __user_by__",
@@ -58,13 +58,13 @@
   "Accounts_Email_Approved": "[name]<br/><br/><p>Din konto er godkendt.</p>",
   "Accounts_Email_Approved_Subject": "Konto godkendt",
   "Accounts_Email_Deactivated": "[navn]<br/><br/><p>Din konto blev deaktiveret.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>Velkommen til <strong>[Site_Name]</strong></h1><p>Gå til <a href=\"[Site_URL]\">[Site_URL]</a> for at prøve den bedste open source-chatløsning, du kan få!</p>",
   "Accounts_Email_Deactivated_Subject": "Konto deaktiveret",
   "Accounts_EmailVerification": "E-mail-bekræftelse",
   "Accounts_EmailVerification_Description": "Sørg for, at du har korrekte SMTP-indstillinger for at bruge denne funktion",
+  "Accounts_Enrollment_Email_Subject_Default": "Velkommen til [Site_Name]",
   "Accounts_Enrollment_Email": "Tilmeldings-e-mail",
-  "Accounts_Enrollment_Email_Default": "<h1>Velkommen til <strong>[Site_Name]</strong></h1><p>Gå til <a href=\"[Site_URL]\">[Site_URL]</a> for at prøve den bedste open source-chatløsning, du kan få!</p>",
   "Accounts_Enrollment_Email_Description": "Du kan bruge følgende pladsholdere: <br/><ul><li>[name], [fname], [lname] for henholdsvis brugerens fulde navn, fornavn og efternavn.</li><li>[email] for brugerens e-mail.</li><li>[Site_Name] og [Site_URL] for henholdsvis applikationsnavn og url.</li></ul>",
-  "Accounts_Enrollment_Email_Subject_Default": "Velkommen til [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "Glem brugersessionen, når vinduet lukkes",
   "Accounts_Iframe_api_method": "API-metode",
   "Accounts_Iframe_api_url": "API-url",
@@ -178,12 +178,12 @@
   "Accounts_ShowFormLogin": "Vis standardformular for login",
   "Accounts_TwoFactorAuthentication_Enabled": "Aktivér tofaktorgodkendelse",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Maksimalt delta",
+  "Accounts_UserAddedEmail_Default": "<h1>Velkommen til <strong>[Site_Name]</strong></h1><p>Gå til <a href=\"[Site_URL]\">[Site_URL]</a> for at prøve den bedste open source-chatløsning, du kan få!</p><p>Du kan logge ind med din e-mail: [email] og kodeordet: [password]. Du skal måske ændre det efter dit første login.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "Det maksimale delta afgør, hvor mange tokens der er gyldige på et givent tidspunkt. Tokens genereres hvert 30. sekund og er gyldige i (30 * maksimalt delta) sekunder. <br/>Eksempel: Med et maksimalt delta på 10 kan hvert tegn bruges op til 300 sekunder før eller efter sit tidsstempel. Dette er nyttigt, når klientens ur ikke er korrekt synkroniseret med serveren.",
   "Accounts_UseDefaultBlockedDomainsList": "Brug en standardliste over blokerede domæner",
   "Accounts_UseDNSDomainCheck": "Brug DNS-domænetjek",
-  "Accounts_UserAddedEmail_Default": "<h1>Velkommen til <strong>[Site_Name]</strong></h1><p>Gå til <a href=\"[Site_URL]\">[Site_URL]</a> for at prøve den bedste open source-chatløsning, du kan få!</p><p>Du kan logge ind med din e-mail: [email] og kodeordet: [password]. Du skal måske ændre det efter dit første login.",
-  "Accounts_UserAddedEmail_Description": "Du kan bruge følgende pladsholdere: <br/><ul><li>[navn], [fname] eller [lname] for brugerens fulde navn, fornavn eller efternavn.</li><li>[email] for brugerens e-mail.</li><li>[password] for brugerens adgangskode.</li><li>[Site_Name] og [Site_URL] for henholdsvis applikationsnavn og url.</li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "Du er blevet føjet til [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "Du kan bruge følgende pladsholdere: <br/><ul><li>[navn], [fname] eller [lname] for brugerens fulde navn, fornavn eller efternavn.</li><li>[email] for brugerens e-mail.</li><li>[password] for brugerens adgangskode.</li><li>[Site_Name] og [Site_URL] for henholdsvis applikationsnavn og url.</li></ul>",
   "Activate": "Aktiver",
   "Activity": "Aktivitet",
   "Add": "Tilføj",
@@ -239,6 +239,7 @@
   "Allow_Marketing_Emails": "Tillad markedsførings-mails",
   "Alphabetical": "Alfabetisk",
   "Always_open_in_new_window": "Ã…bn altid i nyt vindue",
+  "Analytics": "Analyse",
   "Analytics_features_enabled": "Aktiverede funktioner",
   "Analytics_features_messages_Description": "Sporer brugerdefinerede begivenheder der har at gøre med handlinger, som brugeren udfører på beskeder.",
   "Analytics_features_rooms_Description": "Sporer brugerdefinerede begivenheder, der har at gøre med handlinger udført på kanaler eller grupper (oprettelse, afsked, sletning).",
@@ -829,6 +830,7 @@
   "Created_at_s_by_s_triggered_by_s": "Oprettet på <strong>%s</strong>ved <strong>%s</strong>udløst af <strong>%s</strong>",
   "CRM_Integration": "CRM Integration",
   "CROWD_Reject_Unauthorized": "Afvis Uautoriseret",
+  "Crowd_sync_interval_Description": "Intervallet mellem synkroniseringer. Eksempel \"hver 24. time\" eller \"på den første dag i ugen\", flere eksempler på [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "Nuværende Chats",
   "Current_Status": "Nuværende status",
   "Custom": "Brugerdefinerede",
@@ -1352,8 +1354,10 @@
   "Install_package": "Installer pakke",
   "Installation": "Installation",
   "Installed_at": "Installeret på",
+  "Invitation_HTML": "Invitation HTML",
   "Instance_Record": "Instance Record",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Instruktioner til din besøgende udfyld formularen for at sende en besked",
+  "Invitation_HTML_Default": "<h1>Du er blevet inviteret til <strong>[Site_Name]</strong></h1><p>Gå til [Site_URL] og prøv den bedste open source chat-løsning, der er tilgængelig i dag!</p>",
   "Insurance": "Forsikring",
   "Integration_added": "Integration er blevet tilføjet",
   "Integration_Advanced_Settings": "Avancerede indstillinger",
@@ -1419,9 +1423,7 @@
   "invisible": "usynlig",
   "Invisible": "Usynlig",
   "Invitation": "Invitation",
-  "Invitation_HTML": "Invitation HTML",
-  "Invitation_HTML_Default": "<h1>Du er blevet inviteret til <strong>[Site_Name]</strong></h1><p>Gå til [Site_URL] og prøv den bedste open source chat-løsning, der er tilgængelig i dag!</p>",
-  "Invitation_HTML_Description": "Du kan bruge følgende pladsholdere: <br/><ul><li>[email] for modtagerens e-mail.</li><li>[Site_Name] og [Site_URL] for henholdsvis Applikationsnavn og URL.</li></ul>",
+  "Invitation_Email_Description": "Du kan bruge følgende pladsholdere: <br/><ul><li>[email] for modtagerens e-mail.</li><li>[Site_Name] og [Site_URL] for henholdsvis Applikationsnavn og URL.</li></ul>",
   "Invitation_Subject": "Invitation Subject",
   "Invitation_Subject_Default": "Du er blevet inviteret til [Site_Name]",
   "Invite_user_to_join_channel": "Inviter en bruger til at deltage i denne kanal",
@@ -2538,6 +2540,7 @@
   "Tokens_Required_Input_Error": "Ugyldige typede tokens.",
   "Tokens_Required_Input_Placeholder": "Tokens aktivnavne",
   "Topic": "Emne",
+  "Total_messages": "Samlede meddelelser",
   "Tourism": "Turisme",
   "Transcript_Enabled": "Spørg besøgende, hvis de gerne vil have en transskription efter chat lukket",
   "Transcript_message": "Meddelelse at vise, når du spørger om transskription",
@@ -2598,6 +2601,7 @@
   "Upload_file_description": "Filbeskrivelse",
   "Upload_file_name": "Filnavn",
   "Upload_file_question": "Upload fil?",
+  "Upload_Folder_Path": "Upload mappepath",
   "Upload_user_avatar": "Upload avatar",
   "Uploading_file": "Uploader fil ...",
   "Uptime": "Uptime",
@@ -2609,6 +2613,7 @@
   "Use_initials_avatar": "Brug dit brugernavn initialer",
   "Use_minor_colors": "Brug mindre farvepalet (standardværdier arver store farver)",
   "Use_service_avatar": "Brug%s avatar",
+  "Verification_Email": "Klik på <a href=\"[Verification_Url]\">her</a>for at bekræfte din konto.",
   "Use_this_username": "Brug dette brugernavn",
   "Use_uploaded_avatar": "Brug uploadet avatar",
   "Use_url_for_avatar": "Brug URL til avatar",
@@ -2705,7 +2710,6 @@
   "Validate_email_address": "Valider e-mail-adresse",
   "Verification": "Verifikation",
   "Verification_Description": "Du kan bruge følgende pladsholdere: <br/><ul><li>[Verification_Url] for verifikationswebadressen.</li><li>[navn], [fname], [lname] for brugerens fulde navn, fornavn eller efternavn.</li><li>[email] for brugerens e-mail.</li><li>[Site_Name] og [Site_URL] for henholdsvis Applikationsnavn og URL.</li></ul>",
-  "Verification_Email": "Klik på <a href=\"[Verification_Url]\">her</a>for at bekræfte din konto.",
   "Verification_email_sent": "Bekræftelses-email sendt",
   "Verification_Email_Subject": "[Site_Name] - Bekræft din konto",
   "Verified": "Bekræftet",
@@ -2766,6 +2770,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Vi er offline. Beklager ulejligheden.",
   "We_have_sent_password_email": "Vi har sendt dig en email med instruktioner om nulstilling af adgangskode. Hvis du ikke modtager en e-mail inden for kort tid, kan du komme tilbage og prøve igen.",
   "We_have_sent_registration_email": "Vi har sendt dig en email for at bekræfte din registrering. Hvis du ikke modtager en e-mail inden for kort tid, kan du komme tilbage og prøve igen.",
+  "Webdav_Server_URL": "WebDAV Server Access URL",
+  "Webdav_Username": "WebDAV Brugernavn",
+  "Webdav_Password": "WebDAV-adgangskode",
   "Webhook_URL": "Webhook URL",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "Direkte lydopkald fra%s",
diff --git a/packages/rocketchat-i18n/i18n/de-AT.i18n.json b/packages/rocketchat-i18n/i18n/de-AT.i18n.json
index fffff028478b1861daa0804aa5e37cc4a52a65c2..7193514fb25dee6ef72c5022b46651620a18d2c4 100644
--- a/packages/rocketchat-i18n/i18n/de-AT.i18n.json
+++ b/packages/rocketchat-i18n/i18n/de-AT.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "Verboten",
+  "500": "Interner Serverfehler",
   "#channel": "#Raum",
   "0_Errors_Only": "0 - nur Fehler",
   "1_Errors_and_Information": "1 - Fehler und Informationen",
   "2_Erros_Information_and_Debug": "2 - Fehler, Informationen und Debug-Meldungen",
-  "403": "Verboten",
-  "500": "Interner Serverfehler",
   "@username": "@Benutzername",
   "@username_message": "@Benutzername <message0>",
   "__username__is_no_longer__role__defined_by__user_by_": "__username__ ist nicht länger __role__. Geändert durch __user_by__.",
@@ -57,13 +57,13 @@
   "Accounts_Email_Approved": "[name]<br/><br/><p>Ihr Konto wurde genehmigt.</p>",
   "Accounts_Email_Approved_Subject": "Konto genehmigt",
   "Accounts_Email_Deactivated": "[name]<br/><br/><p>Ihr Konto wurde deaktiviert.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>Willkommen zu <strong>[Site_Name]</strong></h1><p>Besuchen Sie <a href=\"[Site_URL]\">[Site_URL]</a> und probieren Sie noch heute die beste Open-Source-Chat-Lösung aus.</p>",
   "Accounts_Email_Deactivated_Subject": "Konto deaktiviert",
   "Accounts_EmailVerification": "E-Mail-Verifizierung",
   "Accounts_EmailVerification_Description": "Um diese Funktion nutzen zu können, stellen Sie bitte sicher, dass ihre SMTP-Einstellungen korrekt sind.",
+  "Accounts_Enrollment_Email_Subject_Default": "Willkommen zu [Site_Name]",
   "Accounts_Enrollment_Email": "Registrierungsmail",
-  "Accounts_Enrollment_Email_Default": "<h1>Willkommen zu <strong>[Site_Name]</strong></h1><p>Besuchen Sie <a href=\"[Site_URL]\">[Site_URL]</a> und probieren Sie noch heute die beste Open-Source-Chat-Lösung aus.</p>",
   "Accounts_Enrollment_Email_Description": "Sie können die folgenden Platzhalter verwenden: <br/><ul><li> [name], [fname], [lname] für den vollständigen Namen des Benutzers, Vornamen oder Nachnamen. </li><li> [email] für die E-Mail-Adresse des Benutzers. </li><li> [Site_Name] und [Site_URL] für den Anwendungsname und die URL. </li></ul>",
-  "Accounts_Enrollment_Email_Subject_Default": "Willkommen zu [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "Benutzer Session vergessen, wenn Fenster geschlossen wird",
   "Accounts_Iframe_api_method": "API-Methode",
   "Accounts_Iframe_api_url": "API-URL",
@@ -177,12 +177,12 @@
   "Accounts_ShowFormLogin": "Anmeldeformular zeigen",
   "Accounts_TwoFactorAuthentication_Enabled": "Aktivieren Sie die Zwei-Faktor-Authentifizierung",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Maximales Delta",
+  "Accounts_UserAddedEmail_Default": "<h1>Willkommen zu <strong>[Site_Name]</strong></h1><p>Besuchen Sie <a href=\"[Site_URL]\">[Site_URL]</a> und probieren Sie noch heute die beste Open-Source-Chat-Lösung aus.</p><p>Sie können sich mit den folgenden Daten einloggen. E-Mail-Adresse: [email] Passwort: [password]<br/><br/>Sie müssen Ihr Passwort möglicherweise nach dem ersten Login ändern.</p>",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "Das maximale Delta bestimmt, wie viele Token zu einem bestimmten Zeitpunkt gültig sind. Token werden alle 30 Sekunden generiert und gelten für (30 * Maximum Delta) Sekunden. <br/>Beispiel: Wenn ein maximales Delta auf 10 gesetzt ist, kann jedes Token bis zu 300 Sekunden vor oder nach dem Zeitstempel verwendet werden. Dies ist nützlich, wenn die Uhr des Clients nicht richtig mit dem Server synchronisiert ist.",
   "Accounts_UseDefaultBlockedDomainsList": "Standardliste für blockierte Domains verwenden",
   "Accounts_UseDNSDomainCheck": "DNS-Domain-Check verwenden",
-  "Accounts_UserAddedEmail_Default": "<h1>Willkommen zu <strong>[Site_Name]</strong></h1><p>Besuchen Sie <a href=\"[Site_URL]\">[Site_URL]</a> und probieren Sie noch heute die beste Open-Source-Chat-Lösung aus.</p><p>Sie können sich mit den folgenden Daten einloggen. E-Mail-Adresse: [email] Passwort: [password]<br/><br/>Sie müssen Ihr Passwort möglicherweise nach dem ersten Login ändern.</p>",
-  "Accounts_UserAddedEmail_Description": "Sie können die folgenden Platzhalter verwenden: <br/><ul><li> [name], [fname], [lname] für den vollständigen Namen des Benutzers, Vornamen oder Nachnamen. </li><li> [email] für die E-Mail-Adresse des Benutzers. </li><li> [password] für das Kennwort des Benutzers. </li><li> [Site_Name] und [Site_URL] für den Anwendungsname und die URL. </li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "Sie wurden auf [Site_Name] hinzugefügt",
+  "Accounts_UserAddedEmail_Description": "Sie können die folgenden Platzhalter verwenden: <br/><ul><li> [name], [fname], [lname] für den vollständigen Namen des Benutzers, Vornamen oder Nachnamen. </li><li> [email] für die E-Mail-Adresse des Benutzers. </li><li> [password] für das Kennwort des Benutzers. </li><li> [Site_Name] und [Site_URL] für den Anwendungsname und die URL. </li></ul>",
   "Activate": "Aktivieren",
   "Activity": "Aktivität",
   "Add": "Hinzufügen",
@@ -238,6 +238,7 @@
   "Allow_Marketing_Emails": "Marketing-E-Mails zulassen",
   "Alphabetical": "Alphabetisch",
   "Always_open_in_new_window": "Immer in einem neuen Fenster öffnen",
+  "Analytics": "Analytics",
   "Analytics_features_enabled": "Analyse - Funktionen aktiviert",
   "Analytics_features_messages_Description": "Zeichnet benutzerdefinierte Ereignisse im Zusammenhang mit Aktionen eines Nutzer auf Nachrichten auf.",
   "Analytics_features_rooms_Description": "Tracks benutzerdefinierte Ereignisse im Zusammenhang mit Aktionen auf einem Kanal oder einer Gruppe (erstellen, verlassen, löschen).",
@@ -263,7 +264,7 @@
   "API_EmbedCacheExpirationDays": "Einbetten von Cache-Ablauftagen",
   "API_EmbedDisabledFor": "Einbettungen für Benutzer deaktivieren",
   "API_EmbedDisabledFor_Description": "Durch Kommata getrennte Liste von Benutzernamen",
-  "API_EmbedIgnoredHosts": "Ignorierte Hosts einbetten",
+  "API_EmbedIgnoredHosts": "Einbettungen für Hosts deaktivieren",
   "API_EmbedIgnoredHosts_Description": "Kommagetrennte Liste von Hosts oder CIDR-Adressen, z. B. localhost, 127.0.0.1, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16",
   "API_EmbedSafePorts": "Sichere Ports",
   "API_EmbedSafePorts_Description": "Kommagetrennte Liste der Ports für die eine Vorschau erlaubt ist.",
@@ -816,6 +817,7 @@
   "Created_at_s_by_s_triggered_by_s": "Erstellt unter <strong>%s</strong>von <strong>%s</strong>ausgelöst durch <strong>%s</strong>",
   "CRM_Integration": "CRM-Integration",
   "CROWD_Reject_Unauthorized": "Nicht autorisierte ablehnen",
+  "Crowd_sync_interval_Description": "Das Intervall zwischen den Synchronisationen. Beispiel `alle 24 Stunden` oder` am ersten Tag der Woche`, weitere Beispiele unter [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "Aktuelle Chats",
   "Current_Status": "Aktueller Status",
   "Custom": "Benutzerdefiniert",
@@ -1278,7 +1280,7 @@
   "How_responsive_was_the_chat_agent": "Wie reaktionsschnell war der Chat-Agent?",
   "How_satisfied_were_you_with_this_chat": "Wie zufrieden waren Sie mit diesem Chat?",
   "How_to_handle_open_sessions_when_agent_goes_offline": "Wie man offene Sitzungen behandelt, wenn der Agent offline geht",
-  "Idle_Time_Limit": "Abwesend nach Inaktivität (in ms)",
+  "Idle_Time_Limit": "Abwesend nach Inaktivität",
   "Idle_Time_Limit_Description": "Zeitraum bis sich der Status in away ändert. Der Wert muss in Sekunden angegeben werden.",
   "if_they_are_from": "(wenn sie von% s sind)",
   "If_this_email_is_registered": "Wenn diese E-Mail registriert ist, senden wir Ihnen Anweisungen zum Zurücksetzen Ihres Passworts. Wenn Sie in Kürze keine E-Mail erhalten, kommen Sie bitte zurück und versuchen Sie es erneut.",
@@ -1339,8 +1341,10 @@
   "Install_package": "Installationspaket",
   "Installation": "Installation",
   "Installed_at": "Installationsdatum",
+  "Invitation_HTML": "Einladungstext (HTML)",
   "Instance_Record": "Instanzdatensatz",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Anweisungen an Ihre Besucher: Füllen Sie das Formular aus, um eine Nachricht zu senden.",
+  "Invitation_HTML_Default": "<h1>Sie wurden eingeladen zu <strong>[Site_Name]</strong></h1><p> Besuchen Sie zu [Site_URL] und probieren Sie heute die beste verfügbare Open-Source-Chat-Lösung aus! </p>",
   "Insurance": "Versicherung",
   "Integration_added": "Die Integration wurde hinzugefügt.",
   "Integration_Advanced_Settings": "Erweiterte Einstellungen",
@@ -1406,9 +1410,7 @@
   "invisible": "unsichtbar",
   "Invisible": "Unsichtbar",
   "Invitation": "Einladung",
-  "Invitation_HTML": "Einladungstext (HTML)",
-  "Invitation_HTML_Default": "<h1>Sie wurden eingeladen zu <strong>[Site_Name]</strong></h1><p> Besuchen Sie zu [Site_URL] und probieren Sie heute die beste verfügbare Open-Source-Chat-Lösung aus! </p>",
-  "Invitation_HTML_Description": "Sie können die folgenden Platzhalter verwenden: <br/><ul><li> [email] für den Empfänger der E-Mail. </li><li> [Site_Name] und [Site_URL] jeweils für den Anwendungsnamen und die URL. </li></ul>",
+  "Invitation_Email_Description": "Sie können die folgenden Platzhalter verwenden: <br/><ul><li> [email] für den Empfänger der E-Mail. </li><li> [Site_Name] und [Site_URL] jeweils für den Anwendungsnamen und die URL. </li></ul>",
   "Invitation_Subject": "Einladungsbetreff",
   "Invitation_Subject_Default": "Sie wurden zu [Site_Name] eingeladen",
   "Invite_user_to_join_channel": "Benutzer in diesen Raum einladen",
@@ -2525,6 +2527,7 @@
   "Tokens_Required_Input_Error": "Ungültige eingegebene Tokens",
   "Tokens_Required_Input_Placeholder": "Token-Asset-Namen",
   "Topic": "Thema",
+  "Total_messages": "Anzahl aller Nachrichten",
   "Tourism": "Tourismus",
   "Transcript_Enabled": "Fragen Sie den Besucher, ob er nach Abschluss des Chat ein Transkript möchte",
   "Transcript_message": "Nachricht, die angezeigt werden soll, wenn nach Transcript gefragt wird",
@@ -2585,6 +2588,7 @@
   "Upload_file_description": "Dateibeschreibung",
   "Upload_file_name": "Dateiname",
   "Upload_file_question": "Möchten Sie eine Datei hochladen?",
+  "Upload_Folder_Path": "Ordnerpfad hochladen",
   "Upload_user_avatar": "Hochladen von Avataren",
   "Uploading_file": "Datei wird hochgeladen...",
   "Uptime": "Laufzeit",
@@ -2596,6 +2600,7 @@
   "Use_initials_avatar": "Anfangsbuchstaben des Nutzernamens verwenden",
   "Use_minor_colors": "Verwenden Sie eine untergeordnete Farbpalette (die Standardwerte erben die Hauptfarben)",
   "Use_service_avatar": "Benutze %s Profilbild",
+  "Verification_Email": "Klicken Sie <a href=\"[Verification_Url]\">hier</a>, um Ihr Konto zu bestätigen.",
   "Use_this_username": "Benutzen Sie folgenden Benutzernamen",
   "Use_uploaded_avatar": "Das hochgeladene Profilbild verwenden",
   "Use_url_for_avatar": "URL für Profilbild verwenden",
@@ -2692,7 +2697,6 @@
   "Validate_email_address": "E-mail Adresse bestätigen",
   "Verification": "Überprüfung",
   "Verification_Description": "Sie können die folgenden Platzhalter verwenden: <br/><ul><li>[Verification_Url] für die Bestätigungs-URL.</li><li>[Name], [Name], [Name] für den vollständigen Namen, den Vornamen bzw. den Nachnamen des Benutzers.</li><li>[E-Mail] für die E-Mail des Nutzers.</li><li>[Site_Name] und [Site_URL] für den Anwendungsnamen bzw. die URL.</li></ul>",
-  "Verification_Email": "Klicken Sie <a href=\"[Verification_Url]\">hier</a>, um Ihr Konto zu bestätigen.",
   "Verification_email_sent": "Bestätigungsmail gesendet",
   "Verification_Email_Subject": "[Site_Name] - Bestätigen Sie Ihr Konto",
   "Verified": "Verifiziert",
@@ -2753,6 +2757,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Wir sind offline. Entschuldigen Sie die Unannehmlichkeiten.",
   "We_have_sent_password_email": "Wir haben Ihnen eine Anleitung zum Zurücksetzen des Passworts an Ihre E-Mail-Adresse gesendet. Wenn Sie keine E-Mail erhalten haben, versuchen Sie es bitte noch einmal.",
   "We_have_sent_registration_email": "Wir haben Ihnen eine Bestätigungsmail gesendet. Wenn Sie keine E-Mail erhalten haben, versuchen Sie es bitte noch einmal.",
+  "Webdav_Server_URL": "URL des WebDAV-Serverzugriffs",
+  "Webdav_Username": "WebDAV Benutzername",
+  "Webdav_Password": "WebDAV Passwort",
   "Webhook_URL": "Webhook-URL",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "Direkter Audioanruf von%s",
diff --git a/packages/rocketchat-i18n/i18n/de-IN.i18n.json b/packages/rocketchat-i18n/i18n/de-IN.i18n.json
index 06db2b1fc0cdb33c8a82d4cc02ac46ec59c46ba2..b26730b1bf09c146ff06a0d6c733a32c75977fba 100644
--- a/packages/rocketchat-i18n/i18n/de-IN.i18n.json
+++ b/packages/rocketchat-i18n/i18n/de-IN.i18n.json
@@ -1,4 +1,6 @@
 {
+  "403": "Verboten",
+  "500": "Interner Serverfehler",
   "__username__is_no_longer__role__defined_by__user_by_": "__username__ ist nicht länger __role__, geändert durch __user_by__",
   "__username__was_set__role__by__user_by_": "__username__ ist jetzt __role__, geändert durch __user_by__",
   "@username_message": "@Benutzername <message>",
@@ -7,8 +9,7 @@
   "0_Errors_Only": "0 - nur Fehler",
   "1_Errors_and_Information": "1 - Fehler und Informationen",
   "2_Erros_Information_and_Debug": "2 - Fehler, Informationen und Debug-Meldungen",
-  "403": "Verboten",
-  "500": "Interner Serverfehler",
+  "a_direct_message": "einer Direktnachricht",
   "Accept_incoming_livechat_requests_even_if_there_are_no_online_agents": "Akzeptiere eingehende Livechat-Anfragen auch wenn kein Agent online ist",
   "Accept_with_no_online_agents": "Auch annehmen, wenn keine Agenten online sind",
   "Accept": "Akzeptieren",
@@ -34,6 +35,7 @@
   "Accounts_AllowUserAvatarChange": "Benutzern das Ändern des Profilbilds erlauben",
   "Accounts_AllowUsernameChange": "Ändern des Benutzernamens erlauben",
   "Accounts_AllowUserProfileChange": "Benutzern das Ändern des Profils erlauben",
+  "Accounts_AvatarBlockUnauthenticatedAccess": "Unberechtigter Zugriff auf die Avatare blockiert.",
   "Accounts_AvatarCacheTime_description": "Anzahl der Sekunden, die das HTTP-Protokoll zum Zwischenspeichern der Avatarbilder benötigt.",
   "Accounts_AvatarCacheTime": "Avatar-Cache-Dauer",
   "Accounts_AvatarResize": "Größe des Profilbilds anpassen",
@@ -244,10 +246,12 @@
   "Analytics_features_users_Description": "Zeichnet benutzerdefinierte Ereignisse (Passwort-Reset-Zeiten, Profilbild ändern, etc) auf.",
   "Analytics_Google_id": "Tracking ID",
   "Analytics_Google": "Google Analytics",
+  "Analytics": "Analytics",
   "And_more": "Und __length__ mehr",
   "and": "und",
   "Animals_and_Nature": "Tiere & Natur",
   "Announcement": "Ankündigung",
+  "API_Add_Personal_Access_Token": "Füge einen neuen persönlichen Zugangsschlüssel hinzu.",
   "API_Allow_Infinite_Count_Description": "Erlaube die Rückgabe von REST API Ergebnissen in einem einzigen Abruf",
   "API_Allow_Infinite_Count": "Ergebnismenge nicht einschränken",
   "API_Analytics": "Analytics",
@@ -263,18 +267,27 @@
   "API_EmbedDisabledFor_Description": "Kommaseparierte Liste von Benutzernamen zum Einbetten von Link-Vorschauen",
   "API_EmbedDisabledFor": "Einbettungen für Benutzer deaktivieren",
   "API_EmbedIgnoredHosts_Description": "Kommagetrennte Liste von Hosts oder CIDR-Adressen, z. B. localhost, 127.0.0.1, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16",
-  "API_EmbedIgnoredHosts": "Ignorierte Hosts einbetten",
+  "API_EmbedIgnoredHosts": "Einbettungen für Hosts deaktivieren",
   "API_EmbedSafePorts_Description": "Kommagetrennte Liste der Ports, für die eine Vorschau erlaubt ist.",
   "API_EmbedSafePorts": "Sichere Ports",
   "API_Enable_CORS": "CORS",
   "API_Enable_Direct_Message_History_EndPoint_Description": "Aktiviere `/api/v1/im.history.others`. Hierüber ist es möglich, Direktnachrichten einzusehen, an denen der Benutzer nicht beteiligt ist.",
   "API_Enable_Direct_Message_History_EndPoint": "Endpunkt für den Verlauf von Direktnachrichten",
+  "API_Enable_Personal_Access_Tokens_Description": "Ermöglicht den Zugriff auf die REST-Schnittstelle mit dem persönlichen Zugangsschlüssel.",
+  "API_Enable_Personal_Access_Tokens": "Aktiviere den persönlichem Zugangsschlüssel zur REST Schnittstelle.",
   "API_Enable_Shields_Description": "Shields über `/api/v1/shield.svg` verfügbar machen",
   "API_Enable_Shields": "Aktiviere Shields",
   "API_GitHub_Enterprise_URL_Description": "Beispiel: http://domain.com (ohne Schrägstrich am Ende)",
   "API_GitHub_Enterprise_URL": "Server-URL",
   "API_Gitlab_URL": "GitLab-URL",
-  "API_Shield_Types_Description": "Shields-Typen. Konfiguration mit einer Komma-separierten-Liste. Optionen: `online`, `channel` oder `*` für \"Alles\"",
+  "API_Personal_Access_Token_Generated_Text_Token_s_UserId_s": "Bitte sichere den Zugangsschlüssel an einem sicheren Ort. Der Zugangsschlüssel kann zu einem späteren Zeitpunkt nicht mehr angezeigt werden. <br/>Zugangsschlüssel: <strong>__token__</strong><br/>Deine Benutzer ID: <strong>__userId__</strong>",
+  "API_Personal_Access_Token_Generated": "Der persönliche Zugangsschlüssel wurde erfolgreich generiert.",
+  "API_Personal_Access_Token_Name": "Name des persönlichem Zugangsschlüssels",
+  "API_Personal_Access_Tokens_Regenerate_It": "Persönlichen Zugangsschlüssel erneut generieren.",
+  "API_Personal_Access_Tokens_Regenerate_Modal": "Wenn Du den Zugangsschlüssel vergisst oder verlierst, kann dieser erneut generiert werden. Beachte, dass alle Applikationen, die diesen Zugangsschlüssel verwenden, mit dem neuen Zugangsschlüssel aktualisiert werden müssen.",
+  "API_Personal_Access_Tokens_Remove_Modal": "Bist Du Dir sicher, dass Du den persönlichen Zugangsschlüssel löschen möchtest?",
+  "API_Personal_Access_Tokens_To_REST_API": "Persönlicher Zugangsschlüssel für die REST API",
+  "API_Shield_Types_Description": "Shield Typen. Konfiguration mit einer komma-separierten Liste. Optionen: `online`, `channel` oder `*` für \"Alles\"",
   "API_Shield_Types": "Shield Typen",
   "API_Token": "API-Token",
   "API_Tokenpass_URL_Description": "Beispiel: http://domain.com (ohne Schrägstrich am Ende)",
@@ -287,6 +300,7 @@
   "Apiai_Key": "Api.ai-Schlüssel",
   "Apiai_Language": "Api.ai-Sprache",
   "App_author_homepage": "Autor Homepage",
+  "App_Details": "App Details",
   "App_Information": "App-Informationen",
   "App_Installation": "App-Installation",
   "App_status_auto_enabled": "Aktiviert",
@@ -337,6 +351,7 @@
   "Audio": "Audio",
   "Auth_Token": "Auth-Token",
   "Author_Information": "Ãœber den Autor",
+  "Author_Site": "Seite des Autors",
   "Author": "Autor",
   "Authorization_URL": "Autorisierungs-URL",
   "Authorize": "Berechtigen",
@@ -366,10 +381,10 @@
   "Avatar": "Profilbild",
   "away_female": "abwesend",
   "Away_female": "Abwesend",
-  "away_male": "abwesend",
   "Away_male": "Abwesend",
-  "Away": "Abwesend",
+  "away_male": "abwesend",
   "away": "abwesend",
+  "Away": "Abwesend",
   "Back_to_applications": "Zurück zu den Anwendungen",
   "Back_to_chat": "Zurück zum Chat",
   "Back_to_integration_detail": "Zurück zu den Integrations-Details",
@@ -400,10 +415,10 @@
   "bulk-create-c": "Massen-Anlage von Kanälen",
   "bulk-register-user_description": "Berechtigung zur Massen-Registrierung von Benutzern",
   "bulk-register-user": "Massen-Registrierung von Benutzern",
-  "Busy_female": "Beschäftigt",
   "busy_female": "beschäftigt",
-  "busy_male": "beschäftigt",
+  "Busy_female": "Beschäftigt",
   "Busy_male": "Beschäftigt",
+  "busy_male": "beschäftigt",
   "busy": "beschäftigt",
   "Busy": "Beschäftigt",
   "by": "von",
@@ -430,6 +445,9 @@
   "CAS_Sync_User_Data_FieldMap": "Attribut-Map",
   "CAS_version_Description": "Verwende nur eine CAS-Version, die von Deinem CAS-SSO-Provider unterstützt wird.",
   "CAS_version": "CAS Version",
+  "Categories": "Kategorien",
+  "CDN_JSCSS_PREFIX": "CDN Prefix für JS/CSS",
+  "CDN_PREFIX_ALL": "CDP Prefix für alle Medien/Assets verwenden",
   "CDN_PREFIX": "CDN-Präfix",
   "Certificates_and_Keys": "Zertifikate und Schlüssel",
   "Change_Room_Type": "Ändere den Typ des Raums",
@@ -444,8 +462,8 @@
   "Channel_name": "Kanal Name",
   "Channel_to_listen_on": "Kanal, auf dem gehört werden soll",
   "Channel_Unarchived": "Kanal mit dem Namen '#%s' ist nicht länger archiviert",
-  "Channel": "Kanal",
   "channel": "Kanal",
+  "Channel": "Kanal",
   "Channels_are_where_your_team_communicate": "In Kanälen kommuniziert Dein Team",
   "Channels_list": "Liste der öffentlichen Kanäle",
   "Channels": "Kanäle",
@@ -525,8 +543,8 @@
   "close-livechat-room": "Livechat-Raum schließen",
   "close-others-livechat-room_description": "Berechtigung, andere Livechat-Räume zu schließen",
   "close-others-livechat-room": "Livechat-Raum schließen",
-  "Close": "Schließen",
   "close": "Schließen",
+  "Close": "Schließen",
   "Closed_by_visitor": "Durch Besucher geschlossen",
   "Closed": "Geschlossen",
   "Closing_chat": "Schließe Chat",
@@ -540,12 +558,13 @@
   "Computer": "Computer",
   "Condensed": "Komprimiert",
   "Confirm_New_Password_Placeholder": "Bitte gib ein neues Passwort ein ...",
-  "Confirm_new_password": "Bestätige neues Passwort",
+  "Confirm_new_password": "Bestätige Dein neues Passwort",
   "Confirm_password": "Bestätige Dein Passwort",
   "Connection_Closed": "Verbindung geschlossen",
   "Connection_Reset": "Verbindung zurücksetzen",
   "Consulting": "Beratung",
   "Consumer_Goods": "Konsumgüter",
+  "Contact": "Kontakt",
   "Contains_Security_Fixes": "Beinhaltet sicherheitsrelevante Korrekturen",
   "Content": "Inhalt",
   "Continue": "Weiter",
@@ -557,8 +576,8 @@
   "Conversations": "Gespräche",
   "Convert_Ascii_Emojis": "ASCII zu Emoji konvertieren",
   "Copied": "Kopiert",
-  "COPY_TO_CLIPBOARD": "IN DIE ZWISCHENABLAGE KOPIEREN",
   "Copy_to_clipboard": "In die Zwischenablage kopieren",
+  "COPY_TO_CLIPBOARD": "IN DIE ZWISCHENABLAGE KOPIEREN",
   "Copy": "Kopieren",
   "Count": "Zähler",
   "Country_Afghanistan": "Afghanistan",
@@ -892,6 +911,7 @@
   "Desktop_Notifications_Enabled": "Desktop-Benachrichtigungen sind aktiviert.",
   "Desktop_Notifications": "Desktop-Benachrichtigungen",
   "Desktop": "Desktop",
+  "Details": "Details",
   "Different_Style_For_User_Mentions": "Anderer Stil für Benutzer-Erwähnungen",
   "Direct_message_someone": "Jemandem eine Direktnachricht schicken",
   "Direct_Messages": "Direktnachrichten",
@@ -993,6 +1013,7 @@
   "Enabled": "Aktiviert",
   "Encrypted_message": "Verschlüsselte Nachricht",
   "End_OTR": "OTR beenden",
+  "Enter_a_name": "Gib einen Namen ein",
   "Enter_a_regex": "Regulären Ausdruck eingeben",
   "Enter_a_room_name": "Raumnamen eingeben",
   "Enter_a_username": "Benutzernamen eingeben",
@@ -1081,6 +1102,7 @@
   "error-password-policy-not-met-oneUppercase": "Das Passwort entspricht nicht der Richtlinie des Servers mit mindestens einem Großbuchstaben",
   "error-password-policy-not-met-repeatingCharacters": "Im Passwort werden zu viele Buchstaben wiederholt",
   "error-password-policy-not-met": "Das Passwort genügt nicht den hinterlegten Richtlinien",
+  "error-personal-access-tokens-are-current-disabled": "Persönliche Zugriffsschlüssel sind zurzeit deaktiviert",
   "error-push-disabled": "Push-Benachrichtigungen sind deaktiviert",
   "error-remove-last-owner": "Das ist der letzte Besitzer. Bitte bestimme einen neuen Besitzer, bevor Du diesen entfernst.",
   "error-role-in-use": "Die Rolle kann nicht gelöscht werden, da sie gerade verwendet wird.",
@@ -1088,6 +1110,8 @@
   "error-room-is-not-closed": "Das Zimmer ist nicht geschlossen",
   "error-the-field-is-required": "Das Feld __field__ ist erforderlich.",
   "error-this-is-not-a-livechat-room": "Dies ist kein Livechat-Raum",
+  "error-token-already-exists": "Ein Zugangsschlüssel mit diesem Namen existiert bereits",
+  "error-token-does-not-exists": "Der Zugangsschlüssel existiert nicht",
   "error-too-many-requests": "Fehler, zu viele Anfragen. Bitte mach langsamer! Du musst __seconds__ Sekunden warten, bevor Du es erneut versuchen kannst.",
   "error-user-has-no-roles": "Dem Benutzer sind keine Rollen zugewiesen.",
   "error-user-is-not-activated": "Der Benutzer ist nicht aktiviert.",
@@ -1270,13 +1294,14 @@
   "Hide_room": "Raum verstecken",
   "Hide_Unread_Room_Status": "Ungelesen-Status des Raums nicht anzeigen",
   "Hide_usernames": "Benutzernamen ausblenden",
+  "Hide": "Verstecken",
   "Highlights_How_To": "Um benachrichtigt zu werden, wenn ein Wort oder Ausdruck erwähnt wird, trage ihn hier ein. Du kannst Wörter und Ausdrücke mit Kommata trennen. Groß- und Kleinschreibung wird hierbei nicht berücksichtigt.",
   "Highlights_List": "Wörter hervorheben",
   "Highlights": "Hervorhebungen",
   "History": "Chronik",
   "Host": "Host",
-  "hours": "Stunden",
   "Hours": "Stunden",
+  "hours": "Stunden",
   "How_friendly_was_the_chat_agent": "Wie freundlich war der Chat-Agent?",
   "How_knowledgeable_was_the_chat_agent": "Wie sachkundig war der Chat-Agent?",
   "How_long_to_wait_after_agent_goes_offline": "Wartedauer, bevor ein Agent in den Offline-Modus übergeht",
@@ -1284,7 +1309,7 @@
   "How_satisfied_were_you_with_this_chat": "Wie zufrieden warst Du mit diesem Chat?",
   "How_to_handle_open_sessions_when_agent_goes_offline": "Behandlung von offenen Konversationen, wenn ein Agent Offline geht",
   "Idle_Time_Limit_Description": "Zeitraum bis sich der Status in away ändert. Der Wert muss in Sekunden angegeben werden.",
-  "Idle_Time_Limit": "Abwesend nach Inaktivität (in ms)",
+  "Idle_Time_Limit": "Abwesend nach Inaktivität",
   "if_they_are_from": "(wenn sie von% s sind)",
   "If_this_email_is_registered": "Wenn es sich um eine registrierte E-Mail-Adresse handelt, werden wir an diese eine Anleitung zum Zurücksetzen des Passworts senden. Solltest Du zeitnah keine E-Mail erhalten, versuche es noch einmal.",
   "If_you_are_sure_type_in_your_password": "Wenn Du Dir sicher bist, gib Dein Passwort ein:",
@@ -1342,6 +1367,7 @@
   "Install_FxOs_follow_instructions": "Bitte die Installation der App nach der Aufforderung mit \"Installieren\" bestätigen.",
   "Install_FxOs": "Rocket.Chat in Deinen Firefox installieren",
   "Install_package": "Installationspaket",
+  "Install": "Installieren",
   "Installation": "Installation",
   "Installed_at": "Installationsdatum",
   "Instance_Record": "Datensatz",
@@ -1410,6 +1436,7 @@
   "Invalid_username": "Der eingegebene Benutzername ist ungültig",
   "invisible": "unsichtbar",
   "Invisible": "Unsichtbar",
+  "Invitation_Email_Description": "Du kannst die folgenden Platzhalter verwenden: <br/><ul><li> [email] für den Empfänger der E-Mail. </li><li> [Site_Name] und [Site_URL] jeweils für den Anwendungsnamen und die URL.</li></ul>",
   "Invitation_HTML_Default": "<h1>Du wurdest zu <strong>[Site_Name]</strong></h1><p> eingeladen. Besuche [Site_URL] und probiere noch heute die beste Open-Source-Chat-Lösung aus! </p>",
   "Invitation_HTML_Description": "Du kannst folgenden Platzhalter verwenden: <br/><ul><li> [email] für den Empfänger der E-Mail. </li><li> [Site_Name] und [Site_URL] jeweils für den Anwendungsnamen und die URL. </li></ul>",
   "Invitation_HTML": "Einladungstext (HTML)",
@@ -1495,6 +1522,7 @@
   "Last_Message_At": "Letzte Nachricht am",
   "Last_Message": "Letzte Nachricht",
   "Last_seen": "Zuletzt online",
+  "Last_token_part": "Letzter Teil des Zugangsschlüssels",
   "Launched_successfully": "Erfolgreich gestartet",
   "Layout_Home_Body": "Inhalt der Startseite",
   "Layout_Home_Title": "Titel der Startseite",
@@ -1591,6 +1619,7 @@
   "Leave_the_current_channel": "Aktuellen Kanal verlassen",
   "leave-c": "Kanäle verlassen",
   "leave-p": "Verlasse private Gruppen",
+  "Leave": "Verlassen",
   "line": "Zeile",
   "List_of_Channels": "Liste der Kanäle",
   "List_of_Direct_Messages": "Liste der Direktnachrichten",
@@ -1959,6 +1988,7 @@
   "People": "Menschen",
   "Permalink": "Permalink",
   "Permissions": "Berechtigungen",
+  "Personal_Access_Tokens": "Persönlicher Zugangsschlüssel ",
   "Pin_Message": "Nachricht anheften",
   "pin-message_description": "Berechtigung, eine Nachricht in einem Kanal anzuheften",
   "pin-message": "Nachricht anheften",
@@ -1981,10 +2011,11 @@
   "Please_answer_survey": "Bitte nimm Dir einen Moment Zeit, um ein paar Fragen zu dem Chat zu beantworten",
   "please_enter_valid_domain": "Bitte eine gültige Domain eingeben",
   "Please_enter_value_for_url": "Bitte gib eine URL für Dein Profilbild ein",
-  "Please_enter_your_new_password_below": "Bitte gib neues Passwort ein:",
+  "Please_enter_your_new_password_below": "Bitte gib ein neues Passwort ein:",
   "Please_enter_your_password": "Bitte Passwort eingeben",
   "Please_fill_a_label": "Bitte Bezeichner ausfüllen",
   "Please_fill_a_name": "Bitte gib einen Namen ein",
+  "Please_fill_a_token_name": "Bitte gib einen gültigen Namen für den Zugangsschlüssel ein",
   "Please_fill_a_username": "Bitte gib einen Benutzernamen ein",
   "Please_fill_all_the_information": "Bitte alle Informationen ausfüllen",
   "Please_fill_name_and_email": "Bitte gib einen Namen und eine E-Mail-Adresse ein",
@@ -2044,6 +2075,7 @@
   "Push_gcm_api_key": "GCM-API-Key",
   "Push_gcm_project_number": "GCM-Projektnummer",
   "Push_production": "Produktion",
+  "Push_Setting_Requires_Restart_Alert": "Änderungen an dieser Einstellung erfordern einen Neustart von Rocket.Chat",
   "Push_show_message": "Nachricht in der Benachrichtigung anzeigen",
   "Push_show_username_room": "Kanal/Gruppe/Benutzername in der Benachrichtigung anzeigen",
   "Push_test_push": "Test",
@@ -2051,8 +2083,8 @@
   "Query_description": "Zusätzliche Einschränkung, an welche Benutzer die E-Mail gesendet werden soll. Benutzer, die nicht benachrichtigt werden wollen, werden automatisch aus der Abfrage entfernt. Es muss ein gültiges JSON sein. Beispiel: \"{\"createdAt\":{\"$gt\":{\"$date\": \"2015-01-01T00:00:00.000Z\"}}}\"",
   "Query": "Abfrage",
   "Queue": "Warteschlange",
-  "Quote": "Zitieren",
   "quote": "zitieren",
+  "Quote": "Zitieren",
   "Random": "Zufällig",
   "RDStation_Token": "RD Station Token",
   "React_when_read_only_changed_successfully": "Reaktionen erlauben, wenn ein Kanal schreibgeschützt wurde",
@@ -2199,6 +2231,7 @@
   "Same_As_Token_Sent_Via": "Wie \"Token Sent Via\"",
   "Same_Style_For_Mentions": "Gleicher Stil für Erwähnungen",
   "SAML_Custom_Cert": "Benutzerdefiniertes Zertifikat",
+  "SAML_Custom_Debug": "Debugmodus aktivieren",
   "SAML_Custom_Entry_point": "Einstiegspunkt",
   "SAML_Custom_Generate_Username": "Benutzernamen generieren",
   "SAML_Custom_IDP_SLO_Redirect_URL": "IDP SLO Redirect URL",
@@ -2427,6 +2460,7 @@
   "System_messages": "Systemnachrichten",
   "Tag": "Tag",
   "Take_it": "Ãœbernehmen",
+  "Target user not allowed to receive messages": "Der Empfänger hat keine Berechtigung, Nachrichten zu empfangen",
   "TargetRoom_Description": "Der Raum, an den Nachrichten gesendet werden, wenn dieses Ereignis eintritt. Nur ein existierender Raum kann angegeben werden.",
   "TargetRoom": "Ziel-Raum",
   "Team": "Team",
@@ -2496,6 +2530,7 @@
   "There_are_no_applications_installed": "Zur Zeit sind keine Rocket.Chat-Anwendungen installiert.",
   "There_are_no_applications": "Bisher wurden keine oAuth Anwendungen hinzugefügt.",
   "There_are_no_integrations": "Es sind keine Integrationen vorhanden",
+  "There_are_no_personal_access_tokens_created_yet": "Bisher wurden keine persönlichen Zugangsschlüssel erzeugt.",
   "There_are_no_users_in_this_role": "Es sind dieser Rolle keine Benutzer zugeordnet",
   "This_conversation_is_already_closed": "Die Unterhaltung wurde bereits beendet",
   "This_email_has_already_been_used_and_has_not_been_verified__Please_change_your_password": "Die E-Mail wurde bereits verschickt, aber noch nicht bestätigt. Bitte ändere Dein Passwort",
@@ -2527,6 +2562,7 @@
   "Tokens_Required_Input_Placeholder": "Token-Asset-Namen",
   "Tokens_Required": "Tokens erforderlich",
   "Topic": "Thema",
+  "Total_messages": "Anzahl aller Nachrichten",
   "Tourism": "Tourismus",
   "Transcript_Enabled": "Frage Besucher, ob sie nach dem Schließen des Livechats eine Mitschrift zugesandt bekommen möchten",
   "Transcript_message": "Nachricht, die bei der Nachfrage bzgl. einer Mitschrift gesendet wird",
@@ -2583,11 +2619,13 @@
   "Unread_Tray_Icon_Alert": "Ungelesen-Markierung in Statusleiste anzeigen",
   "Unread": "Ungelesen",
   "Unstar_Message": "Aus den Favoriten entfernen",
-  "Update_your_RocketChat": "Aktualisiere Deine Chatversion",
+  "Update_to_version": "Auf Version _version_ aktualisieren",
+  "Update_your_RocketChat": "Aktualisiere Dein Rocket.Chat",
   "Updated_at": "Aktualisiert am",
   "Upload_file_description": "Dateibeschreibung",
   "Upload_file_name": "Dateiname",
   "Upload_file_question": "Datei hochladen?",
+  "Upload_Folder_Path": "Pfad des Uploads",
   "Upload_user_avatar": "Avatar hochladen",
   "Uploading_file": "Datei wird hochgeladen...",
   "Uptime": "Laufzeit",
@@ -2756,6 +2794,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Tut uns leid, aber wir sind offline.",
   "We_have_sent_password_email": "Wir haben Dir eine Anleitung zum Zurücksetzen des Passworts an Deine E-Mail-Adresse gesendet. Wenn Du keine E-Mail erhalten hast, versuch es bitte noch einmal.",
   "We_have_sent_registration_email": "Wir haben Dir eine Bestätigungsmail gesendet. Wenn Du keine E-Mail erhalten hast, versuch es bitte noch einmal.",
+  "Webdav_Password": "WebDAV Passwort",
+  "Webdav_Server_URL": "URL des WebDAV-Serverzugriffs",
+  "Webdav_Username": "WebDAV Benutzername",
   "Webhook_URL": "Webhook-URL",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "Direkter Anruf von%s",
diff --git a/packages/rocketchat-i18n/i18n/de.i18n.json b/packages/rocketchat-i18n/i18n/de.i18n.json
index 7fdd4aab52e56ee364f323c31fa4b1bc37a3dff6..2704c36be470dbd79760a3e8c3e7984f59710d03 100644
--- a/packages/rocketchat-i18n/i18n/de.i18n.json
+++ b/packages/rocketchat-i18n/i18n/de.i18n.json
@@ -1,33 +1,34 @@
 {
-  "__username__is_no_longer__role__defined_by__user_by_": "__username__ ist nicht länger __role__, geändert durch __user_by__",
-  "__username__was_set__role__by__user_by_": "__username__ ist jetzt __role__, geändert durch __user_by__",
-  "@username_message": "@Benutzername <message>",
-  "@username": "@Benutzername",
+  "403": "Verboten",
+  "500": "Interner Serverfehler",
   "#channel": "#Kanal",
   "0_Errors_Only": "0 - nur Fehler",
   "1_Errors_and_Information": "1 - Fehler und Informationen",
   "2_Erros_Information_and_Debug": "2 - Fehler, Informationen und Debug-Meldungen",
-  "403": "Verboten",
-  "500": "Interner Serverfehler",
+  "@username": "@Benutzername",
+  "@username_message": "@Benutzername <message>",
+  "__username__is_no_longer__role__defined_by__user_by_": "__username__ ist nicht länger __role__, geändert durch __user_by__",
+  "__username__was_set__role__by__user_by_": "__username__ ist jetzt __role__, geändert durch __user_by__",
+  "Accept": "Akzeptieren",
   "Accept_incoming_livechat_requests_even_if_there_are_no_online_agents": "Akzeptiere eingehende Livechat-Anfragen auch wenn kein Agent online ist",
   "Accept_with_no_online_agents": "Auch annehmen, wenn keine Agenten online sind",
-  "Accept": "Akzeptieren",
-  "Access_not_authorized": "Der Zugriff ist nicht gestattet.",
-  "Access_Token_URL": "URL des Access-Token",
-  "access-mailer_description": "Berechtigung, Massen-E-Mails an alle Benutzer zu versenden.",
   "access-mailer": "Zugriff auf den Mailer",
-  "access-permissions_description": "Anpassen der Berechtigungen für die unterschiedlichen Rollen.",
+  "access-mailer_description": "Berechtigung, Massen-E-Mails an alle Benutzer zu versenden.",
   "access-permissions": "Zugriff auf die Berechtigungs-Ãœbersicht",
+  "access-permissions_description": "Anpassen der Berechtigungen für die unterschiedlichen Rollen.",
+  "Access_not_authorized": "Der Zugriff ist nicht gestattet.",
+  "Access_Token_URL": "URL des Access-Token",
   "Accessing_permissions": "Zugriff auf Berechtigungen",
   "Account_SID": "Konto-SID",
+  "Accounts": "Konten",
   "Accounts_Admin_Email_Approval_Needed_Default": "<p>Der Benutzer <b>[Name] ([E-Mail])</b>wurde registriert.</p><p>Bitte aktivieren Sie \"Administration ->Benutzer\", um sie zu aktivieren oder zu löschen.</p>",
   "Accounts_Admin_Email_Approval_Needed_Subject_Default": "Ein neuer Benutzer wurde registriert. Es ist eine Aktion von einem Administrator erforderlich",
   "Accounts_Admin_Email_Approval_Needed_With_Reason_Default": "<p>Der Benutzer <b>[Name] ([E-Mail])</b>wurde registriert.</p><p>Grund: <b>[Grund]</b></p><p>Bitte aktivieren Sie \"Administration ->Benutzer\", um sie zu aktivieren oder zu löschen.</p>",
   "Accounts_AllowAnonymousRead": "Erlaube anonymes Lesen",
   "Accounts_AllowAnonymousWrite": "Erlaube anonymes Schreiben",
   "Accounts_AllowDeleteOwnAccount": "Benutzern erlauben, ihr Konto zu löschen",
-  "Accounts_AllowedDomainsList_Description": "Durch Kommata getrennte Liste von erlaubten Domains",
   "Accounts_AllowedDomainsList": "Liste von erlaubten Domains",
+  "Accounts_AllowedDomainsList_Description": "Durch Kommata getrennte Liste von erlaubten Domains",
   "Accounts_AllowEmailChange": "Ändern der E-Mail-Adresse erlauben",
   "Accounts_AllowPasswordChange": "Ändern des Passworts erlauben",
   "Accounts_AllowRealNameChange": "Ändern des Namens erlauben",
@@ -35,36 +36,35 @@
   "Accounts_AllowUsernameChange": "Ändern des Benutzernamens erlauben",
   "Accounts_AllowUserProfileChange": "Benutzern das Ändern des Profils erlauben",
   "Accounts_AvatarBlockUnauthenticatedAccess": "Unberechtigter Zugriff auf die Avatare blockiert.",
-  "Accounts_AvatarCacheTime": "Avatar-Cache-Zeit",
-  "Accounts_AvatarCacheTime_description": "Anzahl der Sekunden, die das HTTP-Protokoll zum Zwischenspeichern der Avatarbilder benötigt.",
   "Accounts_AvatarCacheTime": "Avatar-Cache-Dauer",
+  "Accounts_AvatarCacheTime_description": "Anzahl der Sekunden, die das HTTP-Protokoll zum Zwischenspeichern der Avatarbilder benötigt.",
   "Accounts_AvatarResize": "Größe des Profilbilds anpassen",
   "Accounts_AvatarSize": "Größe des Profilbilds",
-  "Accounts_BlockedDomainsList_Description": "Kommata getrennte Liste von geblockten Domains",
   "Accounts_BlockedDomainsList": "Liste geblockter Domains",
-  "Accounts_BlockedUsernameList_Description": "Komma-getrennte Liste gesperrter Benutzernamen (case-insensitive)",
+  "Accounts_BlockedDomainsList_Description": "Kommata getrennte Liste von geblockten Domains",
   "Accounts_BlockedUsernameList": "Liste gesperrter Benutzernamen",
+  "Accounts_BlockedUsernameList_Description": "Komma-getrennte Liste gesperrter Benutzernamen (case-insensitive)",
   "Accounts_CustomFields_Description": "Ein gültiges JSON, in dem die Schlüssel Sprachkürzel sind, die wiederum Tupel von Schlüssel und Übersetzungen enthalten. Beispiel: <br/>\n<code>{\n \"role\": {\n  \"type\": \"select\",\n  \"defaultValue\": \"student\",\n  \"options\": [\"teacher\", \"student\"],\n  \"required\": true,\n  \"modifyRecordField\": {\n   \"array\": true,\n   \"field\": \"roles\"\n  }\n },\n \"twitter\": {\n  \"type\": \"text\",\n  \"required\": true,\n  \"minLength\": 2,\n  \"maxLength\": 10\n }\n}</code>",
   "Accounts_CustomFieldsToShowInUserInfo": "Eigene Felder, die in der Benutzer-Information angezeigt werden sollen",
+  "Accounts_Default_User_Preferences": "Standardeinstellungen des Benutzers",
   "Accounts_Default_User_Preferences_audioNotifications": "Akustische Benachrichtigung bei",
   "Accounts_Default_User_Preferences_desktopNotifications": "Desktop-Benachrichtigungen bei",
   "Accounts_Default_User_Preferences_mobileNotifications": "Mobile Benachrichtigungen bei",
   "Accounts_Default_User_Preferences_not_available": "Fehler beim Abrufen der Benutzereinstellungen, da diese noch nicht vom Benutzer eingerichtet wurden",
-  "Accounts_Default_User_Preferences": "Standardeinstellungen des Benutzers",
   "Accounts_DefaultUsernamePrefixSuggestion": "Vorschlag für Präfix des Standard-Benutzernamens ",
   "Accounts_denyUnverifiedEmail": "Nicht verifizierte E-Mail-Adressen ablehnen",
-  "Accounts_Email_Activated_Subject": "Konto aktiviert",
   "Accounts_Email_Activated": "[name]<br/><br/><p>Ihr Konto wurde aktiviert.</p>",
-  "Accounts_Email_Approved_Subject": "Konto genehmigt",
+  "Accounts_Email_Activated_Subject": "Konto aktiviert",
   "Accounts_Email_Approved": "[name]<br/><br/><p>Ihr Konto wurde genehmigt.</p>",
-  "Accounts_Email_Deactivated_Subject": "Konto deaktiviert",
+  "Accounts_Email_Approved_Subject": "Konto genehmigt",
   "Accounts_Email_Deactivated": "[name]<br/><br/><p>Ihr Konto wurde deaktiviert.</p>",
-  "Accounts_EmailVerification_Description": "Um diese Funktion nutzen zu können, stellen Sie bitte sicher, dass Ihre SMTP-Einstellungen korrekt sind.",
-  "Accounts_EmailVerification": "E-Mail-Verifizierung",
   "Accounts_Enrollment_Email_Default": "<h1>Willkommen zu <strong>[Site_Name]</strong></h1><p>Besuche <a href=\"[Site_URL]\">[Site_URL]</a> und probiere noch heute die beste Open-Source-Chat-Lösung aus.</p>",
-  "Accounts_Enrollment_Email_Description": "Sie können die folgenden Platzhalter verwenden: <br/><ul><li> [name], [fname], [lname] für den vollständigen Namen, Vornamen oder Nachnamen des Benutzers. </li><li> [email] für die E-Mail-Adresse des Benutzers. </li><li> [Site_Name] und [Site_URL] für den Anwendungsnamen und die URL. </li></ul>",
+  "Accounts_Email_Deactivated_Subject": "Konto deaktiviert",
+  "Accounts_EmailVerification": "E-Mail-Verifizierung",
+  "Accounts_EmailVerification_Description": "Um diese Funktion nutzen zu können, stellen Sie bitte sicher, dass Ihre SMTP-Einstellungen korrekt sind.",
   "Accounts_Enrollment_Email_Subject_Default": "Willkommen zu [Site_Name]",
   "Accounts_Enrollment_Email": "Registrierungsmail",
+  "Accounts_Enrollment_Email_Description": "Sie können die folgenden Platzhalter verwenden: <br/><ul><li> [name], [fname], [lname] für den vollständigen Namen, Vornamen oder Nachnamen des Benutzers. </li><li> [email] für die E-Mail-Adresse des Benutzers. </li><li> [Site_Name] und [Site_URL] für den Anwendungsnamen und die URL. </li></ul>",
   "Accounts_ForgetUserSessionOnWindowClose": "Benutzer Session beenden, wenn das Fenster geschlossen wird",
   "Accounts_Iframe_api_method": "API-Methode",
   "Accounts_Iframe_api_url": "API-URL",
@@ -87,48 +87,49 @@
   "Accounts_OAuth_Custom_Token_Path": "Pfad des Token",
   "Accounts_OAuth_Custom_Token_Sent_Via": "Token gesendet über",
   "Accounts_OAuth_Custom_Username_Field": "Feld für Benutzernamen",
+  "Accounts_OAuth_Drupal": "Anmeldung über Drupal",
   "Accounts_OAuth_Drupal_callback_url": "Drupal OAuth Redirect Url",
   "Accounts_OAuth_Drupal_id": "Drupal oAuth2 Client ID",
   "Accounts_OAuth_Drupal_secret": "Geheimer Drupal oAuth2 Client Schlüssel",
-  "Accounts_OAuth_Drupal": "Anmeldung über Drupal",
+  "Accounts_OAuth_Facebook": "Anmeldung über Facebook erlauben",
   "Accounts_OAuth_Facebook_callback_url": "Facebook-Callback-URL",
   "Accounts_OAuth_Facebook_id": "Facebook-App-ID",
   "Accounts_OAuth_Facebook_secret": "Geheimer Facebook Schlüssel ",
-  "Accounts_OAuth_Facebook": "Anmeldung über Facebook erlauben",
+  "Accounts_OAuth_Github": "OAuth aktivieren",
   "Accounts_OAuth_Github_callback_url": "GitHub-Callback-URL",
+  "Accounts_OAuth_GitHub_Enterprise": "OAuth aktiviert",
   "Accounts_OAuth_GitHub_Enterprise_callback_url": "GitHub-Enterprise-Callback-URL",
   "Accounts_OAuth_GitHub_Enterprise_id": "Client-ID",
   "Accounts_OAuth_GitHub_Enterprise_secret": "Geheimer Client Schlüssel",
-  "Accounts_OAuth_GitHub_Enterprise": "OAuth aktiviert",
   "Accounts_OAuth_Github_id": "Client-ID",
   "Accounts_OAuth_Github_secret": "Geheimer Client Schlüssel",
-  "Accounts_OAuth_Github": "OAuth aktivieren",
+  "Accounts_OAuth_Gitlab": "OAuth aktiviert",
   "Accounts_OAuth_Gitlab_callback_url": "GitLab-Callback-URL",
   "Accounts_OAuth_Gitlab_id": "GitLab-ID",
   "Accounts_OAuth_Gitlab_secret": "Geheimer Client Schlüssel",
-  "Accounts_OAuth_Gitlab": "OAuth aktiviert",
+  "Accounts_OAuth_Google": "Google-Anmeldung erlauben",
   "Accounts_OAuth_Google_callback_url": "Google-Callback-URL",
   "Accounts_OAuth_Google_id": "Google-ID",
   "Accounts_OAuth_Google_secret": "Geheimer Google Schlüssel",
-  "Accounts_OAuth_Google": "Google-Anmeldung erlauben",
+  "Accounts_OAuth_Linkedin": "LinkedIn-Anmeldung erlauben",
   "Accounts_OAuth_Linkedin_callback_url": "LinkedIn-Callback-URL",
   "Accounts_OAuth_Linkedin_id": "LinkedIn-ID",
   "Accounts_OAuth_Linkedin_secret": "Geheimer LinkedIn Schlüssel",
-  "Accounts_OAuth_Linkedin": "LinkedIn-Anmeldung erlauben",
+  "Accounts_OAuth_Meteor": "Meteor Login",
   "Accounts_OAuth_Meteor_callback_url": "Meteor-Callback-URL",
   "Accounts_OAuth_Meteor_id": "Meteor-ID",
   "Accounts_OAuth_Meteor_secret": "Geheimer Meteor Schlüssel",
-  "Accounts_OAuth_Meteor": "Meteor Login",
   "Accounts_OAuth_Proxy_host": "Proxy Host",
   "Accounts_OAuth_Proxy_services": "Proxy Port",
+  "Accounts_OAuth_Tokenpass": "Tokenpass Anmeldung",
   "Accounts_OAuth_Tokenpass_callback_url": "Tokenpass Callback URL",
   "Accounts_OAuth_Tokenpass_id": "Tokenpass-ID",
   "Accounts_OAuth_Tokenpass_secret": "Tokenpass Secret",
-  "Accounts_OAuth_Tokenpass": "Tokenpass Anmeldung",
+  "Accounts_OAuth_Twitter": "Anmeldung über Twitter",
   "Accounts_OAuth_Twitter_callback_url": "Twitter-Callback-URL",
   "Accounts_OAuth_Twitter_id": "Twitter-ID",
   "Accounts_OAuth_Twitter_secret": "Geheimer Twitter Schlüssel",
-  "Accounts_OAuth_Twitter": "Anmeldung über Twitter",
+  "Accounts_OAuth_Wordpress": "WordPress-Anmeldung erlauben",
   "Accounts_OAuth_Wordpress_authorize_path": "Autorisierungspfad",
   "Accounts_OAuth_Wordpress_callback_url": "WordPress-Callback-URL",
   "Accounts_OAuth_Wordpress_id": "WordPress-ID",
@@ -140,73 +141,71 @@
   "Accounts_OAuth_Wordpress_server_type_wordpress_com": "Wordpress.com",
   "Accounts_OAuth_Wordpress_server_type_wp_oauth_server": "WP-OAuth-Server-Plugin",
   "Accounts_OAuth_Wordpress_token_path": "Pfad des Token",
-  "Accounts_OAuth_Wordpress": "WordPress-Anmeldung erlauben",
-  "Accounts_Password_Policy_AtLeastOneLowercase_Description": "Erzwingen, dass ein Kennwort mindestens ein Kleinbuchstabe enthält.",
   "Accounts_Password_Policy_AtLeastOneLowercase": "Mindestens ein Kleinbuchstabe",
-  "Accounts_Password_Policy_AtLeastOneNumber_Description": "Erzwingen, dass ein Passwort mindestens ein numerisches Zeichen enthält.",
+  "Accounts_Password_Policy_AtLeastOneLowercase_Description": "Erzwingen, dass ein Kennwort mindestens ein Kleinbuchstabe enthält.",
   "Accounts_Password_Policy_AtLeastOneNumber": "Mindestens eine Ziffer",
-  "Accounts_Password_Policy_AtLeastOneSpecialCharacter_Description": "Erzwinge, dass ein Passwort mindestens ein Sonderzeichen enthält.",
+  "Accounts_Password_Policy_AtLeastOneNumber_Description": "Erzwingen, dass ein Passwort mindestens ein numerisches Zeichen enthält.",
   "Accounts_Password_Policy_AtLeastOneSpecialCharacter": "Mindestens ein Sonderzeichen",
-  "Accounts_Password_Policy_AtLeastOneUppercase_Description": "Erzwingen, dass ein Kennwort mindestens ein Kleinbuchstabe enthält.",
+  "Accounts_Password_Policy_AtLeastOneSpecialCharacter_Description": "Erzwinge, dass ein Passwort mindestens ein Sonderzeichen enthält.",
   "Accounts_Password_Policy_AtLeastOneUppercase": "Mindestens ein Großbuchstabe",
-  "Accounts_Password_Policy_Enabled_Description": "Wenn diese Option aktiviert ist, müssen Benutzerkennwörter den angegebenen Richtlinien entsprechen. Hinweis: Dies gilt nur für neue Passwörter, nicht für bestehende Passwörter.",
+  "Accounts_Password_Policy_AtLeastOneUppercase_Description": "Erzwingen, dass ein Kennwort mindestens ein Kleinbuchstabe enthält.",
   "Accounts_Password_Policy_Enabled": "Aktivieren Sie die Passwort-Richtlinie",
-  "Accounts_Password_Policy_ForbidRepeatingCharacters_Description": "Stellt sicher, dass Passwörter nicht das gleiche Zeichen enthalten, das sich nebeneinander wiederholt.",
+  "Accounts_Password_Policy_Enabled_Description": "Wenn diese Option aktiviert ist, müssen Benutzerkennwörter den angegebenen Richtlinien entsprechen. Hinweis: Dies gilt nur für neue Passwörter, nicht für bestehende Passwörter.",
   "Accounts_Password_Policy_ForbidRepeatingCharacters": "Verbieten, Zeichen zu wiederholen",
-  "Accounts_Password_Policy_ForbidRepeatingCharactersCount_Description": "Die maximale Anzahl der Zeichen, die sich wiederholen dürfen, bevor das Passwort abgelehnt wird.",
+  "Accounts_Password_Policy_ForbidRepeatingCharacters_Description": "Stellt sicher, dass Passwörter nicht das gleiche Zeichen enthalten, das sich nebeneinander wiederholt.",
   "Accounts_Password_Policy_ForbidRepeatingCharactersCount": "Maximale Anzahl sich wiederholender Zeichen",
-  "Accounts_Password_Policy_MaxLength_Description": "Maximale Anzahl der verwendeten Zeichen. -1 eingeben, um die Regel zu deaktivieren.",
+  "Accounts_Password_Policy_ForbidRepeatingCharactersCount_Description": "Die maximale Anzahl der Zeichen, die sich wiederholen dürfen, bevor das Passwort abgelehnt wird.",
   "Accounts_Password_Policy_MaxLength": "Maximale Länge",
-  "Accounts_Password_Policy_MinLength_Description": "Maximale Anzahl der verwendeten Zeichen. -1 eingeben, um die Regel zu deaktivieren.",
+  "Accounts_Password_Policy_MaxLength_Description": "Maximale Anzahl der verwendeten Zeichen. -1 eingeben, um die Regel zu deaktivieren.",
   "Accounts_Password_Policy_MinLength": "Minimale Länge",
+  "Accounts_Password_Policy_MinLength_Description": "Maximale Anzahl der verwendeten Zeichen. -1 eingeben, um die Regel zu deaktivieren.",
   "Accounts_PasswordReset": "Passwort zurücksetzen",
-  "Accounts_Registration_AuthenticationServices_Default_Roles_Description": "Standardrollen, die Benutzern zugewiesen werden, wenn diese sich über Authentifizierungsdienste registrieren",
   "Accounts_Registration_AuthenticationServices_Default_Roles": "Standardrolle bei Nutzung von Authentifizierungsdiensten",
+  "Accounts_Registration_AuthenticationServices_Default_Roles_Description": "Standardrollen, die Benutzern zugewiesen werden, wenn diese sich über Authentifizierungsdienste registrieren",
   "Accounts_Registration_AuthenticationServices_Enabled": "Registrierung mit Authentifizierungsdiensten",
+  "Accounts_RegistrationForm": "Registrierungsformular",
   "Accounts_RegistrationForm_Disabled": "Deaktiviert",
   "Accounts_RegistrationForm_LinkReplacementText": "Ersatztext für den Registrierungslink",
   "Accounts_RegistrationForm_Public": "Öffentlich",
   "Accounts_RegistrationForm_Secret_URL": "Geheime URL",
-  "Accounts_RegistrationForm_SecretURL_Description": "Gib eine zufällige Zeichenfolge, die der Registrierungs-URL hinzugefügt wird, an. Zum Beispiel: https://open.rocket.chat/register/[secret_hash]",
   "Accounts_RegistrationForm_SecretURL": "Geheime URL für die Registrierungsseite",
-  "Accounts_RegistrationForm": "Registrierungsformular",
+  "Accounts_RegistrationForm_SecretURL_Description": "Geben Sie eine zufällige Zeichenfolge, die der Registrierungs-URL hinzugefügt wird, an. Zum Beispiel: https://open.rocket.chat/register/[secret_hash]",
   "Accounts_RequireNameForSignUp": "Namen für die Anmeldung verlangen",
   "Accounts_RequirePasswordConfirmation": "Passwortbestätigung erforderlich",
   "Accounts_SearchFields": "Felder, die in der Suche berücksichtigt werden sollen",
-  "Accounts_SetDefaultAvatar_Description": "Versuche Standard-Avatar über OAuth oder Gravatar zu bestimmen",
   "Accounts_SetDefaultAvatar": "Standard-Avatar setzen",
+  "Accounts_SetDefaultAvatar_Description": "Versuche Standard-Avatar über OAuth oder Gravatar zu bestimmen",
   "Accounts_ShowFormLogin": "Standard Anmeldeformular zeigen",
   "Accounts_TwoFactorAuthentication_Enabled": "Aktivieren Sie die Zwei-Faktor-Authentifizierung",
-  "Accounts_TwoFactorAuthentication_MaxDelta_Description": "Das maximale Delta bestimmt, wie viele Token zu einem bestimmten Zeitpunkt gültig sind. Token werden alle 30 Sekunden generiert und gelten für (30 * Maximum Delta) Sekunden. <br/>Beispiel: Wenn ein maximales Delta auf 10 gesetzt ist, kann jedes Token bis zu 300 Sekunden vor oder nach dem Zeitstempel verwendet werden. Dies ist nützlich, wenn die Uhr des Clients nicht richtig mit dem Server synchronisiert ist.",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Maximales Delta",
+  "Accounts_UserAddedEmail_Default": "<h1>Willkommen zu <strong>[Site_Name]</strong></h1><p>Besuche <a href=\"[Site_URL]\">[Site_URL]</a> und probiere noch heute die beste Open-Source-Chat-Lösung aus.</p><p>Sie können sich mit den folgenden Daten anmelden: E-Mail-Adresse: [email] Passwort: [password]Es kann sein, dass Sie Ihr Passwort nach der ersten Anmeldung ändern musst.",
+  "Accounts_TwoFactorAuthentication_MaxDelta_Description": "Das maximale Delta bestimmt, wie viele Token zu einem bestimmten Zeitpunkt gültig sind. Token werden alle 30 Sekunden generiert und gelten für (30 * Maximum Delta) Sekunden. <br/>Beispiel: Wenn ein maximales Delta auf 10 gesetzt ist, kann jedes Token bis zu 300 Sekunden vor oder nach dem Zeitstempel verwendet werden. Dies ist nützlich, wenn die Uhr des Clients nicht richtig mit dem Server synchronisiert ist.",
   "Accounts_UseDefaultBlockedDomainsList": "Standardliste für blockierte Domains verwenden",
   "Accounts_UseDNSDomainCheck": "DNS-Domain-Check verwenden",
-  "Accounts_UserAddedEmail_Default": "<h1>Willkommen zu <strong>[Site_Name]</strong></h1><p>Besuche <a href=\"[Site_URL]\">[Site_URL]</a> und probiere noch heute die beste Open-Source-Chat-Lösung aus.</p><p>Sie können sich mit den folgenden Daten anmelden: E-Mail-Adresse: [email] Passwort: [password]Es kann sein, dass Sie Ihr Passwort nach der ersten Anmeldung ändern musst.",
-  "Accounts_UserAddedEmail_Description": "Sie können die folgenden Platzhalter verwenden: <br/><ul><li> [name], [fname], [lname] für den vollständigen Namen des Benutzers, Vornamen oder Nachnamen. </li><li> [email] für die E-Mail-Adresse des Benutzers. </li><li> [password] für das Kennwort des Benutzers. </li><li> [Site_Name] und [Site_URL] für den Anwendungsname und die URL. </li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "Sie wurden zu [Site_Name] hinzugefügt",
-  "Accounts": "Konten",
+  "Accounts_UserAddedEmail_Description": "Sie können die folgenden Platzhalter verwenden: <br/><ul><li> [name], [fname], [lname] für den vollständigen Namen des Benutzers, Vornamen oder Nachnamen. </li><li> [email] für die E-Mail-Adresse des Benutzers. </li><li> [password] für das Kennwort des Benutzers. </li><li> [Site_Name] und [Site_URL] für den Anwendungsname und die URL. </li></ul>",
   "Activate": "Aktivieren",
   "Activity": "Aktivität",
+  "Add": "Hinzufügen",
+  "add-oauth-service": "OAuth-Dienst hinzufügen",
+  "add-oauth-service_description": "Berechtigung, einen neuen OAuth-Dienst hinzuzufügen",
+  "add-user": "Benutzer erstellen",
+  "add-user-to-any-c-room": "Füge Benutzer zu jedem öffentlichen Kanal hinzu",
+  "add-user-to-any-c-room_description": "Berechtigung, um Benutzer zu jedem öffentlichen Kanal hinzuzufügen",
+  "add-user-to-any-p-room": "Benutzer jedem privaten Kanal hinzufügen",
+  "add-user-to-any-p-room_description": "Berechtigung, Benutzer jedem privaten Kanal hinzuzufügen",
+  "add-user-to-joined-room": "Benutzer jedem beigetretenen Kanal hinzufügen",
+  "add-user-to-joined-room_description": "Berechtigung, Benutzer jedem beigetretenen Kanal hinzuzufügen",
+  "add-user_description": "Berechtigung, über den Benutzer-Bildschirm neue Nutzer anzulegen",
   "Add_agent": "Agent hinzufügen",
   "Add_custom_oauth": "Benutzerdefiniertes OAuth-Konto hinzufügen",
   "Add_Domain": "Domain hinzufügen",
   "Add_files_from": "Dateien hinzufügen von",
   "Add_manager": "Manager hinzufügen",
   "Add_Role": "Rolle hinzufügen",
-  "Add_User": "BenutzerIn hinzufügen",
   "Add_user": "BenutzerIn hinzufügen",
+  "Add_User": "BenutzerIn hinzufügen",
   "Add_users": "BenutzerInnen hinzufügen",
-  "add-oauth-service_description": "Berechtigung, einen neuen OAuth-Dienst hinzuzufügen",
-  "add-oauth-service": "OAuth-Dienst hinzufügen",
-  "add-user_description": "Berechtigung, über den Benutzer-Bildschirm neue Nutzer anzulegen",
-  "add-user-to-any-c-room_description": "Berechtigung, um Benutzer zu jedem öffentlichen Kanal hinzuzufügen",
-  "add-user-to-any-c-room": "Füge Benutzer zu jedem öffentlichen Kanal hinzu",
-  "add-user-to-any-p-room_description": "Berechtigung, Benutzer jedem privaten Kanal hinzuzufügen",
-  "add-user-to-any-p-room": "Benutzer jedem privaten Kanal hinzufügen",
-  "add-user-to-joined-room_description": "Berechtigung, Benutzer jedem beigetretenen Kanal hinzuzufügen",
-  "add-user-to-joined-room": "Benutzer jedem beigetretenen Kanal hinzufügen",
-  "add-user": "Benutzer erstellen",
-  "Add": "Hinzufügen",
   "Adding_OAuth_Services": "Hinzufügen von OAuth-Services",
   "Adding_permission": "Berechtigung hinzufügen",
   "Adding_user": "Füge BenutzerIn hinzu",
@@ -219,87 +218,84 @@
   "Adult_images_are_not_allowed": "Nicht-jugendfreie Bilder sind nicht erlaubt",
   "Advocacy": "Interessenvertretung",
   "After_OAuth2_authentication_users_will_be_redirected_to_this_URL": "Nach der OAuth2-Authentifizierung werden die Benutzer auf diese URL weitergeleitet.",
+  "Agent": "Agent",
   "Agent_added": "Der Agent wurde hinzugefügt.",
   "Agent_removed": "Der Agent wurde gelöscht.",
-  "Agent": "Agent",
   "Alerts": "Benachrichtigungen",
-  "Alias_Format_Description": "Nachricht von Slack mit einem Alias importieren; %s wird mit dem Benutzernamen ersetzt. Wenn Feld leer bleibt, wird kein Alias benutzt.",
+  "Alias": "Alias",
   "Alias_Format": "Alias-Format",
+  "Alias_Format_Description": "Nachricht von Slack mit einem Alias importieren; %s wird mit dem Benutzernamen ersetzt. Wenn Feld leer bleibt, wird kein Alias benutzt.",
   "Alias_Set": "Alias setzen",
-  "Alias": "Alias",
+  "All": "Alle",
   "All_added_tokens_will_be_required_by_the_user": "Alle hinzugefügten Tokens werden vom Benutzer verlangt werden",
   "All_channels": "Alle Kanäle",
   "All_logs": "Alle Protokolle",
   "All_messages": "Alle Nachrichten",
-  "All_users_in_the_channel_can_write_new_messages": "Alle Benutzer in diesem Kanal dürfen Nachrichten schreiben",
   "All_users": "Alle Benutzer",
-  "All": "Alle",
-  "Allow_Invalid_SelfSigned_Certs_Description": "Ungültige und selbstsignierte SSL-Zertifikate für die Link-Validierung und die Vorschau zulassen.",
+  "All_users_in_the_channel_can_write_new_messages": "Alle Benutzer in diesem Kanal dürfen Nachrichten schreiben",
   "Allow_Invalid_SelfSigned_Certs": "Ungültige und selbstsignierte SSL-Zertifikate erlauben",
-  "Allow_Marketing_Emails": "Marketing-E-Mails zulassen",
+  "Allow_Invalid_SelfSigned_Certs_Description": "Ungültige und selbstsignierte SSL-Zertifikate für die Link-Validierung und die Vorschau zulassen.",
   "Allow_switching_departments": "Erlaube Besuchern, Abteilungen zu wechseln",
+  "Allow_Marketing_Emails": "Marketing-E-Mails zulassen",
   "Alphabetical": "alphabetisch",
   "Always_open_in_new_window": "Immer in neuem Fenster öffnen",
+  "Analytics": "Analytics",
   "Analytics_features_enabled": "Aktivierte Funktionen",
   "Analytics_features_messages_Description": "Zeichnet benutzerdefinierte Ereignisse im Zusammenhang mit Aktionen eines Nutzers in Nachrichten auf.",
   "Analytics_features_rooms_Description": "Zeichnet benutzerdefinierte Ereignisse im Zusammenhang mit Aktionen in einem Kanal (erstellen, verlassen, löschen) auf.",
   "Analytics_features_users_Description": "Zeichnet benutzerdefinierte Ereignisse (Passwort-Reset-Zeiten, Profilbild ändern, etc) auf.",
-  "Analytics_Google_id": "Tracking ID",
   "Analytics_Google": "Google Analytics",
-  "And_more": "Und __length__ mehr",
+  "Analytics_Google_id": "Tracking ID",
   "and": "und",
+  "And_more": "Und __length__ mehr",
   "Animals_and_Nature": "Tiere & Natur",
   "Announcement": "Ankündigung",
   "API": "API",
-  "API_Add_Personal_Access_Token": "Füge einen neuen persönlichen Zugangsschlüssel hinzu.",
+  "API_Add_Personal_Access_Token": "Fügen Sie einen neuen persönlichen Zugangsschlüssel hinzu.",
   "API_Allow_Infinite_Count": "Ergebnismenge nicht einschränken",
   "API_Allow_Infinite_Count_Description": "Erlaube die Rückgabe von REST API Ergebnissen in einem einzigen Abruf",
-  "API_Allow_Infinite_Count": "Ergebnismenge nicht einschränken",
   "API_Analytics": "Analytics",
   "API_CORS_Origin": "CORS Origin",
-  "API_Default_Count_Description": "Die Anzahl an Ergebnissen von REST API Anfragen, wenn kein Limit angegeben wurde.",
   "API_Default_Count": "Standard Limit",
-  "API_Drupal_URL_Description": "Beispiel: https://domain.de (ohne abschließenden /)",
+  "API_Default_Count_Description": "Die Anzahl an Ergebnissen von REST API Anfragen, wenn kein Limit angegeben wurde.",
   "API_Drupal_URL": "Drupal Server URL",
+  "API_Drupal_URL_Description": "Beispiel: https://domain.de (ohne abschließenden /)",
+  "API_Embed": "Link-Vorschauen einbetten",
   "API_Embed_Description": "Eingebettete Link-Vorschau für Links, die von Benutzern gepostet wurden.",
   "API_Embed_UserAgent": "User Agent des Requests übermitteln",
-  "API_Embed": "Link-Vorschauen einbetten",
   "API_EmbedCacheExpirationDays": "Tage bis zum Ablauf den eingebetteten Caches",
-  "API_EmbedDisabledFor_Description": "Kommaseparierte Liste von Benutzernamen zum Einbetten von Link-Vorschauen",
   "API_EmbedDisabledFor": "Einbettungen für Benutzer deaktivieren",
+  "API_EmbedDisabledFor_Description": "Kommaseparierte Liste von Benutzernamen zum Einbetten von Link-Vorschauen",
+  "API_EmbedIgnoredHosts": "Einbettungen für Hosts deaktivieren",
   "API_EmbedIgnoredHosts_Description": "Kommagetrennte Liste von Hosts oder CIDR-Adressen, z. B. localhost, 127.0.0.1, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16",
-  "API_EmbedIgnoredHosts": "Ignorierte Hosts einbetten",
-  "API_EmbedSafePorts_Description": "Kommagetrennte Liste der Ports, für die eine Vorschau erlaubt ist.",
   "API_EmbedSafePorts": "Sichere Ports",
+  "API_EmbedSafePorts_Description": "Kommagetrennte Liste der Ports, für die eine Vorschau erlaubt ist.",
   "API_Enable_CORS": "CORS",
+  "API_Enable_Direct_Message_History_EndPoint": "Endpunkt für den Verlauf von Direktnachrichten",
   "API_Enable_Direct_Message_History_EndPoint_Description": "Aktiviere `/api/v1/im.history.others`. Hierüber ist es möglich, Direktnachrichten einzusehen, an denen der Benutzer nicht beteiligt ist.",
   "API_Enable_Personal_Access_Tokens": "Aktiviere den persönlichem Zugangsschlüssel zur REST Schnittstelle.",
-  "API_Enable_Personal_Access_Tokens_Description": "Aktiviere den persönlichem Zugangsschlüssel zur Nutzung mit der REST Schnittstelle.",
+  "API_Enable_Personal_Access_Tokens_Description": "Ermöglicht den Zugriff auf die REST-Schnittstelle mit dem persönlichen Zugangsschlüssel.",
   "API_Enable_Shields": "Aktiviere Shields",
-  "API_Enable_Direct_Message_History_EndPoint": "Endpunkt für den Verlauf von Direktnachrichten",
   "API_Enable_Shields_Description": "Shields über `/api/v1/shield.svg` verfügbar machen",
-  "API_Enable_Shields": "Aktiviere Shields",
-  "API_GitHub_Enterprise_URL_Description": "Beispiel: http://domain.com (ohne Schrägstrich am Ende)",
   "API_GitHub_Enterprise_URL": "Server-URL",
+  "API_GitHub_Enterprise_URL_Description": "Beispiel: http://domain.com (ohne Schrägstrich am Ende)",
   "API_Gitlab_URL": "GitLab-URL",
   "API_Personal_Access_Token_Name": "Name des persönlichem Zugangsschlüssels",
   "API_Personal_Access_Tokens_To_REST_API": "Persönlicher Zugangsschlüssel für die REST API",
   "API_Personal_Access_Tokens_Remove_Modal": "Sind Sie sich sicher, dass Sie den persönlichen Zugangsschlüssel löschen möchten?",
   "API_Personal_Access_Token_Generated": "Der persönliche Zugangsschlüssel wurde erfolgreich generiert.",
-  "API_Personal_Access_Token_Generated_Text_Token_s_UserId_s": "Bitte sichern Sie den Token an einem Sicheren Ort, der Token kann zu einem späteren Zeitpunkt nicht mehr angezeigt werden. <br/>Token: <strong>__token__</strong><br/>Ihre Benutzer ID: <strong>__userId__</strong>",
-  "API_Personal_Access_Tokens_Regenerate_Modal": "Wenn sie den Token vergessen oder verlieren kann dieser erneut generiert werden. Beachten Sie das alle Applikationen die diesen Token verwenden mit dem neuen Token aktualisiert werden müssen.",
+  "API_Personal_Access_Token_Generated_Text_Token_s_UserId_s": "Bitte sichern Sie den Zugangsschlüssel an einem Sicheren Ort, der Token kann zu einem späteren Zeitpunkt nicht mehr angezeigt werden. <br/>Token: <strong>__token__</strong><br/>Ihre Benutzer ID: <strong>__userId__</strong>",
+  "API_Personal_Access_Tokens_Regenerate_Modal": "Wenn Sie den Zugangsschlüssel vergessen oder verlieren, kann dieser erneut generiert werden. Beachten Sie, dass alle Applikationen, die diesen Zugangsschlüssel verwenden, mit dem neuen Zugangsschlüssel aktualisiert werden müssen.",
   "API_Personal_Access_Tokens_Regenerate_It": "Persönlichen Zugangsschlüssel erneut generieren.",
   "API_Shield_Types": "Shield Typen",
-  "API_Shield_Types_Description": "Shields-Typen. Konfiguration mit einer Komma-separierten-Liste. Optionen: `online`, `channel` oder `*` für \"Alles\"",
-  "API_Shield_Types": "Shield Typen",
+  "API_Shield_Types_Description": "Shield Typen. Konfiguration mit einer komma-separierten Liste. Optionen: `online`, `channel` oder `*` für \"Alles\"",
   "API_Token": "API-Token",
-  "API_Tokenpass_URL_Description": "Beispiel: http://domain.com (ohne Schrägstrich am Ende)",
   "API_Tokenpass_URL": "Url des Tokenpass Servers",
-  "API_Upper_Count_Limit_Description": "Max. Anzahl an Einträgen, die das REST API zurückliefen soll (sofern nicht weiter eingeschränkt)",
+  "API_Tokenpass_URL_Description": "Beispiel: http://domain.com (ohne Schrägstrich am Ende)",
   "API_Upper_Count_Limit": "Maximales Limit",
+  "API_Upper_Count_Limit_Description": "Max. Anzahl an Einträgen, die das REST API zurückliefen soll (sofern nicht weiter eingeschränkt)",
   "API_User_Limit": "Limit für das Hinzufügen aller Benutzer zu einem Kanal",
   "API_Wordpress_URL": "WordPress-URL",
-  "API": "API",
   "Apiai_Key": "Api.ai-Schlüssel",
   "Apiai_Language": "Api.ai-Sprache",
   "App_author_homepage": "Autor Homepage",
@@ -321,73 +317,74 @@
   "Application_added": "Die Anwendung wurde hinzugefügt.",
   "Application_Name": "Name der Anwendung",
   "Application_updated": "Die Anwendung wurde aktualisiert.",
-  "Apply_and_refresh_all_clients": "Anwenden und alle Clients aktualisieren",
   "Apply": "Anwenden",
+  "Apply_and_refresh_all_clients": "Anwenden und alle Clients aktualisieren",
+  "Apps": "Apps",
   "Apps_Framework_enabled": "Das App Framework aktivieren",
   "Apps_Settings": "App-Einstellungen",
+  "Apps_WhatIsIt": "Apps: Was ist das?",
   "Apps_WhatIsIt_paragraph1": "Ein neues Icon im Administrationsbereich! Was bedeutet das und was sind Apps?",
   "Apps_WhatIsIt_paragraph2": "Zunächst einmal beziehen sich Apps in diesem Zusammenhang nicht auf die mobilen Anwendungen. Tatsächlich wäre es am besten, sie in Form von Plugins oder fortgeschrittenen Integrationen zu betrachten.",
   "Apps_WhatIsIt_paragraph3": "Vielmehr sind es dynamische Skripte oder Pakete, die es Ihnen ermöglichen, Ihre Rocket.Chat-Instanz anzupassen, ohne dass es notwendig ist, die Codebasis zu forken. Aber bitte denk daran, dass dies ein neuer Funktionsumfang ist und deshalb nicht 100%ig stabil ist. Außerdem entwickeln wir noch den Funktionsumfang, so dass zu diesem Zeitpunkt noch nicht alles angepasst werden kann. Weitere Informationen zur Entwicklung einer App gibt es hier:",
   "Apps_WhatIsIt_paragraph4": "Aber wenn Sie daran interessiert sind, diese Funktion zu aktivieren und auszuprobieren, dann klicken Sie hier, um das Apps-System zu aktivieren.",
-  "Apps_WhatIsIt": "Apps: Was ist das?",
-  "Apps": "Apps",
-  "archive-room_description": "Berechtigung, einen Kanal zu archivieren",
-  "archive-room": "Kanal archivieren",
   "Archive": "Archivieren",
+  "archive-room": "Kanal archivieren",
+  "archive-room_description": "Berechtigung, einen Kanal zu archivieren",
   "are_also_typing": "schreiben auch",
   "are_typing": "schreiben",
+  "Are_you_sure": "Sind Sie sich sicher?",
   "Are_you_sure_you_want_to_delete_your_account": "Sind Sie sich sicher, dass Sie Ihr Konto löschen möchten?",
   "Are_you_sure_you_want_to_disable_Facebook_integration": "Sind Sie sich sicher das Sie die Facebook Integration deaktivieren möchten?",
-  "Are_you_sure": "Sind Sie sich sicher?",
-  "Assign_admin": "Admin zuweisen",
-  "assign-admin-role_description": "Berechtigung, andere Benutzer zu Administratoren zu machen",
   "assign-admin-role": "Administratorrolle zuordnen",
-  "At_least_one_added_token_is_required_by_the_user": "Mindestens eines der hinzugefügten Tokens wird vom Benutzer verlangt werden",
+  "assign-admin-role_description": "Berechtigung, andere Benutzer zu Administratoren zu machen",
+  "Assign_admin": "Admin zuweisen",
   "at": "am",
+  "At_least_one_added_token_is_required_by_the_user": "Mindestens eines der hinzugefügten Tokens wird vom Benutzer verlangt werden",
   "AtlassianCrowd": "Atlassian Crowd",
   "Attachment_File_Uploaded": "Datei hochgeladen",
   "Attribute_handling": "Behandlung von Eigenschaften",
+  "Audio": "Audio",
   "Audio_message": "Audio-Nachricht",
   "Audio_Notification_Value_Description": "Dies kann einer der Standard-Töne (beep, chelle, ding, droplet, highbell, seasons) oder jeder eigene Ton sein",
   "Audio_Notifications_Default_Alert": "Akustische Benachrichtigung bei",
   "Audio_Notifications_Value": "Akustische Benachrichtigung: Ton",
-  "Audio": "Audio",
   "Auth_Token": "Auth-Token",
-  "Author_Information": "Ãœber den Autor",
   "Author": "Autor",
+  "Author_Information": "Ãœber den Autor",
   "Authorization_URL": "Autorisierungs-URL",
   "Authorize": "Berechtigen",
+  "auto-translate": "Automatische Ãœbersetzung",
+  "auto-translate_description": "Berechtigung, die automatische Ãœberstzung zu verwenden",
   "Auto_Load_Images": "Automatisches Laden der Bilder",
   "Auto_Translate": "Automatische Ãœbersetzung",
-  "auto-translate_description": "Berechtigung, die automatische Ãœberstzung zu verwenden",
-  "auto-translate": "Automatische Ãœbersetzung",
   "AutoLinker_Email": "AutoLinker für E-Mail-Adressen",
-  "AutoLinker_Phone_Description": "Telefonnummern automatisch verlinken. z.B. `(123) 456-7890`",
   "AutoLinker_Phone": "AutoLinker für Telefonnummern",
-  "AutoLinker_StripPrefix_Description": "Kurze Anzeige. z.B. https://rocket.chat => rocket.chat",
+  "AutoLinker_Phone_Description": "Telefonnummern automatisch verlinken. z.B. `(123) 456-7890`",
   "AutoLinker_StripPrefix": "AutoLinker Präfix entfernen",
+  "AutoLinker_StripPrefix_Description": "Kurze Anzeige. z.B. https://rocket.chat => rocket.chat",
   "AutoLinker_Urls_Scheme": "Schema des AutoLinkers: // URLs",
   "AutoLinker_Urls_TLD": "AutoLinker TLD-URLs",
   "AutoLinker_Urls_www": "AutoLinker \"www\"-URLs",
   "AutoLinker_UrlsRegExp": "AutoLinker RegExp für URLs",
   "Automatic_Translation": "Automatische Ãœbersetzung",
-  "Author_Site": "Seite des Authors",
+  "Author_Site": "Seite des Autors",
   "AutoTranslate_Change_Language_Description": "Das Verändern der Option zur automatischen Übersetzung übersetzt keine Nachrichten aus der Vergangenheit.",
-  "AutoTranslate_Enabled_Description": "Die Aktivierung der automatischen Übersetzung ermöglicht es Benutzern mit der entsprechenden Berechtigung (<code class=\"inline\">auto-translate</code>, Nachrichten immer in Ihrer Sprache übersetzt zu lesen. Hierfür fallen potentiell Gebühren an (s. <a target=\"_blank\" href=\"https://cloud.google.com/translate/pricing\">Google-Dokumentation</a>.",
   "AutoTranslate_Enabled": "Automatische Ãœbersetzung",
+  "AutoTranslate_Enabled_Description": "Die Aktivierung der automatischen Übersetzung ermöglicht es Benutzern mit der entsprechenden Berechtigung (<code class=\"inline\">auto-translate</code>, Nachrichten immer in Ihrer Sprache übersetzt zu lesen. Hierfür fallen potentiell Gebühren an (s. <a target=\"_blank\" href=\"https://cloud.google.com/translate/pricing\">Google-Dokumentation</a>.",
   "AutoTranslate_GoogleAPIKey": "Google API-Schlüssel",
-  "Available_agents": "Verfügbare Agenten",
   "Available": "Verfügbar",
+  "Available_agents": "Verfügbare Agenten",
+  "Avatar": "Profilbild",
   "Avatar_changed_successfully": "Das Profilbild wurde erfolgreich geändert.",
-  "Avatar_url_invalid_or_error": "Die angegebene Internetadresse ist ungültig oder nicht verfügbar. Bitte versuche es mit einer anderen Internetadresse erneut.",
   "Avatar_URL": "URL des Profilbilds",
-  "Avatar": "Profilbild",
+  "Avatar_url_invalid_or_error": "Die angegebene Internetadresse ist ungültig oder nicht verfügbar. Bitte versuche es mit einer anderen Internetadresse erneut.",
+  "away": "abwesend",
+  "Away": "Abwesend",
   "away_female": "abwesend",
   "Away_female": "Abwesend",
   "away_male": "abwesend",
   "Away_male": "Abwesend",
-  "Away": "Abwesend",
-  "away": "abwesend",
+  "Back": "Zurück",
   "Back_to_applications": "Zurück zu den Anwendungen",
   "Back_to_chat": "Zurück zum Chat",
   "Back_to_integration_detail": "Zurück zu den Integrations-Details",
@@ -395,59 +392,58 @@
   "Back_to_login": "Zurück zum Login",
   "Back_to_Manage_Apps": "Zurück zu Apps verwalten",
   "Back_to_permissions": "Zurück zu den Berechtigungen",
-  "Back": "Zurück",
   "Backup_codes": "Backup-Schlüssel",
-  "ban-user_description": "Berechtigung, einen Benutzer aus einem Kanal zu verbannen",
   "ban-user": "Benutzer verbannen",
+  "ban-user_description": "Berechtigung, einen Benutzer aus einem Kanal zu verbannen",
   "Beta_feature_Depends_on_Video_Conference_to_be_enabled": "Beta-Funktion: Basiert darauf, dass Video-Konferenzen aktiviert sind.",
   "Block_User": "BenutzerIn sperren",
   "Blockchain": "Blockchain",
   "Body": "Textkörper",
   "bold": "fett",
   "bot_request": "Bot-Anfrage",
-  "BotHelpers_userFields_Description": "CSV-Datei mit Benutzerfeldern die von Bot-Methoden genutzt werden dürfen.",
   "BotHelpers_userFields": "Benutzerfelder",
+  "BotHelpers_userFields_Description": "CSV-Datei mit Benutzerfeldern die von Bot-Methoden genutzt werden dürfen.",
   "Bots": "Bots",
   "Branch": "Zweig",
-  "Broadcast_channel_Description": "Nur autorisierte Benutzer können neue Nachrichten schreiben, die anderen Benutzer können jedoch antworten",
   "Broadcast_channel": "Rundfunkkanal",
+  "Broadcast_channel_Description": "Nur autorisierte Benutzer können neue Nachrichten schreiben, die anderen Benutzer können jedoch antworten",
   "Broadcast_Connected_Instances": "Broadcast an verbundene Instanzen",
   "Bugsnag_api_key": "Bugsnag API-Schlüssel",
   "Build_Environment": "Buildumgebung",
-  "bulk-create-c_description": "Berechtigung zur Massen-Anlage von Kanälen",
   "bulk-create-c": "Massen-Anlage von Kanälen",
-  "bulk-register-user_description": "Berechtigung zur Massen-Registrierung von Benutzern",
+  "bulk-create-c_description": "Berechtigung zur Massen-Anlage von Kanälen",
   "bulk-register-user": "Massen-Registrierung von Benutzern",
-  "Busy_female": "Beschäftigt",
+  "bulk-register-user_description": "Berechtigung zur Massen-Registrierung von Benutzern",
+  "busy": "beschäftigt",
+  "Busy": "Beschäftigt",
   "busy_female": "beschäftigt",
+  "Busy_female": "Beschäftigt",
   "busy_male": "beschäftigt",
   "Busy_male": "Beschäftigt",
-  "busy": "beschäftigt",
-  "Busy": "Beschäftigt",
   "by": "von",
   "cache_cleared": "Zwischenspeicher gelöscht",
-  "Cancel_message_input": "Abbrechen",
   "Cancel": "Abbrechen",
+  "Cancel_message_input": "Abbrechen",
   "Cannot_invite_users_to_direct_rooms": "Benutzer können nicht in Direktnachrichten eingeladen werden.",
   "Cannot_open_conversation_with_yourself": "Ein Selbstgespräch kann nicht gestartet werden",
   "CAS_autoclose": "Login-Popup automatisch schließen",
-  "CAS_base_url_Description": "Basis-URL des externen Singe Sign On Services e.g: https://sso.example.undef/sso/",
   "CAS_base_url": "SSO-Base-URL",
+  "CAS_base_url_Description": "Basis-URL des externen Singe Sign On Services e.g: https://sso.example.undef/sso/",
   "CAS_button_color": "Hintergrundfarbe des Login-Buttons",
   "CAS_button_label_color": "Farbe des Login-Button-Texts",
   "CAS_button_label_text": "Text des Login-Buttons",
   "CAS_enabled": "Aktiviert",
   "CAS_Login_Layout": "CAS-Login-Layout",
-  "CAS_login_url_Description": "Login URL des externen Single-Sign-On Services, bspw. https://sso.example.undef/sso/login",
   "CAS_login_url": "SSO-Login-URL",
+  "CAS_login_url_Description": "Login URL des externen Single-Sign-On Services, bspw. https://sso.example.undef/sso/login",
   "CAS_popup_height": "Höhe des Login-Popups",
   "CAS_popup_width": "Breite des Login-Popups",
-  "CAS_Sync_User_Data_Enabled_Description": "Beim Login immer CAS-Benutzerdaten in die entsprechenden Attribute synchronisieren. Hinweis: Attribute werden beim Anlegen des Kontos in jedem Fall synchronisiert.",
   "CAS_Sync_User_Data_Enabled": "Benutzerdaten immer synchronisieren",
-  "CAS_Sync_User_Data_FieldMap_Description": "Verwenden Sie dieses JSON um interne Attribut (key) aus externen Attributen (value) zu erstellen. Externe Attribut-Namen, die mit  '%' umschlossen sind, werden in value-Strings interpoliert.<br/>Beispiel: `{\\\"email\\\"\\\"%email%\\\", \\\"name\\\"\\\"%firstname%, %lastname%\\\"}`<br/><br/>Die Attribut-Map wird immer interpoliert. In CAS 1.0 ist nur das `username`-Attribut verfügbar. Mögliche interne Attribute sind username, name, email, rooms; rooms ist eine Komma-separierte Liste von Räumen, denen der Benutzer nach der Erstellung seines Kontos hinzugefügt wird. Beispielsweise würde {\\\"rooms\\\" \\\"%Team%,%Abteilung%\\\"} CAS-basierte Nutzerkonten zu den Räumen mit den Namen Team und Abteilung hinzufügen.",
+  "CAS_Sync_User_Data_Enabled_Description": "Beim Login immer CAS-Benutzerdaten in die entsprechenden Attribute synchronisieren. Hinweis: Attribute werden beim Anlegen des Kontos in jedem Fall synchronisiert.",
   "CAS_Sync_User_Data_FieldMap": "Attribut-Map",
-  "CAS_version_Description": "Verwenden Sie nur eine CAS-Version, die von Ihrem CAS-SSO-Provider unterstützt wird.",
+  "CAS_Sync_User_Data_FieldMap_Description": "Verwenden Sie dieses JSON um interne Attribut (key) aus externen Attributen (value) zu erstellen. Externe Attribut-Namen, die mit  '%' umschlossen sind, werden in value-Strings interpoliert.<br/>Beispiel: `{\\\"email\\\"\\\"%email%\\\", \\\"name\\\"\\\"%firstname%, %lastname%\\\"}`<br/><br/>Die Attribut-Map wird immer interpoliert. In CAS 1.0 ist nur das `username`-Attribut verfügbar. Mögliche interne Attribute sind username, name, email, rooms; rooms ist eine Komma-separierte Liste von Räumen, denen der Benutzer nach der Erstellung seines Kontos hinzugefügt wird. Beispielsweise würde {\\\"rooms\\\" \\\"%Team%,%Abteilung%\\\"} CAS-basierte Nutzerkonten zu den Räumen mit den Namen Team und Abteilung hinzufügen.",
   "CAS_version": "CAS Version",
+  "CAS_version_Description": "Verwenden Sie nur eine CAS-Version, die von Ihrem CAS-SSO-Provider unterstützt wird.",
   "Categories": "Kategorien",
   "CDN_PREFIX": "CDN-Präfix",
   "CDN_PREFIX_ALL": "CDP Prefix für alle Medien/Assets verwenden",
@@ -455,24 +451,24 @@
   "Certificates_and_Keys": "Zertifikate und Schlüssel",
   "Change_Room_Type": "Ändere den Typ des Raums",
   "Changing_email": "E-Mail-Adresse ändern",
-  "Channel_already_exist_static": "Der Kanal existiert bereits",
+  "channel": "Kanal",
+  "Channel": "Kanal",
   "Channel_already_exist": "Der Kanal '#%s' ist bereits vorhanden.",
+  "Channel_already_exist_static": "Der Kanal existiert bereits",
   "Channel_already_Unarchived": "Kanal mit dem Namen '#%s' ist bereits im unarchivierten Zustand",
   "Channel_Archived": "Kanal mit dem Namen '#%s' wurde erfolgreich archiviert",
   "Channel_created": "Kanal `#%s` wurde angelegt.",
   "Channel_doesnt_exist": "Der Kanal `#%s` existiert nicht.",
-  "Channel_Name_Placeholder": "Bitte geben Sie einen Namen für den Kanal ein",
   "Channel_name": "Kanal Name",
+  "Channel_Name_Placeholder": "Bitte geben Sie einen Namen für den Kanal ein",
   "Channel_to_listen_on": "Kanal, auf dem gehört werden soll",
   "Channel_Unarchived": "Kanal mit dem Namen '#%s' ist nicht länger archiviert",
-  "Channel": "Kanal",
-  "channel": "Kanal",
+  "Channels": "Kanäle",
   "Channels_are_where_your_team_communicate": "In Kanälen kommuniziert Ihr Team",
   "Channels_list": "Liste der öffentlichen Kanäle",
-  "Channels": "Kanäle",
   "Chat_button": "Chat-Button",
-  "Chat_closed_successfully": "Chat erfolgreich geschlossen",
   "Chat_closed": "Chat geschlossen",
+  "Chat_closed_successfully": "Chat erfolgreich geschlossen",
   "Chat_Now": "Jetzt chatten",
   "Chat_window": "Chatfenster",
   "Chatops_Enabled": "ChatOps aktivieren",
@@ -480,18 +476,18 @@
   "Chatops_Username": "ChatOps-Benutzername",
   "Chatpal_AdminPage": "Chatpal Adminseite",
   "Chatpal_All_Results": "Alle",
-  "Chatpal_API_Key_Description": "Sie haben noch keinen <strong>API Key</strong>? <a class=\"chatpal-admin-link\" href=\"./admin/chatpal\">Hier gehts zum Key!</a>",
   "Chatpal_API_Key": "API Key",
-  "Chatpal_Backend_Description": "Wählen Sie, ob sie Chatpal als Service oder als On-Site Installation benutzen wollen",
+  "Chatpal_API_Key_Description": "Sie haben noch keinen <strong>API Key</strong>? <a class=\"chatpal-admin-link\" href=\"./admin/chatpal\">Hier gehts zum Key!</a>",
   "Chatpal_Backend": "Backend Typ",
-  "Chatpal_Base_URL_Description": "<a target=\"_blank\" class=\"chatpal-admin-link\" href=\"https://github.com/chatpal/chatpal-search-standalone\">Auf github</a> finden Sie eine Beschreibung, wie Sie Chatpal lokal installieren. Die URL muss absolut sein und auf den chatpal core zeigen, z.B. http://localhost:8983/solr/chatpal.",
+  "Chatpal_Backend_Description": "Wählen Sie, ob sie Chatpal als Service oder als On-Site Installation benutzen wollen",
   "Chatpal_Base_URL": "Basis Url",
-  "Chatpal_Batch_Size_Description": "Anzahl der Indexdokumente pro Batch (beim Bootstrapping)",
+  "Chatpal_Base_URL_Description": "<a target=\"_blank\" class=\"chatpal-admin-link\" href=\"https://github.com/chatpal/chatpal-search-standalone\">Auf github</a> finden Sie eine Beschreibung, wie Sie Chatpal lokal installieren. Die URL muss absolut sein und auf den chatpal core zeigen, z.B. http://localhost:8983/solr/chatpal.",
   "Chatpal_Batch_Size": "Index Batchgröße",
+  "Chatpal_Batch_Size_Description": "Anzahl der Indexdokumente pro Batch (beim Bootstrapping)",
   "Chatpal_create_key": "Api Key erzeugen",
   "Chatpal_created_key_successfully": "API-Key erfolgreich erstellt",
-  "Chatpal_Default_Result_Type_Description": "Wählen Sie, welche Art von Resultaten standardmäßig angezeigt werden soll",
   "Chatpal_Default_Result_Type": "Vordefinierter Resultattyp",
+  "Chatpal_Default_Result_Type_Description": "Wählen Sie, welche Art von Resultaten standardmäßig angezeigt werden soll",
   "Chatpal_Email_Address": "E-Mail Adresse",
   "Chatpal_ERROR_Email_must_be_set": "E-Mail Adresse muss angegeben werden",
   "Chatpal_ERROR_Email_must_be_valid": "E-Mail Adresse muss valide sein",
@@ -501,12 +497,12 @@
   "Chatpal_go_to_message": "Zur Nachricht",
   "Chatpal_go_to_room": "Zum Kanal",
   "Chatpal_go_to_user": "Sende Nachricht",
-  "Chatpal_HTTP_Headers_Description": "Liste von HTTP Headers, ein header pro Zeile. Format: name:value",
   "Chatpal_HTTP_Headers": "Http Headers",
-  "Chatpal_Main_Language_Description": "Die Sprache, die in den meisten Nachrichten verwendet wird",
+  "Chatpal_HTTP_Headers_Description": "Liste von HTTP Headers, ein header pro Zeile. Format: name:value",
   "Chatpal_Main_Language": "Hauptsprache",
-  "Chatpal_Messages_Only": "Nachrichten",
+  "Chatpal_Main_Language_Description": "Die Sprache, die in den meisten Nachrichten verwendet wird",
   "Chatpal_Messages": "Nachrichten",
+  "Chatpal_Messages_Only": "Nachrichten",
   "Chatpal_More": "Mehr",
   "Chatpal_No_Results": "Kein Ergebnis",
   "Chatpal_no_search_results": "Kein Ergebnis",
@@ -519,37 +515,37 @@
   "Chatpal_Suggestion_Enabled": "Suchvorschläge aktiviert",
   "Chatpal_TAC_read": "Ich habe die Geschäftsbedingungen gelesen",
   "Chatpal_Terms_and_Conditions": "Geschäftsbedingungen",
-  "Chatpal_Timeout_Size_Description": "Zeit zwischen zwei Indexfenstern in ms (beim Bootstrapping)",
   "Chatpal_Timeout_Size": "Index Timeout",
+  "Chatpal_Timeout_Size_Description": "Zeit zwischen zwei Indexfenstern in ms (beim Bootstrapping)",
   "Chatpal_Users": "User",
   "Chatpal_Welcome": "Viel Spaß beim finden!",
-  "Chatpal_Window_Size_Description": "Größe der Indexfenster in h (beim Bootstrapping)",
   "Chatpal_Window_Size": "Index Fenstergröße",
+  "Chatpal_Window_Size_Description": "Größe der Indexfenster in h (beim Bootstrapping)",
   "Choose_a_room": "Raum auswählen",
   "Choose_messages": "Nachrichten auswählen",
   "Choose_the_alias_that_will_appear_before_the_username_in_messages": "Wählen Sie einen Alias, der vor dem Benutzernamen in Nachrichten angezeigt wird.",
   "Choose_the_username_that_this_integration_will_post_as": "Wählen Sie den Benutzernamen, unter dem die Integration Nachrichten postet.",
-  "clean-channel-history_description": "Berechtigung, die Historie aus Kanälen zu löschen",
   "clean-channel-history": "Kanalhistorie löschen",
-  "Clear_all_unreads_question": "Möchten Sie alle ungelesenen Nachrichten löschen?",
+  "clean-channel-history_description": "Berechtigung, die Historie aus Kanälen zu löschen",
+  "clear": "Löschen",
+  "Clear_all_unreads_question": "Möchtest Du alle ungelesenen Nachrichten löschen?",
   "clear_cache_now": "Zwischenspeicher jetzt leeren",
   "clear_history": "Verlauf löschen",
-  "clear": "Löschen",
-  "Click_here_for_more_info": "Für weitere Informationen hier klicken",
   "Click_here": "Hier klicken",
+  "Click_here_for_more_info": "Für weitere Informationen hier klicken",
   "Click_the_messages_you_would_like_to_send_by_email": "Klicken Sie auf die Nachrichten, die Sie per E-Mail senden möchten",
   "Click_to_join": "Hier klicken um teilzunehmen!",
   "Client_ID": "Client-ID",
   "Client_Secret": "Client-Geheimnis",
   "Clients_will_refresh_in_a_few_seconds": "Clients werden in wenigen Sekunden aktualisiert",
-  "close-livechat-room_description": "Berechtigung, den aktuellen Livechat-Raum zu schließen",
+  "close": "Schließen",
+  "Close": "Schließen",
   "close-livechat-room": "Livechat-Raum schließen",
-  "close-others-livechat-room_description": "Berechtigung, andere Livechat-Räume zu schließen",
+  "close-livechat-room_description": "Berechtigung, den aktuellen Livechat-Raum zu schließen",
   "close-others-livechat-room": "Livechat-Raum schließen",
-  "Close": "Schließen",
-  "close": "Schließen",
-  "Closed_by_visitor": "Durch Besucher geschlossen",
+  "close-others-livechat-room_description": "Berechtigung, andere Livechat-Räume zu schließen",
   "Closed": "Geschlossen",
+  "Closed_by_visitor": "Durch Besucher geschlossen",
   "Closing_chat": "Schließe Chat",
   "Collapse_Embedded_Media_By_Default": "Eingebettete Medien standardmäßig ausblenden",
   "Color": "Farbe",
@@ -558,11 +554,9 @@
   "Common_Access": "Allgemeiner Zugriff",
   "Community": "Community",
   "Compact": "Kompakt",
-  "Computer": "Computer",
   "Condensed": "Komprimiert",
-  "Confirm_New_Password_Placeholder": "Bitte gib ein neues Passwort ein ...",
-  "Confirm_new_password": "Bestätige neues Passwort",
-  "Confirm_password": "Bestätige Dein Passwort",
+  "Computer": "Computer",
+  "Confirm_password": "Bestätigen Sie Ihr Passwort",
   "Connection_Closed": "Verbindung geschlossen",
   "Connection_Reset": "Verbindung zurücksetzen",
   "Consulting": "Beratung",
@@ -572,17 +566,18 @@
   "Content": "Inhalt",
   "Continue": "Weiter",
   "Continuous_sound_notifications_for_new_livechat_room": "Kontinuierliche Soundbenachrichtigungen für den neuen Livechat-Raum",
+  "Conversation": "Gespräch",
+  "Conversations": "Gespräche",
   "Conversation_closed": "Gespräch geschlossen: __comment__.",
   "Conversation_finished_message": "Konversation beendete Nachricht",
   "conversation_with_s": "die Konversation mit% s",
-  "Conversation": "Gespräch",
-  "Conversations": "Gespräche",
   "Convert_Ascii_Emojis": "ASCII zu Emoji konvertieren",
   "Copied": "Kopiert",
-  "COPY_TO_CLIPBOARD": "IN DIE ZWISCHENABLAGE KOPIEREN",
-  "Copy_to_clipboard": "In die Zwischenablage kopieren",
   "Copy": "Kopieren",
+  "Copy_to_clipboard": "In die Zwischenablage kopieren",
+  "COPY_TO_CLIPBOARD": "IN DIE ZWISCHENABLAGE KOPIEREN",
   "Count": "Zähler",
+  "Country": "Land",
   "Country_Afghanistan": "Afghanistan",
   "Country_Albania": "Albanien",
   "Country_Algeria": "Algerien",
@@ -631,8 +626,8 @@
   "Country_Cocos_Keeling_Islands": "Kokosinseln (Keelinginseln)",
   "Country_Colombia": "Kolumbien",
   "Country_Comoros": "Komoren",
-  "Country_Congo_The_Democratic_Republic_of_The": "Kongo, Demokratische Republik",
   "Country_Congo": "Kongo",
+  "Country_Congo_The_Democratic_Republic_of_The": "Kongo, Demokratische Republik",
   "Country_Cook_Islands": "Cookinseln",
   "Country_Costa_Rica": "Costa Rica",
   "Country_Cote_Divoire": "Elfenbeinküste",
@@ -671,8 +666,8 @@
   "Country_Guadeloupe": "Guadeloupe",
   "Country_Guam": "Guam",
   "Country_Guatemala": "Guatemala",
-  "Country_Guinea_bissau": "Guinea-bissau",
   "Country_Guinea": "Guinea",
+  "Country_Guinea_bissau": "Guinea-bissau",
   "Country_Guyana": "Guyana",
   "Country_Haiti": "Haiti",
   "Country_Heard_Island_and_Mcdonald_Islands": "Heard Island und McDonald Inseln",
@@ -732,8 +727,8 @@
   "Country_Namibia": "Namibia",
   "Country_Nauru": "Nauru",
   "Country_Nepal": "Nepal",
-  "Country_Netherlands_Antilles": "Niederländische Antillen",
   "Country_Netherlands": "Niederlande",
+  "Country_Netherlands_Antilles": "Niederländische Antillen",
   "Country_New_Caledonia": "Neu-Kaledonien",
   "Country_New_Zealand": "Neuseeland",
   "Country_Nicaragua": "Nicaragua",
@@ -808,8 +803,8 @@
   "Country_Ukraine": "Ukraine",
   "Country_United_Arab_Emirates": "Vereinigte Arabische Emirate",
   "Country_United_Kingdom": "Vereinigtes Königreich",
-  "Country_United_States_Minor_Outlying_Islands": "Kleinere Inseln in den Vereinigten Staaten",
   "Country_United_States": "Vereinigte Staaten",
+  "Country_United_States_Minor_Outlying_Islands": "Kleinere Inseln in den Vereinigten Staaten",
   "Country_Uruguay": "Uruguay",
   "Country_Uzbekistan": "Usbekistan",
   "Country_Vanuatu": "Vanuatu",
@@ -822,28 +817,30 @@
   "Country_Yemen": "Jemen",
   "Country_Zambia": "Sambia",
   "Country_Zimbabwe": "Simbabwe",
-  "Country": "Land",
   "Cozy": "Angenehm",
-  "Create_A_New_Channel": "Kanal anlegen",
-  "Create_new": "Neu erstellen",
-  "Create_unique_rules_for_this_channel": "Erstelle eigene Regeln für diesen Kanal",
-  "create-c_description": "Berechtigung, öffentliche Kanäle anzulegen",
+  "Create": "Anlegen",
   "create-c": "Öffentliche Kanäle anlegen",
-  "create-d_description": "Berechtigung, Direktnachrichten zu senden",
+  "create-c_description": "Berechtigung, öffentliche Kanäle anzulegen",
   "create-d": "Direktnachrichten anlegen",
-  "create-p_description": "Berechtigung, private Kanäle anzulegen",
+  "create-d_description": "Berechtigung, Direktnachrichten zu senden",
   "create-p": "Private Kanäle anlegen",
-  "create-user_description": "Berechtigung, Benutzer anzulegen",
+  "create-p_description": "Berechtigung, private Kanäle anzulegen",
   "create-user": "Benutzer anlegen",
-  "Create": "Anlegen",
-  "Created_at_s_by_s_triggered_by_s": "Erstellt um <strong>%s</strong> von <strong>%s</strong>, angestoßen von <strong>%s</strong>",
-  "Created_at_s_by_s": "Erstellt am <strong>%s</strong> von <strong>%s</strong>",
+  "create-user_description": "Berechtigung, Benutzer anzulegen",
+  "Create_A_New_Channel": "Kanal anlegen",
+  "Create_new": "Neu erstellen",
+  "Create_unique_rules_for_this_channel": "Erstelle eigene Regeln für diesen Kanal",
   "Created_at": "Erstellt am",
+  "Created_at_s_by_s": "Erstellt am <strong>%s</strong> von <strong>%s</strong>",
+  "Created_at_s_by_s_triggered_by_s": "Erstellt um <strong>%s</strong> von <strong>%s</strong>, angestoßen von <strong>%s</strong>",
   "CRM_Integration": "CRM-Integration",
   "CROWD_Reject_Unauthorized": "Unauthorisierte ablehnen.",
+  "Crowd_sync_interval_Description": "Das Intervall zwischen Synchronisierungen. Z. B. `every 24 hours` oder `on the first day of the week`. Weitere Beispiele unter [Cron Text Parser](http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "Aktuelle Chats",
   "Current_Status": "Aktueller Status",
+  "Custom": "Benutzerdefiniert",
   "Custom_agent": "Kundenspezifischer Agent",
+  "Custom_Emoji": "Benutzerdefinierte Emoji",
   "Custom_Emoji_Add": "Neuen Emoji hinzufügen",
   "Custom_Emoji_Added_Successfully": "Benutzerdefinierter Emoji erfolgreich hinzugefügt",
   "Custom_Emoji_Delete_Warning": "Das Löschen eines Emojis kann nicht rückgänig gemacht werden.",
@@ -852,7 +849,6 @@
   "Custom_Emoji_Has_Been_Deleted": "Der benutzerdefinierte Emoji wurde gelöscht.",
   "Custom_Emoji_Info": "Benutzerdefinierter-Emoji-Info",
   "Custom_Emoji_Updated_Successfully": "Benutzerdefinierter Emoji erfolgreich aktualisiert",
-  "Custom_Emoji": "Benutzerdefinierte Emoji",
   "Custom_Fields": "Benutzerdefinierte Felder",
   "Custom_oauth_helper": "Bei der Einrichtung Ihres OAuth-Providers muss eine Rückruf-URL angegeben werden. Benutzen Sie dafür folgende URL: <pre>%s</pre>",
   "Custom_oauth_unique_name": "Name des OAuth-Kontos",
@@ -867,128 +863,127 @@
   "Custom_Sound_Info": "Info zu eigenen Tönen",
   "Custom_Sound_Saved_Successfully": "Der eigene Ton wurde erfolgreich gespeichert",
   "Custom_Sounds": "Benutzerdefinierte Töne",
-  "Custom_Translations_Description": "Ein gültiges JSON, in dem die Schlüssel Sprachkürzel sind, die wiederum Tupel von Schlüssel und Übersetzungen enthalten. Beispiel: <br/><code>{\\n \"en\"  {\\n  \"Channels\"  \"Rooms\"\\n },\\n \"de\"  {\\n  \"Channels\"  \"Räume\"\\n }\\n}</code>",
   "Custom_Translations": "Benutzerdefinierte Ãœbersetzungen",
-  "Custom": "Benutzerdefiniert",
+  "Custom_Translations_Description": "Ein gültiges JSON, in dem die Schlüssel Sprachkürzel sind, die wiederum Tupel von Schlüssel und Übersetzungen enthalten. Beispiel: <br/><code>{\\n \"en\"  {\\n  \"Channels\"  \"Rooms\"\\n },\\n \"de\"  {\\n  \"Channels\"  \"Räume\"\\n }\\n}</code>",
   "Customize": "anpassen",
   "CustomSoundsFilesystem": "Dateisystem für benutzerdefinierte Töne",
   "Dashboard": "Dashboard",
+  "Date": "Datum",
   "Date_From": "Von",
   "Date_to": "bis",
-  "Date": "Datum",
   "days": "Tage",
-  "DB_Migration_Date": "Datenbankmigrationsdatum",
   "DB_Migration": "Datenbankmigration",
+  "DB_Migration_Date": "Datenbankmigrationsdatum",
   "Deactivate": "Deaktivieren",
   "Decline": "ablehnen",
   "Default": "Voreinstellung",
+  "Delete": "Löschen",
+  "delete-c": "Öffentliche Kanäle löschen",
+  "delete-c_description": "Berechtigung, öffentliche Kanäle zu löschen",
+  "delete-d": "Direktnachrichten löschen",
+  "delete-d_description": "Berechtigung, Direktnachrichten zu löschen",
+  "delete-message": "Nachricht löschen",
+  "delete-message_description": "Berechtigung, eine Nachricht in einem Raum zu löschen",
+  "delete-p": "Private Kanäle löschen",
+  "delete-p_description": "Berechtigung, private Kanäle zu löschen",
+  "delete-user": "Benutzer löschen",
+  "delete-user_description": "Berechtigung, einen Benutzer zu löschen",
   "Delete_message": "Nachricht löschen",
   "Delete_my_account": "Mein Konto löschen",
   "Delete_Room_Warning": "Beim Löschen eines Raums werden alle Nachrichten in diesem Raum unwiderruflich gelöscht.",
+  "Delete_User_Warning": "Beim Löschen eines Benutzers werden alle Nachrichten des Benutzers unwiderruflich gelöscht.",
   "Delete_User_Warning_Delete": "Beim Löschen eines Benutzers werden alle Nachrichten des Benutzers unwiderruflich gelöscht.",
   "Delete_User_Warning_Keep": "Der Benutzer wird gelöscht, aber seine Nachrichten bleiben sichtbar. Das kann nicht rückgängig gemacht werden.",
   "Delete_User_Warning_Unlink": "Durch das Löschen eines Benutzers wird der Benutzername aus allen Nachrichten gelöscht. Das kann nicht rückgängig gemacht werden.",
-  "Delete_User_Warning": "Beim Löschen eines Benutzers werden alle Nachrichten des Benutzers unwiderruflich gelöscht.",
-  "delete-c_description": "Berechtigung, öffentliche Kanäle zu löschen",
-  "delete-c": "Öffentliche Kanäle löschen",
-  "delete-d_description": "Berechtigung, Direktnachrichten zu löschen",
-  "delete-d": "Direktnachrichten löschen",
-  "delete-message_description": "Berechtigung, eine Nachricht in einem Raum zu löschen",
-  "delete-message": "Nachricht löschen",
-  "delete-p_description": "Berechtigung, private Kanäle zu löschen",
-  "delete-p": "Private Kanäle löschen",
-  "delete-user_description": "Berechtigung, einen Benutzer zu löschen",
-  "delete-user": "Benutzer löschen",
-  "Delete": "Löschen",
   "Deleted": "Gelöscht!",
-  "Department_removed": "Die Abteilung wurde gelöscht.",
   "Department": "Abteilung",
+  "Department_removed": "Die Abteilung wurde gelöscht.",
   "Departments": "Abteilungen",
   "Deployment_ID": "Deployment-ID",
   "Description": "Beschreibung",
+  "Desktop": "Desktop",
   "Desktop_Notification_Test": "Desktop-Benachrichtigungstest",
+  "Desktop_Notifications": "Desktop-Benachrichtigungen",
   "Desktop_Notifications_Default_Alert": "Desktop-Benachrichtigungen bei",
   "Desktop_Notifications_Disabled": "Desktop-Benachrichtigungen sind deaktiviert. Ändern Sie Ihre Browsereinstellungen, wenn Sie Benachrichtigungen erhalten möchten.",
-  "Desktop_Notifications_Duration_Description": "Die Anzeigedauer der Desktop-Benachrichtigungen in Sekunden. Dies kann das OS X Notification Center beeinflussen. Geben Sie 0 ein, um die Standard-Browser-Einstellungen zu verwenden und auch das OS X Notification Center nicht zu beeinflussen.",
   "Desktop_Notifications_Duration": "Desktop-Benachrichtigungsdauer",
+  "Desktop_Notifications_Duration_Description": "Die Anzeigedauer der Desktop-Benachrichtigungen in Sekunden. Dies kann das OS X Notification Center beeinflussen. Geben Sie 0 ein, um die Standard-Browser-Einstellungen zu verwenden und auch das OS X Notification Center nicht zu beeinflussen.",
   "Desktop_Notifications_Enabled": "Desktop-Benachrichtigungen sind aktiviert.",
-  "Desktop_Notifications": "Desktop-Benachrichtigungen",
-  "Desktop": "Desktop",
   "Details": "Details",
   "Different_Style_For_User_Mentions": "Anderer Stil für Benutzer-Erwähnungen",
   "Direct_message_someone": "Jemandem eine Direktnachricht schicken",
   "Direct_Messages": "Direktnachrichten",
-  "Direct_Reply_Debug_Description": "[Achtung!] Das Aktivieren des Debug-Modus führt dazu, dass Ihr Passwort im Klartext in der Administrationskonsole erscheint.",
+  "Direct_Reply": "Direktantwort",
   "Direct_Reply_Debug": "Direktantwort debuggen",
+  "Direct_Reply_Debug_Description": "[Achtung!] Das Aktivieren des Debug-Modus führt dazu, dass Ihr Passwort im Klartext in der Administrationskonsole erscheint.",
   "Direct_Reply_Delete": "Abgefangene E-Mails löschen",
   "Direct_Reply_Enable": "Direktantwort aktivieren",
-  "Direct_Reply_Frequency_Description": "(in Minuten, Standard/Minimum 2)",
   "Direct_Reply_Frequency": "Frequenz, in der E-Mails überprüft werden",
+  "Direct_Reply_Frequency_Description": "(in Minuten, Standard/Minimum 2)",
   "Direct_Reply_Host": "Host für Direktantworten",
   "Direct_Reply_IgnoreTLS": "TLS ignorieren",
   "Direct_Reply_Password": "Passwort",
   "Direct_Reply_Port": "Port für Direktantworten",
   "Direct_Reply_Protocol": "Protokoll für Direktantworten",
-  "Direct_Reply_Separator_Description": "[Nur verändern, wenn Sie wirklich sicher sind, was Sie tun (s. Dokumentation)]<br/>Separator zwischen Base- und Tag-Teil der E-Mail",
   "Direct_Reply_Separator": "Trennzeichen",
-  "Direct_Reply_Username_Description": "Bitte verwenden Sie eine absolute E-Mail-Adresse. Tagging ist nicht erlaubt und würde überschrieben.",
+  "Direct_Reply_Separator_Description": "[Nur verändern, wenn Sie wirklich sicher sind, was Sie tun (s. Dokumentation)]<br/>Separator zwischen Base- und Tag-Teil der E-Mail",
   "Direct_Reply_Username": "Benutzername",
-  "Direct_Reply": "Direktantwort",
-  "Directory_Search_Placeholder": "Namen eingeben",
+  "Direct_Reply_Username_Description": "Bitte verwenden Sie eine absolute E-Mail-Adresse. Tagging ist nicht erlaubt und würde überschrieben.",
   "Directory": "Verzeichnis",
   "Disable_Facebook_integration": "Fakebook Integration deaktivieren",
   "Disable_Notifications": "Benachrichtigungen deaktivieren",
   "Disable_two-factor_authentication": "Zwei-Faktor-Authentifizierung deaktivieren",
   "Disabled": "deaktiviert",
-  "Disallow_reacting_Description": "Verhindert, dass ein Benutzer auf eine Nachricht mit Emojis reagiert",
   "Disallow_reacting": "Reaktionen verbieten",
+  "Disallow_reacting_Description": "Verhindert, dass ein Benutzer auf eine Nachricht mit Emojis reagiert",
   "Display_offline_form": "Formular für Offline-Kontakt anzeigen",
   "Display_unread_counter": "Anzahl der ungelesenen Nachrichten anzeigen",
   "Displays_action_text": "Zeigt den Aktionstext",
+  "Dont_ask_me_again": "Nicht noch einmal fragen!",
+  "Dont_ask_me_again_list": "Frag mich nicht nochmal Liste",
   "Do_not_display_unread_counter": "Keinerlei Zähler für diesen Kanal anzeigen",
-  "Do_you_want_to_accept": "Willst du akzeptieren?",
-  "Do_you_want_to_change_to_s_question": "Möchten Sie dies zu <strong>%s</strong> ändern?",
+  "Do_you_want_to_accept": "Möchten Sie akzeptieren?",
+  "Do_you_want_to_change_to_s_question": "Möchtest Du dies zu <strong>%s</strong> ändern?",
   "Document_Domain": "Dokumentdomäne",
+  "Domain": "Domain",
   "Domain_added": "Domäne hinzugefügt",
   "Domain_removed": "Domäne entfernt",
-  "Domain": "Domain",
-  "Domains_allowed_to_embed_the_livechat_widget": "Komma-separierte Liste der Domänen, in denen das Livechat-Widget eingebettet werden darf. Leer lassen, um keine Einschränkung vorzunehmen.",
   "Domains": "Domains",
-  "Dont_ask_me_again_list": "Frag mich nicht nochmal Liste",
-  "Dont_ask_me_again": "Nicht noch einmal fragen!",
+  "Domains_allowed_to_embed_the_livechat_widget": "Komma-separierte Liste der Domänen, in denen das Livechat-Widget eingebettet werden darf. Leer lassen, um keine Einschränkung vorzunehmen.",
   "Download_My_Data": "Meine Daten seit dem letzten Export herunterladen",
   "Download_Snippet": "Download",
   "Drop_to_upload_file": "Ablegen, um Datei hochzuladen",
-  "Dry_run_description": "Es wird nur eine E-Mail an die Adresse aus dem Feld \"Absender\" geschickt. Die E-Mail-Adresse muss zu einem gültigen Benutzer gehören.",
   "Dry_run": "Probelauf",
+  "Dry_run_description": "Es wird nur eine E-Mail an die Adresse aus dem Feld \"Absender\" geschickt. Die E-Mail-Adresse muss zu einem gültigen Benutzer gehören.",
   "Duplicate_archived_channel_name": "Ein archivierter Kanal mit dem Namen '%s' existiert bereits.",
   "Duplicate_archived_private_group_name": "Eine archivierter private Gruppe mit dem Namen '%s' existiert bereits.",
   "Duplicate_channel_name": "Ein Kanal mit dem Namen '%s' existiert bereits",
   "Duplicate_private_group_name": "Eine private Gruppe mit dem Namen '%s' existiert bereits.",
   "Duration": "Dauer",
-  "Edit_Custom_Field": "Benutzerdefinierte Felder bearbeiten",
-  "Edit_Department": "Abteilung bearbeiten",
-  "Edit_previous_message": "`%s` - Bearbeite vorherige Nachricht",
-  "Edit_Trigger": "Trigger bearbeiten",
-  "edit-message_description": "Berechtigung, eine Nachricht in einem Raum zu bearbeiten",
+  "Edit": "Bearbeiten",
   "edit-message": "Nachricht bearbeiten",
-  "edit-other-user-active-status_description": "Berechtigung, den Online-Status anderer Benutzer zu ändern",
+  "edit-message_description": "Berechtigung, eine Nachricht in einem Raum zu bearbeiten",
   "edit-other-user-active-status": "Online-Status anderer Benutzer ändern",
-  "edit-other-user-info_description": "Berechtigung, Benutzer-Informationen (Namen, Benutzernamen, E-Mail-Adresse) anderer Personen zu ändern",
+  "edit-other-user-active-status_description": "Berechtigung andere Benutzerkonten zu aktivieren oder zu deaktivieren",
   "edit-other-user-info": "Benutzer-Informationen Anderer ändern",
-  "edit-other-user-password_description": "Berechtigung, das Passwort anderer Benutzer zu ändern. Dies erfordert die Berechtigung, die Benutzer-Informationen Anderer zu ändern.",
+  "edit-other-user-info_description": "Berechtigung, Benutzer-Informationen (Namen, Benutzernamen, E-Mail-Adresse) anderer Personen zu ändern",
   "edit-other-user-password": "Passwort anderer Benutzer ändern",
-  "edit-privileged-setting_description": "Berechtigung, besonders geschützte Einstellungen zu ändern",
+  "edit-other-user-password_description": "Berechtigung, das Passwort anderer Benutzer zu ändern. Dies erfordert die Berechtigung, die Benutzer-Informationen Anderer zu ändern.",
   "edit-privileged-setting": "Besonders geschützte Einstellungen ändern",
+  "edit-privileged-setting_description": "Berechtigung, besonders geschützte Einstellungen zu ändern",
+  "edit-room": "Raum bearbeiten",
   "edit-room_description": "Berechtigung, einen Raum zu bearbeiten (Name, Thema, Sichtbarkeit, Archivierung)",
-  "edit-room-retention-policy_description": "Berechtigung zum Bearbeiten der Aufbewahrungsrichtlinie eines Raums, um darin enthaltene Nachrichten automatisch zu löschen",
   "edit-room-retention-policy": "Bearbeiten der Aufbewahrungsrichtlinie für Räume",
-  "edit-room": "Raum bearbeiten",
-  "Edit": "Bearbeiten",
+  "edit-room-retention-policy_description": "Berechtigung zum Bearbeiten der Aufbewahrungsrichtlinie eines Raums, um darin enthaltene Nachrichten automatisch zu löschen",
+  "Edit_Custom_Field": "Benutzerdefinierte Felder bearbeiten",
+  "Edit_Department": "Abteilung bearbeiten",
+  "Edit_previous_message": "`%s` - Bearbeite vorherige Nachricht",
+  "Edit_Trigger": "Trigger bearbeiten",
   "edited": "bearbeitet",
   "Editing_room": "Raum bearbeiten",
   "Editing_user": "BenutzerIn bearbeiten",
   "Education": "Bildung",
+  "Email": "E-Mail",
   "Email_address_to_send_offline_messages": "E-Mail-Adresse zum Senden von Offline-Nachrichten",
   "Email_already_exists": "Die E-Mail-Adresse existiert bereits.",
   "Email_body": "E-Mail Textkörper",
@@ -996,23 +991,22 @@
   "Email_Footer_Description": "Sie können die folgenden Platzhalter verwenden: <br/><ul><li> [Site_Name] und [Site_URL] für den Anwendungsname und die URL. </li></ul>",
   "Email_from": "Absender",
   "Email_Header_Description": "Sie können die folgenden Platzhalter verwenden: <br/><ul><li> [Site_Name] und [Site_URL] für den Anwendungsname und die URL. </li></ul>",
+  "Email_Notification_Mode": "Offline-E-Mail-Benachrichtigungen",
   "Email_Notification_Mode_All": "Jede Erwähnung/DM",
   "Email_Notification_Mode_Disabled": "deaktiviert",
-  "Email_Notification_Mode": "Offline-E-Mail-Benachrichtigungen",
   "Email_or_username": "E-Mail-Adresse oder Nutzername",
-  "Email_Placeholder_any": "Bitte geben Sie E-Mail-Adressen ein ...",
   "Email_Placeholder": "Bitte geben Sie Ihre E-Mail-Adresse ein",
+  "Email_Placeholder_any": "Bitte geben Sie E-Mail-Adressen ein ...",
   "Email_subject": "Betreff",
   "Email_verified": "Die E-Mail-Adresse wurde bestätigt.",
-  "Email": "E-Mail",
   "Emoji": "Emoji",
   "EmojiCustomFilesystem": "Dateisystem für eigene Emojis",
   "Empty_title": "Leerer Titel",
+  "Enable": "Aktivieren",
   "Enable_Auto_Away": "\"Abwesend\" automatisch aktivieren",
   "Enable_Desktop_Notifications": "Desktop-Benachrichtigungen",
   "Enable_Svg_Favicon": "SVG Favicon",
   "Enable_two-factor_authentication": "Zwei-Faktor-Authentifizierung aktivieren",
-  "Enable": "Aktivieren",
   "Enabled": "Aktiviert",
   "Encrypted_message": "Verschlüsselte Nachricht",
   "End_OTR": "OTR beenden",
@@ -1022,16 +1016,14 @@
   "Enter_a_username": "Benutzernamen eingeben",
   "Enter_Alternative": "Alternativer Modus (Senden mit Eingabetaste + Strg/Alt/Shift/Command)",
   "Enter_authentication_code": "Dateisystem für eigene Emojis",
-  "Enter_Behaviour_Description": "Das verändert, ob die Eingabetaste eine Nachricht versendet oder einen Zeilenumbruch erzeugt",
   "Enter_Behaviour": "Verhalten der Eingabetaste:",
+  "Enter_Behaviour_Description": "Das verändert, ob die Eingabetaste eine Nachricht versendet oder einen Zeilenumbruch erzeugt",
   "Enter_name_here": "Namen hier eingeben",
   "Enter_Normal": "Normaler Modus (mit Eingabetaste senden)",
   "Enter_to": "Eingabetaste:  ",
   "Enterprise": "Unternehmen",
   "Entertainment": "Unterhaltung",
-  "Error_404": "Fehler: 404(nicht gefunden)",
-  "Error_changing_password": "Fehler beim Ändern des Passwortes",
-  "Error_loading_pages": "Fehler beim Laden der Seite",
+  "Error": "Fehler",
   "error-action-not-allowed": "__action__ ist nicht erlaubt",
   "error-application-not-found": "Anwendung nicht gefunden",
   "error-archived-duplicate-name": "Es gibt bereits einen archivierten Kanal mit dem Namen '__room_name__'",
@@ -1057,19 +1049,19 @@
   "error-invalid-actionlink": "Ungültiger Aktionslink",
   "error-invalid-arguments": "Ungültige Argumente",
   "error-invalid-asset": "Ungültiges Asset",
-  "error-invalid-channel-start-with-chars": "Ungültiger Kanal. Beginne mit @ oder #",
   "error-invalid-channel": "Ungültiger Kanal.",
-  "error-invalid-custom-field-name": "Unzulässiger Name für ein benutzerdefiniertes Feld. Benutzen Sie nur Buchstaben, Nummern, Binde- und Unterstriche.",
+  "error-invalid-channel-start-with-chars": "Ungültiger Kanal. Beginne mit @ oder #",
   "error-invalid-custom-field": "Ungültiges benutzerdefiniertes Feld",
+  "error-invalid-custom-field-name": "Unzulässiger Name für ein benutzerdefiniertes Feld. Benutzen Sie nur Buchstaben, Nummern, Binde- und Unterstriche.",
   "error-invalid-date": "Das eingegebene Datum ist ungültig.",
   "error-invalid-description": "Ungültige Beschreibung",
   "error-invalid-domain": "Ungültige Domain",
-  "error-invalid-email-address": "Ungültige E-Mail-Adresse",
   "error-invalid-email": "Ungültige E-Mail-Adresse: __email__",
+  "error-invalid-email-address": "Ungültige E-Mail-Adresse",
   "error-invalid-file-height": "Ungültige Bildhöhe der Datei",
   "error-invalid-file-type": "Ungültiges Dateiformat",
   "error-invalid-file-width": "Ungültige Bildhöhe der Datei",
-  "error-invalid-from-address": "Sie haben eine ungültige E-Mail-Adresse als Empfänger angegeben.",
+  "error-invalid-from-address": "Du hast eine ungültige E-Mail-Adresse als Empfänger angegeben.",
   "error-invalid-integration": "Ungültige Integration",
   "error-invalid-message": "Ungültige Nachricht",
   "error-invalid-method": "Ungültige Methode",
@@ -1078,9 +1070,9 @@
   "error-invalid-permission": "Ungültige Berechtigung",
   "error-invalid-redirectUri": "Ungültige Redirect-URI",
   "error-invalid-role": "Ungültige Rolle",
+  "error-invalid-room": "Ungültiger Raum",
   "error-invalid-room-name": "<strong>%s</strong> ist kein zulässiger Raumname",
   "error-invalid-room-type": "<strong>__type__</strong> ist kein gültiger Raumtyp.",
-  "error-invalid-room": "Ungültiger Raum",
   "error-invalid-settings": "Ungültige Einstellungen übergeben",
   "error-invalid-subscription": "Ungültiges Abonnement",
   "error-invalid-token": "Ungültiger Token",
@@ -1089,14 +1081,14 @@
   "error-invalid-user": "Ungültiger Benutzer",
   "error-invalid-username": "Ungültiger Benutzername",
   "error-invalid-webhook-response": "Die Webhook-URL antwortete mit einem anderen Status als 200",
-  "error-logged-user-not-in-room": "Sie sind nicht im Raum `% s`",
   "error-message-deleting-blocked": "Nachrichten löschen ist gesperrt",
   "error-message-editing-blocked": "Nachrichten bearbeiten ist gesperrt",
   "error-message-size-exceeded": "Nachrichtengröße überschreitet Message_MaxAllowedSize",
-  "error-missing-unsubscribe-link": "Sie müssen einen Link zum Abmelden vom Verteiler angeben.",
+  "error-missing-unsubscribe-link": "Du musst einen Link zum Abmelden vom Verteiler angeben.",
   "error-no-tokens-for-this-user": "Es liegen keine Tokens für diesen Benutzer vor",
   "error-not-allowed": "Nicht erlaubt",
   "error-not-authorized": "Nicht berechtigt",
+  "error-password-policy-not-met": "Das Passwort genügt nicht den hinterlegten Richtlinien",
   "error-password-policy-not-met-maxLength": "Das Passwort ist zu lang",
   "error-password-policy-not-met-minLength": "Das Passwort ist zu kurz",
   "error-password-policy-not-met-oneLowercase": "Das Passwort entspricht nicht der Richtlinie des Servers mit mindestens einem Kleinbuchstaben",
@@ -1104,43 +1096,45 @@
   "error-password-policy-not-met-oneSpecial": "Das Passwort muss mindestens ein Sonderzeichen beinhalten",
   "error-password-policy-not-met-oneUppercase": "Das Passwort entspricht nicht der Richtlinie des Servers mit mindestens einem Großbuchstaben",
   "error-password-policy-not-met-repeatingCharacters": "Im Passwort werden zu viele Buchstaben wiederholt",
-  "error-password-policy-not-met": "Das Passwort genügt nicht den hinterlegten Richtlinien",
   "error-push-disabled": "Push-Benachrichtigungen sind deaktiviert",
-  "error-remove-last-owner": "Das ist der letzte Besitzer. Bitte bestimmen Sie einen neuen Besitzer, bevor Sie diesen entfernen.",
+  "error-remove-last-owner": "Dies ist der letzte Besitzer. Bitte einen neuen Besitzer bestimmen, bevor Sie diesen entfernen.",
   "error-role-in-use": "Die Rolle kann nicht gelöscht werden, da sie gerade verwendet wird.",
   "error-role-name-required": "Ein Rollenname muss angegeben werden",
   "error-room-is-not-closed": "Das Zimmer ist nicht geschlossen",
   "error-the-field-is-required": "Das Feld __field__ ist erforderlich.",
   "error-this-is-not-a-livechat-room": "Dies ist kein Livechat-Raum",
   "error-personal-access-tokens-are-current-disabled": "Persönliche Zugriffsschlüssel sind zurzeit deaktiviert",
-  "error-token-already-exists": "Ein Token mit diesem Namen existiert bereits",
-  "error-token-does-not-exists": "Der Token existiert nicht",
+  "error-token-already-exists": "Ein Zugangsschlüssel mit diesem Namen existiert bereits",
+  "error-token-does-not-exists": "Der Zugangsschlüssel existiert nicht",
   "error-too-many-requests": "Fehler, zu viele Anfragen. Bitte fahren Sie langsamer fort. Sie müssen __seconds__ Sekunden warten, bevor Sie es erneut versuchen können.",
   "error-user-has-no-roles": "Dem Benutzer sind keine Rollen zugewiesen.",
   "error-user-is-not-activated": "Der Benutzer ist nicht aktiviert.",
   "error-user-limit-exceeded": "Die Anzahl der Benutzer, die Sie hinzufügen wollen, übersteigt das vom Administrator gesetzte Limit.",
   "error-user-not-in-room": "Der Benutzer ist nicht in diesem Raum.",
+  "error-logged-user-not-in-room": "Sie sind nicht im Raum `% s`",
   "error-user-registration-disabled": "Benutzerregistrierung ist deaktiviert",
   "error-user-registration-secret": "Benutzerregistrierung ist nur über geheime URL erlaubt",
-  "error-you-are-last-owner": "Sie sind der letzte Besitzer. Bitte bestimmen Sie einen neuen Besitzer, bevor Sie den Raum verlassen.",
-  "Error": "Fehler",
+  "error-you-are-last-owner": "Du bist der letzte Besitzer. Bitte bestimme einen neuen Besitzer, bevor Du den Raum verlässt.",
+  "Error_404": "Fehler: 404(nicht gefunden)",
+  "Error_changing_password": "Fehler beim Ändern des Passwortes",
+  "Error_loading_pages": "Fehler beim Laden der Seite",
   "Esc_to": "Esc: ",
-  "Event_Trigger_Description": "Bitte wählen Sie aus, welche Eventarten diesen ausgehenden Webhook auslösen",
   "Event_Trigger": "Event Trigger",
+  "Event_Trigger_Description": "Bitte wählen Sie aus, welche Eventarten diesen ausgehenden Webhook auslösen",
+  "every_second": "Einmal jede Sekunde",
   "every_10_seconds": "Einmal alle 10 Sekunden",
-  "every_30_minutes": "alle 30 Minuten",
+  "every_minute": "Einmal pro Minute",
   "every_5_minutes": "Einmal alle 5 Minuten",
-  "every_day": "Einmal jeden Tag",
+  "every_30_minutes": "alle 30 Minuten",
   "every_hour": "stündlich",
-  "every_minute": "Einmal pro Minute",
-  "every_second": "Einmal jede Sekunde",
   "every_six_hours": "alle 6 Stunden",
+  "every_day": "Einmal jeden Tag",
   "Everyone_can_access_this_channel": "Jeder kann auf diesen Kanal zugreifen",
   "Example_s": "Beispiel: <code class=\"inline\">%s</code>",
-  "except_pinned": "(außer denen, die gepinnt sind)",
-  "Exclude_Botnames_Description": "Keine Nachrichten von Bots verbreiten, deren Name dem oben genannten regulären Ausdruck entsprechen. Wenn das Feld leer bleibt, werden alle Nachrichten verbreitet.",
   "Exclude_Botnames": "Bots ausschließen",
+  "Exclude_Botnames_Description": "Keine Nachrichten von Bots verbreiten, deren Name dem oben genannten regulären Ausdruck entsprechen. Wenn das Feld leer bleibt, werden alle Nachrichten verbreitet.",
   "Exclude_pinned": "Pinned-Nachrichten ausschließen",
+  "except_pinned": "(außer denen, die gepinnt sind)",
   "Execute_Synchronization_Now": "Jetzt eine Synchronisierung ausführen",
   "Export_My_Data": "Meine Daten exportieren",
   "External_Queue_Service_URL": "URL der Queue des externen Dienstes",
@@ -1151,35 +1145,33 @@
   "Favorites": "Favoriten",
   "Feature_Depends_on_Livechat_Visitor_navigation_as_a_message_to_be_enabled": "Diese Funktion hängt davon ab, ob \"Besucher-Navigationsprotokoll als Nachricht senden\" aktiviert sein soll.",
   "Features_Enabled": "Aktivierte Funktionen",
+  "Field": "Feld",
   "Field_removed": "Feld entfernt",
   "Field_required": "Feld erforderlich",
-  "Field": "Feld",
   "File_exceeds_allowed_size_of_bytes": "Die Datei ist größer als das erlaubte Maximum von __size__ Bytes",
   "File_name_Placeholder": "Dateien suchen...",
-  "File_not_allowed_direct_messages": "Dateiaustausch ist in Direktnachrichten nicht möglich.",
   "File_removed_by_automatic_prune": "Datei wurde durch automatische Bereinigung entfernt",
+  "File_not_allowed_direct_messages": "Dateiaustausch ist in Direktnachrichten nicht möglich.",
   "File_removed_by_prune": "Die Datei wurde entfernt",
   "File_type_is_not_accepted": "Dateityp wir nicht akzeptiert.",
   "File_uploaded": "Datei hochgeladen",
-  "Files_only": "Entferne nur die angehängten Dateien, behalte Nachrichten",
-  "files_pruned": "Dateien gelöscht.",
-  "files": "Dateien",
+  "FileUpload": "Dateien hochladen",
   "FileUpload_Disabled": "Datei Uploads ",
-  "FileUpload_Enabled_Direct": "Dateiaustausch ist in Direktnachrichten möglich.",
   "FileUpload_Enabled": "Hochladen von Dateien aktivieren",
   "FileUpload_Error": "Datei-Upload-Fehler",
+  "FileUpload_Enabled_Direct": "Dateiaustausch ist in Direktnachrichten möglich.",
   "FileUpload_File_Empty": "Datei ist leer",
   "FileUpload_FileSystemPath": "Systempfad",
-  "FileUpload_GoogleStorage_AccessId_Description": "Der Zugriffsschlüssel liegt üblicherweise in Form einer E-Mail-Adresse vor, z. B. \"example-test@example.iam.gserviceaccount.com\"",
   "FileUpload_GoogleStorage_AccessId": "Google Storage Zugriffsschlüssel",
-  "FileUpload_GoogleStorage_Bucket_Description": "Der Name des Buckets, in welchen die Dateien hochgeladen werden sollen",
+  "FileUpload_GoogleStorage_AccessId_Description": "Der Zugriffsschlüssel liegt üblicherweise in Form einer E-Mail-Adresse vor, z. B. \"example-test@example.iam.gserviceaccount.com\"",
   "FileUpload_GoogleStorage_Bucket": "Google Storage Bucket Name",
-  "FileUpload_GoogleStorage_Proxy_Avatars_Description": "Der Zugriff auf alle Avatare erfolgt über den Rocket.Chat Server als Proxy, anstatt direkt die Asset-URL an den Client weiterzureichen",
+  "FileUpload_GoogleStorage_Bucket_Description": "Der Name des Buckets, in welchen die Dateien hochgeladen werden sollen",
   "FileUpload_GoogleStorage_Proxy_Avatars": "Avatare proxy-en",
-  "FileUpload_GoogleStorage_Proxy_Uploads_Description": "Der Zugriff auf alle hochgelanden Dateien erfolgt über den Rocket.Chat Server als Proxy, anstatt direkt die Asset-URL an den Client weiterzureichen",
+  "FileUpload_GoogleStorage_Proxy_Avatars_Description": "Der Zugriff auf alle Avatare erfolgt über den Rocket.Chat Server als Proxy, anstatt direkt die Asset-URL an den Client weiterzureichen",
   "FileUpload_GoogleStorage_Proxy_Uploads": "Datei-Uploads proxy-en",
-  "FileUpload_GoogleStorage_Secret_Description": "Bitte folgen Sie <a href=\"https://github.com/CulturalMe/meteor-slingshot#google-cloud\">diesen Anweisungen</a> und fügen Sie das Ergebnis hier ein.",
+  "FileUpload_GoogleStorage_Proxy_Uploads_Description": "Der Zugriff auf alle hochgelanden Dateien erfolgt über den Rocket.Chat Server als Proxy, anstatt direkt die Asset-URL an den Client weiterzureichen",
   "FileUpload_GoogleStorage_Secret": "Google Storage Secret",
+  "FileUpload_GoogleStorage_Secret_Description": "Bitte folgen Sie <a href=\"https://github.com/CulturalMe/meteor-slingshot#google-cloud\">diesen Anweisungen</a> und fügen Sie das Ergebnis hier ein.",
   "FileUpload_MaxFileSize": "Max. Größe für hochgeladene Dateien (in Bytes)",
   "FileUpload_MaxFileSizeDescription": "Setzen Sie den Wert auf -1, um die Dateigrößenbeschränkung zu entfernen.",
   "FileUpload_MediaType_NotAccepted": "Medientyp wird nicht akzeptiert",
@@ -1194,76 +1186,77 @@
   "FileUpload_S3_BucketURL": "Bucket-URL",
   "FileUpload_S3_CDN": "CDN-Domain für Downloads",
   "FileUpload_S3_ForcePathStyle": "Pfad-Stil forcieren",
-  "FileUpload_S3_Proxy_Avatars_Description": "Der Zugriff auf alle Avatare erfolgt über den Rocket.Chat Server als Proxy, anstatt direkt die Asset-URL an den Client weiterzureichen",
   "FileUpload_S3_Proxy_Avatars": "Avatare proxy-en",
-  "FileUpload_S3_Proxy_Uploads_Description": "Der Zugriff auf alle hochgelanden Dateien erfolgt über den Rocket.Chat Server als Proxy, anstatt direkt die Asset-URL an den Client weiterzureichen",
+  "FileUpload_S3_Proxy_Avatars_Description": "Der Zugriff auf alle Avatare erfolgt über den Rocket.Chat Server als Proxy, anstatt direkt die Asset-URL an den Client weiterzureichen",
   "FileUpload_S3_Proxy_Uploads": "Datei-Uploads proxy-en",
+  "FileUpload_S3_Proxy_Uploads_Description": "Der Zugriff auf alle hochgelanden Dateien erfolgt über den Rocket.Chat Server als Proxy, anstatt direkt die Asset-URL an den Client weiterzureichen",
   "FileUpload_S3_Region": "Region",
   "FileUpload_S3_SignatureVersion": "Signaturversion",
-  "FileUpload_S3_URLExpiryTimeSpan_Description": "Zeit, nach der Amazon S3 generierte URLs als nicht mehr gültig gelten. Wird ignoriert, wenn weniger als fünf Sekunden konfiguriert wurde",
   "FileUpload_S3_URLExpiryTimeSpan": "Verfallsdatum für URLs",
+  "FileUpload_S3_URLExpiryTimeSpan_Description": "Zeit, nach der Amazon S3 generierte URLs als nicht mehr gültig gelten. Wird ignoriert, wenn weniger als fünf Sekunden konfiguriert wurde",
   "FileUpload_Storage_Type": "Speicherort",
+  "FileUpload_Webdav_Upload_Folder_Path": "Ordnerpfad hochladen",
+  "FileUpload_Webdav_Upload_Folder_Path_Description": "WebDAV-Ordnerpfad, in den die Dateien hochgeladen werden sollen",
+  "FileUpload_Webdav_Server_URL": "URL des WebDAV-Serverzugriffs",
+  "FileUpload_Webdav_Username": "WebDAV Benutzername",
   "FileUpload_Webdav_Password": "WebDAV Passwort",
-  "FileUpload_Webdav_Proxy_Avatars_Description": "Übertragung von Proxy-Avatardateien über Ihren Server anstelle des direkten Zugriffs auf die URL des Assets",
   "FileUpload_Webdav_Proxy_Avatars": "Proxy-Avatare",
-  "FileUpload_Webdav_Proxy_Uploads_Description": "Proxy-Upload von Dateiübertragungen über Ihren Server anstelle des direkten Zugriffs auf die URL des Assets",
+  "FileUpload_Webdav_Proxy_Avatars_Description": "Übertragung von Proxy-Avatardateien über Ihren Server anstelle des direkten Zugriffs auf die URL des Assets",
   "FileUpload_Webdav_Proxy_Uploads": "Proxy-Uploads",
-  "FileUpload_Webdav_Server_URL": "URL des WebDAV-Serverzugriffs",
-  "FileUpload_Webdav_Upload_Folder_Path_Description": "WebDAV-Ordnerpfad, in den die Dateien hochgeladen werden sollen",
-  "FileUpload_Webdav_Upload_Folder_Path": "Ordnerpfad hochladen",
-  "FileUpload_Webdav_Username": "WebDAV Benutzername",
-  "FileUpload": "Dateien hochladen",
+  "FileUpload_Webdav_Proxy_Uploads_Description": "Proxy-Upload von Dateiübertragungen über Ihren Server anstelle des direkten Zugriffs auf die URL des Assets",
+  "files": "Dateien",
+  "Files_only": "Entferne nur die angehängten Dateien, behalte Nachrichten",
   "Financial_Services": "Finanzdienstleistungen",
   "First_Channel_After_Login": "Erster Kanal nach dem Login",
   "Flags": "Flaggen",
   "Follow_social_profiles": "Folge uns in sozialen Netzwerken, forke uns auf GitHub und teile deine Meinung und Gedanken über die Rocket.Chat-App auf unserem Trello-Board.",
   "Fonts": "Schriften",
   "Food_and_Drink": "Essen & Trinken",
-  "Footer_Direct_Reply": "Footer, wenn Direktantworten aktiviert sind",
   "Footer": "Footer",
+  "Footer_Direct_Reply": "Footer, wenn Direktantworten aktiviert sind",
   "For_more_details_please_check_our_docs": "Für weitere Informationen sehe in der Dokumentation nach",
   "For_your_security_you_must_enter_your_current_password_to_continue": "Zu Ihrer Sicherheit wird Ihr aktuelles Passwort benötigt, bevor Sie fortfahren können",
-  "Force_Disable_OpLog_For_Cache_Description": "Selbst wenn OpLog vorhanden ist, wird es nicht zum Synchronisieren des Caches verwendet",
+  "force-delete-message": "Nachricht forciert löschen",
+  "force-delete-message_description": "Berechtigung, eine Nachricht ohne weitere Prüfungen zu löschen",
   "Force_Disable_OpLog_For_Cache": "\"Disable OpLog\" für Cache erzwingen",
-  "Force_SSL_Description": "*Achtung!* _Force SSL_ sollte niemals mit einem Reverse-Proxy verwendet werden. Falls Sie einen Reverse-Proxy verwenden, sollten Sie die Weiterleitung dort einrichten. Dies Option existiert für Anwendungen wie Heroku, die keine Weiterleitungskonfigurationen für Reverse-Proxy erlauben.",
+  "Force_Disable_OpLog_For_Cache_Description": "Selbst wenn OpLog vorhanden ist, wird es nicht zum Synchronisieren des Caches verwendet",
   "Force_SSL": "SSL erzwingen",
-  "force-delete-message_description": "Berechtigung, eine Nachricht ohne weitere Prüfungen zu löschen",
-  "force-delete-message": "Nachricht forciert löschen",
+  "Force_SSL_Description": "*Achtung!* _Force SSL_ sollte niemals mit einem Reverse-Proxy verwendet werden. Falls Sie einen Reverse-Proxy verwenden, sollten Sie die Weiterleitung dort einrichten. Dies Option existiert für Anwendungen wie Heroku, die keine Weiterleitungskonfigurationen für Reverse-Proxy erlauben.",
+  "Forgot_password": "Passwort vergessen?",
   "Forgot_Password_Description": "Sie können die folgenden Platzhalter verwenden: <br/><ul><li>[Forgot_Password_Url] für die Passwort-Wiederherstellungs-URL.</li><li>[name], [fname], [lname] für den vollstandigen Namen, Vornamen oder Nachnamen des Benutzers</li><li>[email] für die E-Mail-Adresse des Benutzers.</li><li>[Site_Name] und [Site_URL] für den Anwendungsnamen und die URL der Anwendung</li></ul>",
-  "Forgot_Password_Email_Subject": "[Site_Name] - Passwort-Wiederherstellung",
   "Forgot_Password_Email": "<a href=\"[Forgot_Password_Url]\">Hier</a> Klicken um das Passwort zurückzusetzen.",
+  "Forgot_Password_Email_Subject": "[Site_Name] - Passwort-Wiederherstellung",
   "Forgot_password_section": "Passwort vergessen",
-  "Forgot_password": "Passwort vergessen?",
+  "Forward": "Weiterleiten",
   "Forward_chat": "Chat weiterleiten",
   "Forward_to_department": "An Abteilung weiterleiten",
   "Forward_to_user": "An BenutzerIn weiterleiten",
-  "Forward": "Weiterleiten",
   "Frequently_Used": "Häufig verwendet",
   "Friday": "Freitag",
-  "From_email_warning": "<b>Warnung</b>: Der <b>Absender</b> ist wird aus den Mail-Server-Einstellungen übernommen.",
-  "From_Email": "E-Mail-Absender",
   "From": "Absender",
+  "From_Email": "E-Mail-Absender",
+  "From_email_warning": "<b>Warnung</b>: Der <b>Absender</b> ist wird aus den Mail-Server-Einstellungen übernommen.",
   "Gaming": "Spiele",
   "General": "Allgemeines",
-  "github_no_public_email": "Sie haben keine öffentliche E-Mail-Adresse in Ihrem GitHub-Account.",
+  "github_no_public_email": "Du hast keine öffentliche E-Mail-Adresse in Deinem GitHub-Account.",
   "Give_a_unique_name_for_the_custom_oauth": "Gib dem benutzerdefinierten OAuth-Konto einen eindeutigen Namen.",
   "Give_the_application_a_name_This_will_be_seen_by_your_users": "Geben Sie der Anwendung einen Namen. Alle Nutzer können diesen Namen sehen.",
+  "Global": "Global",
   "Global_purge_override_warning": "Eine globale Aufbewahrungsrichtlinie ist vorhanden. Wenn Sie die globale Aufbewahrungsrichtlinie außer Kraft setzen, können Sie nur eine Richtlinie anwenden, die strenger ist als die globale Richtlinie.",
   "Global_Search": "Globale Suche",
-  "Global": "Global",
   "Go_to_your_workspace": "Auf zu Ihrem Arbeitsbereich!",
   "Google_Vision_usage_limit_exceeded": "Nutzungsbeschränkung für Google Vision erreicht",
   "GoogleCloudStorage": "Google Cloud Speicher",
   "GoogleNaturalLanguage_ServiceAccount_Description": "Service-Konto SchlüsselDatei (JSON). Weiterführende Informationen dazu [hier](https://cloud.google.com/natural-language/docs/common/auth#set_up_a_service_account)",
   "GoogleTagManager_id": "Google-Tag-Manager-ID",
-  "GoogleVision_Block_Adult_Images_Description": "Das Blocken von nicht-jugendfreien Fotos wird nicht mehr funktionieren, sobald das monatliche Limit erreicht ist.",
   "GoogleVision_Block_Adult_Images": "Nicht-jugendfreie Fotos blocken",
+  "GoogleVision_Block_Adult_Images_Description": "Das Blocken von nicht-jugendfreien Fotos wird nicht mehr funktionieren, sobald das monatliche Limit erreicht ist.",
   "GoogleVision_Current_Month_Calls": "Aufrufe des aktuellen Monats",
   "GoogleVision_Enable": "Google Vision",
-  "GoogleVision_Max_Monthly_Calls_Description": "0 für unendlich",
   "GoogleVision_Max_Monthly_Calls": "Maximale Anzahl der monatlichen Aufrufe",
-  "GoogleVision_ServiceAccount_Description": "Erstelle einen Server-Key (JSON Format) und kopiere den JSON-String hier hinein",
+  "GoogleVision_Max_Monthly_Calls_Description": "0 für unendlich",
   "GoogleVision_ServiceAccount": "Google Vision Service Konto",
+  "GoogleVision_ServiceAccount_Description": "Erstelle einen Server-Key (JSON Format) und kopiere den JSON-String hier hinein",
   "GoogleVision_Type_Document": "Texterkennung für Dokumente",
   "GoogleVision_Type_Faces": "Gesichtserkennung",
   "GoogleVision_Type_Labels": "Erkennung von Etiketten",
@@ -1279,8 +1272,8 @@
   "Group_mentions_only": "Nur Gruppen-Erwähnungen",
   "Guest_Pool": "Gäste-Pool",
   "Hash": "Hash",
-  "Header_and_Footer": "Kopf- und Fusszeile",
   "Header": "Kopfzeile",
+  "Header_and_Footer": "Kopf- und Fusszeile",
   "Healthcare_and_Pharmaceutical": "Healthcare/Pharma",
   "Help_Center": "Hilfecenter",
   "Helpers": "Helfer",
@@ -1288,18 +1281,18 @@
   "Hidden": "Versteckt",
   "Hide_Avatars": "Avatare verstecken",
   "Hide_counter": "Zähler verstecken",
-  "Hide_flextab": "Rechte Seitenleiste über Klick verstecken",
+  "Hide_flextab": "Rechte Seitenleiste mit Klick ausblenden",
   "Hide_Group_Warning": "Sind Sie sicher, dass Sie die Gruppe \"%s\" ausblenden wollen?",
   "Hide_Livechat_Warning": "Sind Sie sich sicher, dass Sie den Livechat mit \"%s\" ausblenden wollen?",
   "Hide_Private_Warning": "Sind Sie sicher, dass Sie das Gespräch mit \"%s\" ausblenden wollen?",
   "Hide_roles": "Rollen ausblenden",
-  "Hide_Room_Warning": "Sind Sie sicher, dass Sie den Raum \"%s\" verstecken wollen?",
   "Hide_room": "Raum verstecken",
+  "Hide_Room_Warning": "Sind Sie sicher, dass Sie den Raum \"%s\" verstecken wollen?",
   "Hide_Unread_Room_Status": "Ungelesen-Status des Raums nicht anzeigen",
   "Hide_usernames": "Benutzernamen ausblenden",
+  "Highlights": "Hervorhebungen",
   "Highlights_How_To": "Um benachrichtigt zu werden, wenn ein Wort oder Ausdruck erwähnt wird, fügen Sie ihn hier hinzu. Sie können Wörter und Ausdrücke mit Kommata trennen. Groß- und Kleinschreibung wird hierbei nicht berücksichtigt.",
   "Highlights_List": "Wörter hervorheben",
-  "Highlights": "Hervorhebungen",
   "History": "Chronik",
   "Host": "Host",
   "hours": "Stunden",
@@ -1308,31 +1301,31 @@
   "How_knowledgeable_was_the_chat_agent": "Wie sachkundig war der Chat-Agent?",
   "How_long_to_wait_after_agent_goes_offline": "Wartedauer, bevor ein Agent in den Offline-Modus übergeht",
   "How_responsive_was_the_chat_agent": "Wie reaktionsschnell war der Chat-Agent?",
-  "How_satisfied_were_you_with_this_chat": "Wie zufrieden waren Sie mit diesem Chat?",
+  "How_satisfied_were_you_with_this_chat": "Wie zufrieden warst Du mit diesem Chat?",
   "How_to_handle_open_sessions_when_agent_goes_offline": "Behandlung von offenen Konversationen, wenn ein Agent Offline geht",
+  "Idle_Time_Limit": "Abwesend nach Inaktivität",
   "Idle_Time_Limit_Description": "Zeitraum bis sich der Status in away ändert. Der Wert muss in Sekunden angegeben werden.",
-  "Idle_Time_Limit": "Abwesend nach Inaktivität (in ms)",
   "if_they_are_from": "(wenn sie von% s sind)",
   "If_this_email_is_registered": "Wenn es sich um eine registrierte E-Mail-Adresse handelt, werden wir an diese eine Anleitung zum Zurücksetzen des Passworts senden. Sollten Sie in Kürzen keine E-Mail erhalten, kommen Sie wieder und versuchen Sie es noch einmal.",
   "If_you_are_sure_type_in_your_password": "Wenn Sie sich sicher sind, geben Sie Ihr Passwort ein:",
-  "If_you_are_sure_type_in_your_username": "Wenn Sie sich sicher sind, geben Sie Ihren Benutzernamen ein:",
+  "If_you_are_sure_type_in_your_username": "Wenn Du Dir sicher bist, gib Deinen Benutzernamen ein:",
   "If_you_dont_have_one_send_an_email_to_omni_rocketchat_to_get_yours": "Wenn Sie keine haben, senden Sie eine E-Mail an [omni@rocket.chat] (mailto: omni@rocket.chat), um Ihre zu erhalten.",
-  "Iframe_Integration_receive_enable_Description": "Erlaube dem übergeordneten Fenster (parent window) Befehle an Rocket.Chat zu senden.",
+  "Iframe_Integration": "Iframe-Integration",
   "Iframe_Integration_receive_enable": "Empfang zulassen",
-  "Iframe_Integration_receive_origin_Description": "Nur Seiten mit der angegebenen Herkunft erlauben Befehle abzusetzen. `*` für alle Seiten. Mehrere Werte können mittels `,` getrennt werden. Beispiel: `http://localhost,https://localhost`",
+  "Iframe_Integration_receive_enable_Description": "Erlaube dem übergeordneten Fenster (parent window) Befehle an Rocket.Chat zu senden.",
   "Iframe_Integration_receive_origin": "Herkunft für Empfang",
-  "Iframe_Integration_send_enable_Description": "Sende Events an das übergeordnete Fenster (parent window)",
+  "Iframe_Integration_receive_origin_Description": "Nur Seiten mit der angegebenen Herkunft erlauben Befehle abzusetzen. `*` für alle Seiten. Mehrere Werte können mittels `,` getrennt werden. Beispiel: `http://localhost,https://localhost`",
   "Iframe_Integration_send_enable": "Senden zulassen",
-  "Iframe_Integration_send_target_origin_Description": "Herkunfts-URL (inkl. Protokoll-Präfix), an die die Befehle gesendet werden sollen (bspw. 'https://localhost', oder *, um ein Senden nicht einzuschränken",
+  "Iframe_Integration_send_enable_Description": "Sende Events an das übergeordnete Fenster (parent window)",
   "Iframe_Integration_send_target_origin": "URL des Ziels, an das gesendet werden soll",
-  "Iframe_Integration": "Iframe-Integration",
+  "Iframe_Integration_send_target_origin_Description": "Herkunfts-URL (inkl. Protokoll-Präfix), an die die Befehle gesendet werden sollen (bspw. 'https://localhost', oder *, um ein Senden nicht einzuschränken",
   "Ignore": "Ignorieren",
   "Ignored": "Ignoriert",
   "IMAP_intercepter_already_running": "IMAP intercepter läuft bereits",
   "IMAP_intercepter_Not_running": "IMAP intercepter läuft nicht",
   "Impersonate_next_agent_from_queue": "Nehmen Sie Identität des nächsten Agenten aus der Warteschlange an",
-  "Impersonate_user_description": "Wenn aktiviert, erstellt die Integration Nachrichten mit der Identität des Benutzers der die Integration ausgelöst hat",
   "Impersonate_user": "Benutzeridentität übernehmen",
+  "Impersonate_user_description": "Wenn aktiviert, erstellt die Integration Nachrichten mit der Identität des Benutzers der die Integration ausgelöst hat",
   "Import": "Import",
   "Importer_Archived": "Archiviert",
   "Importer_CSV_Information": "Der CSV-Importer erfordert ein spezielles Format. Bitte lesen Sie die Dokumentation, wie die ZIP-Datei strukturiert sein muss:",
@@ -1365,15 +1358,17 @@
   "inline_code": "Code",
   "Install": "Installieren",
   "Install_Extension": "Erweiterung installieren",
+  "Install_FxOs": "Rocket.Chat in Ihren Firefox installieren",
   "Install_FxOs_done": "Super! Nun lässt sich Rocket.Chat über das Icon auf dem Startbildschirm nutzen. Viel Spaß mit Rocket.Chat!",
   "Install_FxOs_error": "Schade, das hat leider nicht geklappt! Der folgende Fehler ist aufgetreten:",
   "Install_FxOs_follow_instructions": "Bitte die Installation der App nach der Aufforderung mit \"Installieren\" bestätigen.",
-  "Install_FxOs": "Rocket.Chat in Ihren Firefox installieren",
   "Install_package": "Installationspaket",
   "Installation": "Installation",
   "Installed_at": "Installationsdatum",
+  "Invitation_HTML": "Einladungstext (HTML)",
   "Instance_Record": "Datensatz",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Offline-Information für Ihre Benutzer, dass diese eine Nachricht hinterlassen können",
+  "Invitation_HTML_Default": "<h1>Sie wurden zu <strong>[Site_Name]</strong></h1><p> eingeladen. Besuchen Sie [Site_URL] und probieren Sie noch heute die beste Open-Source-Chat-Lösung aus! </p>",
   "Insurance": "Versicherung",
   "Integration_added": "Die Integration wurde hinzugefügt.",
   "Integration_Advanced_Settings": "Erweiterte Einstellungen",
@@ -1381,30 +1376,31 @@
   "Integration_History_Cleared": "Integrationshistorie erfolgreich gelöscht",
   "Integration_Incoming_WebHook": "Eingehender WebHook",
   "Integration_New": "Neue Integration",
+  "Integration_Outgoing_WebHook": "Ausgehender Webhook",
+  "Integration_Outgoing_WebHook_History": "Historie für ausgehende Webhooks",
   "Integration_Outgoing_WebHook_History_Data_Passed_To_Trigger": "Daten, die an die Integration übergeben wurden",
   "Integration_Outgoing_WebHook_History_Data_Passed_To_URL": "Daten, die an die URL gesendet wurden",
   "Integration_Outgoing_WebHook_History_Error_Stacktrace": "Fehler Stacktrace",
-  "Integration_Outgoing_WebHook_History_Http_Response_Error": "HTTP Response Fehler",
   "Integration_Outgoing_WebHook_History_Http_Response": "HTTP Response",
+  "Integration_Outgoing_WebHook_History_Http_Response_Error": "HTTP Response Fehler",
   "Integration_Outgoing_WebHook_History_Messages_Sent_From_Prepare_Script": "Nachrichten, die vom Vorbereitungs-Schritt gesendet wurden",
   "Integration_Outgoing_WebHook_History_Messages_Sent_From_Process_Script": "Nachrichten, die vom Durchführungs-Schritt gesendet wurden",
   "Integration_Outgoing_WebHook_History_Time_Ended_Or_Error": "Zeit des Fehlers oder der Beendigung",
   "Integration_Outgoing_WebHook_History_Time_Triggered": "Zeit, zu der die Integration ausgelöst wurde",
   "Integration_Outgoing_WebHook_History_Trigger_Step": "Letzter Trigger-Schritt",
-  "Integration_Outgoing_WebHook_History": "Historie für ausgehende Webhooks",
   "Integration_Outgoing_WebHook_No_History": "Für diesen ausgehenden Webhook gibt es noch keine historischen Einträge",
-  "Integration_Outgoing_WebHook": "Ausgehender Webhook",
-  "Integration_Retry_Count_Description": "Wie häufig soll die Integration probiert werde, wenn der Aufruf der URL fehlschlägt?",
   "Integration_Retry_Count": "Anzahl der Wiederholungsversuche",
-  "Integration_Retry_Delay_Description": "Welcher Verzögerungsalgorythmus soll verwendet werden? <code class=\"inline\">10^x</code> or <code class=\"inline\">2^x</code> or <code class=\"inline\">x*2</code>",
+  "Integration_Retry_Count_Description": "Wie häufig soll die Integration probiert werde, wenn der Aufruf der URL fehlschlägt?",
   "Integration_Retry_Delay": "Verzögerung der Wiederholungsversuche",
-  "Integration_Retry_Failed_Url_Calls_Description": "Soll es die Integration bei Fehlversuchen nach einer angemessen Zeit erneut versuchen?",
+  "Integration_Retry_Delay_Description": "Welcher Verzögerungsalgorythmus soll verwendet werden? <code class=\"inline\">10^x</code> or <code class=\"inline\">2^x</code> or <code class=\"inline\">x*2</code>",
   "Integration_Retry_Failed_Url_Calls": "URL-Aufrufe fehlerhafter Wiederholungsversuche",
-  "Integration_Run_When_Message_Is_Edited_Description": "Soll die Integration ausgeführt werden, wenn eine Nachricht bearbeitet wurde? Wenn diese Option deaktiviert wurde, wird sie nur für <strong>neue</strong> Nachrichten ausgeführt werden.",
+  "Integration_Retry_Failed_Url_Calls_Description": "Soll es die Integration bei Fehlversuchen nach einer angemessen Zeit erneut versuchen?",
   "Integration_Run_When_Message_Is_Edited": "Beim Bearbeiten ausführen",
+  "Integration_Run_When_Message_Is_Edited_Description": "Soll die Integration ausgeführt werden, wenn eine Nachricht bearbeitet wurde? Wenn diese Option deaktiviert wurde, wird sie nur für <strong>neue</strong> Nachrichten ausgeführt werden.",
   "Integration_updated": "Die Integration wurde aktualisiert.",
-  "Integration_Word_Trigger_Placement_Description": "Soll das auslösende Wort irgendwo im Satz stehen können (und nicht nur am Anfang)? ",
   "Integration_Word_Trigger_Placement": "Wörter können überall vorkommen",
+  "Integration_Word_Trigger_Placement_Description": "Soll das auslösende Wort irgendwo im Satz stehen können (und nicht nur am Anfang)? ",
+  "Integrations": "Integrationen",
   "Integrations_for_all_channels": "Geben Sie <strong>all_public_channels</strong> für alle öffentlichen Kanäle ein , <strong>all_private_groups</strong> für alle privaten Gruppen und <strong>all_direct_messages</strong> für Direktnachrichten.",
   "Integrations_Outgoing_Type_FileUploaded": "Hochgeladene Datei",
   "Integrations_Outgoing_Type_RoomArchived": "Archivierter Raum",
@@ -1413,18 +1409,18 @@
   "Integrations_Outgoing_Type_RoomLeft": "Benutzer hat den Raum verlassen",
   "Integrations_Outgoing_Type_SendMessage": "Nachricht gesendet",
   "Integrations_Outgoing_Type_UserCreated": "Benutzer angelegt",
-  "Integrations": "Integrationen",
+  "InternalHubot": "Interner Hubot",
   "InternalHubot_EnableForChannels": "Aktivieren für die öffentlichen Kanäle",
   "InternalHubot_EnableForDirectMessages": "Aktivieren für Direktnachrichten",
   "InternalHubot_EnableForPrivateGroups": "Aktivieren für die private Kanäle",
   "InternalHubot_PathToLoadCustomScripts": "Ordner, aus dem die Skripte geladen werden sollen",
   "InternalHubot_reload": "Skripte erneut laden",
-  "InternalHubot_ScriptsToLoad_Description": "Bitte geben Sie eine durch Kommata getrennte Liste von zu ladenden Skripten aus Ihrem Ordner an.",
   "InternalHubot_ScriptsToLoad": "Zu ladende Skripte",
+  "InternalHubot_ScriptsToLoad_Description": "Bitte geben Sie eine durch Kommata getrennte Liste von zu ladenden Skripten aus Ihrem Ordner an.",
   "InternalHubot_Username_Description": "Dies muss ein gültiger Benutzername eines auf dem Server registrierten Bots sein.",
-  "InternalHubot": "Interner Hubot",
   "Invalid_confirm_pass": "Die Passwörter stimmen nicht überein.",
   "Invalid_email": "Die eingegebene E-Mail-Adresse ist ungültig.",
+  "Invalid_username": "Der eingegebene Benutzername ist ungültig",
   "Invalid_Export_File": "Die angegebene Datei ist keine gültige %s Exportdatei.",
   "Invalid_Import_File_Type": "Ungültiges Import-Dateiformat .",
   "Invalid_name": "Es muss ein Name angegeben werden.",
@@ -1435,28 +1431,25 @@
   "Invalid_secret_URL_message": "Die angegebene URL ist ungültig.",
   "Invalid_setting_s": "Ungültige Einstellung: %s",
   "Invalid_two_factor_code": "Fehlerhafter Zwei-Faktor-Code",
-  "Invalid_username": "Der eingegebene Benutzername ist ungültig",
   "invisible": "unsichtbar",
   "Invisible": "Unsichtbar",
-  "Invitation_HTML_Default": "<h1>Sie wurden zu <strong>[Site_Name]</strong></h1><p> eingeladen. Besuchen Sie [Site_URL] und probieren Sie noch heute die beste Open-Source-Chat-Lösung aus! </p>",
-  "Invitation_HTML_Description": "Sie können die folgenden Platzhalter verwenden: <br/><ul><li> [email] für den Empfänger der E-Mail. </li><li> [Site_Name] und [Site_URL] jeweils für den Anwendungsnamen und die URL.</li></ul>",
-  "Invitation_HTML": "Einladungstext (HTML)",
-  "Invitation_Subject_Default": "Sie wurden zu [Site_Name] eingeladen",
-  "Invitation_Subject": "Betreff der Einladung",
   "Invitation": "Einladung",
+  "Invitation_Email_Description": "Sie können die folgenden Platzhalter verwenden: <br/><ul><li> [email] für den Empfänger der E-Mail. </li><li> [Site_Name] und [Site_URL] jeweils für den Anwendungsnamen und die URL.</li></ul>",
+  "Invitation_Subject": "Betreff der Einladung",
+  "Invitation_Subject_Default": "Du wurdest zu [Site_Name] eingeladen",
+  "Invite_user_to_join_channel": "Benutzer in diesen Kanal einladen",
   "Invite_user_to_join_channel_all_from": "Alle Benutzer des Kanals  [#channel] einladen, diesem Kanal zu folgen",
   "Invite_user_to_join_channel_all_to": "Alle Benutzer dieses Kanals einladen, dem Kanal [#channel] zu folgen",
-  "Invite_user_to_join_channel": "Benutzer in diesen Kanal einladen",
   "Invite_Users": "BenutzerInnen einladen",
   "IRC_Channel_Join": "Ausgabe des JOIN-Befehls",
   "IRC_Channel_Leave": "Ausgabe des PART-Befehls",
-  "IRC_Channel_Users_End": "Ende der Ausgabe des NAMES-Befehls",
   "IRC_Channel_Users": "Ausgabe des NAMES-Befehls",
+  "IRC_Channel_Users_End": "Ende der Ausgabe des NAMES-Befehls",
   "IRC_Description": "Internet Relay Chat (IRC) ist ein text-basiertes Gruppen-Kommunikations-Werkzeug. Dieses Paket integriert IRC-Funktionalität in Rocket.Chat.",
-  "IRC_Enabled_Alert": "IRC Support ist ein work in progress. Die Verwendung in einem Produktionssystem wird derzeit nicht empfohlen.",
   "IRC_Enabled": "Versuche, IRC in Rocket.Chat zu integrieren. Eine Änderung dieser Einstellung erfordert einen Neustart des Rocket.Chat Servers.",
-  "IRC_Federation_Disabled": "IRC Federation ist deaktiviert.",
+  "IRC_Enabled_Alert": "IRC Support ist ein work in progress. Die Verwendung in einem Produktionssystem wird derzeit nicht empfohlen.",
   "IRC_Federation": "IRC-Föderation",
+  "IRC_Federation_Disabled": "IRC Federation ist deaktiviert.",
   "IRC_Hostname": "Der IRC-Host, zu dem verbunden werden soll",
   "IRC_Login_Fail": "Ausgabe nach der fehlerhaften Verbindung zum IRC-Server",
   "IRC_Login_Success": "Ausgabe nach der erfolgreichen Verbindung zum IRC-Server",
@@ -1464,42 +1457,42 @@
   "IRC_Port": "Port des IRC-Host, zu dem verbunden werden soll",
   "IRC_Private_Message": "Ausgabe des PRIVMSG-Befehls",
   "IRC_Quit": "Ausgabe beim Beenden einer IRC-Session",
+  "is_also_typing": "schreibt auch",
   "is_also_typing_female": "schreibt auch",
   "is_also_typing_male": "schreibt auch",
-  "is_also_typing": "schreibt auch",
+  "is_typing": "schreibt",
   "is_typing_female": "schreibt",
   "is_typing_male": "schreibt",
-  "is_typing": "schreibt",
   "Issue_Links": "Issue-Tracker Links",
   "IssueLinks_Incompatible": "Warnung: Aktivieren Sie diese Einstellung nicht Zusammen mit der Farbvorschau (Hex).",
-  "IssueLinks_LinkTemplate_Description": "Vorlage für Issue-Verknüpfungen; %s wird mit der Issue-Nummer ersetzt werden.",
   "IssueLinks_LinkTemplate": "Vorlage für Issue-Verknüpfungen",
+  "IssueLinks_LinkTemplate_Description": "Vorlage für Issue-Verknüpfungen; %s wird mit der Issue-Nummer ersetzt werden.",
   "It_works": "Es funktioniert",
   "italics": "kursiv",
   "Jitsi_Chrome_Extension": "Chrome Extension ID",
   "Jitsi_Enable_Channels": "In Kanälen aktivieren",
   "Job_Title": "Berufsbezeichnung",
+  "join": "Beitreten",
+  "join-without-join-code": "Ohne Code beitreten",
+  "join-without-join-code_description": "Berechtigung, Kanäle mit Zutrittscode auch ohne Code zu betreten",
   "Join_audio_call": "Anruf beitreten",
   "Join_Chat": "Chat beitreten",
   "Join_default_channels": "Standardkanälen beitreten",
   "Join_the_Community": "Trete der Community bei",
   "Join_the_given_channel": "Diesem Kanal beitreten",
   "Join_video_call": "Videoanruf beitreten",
-  "join-without-join-code_description": "Berechtigung, Kanäle mit Zutrittscode auch ohne Code zu betreten",
-  "join-without-join-code": "Ohne Code beitreten",
-  "join": "Beitreten",
   "Joined": "Beigetreten",
+  "Jump": "Springen",
   "Jump_to_first_unread": "Erste ungelesene Nachricht anzeigen",
   "Jump_to_message": "Diese Nachricht im Chat anzeigen",
   "Jump_to_recent_messages": "Erste neue Nachricht im Chat anzeigen",
-  "Jump": "Springen",
   "Just_invited_people_can_access_this_channel": "Nur eingeladene Benutzer können auf diesen Kanal zugreifen.",
-  "Katex_Dollar_Syntax_Description": "$$KaTeX Block$$ und $inline KaTeX$ Syntax erlauben",
   "Katex_Dollar_Syntax": "Dollar-Syntax erlauben",
-  "Katex_Enabled_Description": "Erlauben von <a target=\"_blank\" href=\"http://khan.github.io/KaTeX/\">KaTeX</a> für mathematische Ausdrücke in Nachrichten",
+  "Katex_Dollar_Syntax_Description": "$$KaTeX Block$$ und $inline KaTeX$ Syntax erlauben",
   "Katex_Enabled": "Katex ist aktiviert.",
-  "Katex_Parenthesis_Syntax_Description": "\\[KaTeX Block\\] und \\ (inline KaTeX \\) Syntax erlauben",
+  "Katex_Enabled_Description": "Erlauben von <a target=\"_blank\" href=\"http://khan.github.io/KaTeX/\">KaTeX</a> für mathematische Ausdrücke in Nachrichten",
   "Katex_Parenthesis_Syntax": "Klammer-Syntax erlauben",
+  "Katex_Parenthesis_Syntax_Description": "\\[KaTeX Block\\] und \\ (inline KaTeX \\) Syntax erlauben",
   "Keep_default_user_settings": "Standardeinstellungen beibehalten",
   "Keyboard_Shortcuts_Edit_Previous_Message": "Bearbeite vorherige Nachricht",
   "Keyboard_Shortcuts_Keys_1": "<kbd>Strg</kbd> + <kbd>p</kbd>",
@@ -1516,111 +1509,110 @@
   "Keyboard_Shortcuts_Title": "Keyboard Shortcuts",
   "Knowledge_Base": "Wissensbasis",
   "Label": "Bezeichnung",
+  "Language": "Sprache",
   "Language_Not_set": "nicht spezifisch",
   "Language_Version": "Deutsche Version",
-  "Language": "Sprache",
   "Last_login": "Letzte Anmeldung",
   "Last_Message_At": "Letzte Nachricht am",
   "Last_seen": "Zuletzt online",
-  "Last_token_part": "Letzter teil des Tokens",
+  "Last_token_part": "Letzter Teil des Zugangsschlüssels",
   "Last_Message": "Letzte Nachricht",
-  "Last_seen": "Zuletzt online",
   "Launched_successfully": "Erfolgreich gestartet",
+  "Layout": "Layout",
   "Layout_Home_Body": "Inhalt der Startseite",
   "Layout_Home_Title": "Titel der Startseite",
   "Layout_Login_Terms": "Anmeldebedingungen",
   "Layout_Privacy_Policy": "Datenschutzbestimmungen",
-  "Layout_Sidenav_Footer_description": "Die Größe der Fußzeile beträgt 260 x 70 Pixel.",
   "Layout_Sidenav_Footer": "Seitenfußzeile",
+  "Layout_Sidenav_Footer_description": "Die Größe der Fußzeile beträgt 260 x 70 Pixel.",
   "Layout_Terms_of_Service": "Nutzungsbedingungen",
-  "Layout": "Layout",
+  "LDAP": "LDAP",
+  "LDAP_Authentication": "Aktivieren",
   "LDAP_Authentication_Password": "Passwort",
-  "LDAP_Authentication_UserDN_Description": "Der LDAP-Benutzer, der eine Benutzersuche durchführt, um andere Nutzer bei der Anmeldung zu authentifizieren. <br/>Dies ist in der Regel ein Servicekonto, welches für Drittintegrationen erstellt worden ist. Verwende einen vollen Namen, wie zum Beispiel `cn=Administrator,cn=Users,dc=Example,dc=com`.",
   "LDAP_Authentication_UserDN": "User DN",
-  "LDAP_Authentication": "Aktivieren",
-  "LDAP_Background_Sync_Import_New_Users_Description": "Dies wird alle Benutzer entsprechend Deiner Filterkriterien importieren, die im LDAP aber noch nicht in Rocket.Chat vorhanden sind",
+  "LDAP_Authentication_UserDN_Description": "Der LDAP-Benutzer, der eine Benutzersuche durchführt, um andere Nutzer bei der Anmeldung zu authentifizieren. <br/>Dies ist in der Regel ein Servicekonto, welches für Drittintegrationen erstellt worden ist. Verwende einen vollen Namen, wie zum Beispiel `cn=Administrator,cn=Users,dc=Example,dc=com`.",
+  "LDAP_Background_Sync": "Synchronisierung im Hintergrund",
   "LDAP_Background_Sync_Import_New_Users": "Synchronisierung neuer Benutzer im Hintergrund",
-  "LDAP_Background_Sync_Interval_Description": "Das Intervall zwischen Synchronisierungen. Z. B. `every 24 hours` oder `on the first day of the week`. Weitere Beispiele unter [Cron Text Parser](http://bunkat.github.io/later/parsers.html#text)",
+  "LDAP_Background_Sync_Import_New_Users_Description": "Dies wird alle Benutzer entsprechend Deiner Filterkriterien importieren, die im LDAP aber noch nicht in Rocket.Chat vorhanden sind",
   "LDAP_Background_Sync_Interval": "Interval für die Synchronisierung im Hintergrund",
-  "LDAP_Background_Sync_Keep_Existant_Users_Updated_Description": "Dies wird den Benutzernamen, den Avatar und alle weiteren Felder basierend auf Deiner Konfiguration aus dem LDAP bei jeder Synchronisierung aktualisieren",
+  "LDAP_Background_Sync_Interval_Description": "Das Intervall zwischen Synchronisierungen. Z. B. `every 24 hours` oder `on the first day of the week`. Weitere Beispiele unter [Cron Text Parser](http://bunkat.github.io/later/parsers.html#text)",
   "LDAP_Background_Sync_Keep_Existant_Users_Updated": "Im Hintergrund eine Aktualisierung der bestehenden Benutzer ausführen",
-  "LDAP_Background_Sync": "Synchronisierung im Hintergrund",
-  "LDAP_BaseDN_Description": "Der volle Distinguished Name (DN) von einem LDAP-Unterverzeichnis, den Sie nach Benutzern und Gruppen durchsuchen möchten. Sie können so viele hinzufügen, wie Sie möchten. Jede Gruppe muss aber der selben Domainbasis angehören, in der sich die Benutzer befinden. Wenn Sie beschränkte Nutzergruppen angeben, werden nur Benutzer, die diesen Gruppen angehören, berücksichtigt. Wir empfehlen, die oberste Ebene des LDAP-Verzeichnisbaums als Domainbasis anzugeben und Suchfilter zu verwenden, um Einschränkungen vorzunehmen.",
+  "LDAP_Background_Sync_Keep_Existant_Users_Updated_Description": "Dies wird den Benutzernamen, den Avatar und alle weiteren Felder basierend auf Deiner Konfiguration aus dem LDAP bei jeder Synchronisierung aktualisieren",
   "LDAP_BaseDN": "Base DN",
+  "LDAP_BaseDN_Description": "Der volle Distinguished Name (DN) von einem LDAP-Unterverzeichnis, den Sie nach Benutzern und Gruppen durchsuchen möchten. Sie können so viele hinzufügen, wie Sie möchten. Jede Gruppe muss aber der selben Domainbasis angehören, in der sich die Benutzer befinden. Wenn Sie beschränkte Nutzergruppen angeben, werden nur Benutzer, die diesen Gruppen angehören, berücksichtigt. Wir empfehlen, die oberste Ebene des LDAP-Verzeichnisbaums als Domainbasis anzugeben und Suchfilter zu verwenden, um Einschränkungen vorzunehmen.",
   "LDAP_CA_Cert": "CA-Cert",
   "LDAP_Connect_Timeout": "Verbindungs-Timeout (ms)",
-  "LDAP_Default_Domain_Description": "Wenn eine Standard-Domäne angegeben wurde, wird diese zur Erzeugung von E-Mail-Adressen verwendet, sofern keine E-Mail-Adresse aus dem LDAP importiert wurde. Die E-Mail wird konstruiert als `benutzername@standard-domäne` oder `unique_id@standard-domäne`<br/>Beispiel: `rocket.chat`",
   "LDAP_Default_Domain": "Standard-Domain",
+  "LDAP_Default_Domain_Description": "Wenn eine Standard-Domäne angegeben wurde, wird diese zur Erzeugung von E-Mail-Adressen verwendet, sofern keine E-Mail-Adresse aus dem LDAP importiert wurde. Die E-Mail wird konstruiert als `benutzername@standard-domäne` oder `unique_id@standard-domäne`<br/>Beispiel: `rocket.chat`",
   "LDAP_Description": "LDAP ist eine hierarchische Datenbank, die viele Unternehmen nutzen, um eine eine Einmalanmeldung (SSO) zu ermöglichen. Über SSO kann \"ein Benutzer nach einer einmaligen Authentifizierung an einem Arbeitsplatz auf alle Rechner und Dienste, für die er lokal berechtigt ist, am selben Arbeitsplatz zugreifen kann, ohne sich jedes Mal neu anmelden zu müssen\". Genauere Informationen zur Konfiguration von LDAP mit Konfigurationsbeispielen erhalten Sie unter folgendem Link: https://rocket.chat/docs/administrator-guides/authentication/ldap/",
-  "LDAP_Enable_Description": "LDAP zur Authentifizierung verwenden",
   "LDAP_Enable": "LDAP",
-  "LDAP_Encryption_Description": "Die Verschlüsselungsmethode für sichere Kommunikation mit dem LDAP-Server. Bspw. `plain` (keine Verschlüsselung), `SSL/LDAPS` (von Anfang an verschlüsselt) und `StartTLS` (zur verschlüsselten Kommunikation wechseln, sobald verbunden wurde)",
+  "LDAP_Enable_Description": "LDAP zur Authentifizierung verwenden",
   "LDAP_Encryption": "Verschlüsselung",
-  "LDAP_Find_User_After_Login_Description": "Führt nach dem Binden eine Suche nach dem DN des Benutzers durch, um sicherzustellen, dass die Bindung erfolgreich war, um die Anmeldung mit leeren Kennwörtern zu verhindern, wenn dies von der AD-Konfiguration zugelassen wird.",
+  "LDAP_Encryption_Description": "Die Verschlüsselungsmethode für sichere Kommunikation mit dem LDAP-Server. Bspw. `plain` (keine Verschlüsselung), `SSL/LDAPS` (von Anfang an verschlüsselt) und `StartTLS` (zur verschlüsselten Kommunikation wechseln, sobald verbunden wurde)",
   "LDAP_Find_User_After_Login": "Finden Sie den Benutzer nach dem Login",
-  "LDAP_Group_Filter_Enable_Description": "Zugriff auf LDAP-Benutzergruppe beschränken.<br/>Diese Option ist hilfreich bei OpenLDAP-Servern, die den *memberOf*-Filter nicht unterstützen.",
+  "LDAP_Find_User_After_Login_Description": "Führt nach dem Binden eine Suche nach dem DN des Benutzers durch, um sicherzustellen, dass die Bindung erfolgreich war, um die Anmeldung mit leeren Kennwörtern zu verhindern, wenn dies von der AD-Konfiguration zugelassen wird.",
   "LDAP_Group_Filter_Enable": "LDAP Benutzergruppen-Filter",
-  "LDAP_Group_Filter_Group_Id_Attribute_Description": "Bspw. *OpenLDAP:*cn",
+  "LDAP_Group_Filter_Enable_Description": "Zugriff auf LDAP-Benutzergruppe beschränken.<br/>Diese Option ist hilfreich bei OpenLDAP-Servern, die den *memberOf*-Filter nicht unterstützen.",
   "LDAP_Group_Filter_Group_Id_Attribute": "Group-ID-Attibut",
-  "LDAP_Group_Filter_Group_Member_Attribute_Description": "Bspw. *OpenLDAP:*uniqueMember",
+  "LDAP_Group_Filter_Group_Id_Attribute_Description": "Bspw. *OpenLDAP:*cn",
   "LDAP_Group_Filter_Group_Member_Attribute": "Gruppenmitglieds-Attribut",
-  "LDAP_Group_Filter_Group_Member_Format_Description": "Bspw. *OpenLDAP:*uid=#{username},ou=users,o=Company,c=com",
+  "LDAP_Group_Filter_Group_Member_Attribute_Description": "Bspw. *OpenLDAP:*uniqueMember",
   "LDAP_Group_Filter_Group_Member_Format": "Gruppenmitglieds-Format",
-  "LDAP_Group_Filter_Group_Name_Description": "Gruppe, zu der der Benutzer gehört",
+  "LDAP_Group_Filter_Group_Member_Format_Description": "Bspw. *OpenLDAP:*uid=#{username},ou=users,o=Company,c=com",
   "LDAP_Group_Filter_Group_Name": "Gruppenname",
-  "LDAP_Group_Filter_ObjectClass_Description": "Die *objectClass*, die Gruppen identifiziert.<br/>Bspw. OpenLDAP:groupOfUniqueNames",
+  "LDAP_Group_Filter_Group_Name_Description": "Gruppe, zu der der Benutzer gehört",
   "LDAP_Group_Filter_ObjectClass": "Gruppen-ObjectClass ",
-  "LDAP_Host_Description": "Der LDAP-Host, bspw. `ldap.example.com` oder `10.0.0.30`.",
+  "LDAP_Group_Filter_ObjectClass_Description": "Die *objectClass*, die Gruppen identifiziert.<br/>Bspw. OpenLDAP:groupOfUniqueNames",
   "LDAP_Host": "LDAP-Host",
-  "LDAP_Idle_Timeout_Description": "Die Wartezeit in Millisekunden, die nach der letzten LDAP-Operation gewartet werden soll, bevor die Verbindung beendet wird. Anmerkung: Jede Operation öffnet eine neue Verbindung",
+  "LDAP_Host_Description": "Der LDAP-Host, bspw. `ldap.example.com` oder `10.0.0.30`.",
   "LDAP_Idle_Timeout": "Idle Timeout (ms)",
+  "LDAP_Idle_Timeout_Description": "Die Wartezeit in Millisekunden, die nach der letzten LDAP-Operation gewartet werden soll, bevor die Verbindung beendet wird. Anmerkung: Jede Operation öffnet eine neue Verbindung",
   "LDAP_Import_Users_Description": "Importiert alle gefundenen LDAP-Benutzer.<br/>*Achtung!* Filteroption angeben , um nicht zu viele Benutzer zu importieren",
   "LDAP_Internal_Log_Level": "Internes Log-Level",
-  "LDAP_Login_Fallback_Description": "Wenn der Login mit Hilfe von LDAP nicht erfolgreich war versuchen, mit dem lokalen Konto anzumelden. Das kann hilfreich sein, falls LDAP nicht verfügbar war.",
   "LDAP_Login_Fallback": "Login Fallback",
-  "LDAP_Merge_Existing_Users_Description": "*Achtung!* Wenn beim Import aus LDAP ein lokaler Benutzer mit gleichem Namen bereits existiert, wird der lokale Benutzer mit den Einstellungen aus LDAP aktualisiert.",
+  "LDAP_Login_Fallback_Description": "Wenn der Login mit Hilfe von LDAP nicht erfolgreich war versuchen, mit dem lokalen Konto anzumelden. Das kann hilfreich sein, falls LDAP nicht verfügbar war.",
   "LDAP_Merge_Existing_Users": "Mit existierenden Benutzern zusammenführen",
-  "LDAP_Port_Description": "Port für den LDAP-Zugriff, bspw.Port 389 oder 636 für LDAPS",
+  "LDAP_Merge_Existing_Users_Description": "*Achtung!* Wenn beim Import aus LDAP ein lokaler Benutzer mit gleichem Namen bereits existiert, wird der lokale Benutzer mit den Einstellungen aus LDAP aktualisiert.",
   "LDAP_Port": "LDAP-Port",
-  "LDAP_Reconnect_Description": "Versuche, erneut zu verbinden, wenn die Verbindung aus unbekanntem Grund unterbrochen wurde",
+  "LDAP_Port_Description": "Port für den LDAP-Zugriff, bspw.Port 389 oder 636 für LDAPS",
   "LDAP_Reconnect": "Erneut verbinden",
-  "LDAP_Reject_Unauthorized_Description": "Deaktiviere diese Option, um nicht-verifizierte Zertifikate zu akzeptieren. Ein Deaktivieren wird üblicherweise bei der Nutzung von selbst-signierten Zertifikaten benötigt.",
+  "LDAP_Reconnect_Description": "Versuche, erneut zu verbinden, wenn die Verbindung aus unbekanntem Grund unterbrochen wurde",
   "LDAP_Reject_Unauthorized": "Unberechtigte ablehnen",
-  "LDAP_Search_Page_Size_Description": "Die maximale Anzahl von Einträgen, die auf einmal verarbeitet werden",
+  "LDAP_Reject_Unauthorized_Description": "Deaktiviere diese Option, um nicht-verifizierte Zertifikate zu akzeptieren. Ein Deaktivieren wird üblicherweise bei der Nutzung von selbst-signierten Zertifikaten benötigt.",
   "LDAP_Search_Page_Size": "Seitengröße für die Suche",
-  "LDAP_Search_Size_Limit_Description": "Die maximale Anzahl der zurückzugebenden Einträge. <br/>**Achtung** Diese Nummer sollte größer als **Seitengröße für die Suche** sein",
+  "LDAP_Search_Page_Size_Description": "Die maximale Anzahl von Einträgen, die auf einmal verarbeitet werden",
   "LDAP_Search_Size_Limit": "Maximale Treffer-Anzahl",
-  "LDAP_Sync_Now_Description": "Führt jetzt eine **Synchronisierung im Hintergrund**  aus, anstatt auf die nächste planmäßige Synchronisierung zu warten. Das funktioniert auch, wenn die Synchronisierung im Hintergrund deaktiviert ist. <br/>Die Aktion läuft asynchron ab, der Fortschritt kann im Log verfolgt werden.",
+  "LDAP_Search_Size_Limit_Description": "Die maximale Anzahl der zurückzugebenden Einträge. <br/>**Achtung** Diese Nummer sollte größer als **Seitengröße für die Suche** sein",
   "LDAP_Sync_Now": "Jetzt im Hintergrund synchronisieren",
+  "LDAP_Sync_Now_Description": "Führt jetzt eine **Synchronisierung im Hintergrund**  aus, anstatt auf die nächste planmäßige Synchronisierung zu warten. Das funktioniert auch, wenn die Synchronisierung im Hintergrund deaktiviert ist. <br/>Die Aktion läuft asynchron ab, der Fortschritt kann im Log verfolgt werden.",
   "LDAP_Sync_User_Avatar": "Profilbilder synchronisieren",
+  "LDAP_Sync_User_Data": "Benutzerdaten synchronisieren",
   "LDAP_Sync_User_Data_Description": "Bei der Anmeldung die Benutzerdaten mit dem Server synchronisieren (Bspw. Name, E-Mail-Adresse).",
-  "LDAP_Sync_User_Data_FieldMap_Description": "Konfigurieren Sie, wie Benutzer-Account-Eigenschaften (wie die E-Mail-Adresse) aus einem LDAP-Datensatz (falls gefunden) geladen werden.<br/>Beispiel: {\"cn\":\"name\", \"mail\":\"email\"} nimmt einen von Menschen lesbaren Namen aus dem cn-Attribut und die E-Mail-Adresse aus dem Mail-Attribut. Zusätzlich ist die Verwendung von Variablen möglich, wie z.B.: `{ \"#{givenName} #{sn}\": \"name\", \"mail\": \"email\" }`. Hierbei wird eine Kombination des Vor- und Nachnamens verwendet.<br/>Verfügbare Felder in Rocket.Chat sind `name` und `email`.",
   "LDAP_Sync_User_Data_FieldMap": "Zuordnung der Benutzer-Attribute",
-  "LDAP_Sync_User_Data": "Benutzerdaten synchronisieren",
+  "LDAP_Sync_User_Data_FieldMap_Description": "Konfigurieren Sie, wie Benutzer-Account-Eigenschaften (wie die E-Mail-Adresse) aus einem LDAP-Datensatz (falls gefunden) geladen werden.<br/>Beispiel: {\"cn\":\"name\", \"mail\":\"email\"} nimmt einen von Menschen lesbaren Namen aus dem cn-Attribut und die E-Mail-Adresse aus dem Mail-Attribut. Zusätzlich ist die Verwendung von Variablen möglich, wie z.B.: `{ \"#{givenName} #{sn}\": \"name\", \"mail\": \"email\" }`. Hierbei wird eine Kombination des Vor- und Nachnamens verwendet.<br/>Verfügbare Felder in Rocket.Chat sind `name` und `email`.",
   "LDAP_Test_Connection": "Verbindung prüfen",
-  "LDAP_Timeout_Description": "Wie lange auf ein Suchergebnis gewartet werden soll, bevor ein Fehler ausgegeben wird",
   "LDAP_Timeout": "Timeout (ms)",
-  "LDAP_Unique_Identifier_Field_Description": "Dieses Feld wird verwendet, um LDAP-Nutzer und Rocket.Chat-Nutzer zu verbinden. Kommata-getrennte Werte können verwendet werden, um die Werte vom LDAP-Eintrag zu erhalten.<br/>Der Standardwert ist `objectGUID,ibm-entryUUID,GUID,dominoUNID,nsuniqueId,uidNumber`.",
+  "LDAP_Timeout_Description": "Wie lange auf ein Suchergebnis gewartet werden soll, bevor ein Fehler ausgegeben wird",
   "LDAP_Unique_Identifier_Field": "Feld für eindeutige Identifizierung",
-  "LDAP_User_Search_Field_Description": "Das LDAP-Attribut, welches den LDAP-Benutzer identifiziert, der sich zu authentifizieren versucht. Das Feld ist für die meisten Active-Directory-Installationen `sAMAccountName`, für andere LDAP-Lösungen wie OpenLDAP kann dieses jedoch auch `uid` sein. Sie können aber auch `mail` verwenden, um Benutzer mit Ihrer E-Mail-Adresse zu identifizieren - oder jedes Attribut, das Sie möchten.<br/>Sie können mehrere Werte, getrennt mit Kommata, verwenden, um es Benutzern zu erlauben, sich mit mehreren Kennungen anzumelden, wie zum Beispiel einem Benutzernamen und der E-Mail-Adresse.",
+  "LDAP_Unique_Identifier_Field_Description": "Dieses Feld wird verwendet, um LDAP-Nutzer und Rocket.Chat-Nutzer zu verbinden. Kommata-getrennte Werte können verwendet werden, um die Werte vom LDAP-Eintrag zu erhalten.<br/>Der Standardwert ist `objectGUID,ibm-entryUUID,GUID,dominoUNID,nsuniqueId,uidNumber`.",
   "LDAP_User_Search_Field": "Suchfeld",
-  "LDAP_User_Search_Filter_Description": "Wenn angegeben, wird nur Benutzern, die dem Filter entsprechen, erlaubt, sich anzumelden. Wenn kein Filter angegeben ist, werden sich alle Benutzer in dem Bereich der angegebenen Domainbasis anmelden können.<br/>Ein Beispiel für Active-Directory: `memberOf=cn=ROCKET_CHAT,ou=General Groups`<br/>Ein Beispiel für OpenLDAP (erweiterbare Übereinstimmungssuche): `ou:dn:=ROCKET_CHAT`",
+  "LDAP_User_Search_Field_Description": "Das LDAP-Attribut, welches den LDAP-Benutzer identifiziert, der sich zu authentifizieren versucht. Das Feld ist für die meisten Active-Directory-Installationen `sAMAccountName`, für andere LDAP-Lösungen wie OpenLDAP kann dieses jedoch auch `uid` sein. Sie können aber auch `mail` verwenden, um Benutzer mit Ihrer E-Mail-Adresse zu identifizieren - oder jedes Attribut, das Sie möchten.<br/>Sie können mehrere Werte, getrennt mit Kommata, verwenden, um es Benutzern zu erlauben, sich mit mehreren Kennungen anzumelden, wie zum Beispiel einem Benutzernamen und der E-Mail-Adresse.",
   "LDAP_User_Search_Filter": "Filter",
+  "LDAP_User_Search_Filter_Description": "Wenn angegeben, wird nur Benutzern, die dem Filter entsprechen, erlaubt, sich anzumelden. Wenn kein Filter angegeben ist, werden sich alle Benutzer in dem Bereich der angegebenen Domainbasis anmelden können.<br/>Ein Beispiel für Active-Directory: `memberOf=cn=ROCKET_CHAT,ou=General Groups`<br/>Ein Beispiel für OpenLDAP (erweiterbare Übereinstimmungssuche): `ou:dn:=ROCKET_CHAT`",
   "LDAP_User_Search_Scope": "Scope",
-  "LDAP_Username_Field_Description": "Geben Sie an, welches Feld als *Benutzername* für neue Benutzer verwendet werden soll. Lassen Sie das Feld leer, um den Nutzernamen zu verwenden, der auf der Anmeldeseite verwendet wird.<br/>Es können auch Template-Tags wie `#{givenNamen}.#{sn}` verwendet werden.<br/>Der Standardwert ist `sAMAccountName`.",
   "LDAP_Username_Field": "Feld für den Benutzernamen",
-  "LDAP": "LDAP",
+  "LDAP_Username_Field_Description": "Geben Sie an, welches Feld als *Benutzername* für neue Benutzer verwendet werden soll. Lassen Sie das Feld leer, um den Nutzernamen zu verwenden, der auf der Anmeldeseite verwendet wird.<br/>Es können auch Template-Tags wie `#{givenNamen}.#{sn}` verwendet werden.<br/>Der Standardwert ist `sAMAccountName`.",
   "Lead_capture_email_regex": "Lead Capture E-Mail Regex",
   "Lead_capture_phone_regex": "Lead Capture Telefon Regex",
   "Least_Amount": "Geringste Anzahl",
+  "leave-c": "Kanäle verlassen",
+  "leave-p": "Private Gruppen verlassen",
   "Leave_Group_Warning": "Sind Sie sicher, dass Sie die Gruppe \"%s\" verlassen wollen?",
   "Leave_Livechat_Warning": "Sind Sie sich sicher, dass Sie den Livechat mit \"%s\" verlassen wollen?",
   "Leave_Private_Warning": "Sind Sie sicher, dass Sie das Gespräch mit \"%s\" verlassen wollen?",
-  "Leave_Room_Warning": "Sind Sie sicher, dass Sie den Raum \"%s\" verlassen wollen?",
   "Leave_room": "Raum verlassen",
+  "Leave_Room_Warning": "Sind Sie sicher, dass Sie den Raum \"%s\" verlassen wollen?",
   "Leave_the_current_channel": "Aktuellen Kanal verlassen",
-  "leave-c": "Kanäle verlassen",
-  "leave-p": "Verlassen Sie private Gruppen",
   "line": "Zeile",
   "List_of_Channels": "Liste der Kanäle",
   "List_of_Direct_Messages": "Liste der Direktnachrichten",
@@ -1631,8 +1623,8 @@
   "Livechat_Facebook_API_Key": "OmniChannel-API-Schlüssel",
   "Livechat_Facebook_API_Secret": "OmniChannel-API-Geheimnis",
   "Livechat_Facebook_Enabled": "Facebook Integration aktiviert!",
-  "Livechat_forward_open_chats_timeout": "Timeout (in Sekunden), nach dem Chats weitergeleitet werden",
   "Livechat_forward_open_chats": "Offene Chats weiterleiten",
+  "Livechat_forward_open_chats_timeout": "Timeout (in Sekunden), nach dem Chats weitergeleitet werden",
   "Livechat_guest_count": "Gästezähler",
   "Livechat_Inquiry_Already_Taken": "Livechat-Anfrage bereits übernommen",
   "Livechat_managers": "Livechat-Manager",
@@ -1644,8 +1636,8 @@
   "Livechat_room_count": "Anzahl der Livechat-Räume",
   "Livechat_Routing_Method": "Livechat Routing-Methode",
   "Livechat_Take_Confirm": "Wollen Sie diesen Kunden annehmen?",
-  "Livechat_title_color": "Hintergrundfarbe des Livechat-Titels",
   "Livechat_title": "Livechat-Titel",
+  "Livechat_title_color": "Hintergrundfarbe des Livechat-Titels",
   "Livechat_Users": "Livechat-Benutzer",
   "Livestream_close": "Livestream schließen",
   "Livestream_enable_audio_only": "Aktivieren Sie nur den Audiomodus",
@@ -1653,67 +1645,67 @@
   "Livestream_popout": "Öffne den Livestream",
   "Livestream_source_changed_succesfully": "Livestream-Quelle wurde erfolgreich geändert",
   "Livestream_switch_to_room": "Wechseln Sie zum Livestream des aktuellen Raums",
-  "Livestream_url_incorrect": "Livestream-URL ist falsch",
   "Livestream_url": "Livestream-Quellen-URL",
+  "Livestream_url_incorrect": "Livestream-URL ist falsch",
   "Load_more": "Weitere laden",
+  "Loading...": "Wird geladen...",
   "Loading_more_from_history": "Weitere Nachrichten aus dem Verlauf anzeigen",
   "Loading_suggestion": "Vorschläge werden geladen",
-  "Loading...": "Wird geladen...",
   "Localization": "Lokalisierung",
   "Log_Exceptions_to_Channel_Description": "Name eines Kanals, der alle abgefangenen Ausnahmen aufnimmt. Leer lassen, um sie nur ins Anwendungslog zu schreiben.",
   "Log_Exceptions_to_Channel": "Ausnahmen in einen Kanal schreiben",
   "Log_File": "Datei und Zeile anzeigen",
   "Log_Level": "Loglevel",
   "Log_Package": "Paket anzeigen",
-  "Log_Trace_Methods_Filter_Description": "Der Text hier wird als RegExp (`new RegExp ('text') ') ausgewertet. Lassen Sie es leer, um die Spur jedes Anrufs anzuzeigen.",
   "Log_Trace_Methods_Filter": "Trace-Methodenfilter",
+  "Log_Trace_Methods_Filter_Description": "Der Text hier wird als RegExp (`new RegExp ('text') ') ausgewertet. Lassen Sie es leer, um die Spur jedes Anrufs anzuzeigen.",
   "Log_Trace_Methods": "Methodenaufrufe verfolgen",
-  "Log_Trace_Subscriptions_Filter_Description": "Der Text hier wird als RegExp (`new RegExp ('text') ') ausgewertet. Lassen Sie es leer, um die Spur jedes Anrufs anzuzeigen.",
   "Log_Trace_Subscriptions_Filter": "Trace-Abonnementfilter",
+  "Log_Trace_Subscriptions_Filter_Description": "Der Text hier wird als RegExp (`new RegExp ('text') ') ausgewertet. Lassen Sie es leer, um die Spur jedes Anrufs anzuzeigen.",
   "Log_Trace_Subscriptions": "Abonnement-Anrufe verfolgen",
   "Log_View_Limit": "Begrenzung der Log-Ansicht",
   "Logged_out_of_other_clients_successfully": "Sie wurden erfolgreich von anderen Geräten abgemeldet",
-  "Login_with": "Anmelden mit %s",
   "Login": "Anmelden",
+  "Login_with": "Anmelden mit %s",
   "Logistics": "Logistik",
-  "Logout_Others": "Von anderen Geräten abmelden",
   "Logout": "Abmelden",
-  "Mail_Message_Invalid_emails": "Sie haben eine oder mehrere ungültige E-Mail-Adressen angegeben: %s",
+  "Logout_Others": "Von anderen Geräten abmelden",
+  "mail-messages": "Nachrichten per E-Mail versenden",
+  "mail-messages_description": "Berechtigung, Nachrichten per E-Mail zu versenden",
+  "Mail_Message_Invalid_emails": "Du hast eine oder mehrere ungültige E-Mail-Adressen angegeben: %s",
   "Mail_Message_Missing_to": "Sie müssen einen/mehrere Benutzer auswählen oder eine/mehrere E-Mail-Adressen durch Kommata getrennt angeben.",
   "Mail_Message_No_messages_selected_select_all": "Sie haben keine Nachrichten ausgewählt. ",
+  "Mail_Messages": "Nachrichten per E-Mail senden",
   "Mail_Messages_Instructions": "Wählen Sie die per E-Mail zu versendenden Nachrichten aus, indem Sie die Nachrichten anklicken.",
   "Mail_Messages_Subject": "Hier ist ein ausgewählter Teil aus %s Nachrichten",
-  "Mail_Messages": "Nachrichten per E-Mail senden",
-  "mail-messages_description": "Berechtigung, Nachrichten per E-Mail zu versenden",
-  "mail-messages": "Nachrichten per E-Mail versenden",
-  "Mailer_body_tags": "Sie <b>müssen</b> [unsubscribe] verwenden, um einen Link zum Abmelden aus dem Verteiler zur Verfügung zu stellen. <br/> Sie können [name] für den vollständigen Namen, [fname] für den Vornamen oder [lname] für den Nachnamen des Benutzers verwenden. <br/>Ebenfalls können Sie [email] verwenden, um die E-Mail-Adresse des Benutzers anzugeben.",
   "Mailer": "Mailer",
+  "Mailer_body_tags": "Sie <b>müssen</b> [unsubscribe] verwenden, um einen Link zum Abmelden aus dem Verteiler zur Verfügung zu stellen. <br/> Sie können [name] für den vollständigen Namen, [fname] für den Vornamen oder [lname] für den Nachnamen des Benutzers verwenden. <br/>Ebenfalls können Sie [email] verwenden, um die E-Mail-Adresse des Benutzers anzugeben.",
   "Mailing": "Mailing",
   "Make_Admin": "Benutzer zum Admin ernennen",
   "Make_sure_you_have_a_copy_of_your_codes": "Stellen Sie sicher, dass Sie eine Kopie Ihrer Codes besitzen: __codes__ . Wenn Sie den Zugriff auf Ihre Authentifizierungs-App verlieden, können Sie sich mit Hilfe eines dieser Codes erneut anmelden.",
-  "Manage_Apps": "Apps verwalten",
-  "Manage_the_App": "Die App verwalten",
-  "manage-assets_description": "Berechtigung, Assets (Stylesheets, Bilder, weitere Dateien) auf dem Server zu verwalten",
   "manage-assets": "Assets verwalten",
-  "manage-emoji_description": "Berechtigung, Emojis zu verwalten",
+  "manage-assets_description": "Berechtigung, Assets (Stylesheets, Bilder, weitere Dateien) auf dem Server zu verwalten",
   "manage-emoji": "Emojis verwalten",
-  "manage-integrations_description": "Berechtigung, die Integrationen des Servers zu verwalten",
+  "manage-emoji_description": "Berechtigung, Emojis zu verwalten",
   "manage-integrations": "Integrationen verwalten",
-  "manage-oauth-apps_description": "Berechtigung, OAuth-Anwendungen verwalten",
+  "manage-integrations_description": "Berechtigung, die Integrationen des Servers zu verwalten",
   "manage-oauth-apps": "OAuth-Anwendungen verwalten",
-  "manage-own-integrations_description": "Berechtigung, das Benutzer eigene Integrationen oder Webhooks erstellen und verwalten",
+  "manage-oauth-apps_description": "Berechtigung, OAuth-Anwendungen verwalten",
   "manage-own-integrations": "Eigene Integrationen verwalten",
-  "manage-sounds_description": "Berechtigung, Töne zu verwalten",
+  "manage-own-integrations_description": "Berechtigung, das Benutzer eigene Integrationen oder Webhooks erstellen und verwalten",
   "manage-sounds": "Töne verwalten",
+  "manage-sounds_description": "Berechtigung, Töne zu verwalten",
+  "Manage_Apps": "Apps verwalten",
+  "Manage_the_App": "Die App verwalten",
   "Manager_added": "Der Manager wurde hinzugefügt",
   "Manager_removed": "Der Manager wurde gelöscht",
   "Managing_assets": "Asset-Verwaltung",
   "Managing_integrations": "Integrationsverwaltung",
   "Manufacturing": "Handwerk",
-  "MapView_Enabled_Description": "Das Aktivieren der Kartenansicht sorgt dafür, dass ein Button zum Teilen des aktuellen Ortes links des Eingabefeldes angezeigt wird.",
   "MapView_Enabled": "Kartenansicht",
-  "MapView_GMapsAPIKey_Description": "Dieser kann kostenlos aus der Google-Entwickler-Konsole bezogen werden.",
+  "MapView_Enabled_Description": "Das Aktivieren der Kartenansicht sorgt dafür, dass ein Button zum Teilen des aktuellen Ortes links des Eingabefeldes angezeigt wird.",
   "MapView_GMapsAPIKey": "Google Static Maps API Schlüssel",
+  "MapView_GMapsAPIKey_Description": "Dieser kann kostenlos aus der Google-Entwickler-Konsole bezogen werden.",
   "Mark_as_read": "Als gelesen markieren",
   "Mark_as_unread": "Als ungelesen markieren",
   "Markdown_Headers": "Markdown-Ãœberschriften",
@@ -1724,53 +1716,54 @@
   "Markdown_Marked_Smartypants": "Formatiere mit intelligenter Punktsetzung (\"Smartypants\")",
   "Markdown_Marked_Tables": "Formatierte Tabellen",
   "Markdown_Parser": "Markdown Parser",
-  "Markdown_SupportSchemesForLink_Description": "Kommata getrennte Liste von erlaubten Schemata",
   "Markdown_SupportSchemesForLink": "Unterstützte Markdown- Schemata für Links",
+  "Markdown_SupportSchemesForLink_Description": "Kommata getrennte Liste von erlaubten Schemata",
   "Max_length_is": "Maximale Länge ist %s",
   "Media": "Medien",
   "Medium": "Normal",
   "Members_List": "Mitglieder",
-  "mention-all_description": "Berechtigung, @all zur Erwähnung aller Kanalmitglieder zu verwenden",
   "mention-all": "Alle erwähnen",
-  "mention-here_description": "Berechtigung um Erwähnungen mit @hier zu nutzen",
+  "mention-all_description": "Berechtigung, @all zur Erwähnung aller Kanalmitglieder zu verwenden",
   "mention-here": "Hier erwähnen",
+  "mention-here_description": "Berechtigung um Erwähnungen mit @hier zu nutzen",
+  "Mentions": "Erwähnungen",
   "Mentions_default": "Erwähnungen (Standard)",
   "Mentions_only": "Nur Erwähnungen",
-  "Mentions": "Erwähnungen",
   "Merge_Channels": "Kanäle zusammenführen",
+  "Message": "Nachricht",
   "Message_AllowBadWordsFilter": "Wortfilter für Nachrichten verwenden",
-  "Message_AllowDeleting_BlockDeleteInMinutes_Description": "Geben Sie 0 ein, um keine Sperre zu setzen",
-  "Message_AllowDeleting_BlockDeleteInMinutes": "Löschen von Nachrichten nach (n) Minuten sperren",
   "Message_AllowDeleting": "Löschen von Nachrichten erlauben",
+  "Message_AllowDeleting_BlockDeleteInMinutes": "Löschen von Nachrichten nach (n) Minuten sperren",
+  "Message_AllowDeleting_BlockDeleteInMinutes_Description": "Geben Sie 0 ein, um keine Sperre zu setzen",
   "Message_AllowDirectMessagesToYourself": "Selbstgespräche erlauben",
-  "Message_AllowEditing_BlockEditInMinutes": "Bearbeiten von Nachrichten nach (n) Minuten sperren",
-  "Message_AllowEditing_BlockEditInMinutesDescription": "Gib 0 ein, um das Bearbeiten von Nachrichten unbegrenzt zu erlauben.",
   "Message_AllowEditing": "Die Bearbeitung von Nachrichten erlauben",
-  "Message_AllowPinning_Description": "Benutzern das Anheften von Nachrichten in Kanälen erlauben",
+  "Message_AllowEditing_BlockEditInMinutes": "Bearbeiten von Nachrichten nach (n) Minuten sperren",
+  "Message_AllowEditing_BlockEditInMinutesDescription": "Geben Sie 0 ein, um das Bearbeiten von Nachrichten unbegrenzt zu erlauben.",
   "Message_AllowPinning": "Das Anheften von Nachrichten erlauben",
+  "Message_AllowPinning_Description": "Benutzern das Anheften von Nachrichten in Kanälen erlauben",
   "Message_AllowSnippeting": "Erlauben, Snippets aus Nachrichten zu erstellen",
   "Message_AllowStarring": "Erlaube es, Nachrichten als Favoriten zu markieren",
   "Message_AllowUnrecognizedSlashCommand": "Unerkannte Slash-Kommandos erlauben",
-  "Message_AlwaysSearchRegExp_Description": "Wir empfehlen diese Option, wenn Ihre Sprache in der <a target=\"_blank\" href=\"https://docs.mongodb.org/manual/reference/text-search-languages/#text-search-languages\">MongoDB-Textsuche</a> nicht unterstützt wird.",
   "Message_AlwaysSearchRegExp": "Beim Suchen immer reguläre Ausdrücke verwenden",
+  "Message_AlwaysSearchRegExp_Description": "Wir empfehlen diese Option, wenn Ihre Sprache in der <a target=\"_blank\" href=\"https://docs.mongodb.org/manual/reference/text-search-languages/#text-search-languages\">MongoDB-Textsuche</a> nicht unterstützt wird.",
+  "Message_Attachments": "Nachrichten-Anhänge",
   "Message_Attachments_GroupAttach": "Schaltflächen für Anhänge gruppieren",
   "Message_Attachments_GroupAttachDescription": "Dies sorgt dafür, dass die Schaltflächen in einem erweiterbaren Menü untergebracht werden. So wird weniger Bildschirmplatz benötigt.",
-  "Message_Attachments": "Nachrichten-Anhänge",
-  "Message_Audio_bitRate": "Audio-Nachrichten-Bitrate",
   "Message_Audio": "Audio Nachricht",
-  "Message_AudioRecorderEnabled_Description": "Benötigt \"Audio / MP3\" -Dateien als akzeptierter Medientyp innerhalb der \"Datei-Upload\" -Einstellungen.",
+  "Message_Audio_bitRate": "Audio-Nachrichten-Bitrate",
   "Message_AudioRecorderEnabled": "Audioaufnahme aktivieren",
+  "Message_AudioRecorderEnabled_Description": "Benötigt \"Audio / MP3\" -Dateien als akzeptierter Medientyp innerhalb der \"Datei-Upload\" -Einstellungen.",
   "Message_BadWordsFilterList": "Wörter zur Blacklist hinzufügen",
   "Message_BadWordsFilterListDescription": "Kommaseparierte Liste zu filternder Worte",
-  "Message_DateFormat_Description": "Für mögliche Formate s. <a href=\"http://momentjs.com/docs/#/displaying/format/\" target=\"momemt\">Dokumentation von Moment.js</a>",
   "Message_DateFormat": "Datumsformat",
+  "Message_DateFormat_Description": "Für mögliche Formate s. <a href=\"http://momentjs.com/docs/#/displaying/format/\" target=\"momemt\">Dokumentation von Moment.js</a>",
   "Message_deleting_blocked": "Diese Nachricht kann nicht mehr gelöscht werden",
   "Message_editing": "Bearbeiten von Nachrichten",
+  "Message_ErasureType": "Nachrichtenlöschtyp",
   "Message_ErasureType_Delete": "Lösche alle Nachrichten",
   "Message_ErasureType_Description": "Bestimmen Sie, was mit Nachrichten von Benutzern geschehen soll, die ihr Konto entfernen.",
   "Message_ErasureType_Keep": "Nachrichten und Benutzernamen behalten",
   "Message_ErasureType_Unlink": "Entfernen Sie die Verknüpfung zwischen Benutzer und Nachrichten",
-  "Message_ErasureType": "Nachrichtenlöschtyp",
   "Message_GlobalSearch": "Globale Suche",
   "Message_GroupingPeriod": "Gruppierungsdauer (in Sekunden)",
   "Message_GroupingPeriodDescription": "Nachrichten werden einer vorherigen Nachricht zugeordnet, wenn beide Nachrichten von dem gleichen Benutzer kommen und die dazwischen liegende Dauer (in Sekunden) kleiner als die hier eingestellte war",
@@ -1787,70 +1780,68 @@
   "Message_pinning": "Anpinnen von Nachrichten",
   "Message_QuoteChainLimit": "Maximale Anzahl von verketteten Zitaten",
   "Message_Read_Receipt_Enabled": "Zeige Belege anzeigen",
-  "Message_Read_Receipt_Store_Users_Description": "Zeigt die Lesebestätigungen jedes Benutzers an",
   "Message_Read_Receipt_Store_Users": "Detaillierte Lesebestätigungen",
+  "Message_Read_Receipt_Store_Users_Description": "Zeigt die Lesebestätigungen jedes Benutzers an",
   "Message_removed": "Die Nachricht wurde entfernt",
   "Message_sent_by_email": "Nachricht per E-Mail versendet",
-  "Message_SetNameToAliasEnabled_Description": "Hat nur einen Effekt auf neue Nachrichten und falls kein expliziter Alias gesetzt wurde",
   "Message_SetNameToAliasEnabled": "Benutzernamen als Alias verwenden",
+  "Message_SetNameToAliasEnabled_Description": "Hat nur einen Effekt auf neue Nachrichten und falls kein expliziter Alias gesetzt wurde",
   "Message_ShowDeletedStatus": "Löschstatus anzeigen",
   "Message_ShowEditedStatus": "Bearbeitungsstatus anzeigen",
   "Message_ShowFormattingTips": "Formatierungshilfe anzeigen",
   "Message_starring": "Markieren von favorisierten Nachrichten",
-  "Message_TimeAndDateFormat_Description": "Für mögliche Formate s. <a href=\"http://momentjs.com/docs/#/displaying/format/\" target=\"momemt\">Dokumentation von Moment.js</a>",
   "Message_TimeAndDateFormat": "Zeit- und Datumsformat",
-  "Message_TimeFormat_Description": "Für mögliche Formate s. <a href=\"http://momentjs.com/docs/#/displaying/format/\" target=\"momemt\">Dokumentation von Moment.js</a>",
+  "Message_TimeAndDateFormat_Description": "Für mögliche Formate s. <a href=\"http://momentjs.com/docs/#/displaying/format/\" target=\"momemt\">Dokumentation von Moment.js</a>",
   "Message_TimeFormat": "Zeitformat",
+  "Message_TimeFormat_Description": "Für mögliche Formate s. <a href=\"http://momentjs.com/docs/#/displaying/format/\" target=\"momemt\">Dokumentation von Moment.js</a>",
   "Message_too_long": "Die Nachricht ist zu lang",
   "Message_VideoRecorderEnabled": "Videoaufnahme eingeschaltet",
   "Message_VideoRecorderEnabledDescription": "Erfordert, dass der Medientyp 'video/webm' in den \"Datei-Upload\"-Einstellungen als Medientyp akzeptiert wird",
   "Message_view_mode_info": "Dadurch ändert sich der Platzbedarf für Nachrichten auf dem Bildschirm",
-  "Message": "Nachricht",
-  "messages_pruned": "Nachrichten gelöscht.",
-  "Messages_that_are_sent_to_the_Incoming_WebHook_will_be_posted_here": "Nachrichten, die an den eingehenden Webhook gesendet werden, werden hier veröffentlicht",
   "Messages": "Nachrichten",
+  "Mmessages": "Nachrichten",
+  "Messages_that_are_sent_to_the_Incoming_WebHook_will_be_posted_here": "Nachrichten, die an den eingehenden Webhook gesendet werden, werden hier veröffentlicht",
+  "Meta": "Metadaten",
   "Meta_custom": "Benutzerdefinierte Meta-Tags",
   "Meta_fb_app_id": "Facebook-App-ID",
   "Meta_google-site-verification": "Google-Seiten-Verifizierung",
   "Meta_language": "Sprache",
   "Meta_msvalidate01": "MSValidate.01",
   "Meta_robots": "Roboter",
-  "Meta": "Metadaten",
   "Min_length_is": "Die minimale Länge beträgt %s",
   "Minimum_balance": "minimaler Ausgleich",
   "minutes": "Minuten",
-  "Mmessages": "Nachrichten",
-  "Mobile_Notifications_Default_Alert": "Mobile Benachrichtigungen bei",
   "Mobile": "Mobil",
+  "Mobile_Notifications_Default_Alert": "Mobile Benachrichtigungen bei",
   "Monday": "Montag",
   "Monitor_history_for_changes_on": "Was soll für die Historie überwacht werden?",
+  "More": "Mehr",
   "More_channels": "Weitere Kanäle",
   "More_direct_messages": "Weitere Direktnachrichten",
   "More_groups": "Weitere private Kanäle",
   "More_unreads": "Weitere ungelesene Nachrichten",
-  "More": "Mehr",
   "Move_beginning_message": "`%s` - Zum Anfang der Nachricht springen",
   "Move_end_message": "`%s` - Zum Ende der Nachricht springen",
   "Msgs": "Nachrichten",
-  "multi_line": "Mehrzeilig",
   "multi": "mehrere",
+  "multi_line": "Mehrzeilig",
+  "mute-user": "Benutzer stumm schalten",
+  "mute-user_description": "Berechtigung, Benutzer in diesem Kanal stumm zu schalten",
   "Mute_all_notifications": "Alle Benachrichtigungen stummschalten",
   "Mute_Focused_Conversations": "Stumm geschaltete Gespräche",
   "Mute_Group_Mentions": "Mute @all und @here erwähnt",
   "Mute_someone_in_room": "Jemandem in einem Raum das Chatten verbieten",
   "Mute_user": "Diesem Benutzer das Chatten verbieten",
-  "mute-user_description": "Berechtigung, Benutzer in diesem Kanal stumm zu schalten",
-  "mute-user": "Benutzer stumm schalten",
   "Muted": "Stumm geschaltet",
   "My_Account": "Mein Konto",
   "My_location": "Mein Ort",
   "n_messages": "%s Nachrichten",
   "N_new_messages": "%s neue Nachrichten",
+  "Name": "Name",
   "Name_cant_be_empty": "Es muss ein Name angegeben werden",
   "Name_of_agent": "Name des Agenten",
   "Name_optional": "Name (optional)",
   "Name_Placeholder": "Bitte geben Sie Ihren Namen ein",
-  "Name": "Name",
   "Navigation_History": "Navigationsverlauf",
   "New_Application": "Neue Anwendung",
   "New_Custom_Field": "Neues benutzerdefiniertes Feld",
@@ -1860,16 +1851,18 @@
   "New_logs": "Neue Logs",
   "New_Message_Notification": "Neue-Nachricht-Benachrichtigung",
   "New_messages": "Neue Nachrichten",
-  "New_Password_Placeholder": "Bitte geben Sie ein neues Passwort ein",
   "New_password": "Neues Passwort",
+  "New_Password_Placeholder": "Bitte geben Sie ein neues Passwort ein",
+  "Confirm_new_password": "Bestätigen Sie ihr neues Passwort",
+  "Confirm_New_Password_Placeholder": "Bitte geben Sie ein neues Passwort ein ...",
   "New_role": "Neue Rolle",
   "New_Room_Notification": "Neuer-Raum-Benachrichtigung",
   "New_Trigger": "Neuer Trigger",
   "New_version_available_(s)": "Neue Version verfügbar (%s)",
   "New_videocall_request": "Neuer Video-Anruf",
   "New_visitor_navigation": "Neue Navigation: __history__",
-  "Newer_than_may_not_exceed_Older_than": "\"Neuer als\" darf \"Älter als\" nicht überschreiten",
   "Newer_than": "Neuer als",
+  "Newer_than_may_not_exceed_Older_than": "\"Neuer als\" darf \"Älter als\" nicht überschreiten",
   "No_available_agents_to_transfer": "Kein Agent verfügbar, an den übergeben werden kann",
   "No_channel_with_name_%s_was_found": "Es wurde kein Kanal mit dem Namen <strong>\"%s\"</strong> gefunden!",
   "No_channels_yet": "bisher nirgendwo dabei",
@@ -1883,8 +1876,8 @@
   "No_messages_yet": "Bisher keine Nachrichten",
   "No_pages_yet_Try_hitting_Reload_Pages_button": "Bisher keine Seite. Versicherung die Seite neu zu laden",
   "No_pinned_messages": "Es wurden bisher keine Nachrichten fixiert",
-  "No_results_found_for": "Keine Ergebnisse gefunden für:",
   "No_results_found": "Keine Ergebnisse gefunden",
+  "No_results_found_for": "Keine Ergebnisse gefunden für:",
   "No_snippet_messages": "Keine Snippets vorhanden",
   "No_starred_messages": "Es wurden bisher keine Nachrichten favorisiert",
   "No_such_command": "Es gibt keinen Befehl '/__command__'",
@@ -1897,20 +1890,20 @@
   "Not_authorized": "Nicht berechtigt",
   "Not_Available": "Nicht verfügbar",
   "Not_found_or_not_allowed": "Nicht gefunden oder nicht zugelassen",
-  "Nothing_found": "Es wurde nichts gefunden",
   "Nothing": "Nichts",
+  "Nothing_found": "Es wurde nichts gefunden",
   "Notification_Desktop_Default_For": "Desktop-Benachrichtigungen anzeigen für",
   "Notification_Duration": "Benachrichtigungsdauer",
   "Notification_Mobile_Default_For": "Mobile Benachrichtigungen anzeigen für",
-  "Notifications_Always_Notify_Mobile_Description": "Immer mobil benachrichtigen, unabhängig vom Verfügbarkeitsstatus.",
+  "Notifications": "Benachrichtigungen",
   "Notifications_Always_Notify_Mobile": "Immer das Mobiltelefon benachrichtigen",
+  "Notifications_Always_Notify_Mobile_Description": "Immer mobil benachrichtigen, unabhängig vom Verfügbarkeitsstatus.",
   "Notifications_Duration": "Benachrichtigungen_Dauer",
-  "Notifications_Max_Room_Members_Description": "Maximale Anzahl der Raummitglieder, ab der alle Benachrichtigungen deaktiviert werden. Benutzer können weiterhin die Einstellung für den Raum ändern, um auf individueller Basis alle Nachrichten zu erhalten (0 deaktiviert die Einstellung)",
   "Notifications_Max_Room_Members": "Maximale Anzahl der Raummitglieder, ab der alle Nachrichten-Benachrichtigungen deaktiviert werden",
+  "Notifications_Max_Room_Members_Description": "Maximale Anzahl der Raummitglieder, ab der alle Benachrichtigungen deaktiviert werden. Benutzer können weiterhin die Einstellung für den Raum ändern, um auf individueller Basis alle Nachrichten zu erhalten (0 deaktiviert die Einstellung)",
   "Notifications_Muted_Description": "Wenn Sie sich entscheiden, alles stumm zu schalten, werden Sie keine Kennzeichnungen für neue Nachrichten in der Liste sehen. Ausgenommen davon sind Erwähnungen. Das Stummschalten der Benachrichtigungen überschreibt die Benachrichtigungseinstellungen.",
   "Notifications_Preferences": "Benachrichtigungseinstellungen",
   "Notifications_Sound_Volume": "Lautstärke des Benachrichtigungstons",
-  "Notifications": "Benachrichtigungen",
   "Notify_active_in_this_room": "Aktive Benutzer/innen benachrichtigen",
   "Notify_all_in_this_room": "Alle Benutzer in diesem Raum benachrichtigen",
   "Num_Agents": "# Agenten",
@@ -1918,23 +1911,23 @@
   "OAuth_Application": "OAuth-Anwendung",
   "OAuth_Applications": "OAuth-Anwendungen",
   "Objects": "Objekte",
-  "Off_the_record_conversation_is_not_available_for_your_browser_or_device": "Off-the-record-Gespräche sind für Ihren Browser oder Ihr Gerät nicht verfügbar",
-  "Off_the_record_conversation": "Off-the-record-Gespräche",
   "Off": "Aus",
+  "Off_the_record_conversation": "Off-the-record-Gespräche",
+  "Off_the_record_conversation_is_not_available_for_your_browser_or_device": "Off-the-record-Gespräche sind für Ihren Browser oder Ihr Gerät nicht verfügbar",
+  "Office_Hours": "Bürozeiten",
   "Office_hours_enabled": "Bürozeiten aktiviert",
   "Office_hours_updated": "Bürozeiten aktualisiert",
-  "Office_Hours": "Bürozeiten",
-  "Offline_DM_Email": "Sie haben eine private Nachricht von __user__ erhalten.",
+  "Offline": "Offline",
+  "Offline_DM_Email": "Du hast eine private Nachricht von __user__ erhalten.",
   "Offline_Email_Subject_Description": "Sie können die folgenden Platzhalter verwenden:<br/><ul><li>[Site_Name], [Site_URL], [User] & [Room] für den Anwendungsnamen, URL, Benutzernamen und Raumnamen.<li/></ul>",
-  "Offline_form_unavailable_message": "Nachricht, dass das Offline-Kontaktformular nicht verfügbar ist",
   "Offline_form": "Offline-Formular",
+  "Offline_form_unavailable_message": "Nachricht, dass das Offline-Kontaktformular nicht verfügbar ist",
   "Offline_Link_Message": "Zur Nachricht",
   "Offline_Mention_All_Email": "E-Mail-Betreff für \"Alle Erwähnen\"",
   "Offline_Mention_Email": "Sie wurden von __user__ in #__room__ erwähnt",
   "Offline_message": "Offline-Nachricht",
   "Offline_success_message": "Nachricht, dass eine Offline-Nachricht erfolgreich war",
   "Offline_unavailable": "offline - nicht verfügbar",
-  "Offline": "Offline",
   "Older_than": "Älter als",
   "On": "Ein",
   "Online": "Online",
@@ -1943,19 +1936,19 @@
   "Only_from_users": "Löscht nur den Inhalt dieser Benutzer (lassen Sie den Inhalt leer)",
   "Only_On_Desktop": "Desktop Modus (senden mit der Eingabeaste nur auf dem Desktop PC)",
   "Only_you_can_see_this_message": "Nur Sie können diese Nachricht sehen",
-  "Oops_page_not_found": "Hoppla, Seite nicht gefunden",
   "Oops!": "Hoppla",
+  "Oops_page_not_found": "Hoppla, Seite nicht gefunden",
+  "Open": "Öffnen",
   "Open_channel_user_search": "`%s` - Kanal öffnen / Nach Benutzer suchen",
   "Open_days_of_the_week": "Offene Wochentage",
   "Open_Livechats": "Offene Livechats",
   "Open_your_authentication_app_and_enter_the_code": "Öffnen Sie Ihre Authentifizierungs-App und geben Sie den Code ein. Sie können auch einen Ihrer Backup-Codes verwenden",
-  "Open": "Öffnen",
-  "Opened_in_a_new_window": "In einem neuem Fenster geöffnet",
   "Opened": "Geöffnet",
+  "Opened_in_a_new_window": "In einem neuem Fenster geöffnet",
   "Opens_a_channel_group_or_direct_message": "Öffnet einen Kanal, eine Gruppe oder Direktnachrichten",
   "optional": "optional",
-  "Or_talk_as_anonymous": "Oder schreiben Sie anonym",
   "or": "oder",
+  "Or_talk_as_anonymous": "Oder schreiben Sie anonym",
   "Order": "Auftrag",
   "Organization_Email": "Organisations-E-Mail",
   "Organization_Info": "Organization Info",
@@ -1973,17 +1966,17 @@
   "OS_Uptime": "Systemlaufzeit",
   "Other": "Andere",
   "others": "andere",
-  "OTR_is_only_available_when_both_users_are_online": "OTR ist nur möglich, wenn beide Benutzer online sind",
   "OTR": "OTR (Off-The-Record)",
-  "Outgoing_WebHook_Description": "Daten aus Rocket.Chat heraus versenden.",
+  "OTR_is_only_available_when_both_users_are_online": "OTR ist nur möglich, wenn beide Benutzer online sind",
   "Outgoing_WebHook": "Ausgehender Webhook",
+  "Outgoing_WebHook_Description": "Daten aus Rocket.Chat heraus versenden.",
   "Override_URL_to_which_files_are_uploaded_This_url_also_used_for_downloads_unless_a_CDN_is_given": "URL, unter der die Dateien hochgeladen werden. Die URL wird auch für Downloads verwendet, wenn kein CDN angegeben wird",
   "Page_title": "Seitentitel",
   "Page_URL": "Seiten-URL",
+  "Password": "Passwort",
   "Password_Change_Disabled": "Der Administrator hat das Ändern des Passworts deaktiviert",
   "Password_changed_successfully": "Das Passwort wurde erfolgreich geändert",
   "Password_Policy": "Passwort-Richtlinie",
-  "Password": "Passwort",
   "Past_Chats": "Vergangene Chats",
   "Payload": "Nutzdaten",
   "People": "Menschen",
@@ -1993,80 +1986,80 @@
   "pin-message": "Nachricht anheften",
   "pin-message_description": "Berechtigung, eine Nachricht in einem Kanal anzuheften",
   "Pin_Message": "Nachricht anheften",
-  "pin-message_description": "Berechtigung, eine Nachricht in einem Kanal anzuheften",
-  "pin-message": "Nachricht anheften",
   "Pinned_a_message": "Eine Nachricht wurde angeheftet:",
   "Pinned_Messages": "Gepinnte Nachrichten",
-  "PiwikAdditionalTrackers_Description": "geben Sie hier weitere Piwik Website URLs und SiteIDs in folgendem Format an, wenn Sie dieselben Daten in verschiedenen Piwik Instanzen tracken möchten: [ { \"trackerURL\" : \"https://my.piwik.domain2/\", \"siteId\" : 42 }, { \"trackerURL\" : \"https://my.piwik.domain3/\", \"siteId\" : 15 } ]",
   "PiwikAdditionalTrackers": "Zusätzliche Piwik Websites",
-  "PiwikAnalytics_cookieDomain_Description": "Besucher auf allen Subdomains aufzeichnen",
+  "PiwikAdditionalTrackers_Description": "geben Sie hier weitere Piwik Website URLs und SiteIDs in folgendem Format an, wenn Sie dieselben Daten in verschiedenen Piwik Instanzen tracken möchten: [ { \"trackerURL\" : \"https://my.piwik.domain2/\", \"siteId\" : 42 }, { \"trackerURL\" : \"https://my.piwik.domain3/\", \"siteId\" : 15 } ]",
   "PiwikAnalytics_cookieDomain": "Alle Subdomains",
-  "PiwikAnalytics_domains_Description": "Verbergen Sie im Bericht über 'ausgehende Verweise' alle Klicks auf bekannte Alias-URLs. Tragen Sie pro Zeile einen Domainnamen ein, verwenden Sie dabei keine Trennzeichen.",
+  "PiwikAnalytics_cookieDomain_Description": "Besucher auf allen Subdomains aufzeichnen",
   "PiwikAnalytics_domains": "Verberge ausgehende Links",
-  "PiwikAnalytics_prependDomain_Description": "Domain der Seite beim Tracken dem Seitentitel voranstellen",
+  "PiwikAnalytics_domains_Description": "Verbergen Sie im Bericht über 'ausgehende Verweise' alle Klicks auf bekannte Alias-URLs. Tragen Sie pro Zeile einen Domainnamen ein, verwenden Sie dabei keine Trennzeichen.",
   "PiwikAnalytics_prependDomain": "Domain voranstellen",
+  "PiwikAnalytics_prependDomain_Description": "Domain der Seite beim Tracken dem Seitentitel voranstellen",
   "PiwikAnalytics_siteId_Description": "Die Site-ID zur Identifizierung dieser Website. Beispiel: 17",
   "PiwikAnalytics_url_Description": "Die Piwik URL benötigt einen abschließenden Slash. Beispiel: //piwik.rocket.chat/",
   "Placeholder_for_email_or_username_login_field": "Platzhalter für E-Mail-Adresse und den Benutzernamen",
   "Placeholder_for_password_login_field": "Platzhalter für das Anmeldepassworts",
-  "Please_add_a_comment_to_close_the_room": "Bitte fügen Sie einen Kommentar hinzu, um den Raum zu schließen",
   "Please_add_a_comment": "Bitte füge einen Kommentar hinzu",
+  "Please_add_a_comment_to_close_the_room": "Bitte fügen Sie einen Kommentar hinzu, um den Raum zu schließen",
   "Please_answer_survey": "Bitte nehmen Sie sich einen Moment Zeit, um kurz einige Fragen zu dem Chat zu beantworten",
   "please_enter_valid_domain": "Bitte eine gültige Domain eingeben",
   "Please_enter_value_for_url": "Bitte geben Sie eine URL für Ihr Profilbild ein",
-  "Please_enter_your_new_password_below": "Bitte gib neues Passwort ein:",
+  "Please_enter_your_new_password_below": "Bitte geben Sie neues Passwort ein:",
   "Please_enter_your_password": "Bitte Passwort eingeben",
   "Please_fill_a_label": "Bitte Bezeichner ausfüllen",
   "Please_fill_a_name": "Bitte geben Sie einen Namen ein",
   "Please_fill_a_username": "Bitte geben Sie einen Benutzernamen ein",
   "Please_fill_all_the_information": "Bitte alle Informationen ausfüllen",
   "Please_fill_name_and_email": "Bitte geben Sie einen Namen und eine E-Mail-Adresse ein",
-  "Please_fill_a_token_name": "Bitte geben Sie einen validen Namen für den Token ein",
+  "Please_fill_a_token_name": "Bitte geben Sie einen gültigen Namen für den Zugangsschlüssel ein",
   "Please_go_to_the_Administration_page_then_Livechat_Facebook": "Gehe im Administrationsbereich auf Livechat > Facebook",
   "Please_select_an_user": "Bitte einen Benutzer auswählen",
   "Please_select_enabled_yes_or_no": "Bitte wählen Sie aus, ob die Option aktiviert ist",
+  "Please_wait": "Bitte warten",
   "Please_wait_activation": "Bitte warten, das kann einige Zeit in Anspruch nehmen",
   "Please_wait_while_OTR_is_being_established": "Bitte warten Sie, während OTR gestartet wird",
   "Please_wait_while_your_account_is_being_deleted": "Bitte warten Sie, während Ihr Konto gelöscht wird",
   "Please_wait_while_your_profile_is_being_saved": "Bitte warten Sie, während Ihr Profil gespeichert wird",
-  "Please_wait": "Bitte warten",
   "Port": "Port",
+  "post-readonly": "Schreibgeschützt posten",
+  "post-readonly_description": "Berechtigung, in einen schreibgeschützten Kanal zu posten",
   "Post_as": "Verschicken als",
   "Post_to_Channel": "Im Kanal veröffentlichen",
   "Post_to_s_as_s": "Versenden an <strong>%s</strong> als <strong>%s</strong>",
-  "post-readonly_description": "Berechtigung, in einen schreibgeschützten Kanal zu posten",
-  "post-readonly": "Schreibgeschützt posten",
-  "Preferences_saved": "Die Einstellungen wurden gespeichert",
   "Preferences": "Einstellungen",
-  "preview-c-room_description": "Berechtigung, den Inhalt eines öffentlichen Kanals einzusehen, bevor diesem beigetreten wird",
+  "Preferences_saved": "Die Einstellungen wurden gespeichert",
   "preview-c-room": "Vorschau für öffentliche Kanäle",
+  "preview-c-room_description": "Berechtigung, den Inhalt eines öffentlichen Kanals einzusehen, bevor diesem beigetreten wird",
   "Privacy": "Datenschutz",
+  "Private": "Privat",
   "Private_Channel": "Private Gruppe",
   "Private_Group": "Private Gruppe",
+  "Private_Groups": "Private Kanäle",
   "Private_Groups_list": "Liste aller privaten Kanäle",
-  "Private_Groups": "Private Gruppen",
   "Private_Team": "Privates Team",
-  "Private": "Privat",
+  "Profile": "Profil",
   "Profile_details": "Profildetails",
   "Profile_picture": "Profilbild",
   "Profile_saved_successfully": "Das Profil wurde erfolgreich gespeichert",
-  "Profile": "Profil",
+  "Prune": "Löschen",
   "Prune_finished": "Löschen beendet",
   "Prune_Messages": "Nachrichten löschen",
   "Prune_Modal": "Möchten Sie diese Nachrichten wirklich löschen? Bereinigte Nachrichten können nicht wiederhergestellt werden.",
-  "Prune_Warning_after": "Dadurch werden alle% s in% s nach% s gelöscht.",
   "Prune_Warning_all": "Dadurch werden alle% s in% s gelöscht!",
   "Prune_Warning_before": "Dadurch werden alle% s in% s vor% s gelöscht.",
+  "Prune_Warning_after": "Dadurch werden alle% s in% s nach% s gelöscht.",
   "Prune_Warning_between": "Dadurch werden alle% s in% s zwischen% s und% s gelöscht.",
-  "Prune": "Löschen",
-  "Pruning_files": "Lösche Dateien ...",
   "Pruning_messages": "Lösche Nachrichten ...",
+  "Pruning_files": "Lösche Dateien ...",
+  "messages_pruned": "Nachrichten gelöscht.",
+  "files_pruned": "Dateien gelöscht.",
+  "Public": "Öffentlich",
   "Public_Channel": "Öffentlicher Kanal",
   "Public_Community": "Öffentliche Gemeinschaft",
   "Public_Relations": "Öffentlichkeitsarbeit",
   "Push": "Push-Nachrichten",
   "Push_Setting_Requires_Restart_Alert": "Änderungen an dieser Einstellung erfordern einen Neustart von Rocket.Chat",
-  "Public": "Öffentlich",
   "Push_apn_cert": "APN-Cert",
   "Push_apn_dev_cert": "APN-Dev-Cert",
   "Push_apn_dev_key": "APN-Dev-Key",
@@ -2074,8 +2067,8 @@
   "Push_apn_key": "APN-Key",
   "Push_apn_passphrase": "APN-Passphrase",
   "Push_debug": "Debuggen",
-  "Push_enable_gateway": "Gateway aktivieren",
   "Push_enable": "Aktivieren",
+  "Push_enable_gateway": "Gateway aktivieren",
   "Push_gateway": "Gateway",
   "Push_gcm_api_key": "GCM-API-Key",
   "Push_gcm_project_number": "GCM-Projektnummer",
@@ -2083,23 +2076,22 @@
   "Push_show_message": "Nachricht in der Benachrichtigung anzeigen",
   "Push_show_username_room": "Kanal/Gruppe/Benutzername in der Benachrichtigung anzeigen",
   "Push_test_push": "Test",
-  "Push": "Push-Nachrichten",
-  "Query_description": "Zusätzliche Einschränkung, an welche Benutzer die E-Mail gesendet werden soll. Benutzer, die nicht benachrichtigt werden wollen, werden automatisch aus der Abfrage entfernt. Es muss ein gültiges JSON sein. Beispiel: \"{\"createdAt\":{\"$gt\":{\"$date\": \"2015-01-01T00:00:00.000Z\"}}}\"",
   "Query": "Abfrage",
+  "Query_description": "Zusätzliche Einschränkung, an welche Benutzer die E-Mail gesendet werden soll. Benutzer, die nicht benachrichtigt werden wollen, werden automatisch aus der Abfrage entfernt. Es muss ein gültiges JSON sein. Beispiel: \"{\"createdAt\":{\"$gt\":{\"$date\": \"2015-01-01T00:00:00.000Z\"}}}\"",
   "Queue": "Warteschlange",
-  "Quote": "Zitieren",
   "quote": "zitieren",
+  "Quote": "Zitieren",
   "Random": "Zufällig",
   "RDStation_Token": "RD Station Token",
-  "React_when_read_only_changed_successfully": "Reaktionen erlauben, wenn ein Kanal schreibgeschützt wurde",
   "React_when_read_only": "Reaktionen erlauben",
+  "React_when_read_only_changed_successfully": "Reaktionen erlauben, wenn ein Kanal schreibgeschützt wurde",
   "Reacted_with": "Reagierte mit",
   "Reactions": "Reaktionen",
   "Read_by": "Gelesen von",
+  "Read_only": "Schreibgeschützt",
   "Read_only_changed_successfully": "Erfolgreich schreibgeschützt",
   "Read_only_channel": "Kanal schreibgeschützt",
   "Read_only_group": "Schreibgeschützte Gruppe",
-  "Read_only": "Schreibgeschützt",
   "Real_Estate": "Immobilien",
   "RealName_Change_Disabled": "Der Rocket.Chat Administrator hat das Ändern von Namen deaktiviert",
   "Reason_To_Join": "Info für den Admin, warum Sie beitreten möchten",
@@ -2111,27 +2103,30 @@
   "Refresh_oauth_services": "OAuth Services aktualisieren",
   "Refresh_your_page_after_install_to_enable_screen_sharing": "Aktualisieren Sie die Seite nach der Installation, um die Bildschirmübertragung zu aktivieren",
   "Regenerate_codes": "Codes neu generieren",
+  "Register": "Neues Konto registrieren",
+  "Register_Server": "Server registrieren",
   "Register_Server_Info": "Verwenden Sie die vorkonfigurierten Gateways und Proxies von Rocket.Chat Technologies Corp.",
-  "Register_Server_Opt_In": "Newsletter, Angebote und Produktupdates",
+  "Register_Server_Registered": "Registrieren Sie sich für den Zugriff",
+  "Register_Server_Registered_Push_Notifications": "Mobiles Push-Benachrichtigungs-Gateway",
   "Register_Server_Registered_Livechat": "Livechat Omnichannel Proxy",
-  "Register_Server_Registered_Marketplace": "Apps-Marktplatz",
   "Register_Server_Registered_OAuth": "OAuth-Proxy für soziales Netzwerk",
-  "Register_Server_Registered_Push_Notifications": "Mobiles Push-Benachrichtigungs-Gateway",
-  "Register_Server_Registered": "Registrieren Sie sich für den Zugriff",
-  "Register_Server_Standalone_Own_Certificates": "Kompilieren Sie die mobilen Apps erneut mit Ihren eigenen Zertifikaten",
+  "Register_Server_Registered_Marketplace": "Apps-Marktplatz",
+  "Register_Server_Opt_In": "Newsletter, Angebote und Produktupdates",
+  "Register_Server_Standalone": "Den Server im \"Standalone\"-Modus registieren",
   "Register_Server_Standalone_Service_Providers": "Erstellen Sie Konten bei Dienstanbietern",
   "Register_Server_Standalone_Update_Settings": "Aktualisieren Sie die vorkonfigurierten Einstellungen",
-  "Register_Server_Standalone": "Den Server im \"Standalone\"-Modus registieren",
-  "Register_Server": "Server registrieren",
-  "Register": "Neues Konto registrieren",
+  "Register_Server_Standalone_Own_Certificates": "Kompilieren Sie die mobilen Apps erneut mit Ihren eigenen Zertifikaten",
+  "Registration": "Registrierung",
   "Registration_Succeeded": "Ihre Registrierung war erfolgreich",
   "Registration_via_Admin": "Registrierung durch den Administrator",
-  "Registration": "Registrierung",
   "Regular_Expressions": "Reguläre Ausdrücke",
   "Release": "Version",
   "Religious": "Religiös",
-  "Reload_Pages": "Seite neu laden",
   "Reload": "Neu laden",
+  "Reload_Pages": "Seite neu laden",
+  "Remove": "Entfernen",
+  "remove-user": "Benutzer entfernen",
+  "remove-user_description": "Berechtigung, einen Benutzter aus einem Raum zu entfernen",
   "Remove_Admin": "Administrator entfernen",
   "Remove_as_leader": "Als Diskussionsleiter entfernen",
   "Remove_as_moderator": "Moderatorenrechte entfernen",
@@ -2140,11 +2135,8 @@
   "Remove_from_room": "Aus dem Raum entfernen",
   "Remove_last_admin": "Entferne den letzen Administrator",
   "Remove_someone_from_room": "Jemanden aus dem Raum entfernen",
-  "remove-user_description": "Berechtigung, einen Benutzter aus einem Raum zu entfernen",
-  "remove-user": "Benutzer entfernen",
-  "Remove": "Entfernen",
-  "Removed_User": "Benutzer wurde entfernt",
   "Removed": "Entfernt",
+  "Removed_User": "Benutzer wurde entfernt",
   "Reply": "Antwort",
   "ReplyTo": "Antwort an",
   "Report_Abuse": "Missbrauch melden",
@@ -2156,34 +2148,34 @@
   "Require_any_token": "Mindestens ein Token anfordern",
   "Require_password_change": "Passwortänderung verlangen",
   "Resend_verification_email": "Bestätigungsmail erneut versenden",
-  "Reset_Connection": "Verbindung zurücksetzen",
+  "Reset": "Zurücksetzen",
   "Reset_password": "Passwort zurücksetzen",
   "Reset_section_settings": "Abschnittseinstellungen zurücksetzen",
-  "Reset": "Zurücksetzen",
-  "Restart_the_server": "Server neu starten",
+  "Reset_Connection": "Verbindung zurücksetzen",
   "Restart": "Neustart",
+  "Restart_the_server": "Server neu starten",
   "Retail": "Handel",
   "Retention_setting_changed_successfully": "Die Einstellung für die Aufbewahrungsrichtlinie wurde erfolgreich geändert",
-  "RetentionPolicy_AppliesToChannels": "Gilt für Kanäle",
-  "RetentionPolicy_AppliesToDMs": "Gilt für direkte Nachrichten",
-  "RetentionPolicy_AppliesToGroups": "Gilt für private Gruppen",
+  "RetentionPolicy": "Aufbewahrungsrichtlinie",
+  "RetentionPolicy_RoomWarning": "Nachrichten, die älter als __time__ sind, werden hier automatisch gelöscht",
+  "RetentionPolicy_RoomWarning_Unpinned": "Nicht gepinnte Nachrichten, die älter als __time__ sind, werden hier automatisch bereinigt",
+  "RetentionPolicy_RoomWarning_FilesOnly": "Dateien älter als __time__ werden hier automatisch bereinigt (Nachrichten bleiben erhalten)",
+  "RetentionPolicy_RoomWarning_UnpinnedFilesOnly": "Nicht gepinnte Dateien älter als __time__ werden hier automatisch bereinigt. (Nachrichten bleiben erhalten)",
   "RetentionPolicy_Description": "Löscht automatisch alte Nachrichten in Ihrer Rocket.Chat-Instanz.",
   "RetentionPolicy_Enabled": "Aktiviert",
+  "RetentionPolicy_AppliesToChannels": "Gilt für Kanäle",
+  "RetentionPolicy_AppliesToGroups": "Gilt für private Gruppen",
+  "RetentionPolicy_AppliesToDMs": "Gilt für direkte Nachrichten",
   "RetentionPolicy_ExcludePinned": "Pinned-Nachrichten ausschließen",
-  "RetentionPolicy_FilesOnly_Description": "Nur Dateien werden gelöscht, die Nachrichten selbst bleiben bestehen.",
   "RetentionPolicy_FilesOnly": "Löschen Sie nur Dateien",
+  "RetentionPolicy_FilesOnly_Description": "Nur Dateien werden gelöscht, die Nachrichten selbst bleiben bestehen.",
+  "RetentionPolicy_MaxAge": "Maximales Nachrichtenalter",
   "RetentionPolicy_MaxAge_Channels": "Maximales Nachrichtenalter in Kanälen",
-  "RetentionPolicy_MaxAge_Description": "Bereinigen Sie alle Nachrichten, die älter als dieser Wert sind, in Tagen",
-  "RetentionPolicy_MaxAge_DMs": "Maximales Nachrichtenalter in direkten Nachrichten",
   "RetentionPolicy_MaxAge_Groups": "Maximales Nachrichtenalter in privaten Gruppen",
-  "RetentionPolicy_MaxAge": "Maximales Nachrichtenalter",
-  "RetentionPolicy_Precision_Description": "Wie oft sollte der Prune Timer laufen? Wenn Sie dies auf einen präziseren Wert setzen, werden Kanäle mit schnellen Retention-Timern zwar besser, in großen Communities jedoch möglicherweise zusätzliche Verarbeitungsleistung.",
+  "RetentionPolicy_MaxAge_DMs": "Maximales Nachrichtenalter in direkten Nachrichten",
+  "RetentionPolicy_MaxAge_Description": "Bereinigen Sie alle Nachrichten, die älter als dieser Wert sind, in Tagen",
   "RetentionPolicy_Precision": "Timer-Präzision",
-  "RetentionPolicy_RoomWarning_FilesOnly": "Dateien älter als __time__ werden hier automatisch bereinigt (Nachrichten bleiben erhalten)",
-  "RetentionPolicy_RoomWarning_Unpinned": "Nicht gepinnte Nachrichten, die älter als __time__ sind, werden hier automatisch bereinigt",
-  "RetentionPolicy_RoomWarning_UnpinnedFilesOnly": "Nicht gepinnte Dateien älter als __time__ werden hier automatisch bereinigt. (Nachrichten bleiben erhalten)",
-  "RetentionPolicy_RoomWarning": "Nachrichten, die älter als __time__ sind, werden hier automatisch gelöscht",
-  "RetentionPolicy": "Aufbewahrungsrichtlinie",
+  "RetentionPolicy_Precision_Description": "Wie oft sollte der Prune Timer laufen? Wenn Sie dies auf einen präziseren Wert setzen, werden Kanäle mit schnellen Retention-Timern zwar besser, in großen Communities jedoch möglicherweise zusätzliche Verarbeitungsleistung.",
   "RetentionPolicyRoom_Enabled": "Alte Nachrichten automatisch löschen",
   "RetentionPolicyRoom_ExcludePinned": "Pinned-Nachrichten ausschließen",
   "RetentionPolicyRoom_FilesOnly": "Bereinigen Sie nur Dateien, behalten Sie Nachrichten",
@@ -2191,13 +2183,14 @@
   "RetentionPolicyRoom_OverrideGlobal": "Globale Aufbewahrungsrichtlinie außer Kraft setzen",
   "RetentionPolicyRoom_ReadTheDocs": "Achtung! Das Anpassen dieser Einstellungen ohne große Sorgfalt kann den gesamten Nachrichtenverlauf zerstören. Bitte lesen Sie die Dokumentation, bevor Sie das Feature unter <a href = 'https: //rocket.chat/docs/administrator-guides/retention-policies/'>hier</a>aktivieren.",
   "Retry_Count": "Anzahl der Wiederholungsversuche",
+  "Role": "Rolle",
   "Role_Editing": "Rolle bearbeiten",
   "Role_removed": "Die Rolle wurde entfernt",
-  "Role": "Rolle",
+  "Room": "Raum",
   "Room_announcement_changed_successfully": "Die Ankündigung des Raums wurde geändert",
+  "Room_archivation_state": "Status",
   "Room_archivation_state_false": "Aktiv",
   "Room_archivation_state_true": "Archiviert",
-  "Room_archivation_state": "Status",
   "Room_archived": "Der Raum wurde archiviert",
   "room_changed_announcement": "Ankündigung des Raums wurde von <em>__user_by__</em> zu <em>__room_announcement__</em> geändert",
   "room_changed_description": "Raumbeschreibung wurde von  von <em>__user_by__</em> zu <em>__room_description__</em> geändert",
@@ -2211,9 +2204,9 @@
   "Room_Info": "Rauminformation",
   "room_is_blocked": "Der Raum ist blockiert",
   "room_is_read_only": "Der Raum ist schreibgeschützt",
-  "Room_name_changed_successfully": "Der Raumname wurde erfolgreich geändert",
-  "Room_name_changed": "<em>__user_by__</em> hat den Raumnamen zu  <em>__room_name__</em> geändert.",
   "room_name": "Raumname",
+  "Room_name_changed": "<em>__user_by__</em> hat den Raumnamen zu  <em>__room_name__</em> geändert.",
+  "Room_name_changed_successfully": "Der Raumname wurde erfolgreich geändert",
   "Room_not_found": "Raum konnte nicht gefunden werden",
   "Room_password_changed_successfully": "Das Raum-Passwort wurde erfolgreich geändert",
   "Room_tokenpass_config_changed_successfully": "Die Tokenpass-Konfiguration wurde geändert",
@@ -2221,47 +2214,47 @@
   "Room_type_changed_successfully": "Der Raumtyp wurde erfolgreich geändert",
   "Room_type_of_default_rooms_cant_be_changed": "Das ist ein Standardraum, dessen Typ nicht geändert werden kann. Bitte sprechen Sie mit Ihrem Administrator",
   "Room_unarchived": "Der Raum wurde aus dem Archiv geholt",
-  "Room_uploaded_file_list_empty": "Es wurden noch keine Dateien hochgeladen",
   "Room_uploaded_file_list": "Dateien",
-  "Room": "Raum",
+  "Room_uploaded_file_list_empty": "Es wurden noch keine Dateien hochgeladen",
   "Rooms": "Räume",
-  "run-import_description": "Berechtigung, Importe auszuführen",
   "run-import": "Import ausführen",
-  "run-migration_description": "Berechtigung, Migrationen auszuführen",
+  "run-import_description": "Berechtigung, Importe auszuführen",
   "run-migration": "Migration ausführen",
+  "run-migration_description": "Berechtigung, Migrationen auszuführen",
   "Running_Instances": "Laufende Instanzen",
   "Runtime_Environment": "Laufzeitumgebung",
   "S_new_messages_since_s": "%s neue Nachrichten seit %s",
   "Same_As_Token_Sent_Via": "Wie \"Token Sent Via\"",
   "Same_Style_For_Mentions": "Gleicher Stil für Erwähnungen",
+  "SAML": "SAML",
   "SAML_Custom_Cert": "Benutzerdefiniertes Zertifikat",
   "SAML_Custom_Debug": "Debugmodus aktivieren",
   "SAML_Custom_Entry_point": "Einstiegspunkt",
   "SAML_Custom_Generate_Username": "Benutzernamen generieren",
   "SAML_Custom_IDP_SLO_Redirect_URL": "IDP SLO Redirect URL",
   "SAML_Custom_Issuer": "Benutzerdefinierter Aussteller",
+  "SAML_Custom_Logout_Behaviour": "Verhalten beim Abmelden",
   "SAML_Custom_Logout_Behaviour_End_Only_RocketChat": "Nur von Rocket.Chat abmelden",
   "SAML_Custom_Logout_Behaviour_Terminate_SAML_Session": "SAML-Session beenden",
-  "SAML_Custom_Logout_Behaviour": "Verhalten beim Abmelden",
   "SAML_Custom_Private_Key": "Privater Schlüssel",
   "SAML_Custom_Provider": "Benutzerdefinierter Provider",
   "SAML_Custom_Public_Cert": "Öffentliches Zertifikat",
-  "SAML": "SAML",
   "Sandstorm_Powerbox_Share": "Als Sandstorm Grain teilen",
   "Saturday": "Samstag",
+  "Save": "Speichern",
+  "save-others-livechat-room-info": "Livechat-Informationen anderer Chats speichern",
+  "save-others-livechat-room-info_description": "Berechtigung, die Livechat-Informationen anderer Konversationen zu speichern",
   "Save_changes": "Änderungen speichern",
   "Save_Mobile_Bandwidth": "Mobiles Datenvolumen sparen",
   "Save_to_enable_this_action": "Speichern Sie, um diese Aktion zu aktivieren",
-  "save-others-livechat-room-info_description": "Berechtigung, die Livechat-Informationen anderer Konversationen zu speichern",
-  "save-others-livechat-room-info": "Livechat-Informationen anderer Chats speichern",
-  "Save": "Speichern",
   "Saved": "Gespeichert",
   "Saving": "Speichern",
-  "Scan_QR_code_alternative_s": "Wenn Sie den QR-code nicht einscannen können, können Sie ihn alternativ manuell eingeben: __code__",
   "Scan_QR_code": "Scannen Sie den QR-Code mit einer Authenticator-App (wie Google Authenticator, Authy oder Duo). Danach wird ein sechsstelliger Code angezeigt, den Sie unten eingeben müssen.",
+  "Scan_QR_code_alternative_s": "Wenn Sie den QR-code nicht einscannen können, können Sie ihn alternativ manuell eingeben: __code__",
   "Scope": "Umfang",
   "Screen_Share": "Bildschirmübertragung",
   "Script_Enabled": "Das Script wurde aktiviert",
+  "Search": "Suche",
   "Search_by_file_name": "Suche nach Dateiname",
   "Search_by_username": "Anhand des Nutzernamens suchen",
   "Search_Channels": "Kanäle suchen",
@@ -2272,7 +2265,6 @@
   "Search_Private_Groups": "Durchsuche private Kanäle",
   "Search_Provider": "Suchanbieter",
   "Search_Users": "Benutzer suchen",
-  "Search": "Suche",
   "seconds": "Sekunden",
   "Secret_token": "Geheimes Token",
   "Security": "Sicherheit",
@@ -2286,16 +2278,17 @@
   "Select_user": "Benutzer auswählen",
   "Select_users": "Benutzer auswählen",
   "Selected_agents": "Ausgewählte Agenten",
+  "Send": "Senden",
   "Send_a_message": "Eine Nachricht schicken",
   "Send_a_test_mail_to_my_user": "Eine Test-E-Mail an mich senden",
   "Send_a_test_push_to_my_user": "Eine Test-Push-Nachricht an mich senden",
   "Send_confirmation_email": "Bestätigungsmail versenden",
   "Send_data_into_RocketChat_in_realtime": "Daten an Rocket.Chat in Echtzeit senden",
   "Send_email": "E-Mail senden",
-  "Send_invitation_email_error": "Sie haben keine gültige E-Mail-Adresse angegeben.",
+  "Send_invitation_email": "Einladung per E-Mail senden",
+  "Send_invitation_email_error": "Du hast keine gültige E-Mail-Adresse angegeben.",
   "Send_invitation_email_info": "Sie können mehrere Einladungen gleichzeitig per E-Mail absenden",
   "Send_invitation_email_success": "Sie haben eine erfolgreich Einladung an folgende E-Mail-Adressen versendet:",
-  "Send_invitation_email": "Einladung per E-Mail senden",
   "Send_request_on_agent_message": "Anfrage an Agent-Nachrichten senden",
   "Send_request_on_chat_close": "Nach dem Schließen des Chatraums einen Webhook anstoßen",
   "Send_request_on_lead_capture": "Anfrage senden bei Lead Capture",
@@ -2306,33 +2299,33 @@
   "Send_visitor_navigation_history_on_request": "Senden Sie das Besucher-Navigationsprotokoll auf Anfrage",
   "Send_welcome_email": "Willkommens-E-Mail senden",
   "Send_your_JSON_payloads_to_this_URL": "Senden Sie Ihre JSON-Nutzlasten an diese URL",
-  "Send": "Senden",
   "Sending": "Senden...",
   "Sent_an_attachment": "Anhang gesendet",
   "Served_By": "Bedient von",
   "Server_Info": "Serverinformationen",
   "Server_Type": "Server Typ",
-  "Service_account_key": "Service Account Schlüssel",
   "Service": "Service",
-  "Set_as_leader": "Zum Diskussionsleiter ernennen",
-  "Set_as_moderator": "Zum Moderator ernennen",
-  "Set_as_owner": "Zum Besitzer machen",
-  "set-moderator_description": "Berechtigung, andere Benutzer zum Moderator eines Kanals zu ernennen",
+  "Service_account_key": "Service Account Schlüssel",
   "set-moderator": "Moderator ernennen",
-  "set-owner_description": "Berechtigung, andere Benutzer zum Eigentümer eines Kanals zu ernennen",
+  "set-moderator_description": "Berechtigung, andere Benutzer zum Moderator eines Kanals zu ernennen",
   "set-owner": "Eigentümer ernennen",
-  "set-react-when-readonly_description": "Berechtigung, Reaktionen in einem schreibgeschützten Kanal zu erlauben",
+  "set-owner_description": "Berechtigung, andere Benutzer zum Eigentümer eines Kanals zu ernennen",
   "set-react-when-readonly": "Reaktionen in einem schreibgeschützten Kanal erlauben",
-  "set-readonly_description": "Berechtigung, einen Raum schreibgeschützt zu machen",
+  "set-react-when-readonly_description": "Berechtigung, Reaktionen in einem schreibgeschützten Kanal zu erlauben",
   "set-readonly": "Mit Schreibschutz versehem",
-  "Settings_updated": "Die Einstellungen wurden aktualisiert",
+  "set-readonly_description": "Berechtigung, einen Raum schreibgeschützt zu machen",
+  "Set_as_leader": "Zum Diskussionsleiter ernennen",
+  "Set_as_moderator": "Zum Moderator ernennen",
+  "Set_as_owner": "Zum Besitzer machen",
   "Settings": "Einstellungen",
-  "Setup_Wizard_Info": "Wir führen Sie durch die Einrichtung Ihres ersten Admin-Benutzers, die Konfiguration Ihrer Organisation und die Registrierung Ihres Servers, um kostenlose Push-Benachrichtigungen und mehr zu erhalten.",
+  "Settings_updated": "Die Einstellungen wurden aktualisiert",
   "Setup_Wizard": "Setup-Assistent",
+  "Setup_Wizard_Info": "Wir führen Sie durch die Einrichtung Ihres ersten Admin-Benutzers, die Konfiguration Ihrer Organisation und die Registrierung Ihres Servers, um kostenlose Push-Benachrichtigungen und mehr zu erhalten.",
   "Share_Location_Title": "Standort teilen?",
   "Shared_Location": "Standort geteilt",
   "Should_be_a_URL_of_an_image": "Sollte die URL eines Bildes sein",
   "Should_exists_a_user_with_this_username": "Der Benutzer muss bereits vorhanden sein",
+  "Show_Setup_Wizard": "Setup-Assistent anzeigen",
   "Show_agent_email": "E-Mail-Adresse des Agenten anzeigen",
   "Show_all": "Alle Nutzer zeigen",
   "Show_Avatars": "Zeige Avatare",
@@ -2346,29 +2339,28 @@
   "Show_preregistration_form": "Vorregistrierungsformular anzeigen",
   "Show_queue_list_to_all_agents": "Die Warteschlange allen Agenten anzeigen",
   "Show_room_counter_on_sidebar": "Zeige den Zähler des Raumes in der Seitenleiste an",
-  "Show_Setup_Wizard": "Setup-Assistent anzeigen",
   "Show_the_keyboard_shortcut_list": "Zeige die Liste der Keyboard-Shortcuts",
   "Showing_archived_results": "<p>Aneigen von <b>%s</b> archivierte Räume</p>",
   "Showing_online_users": "<b>__total_showing__</b> von __total__ Benutzern werden angezeigt",
   "Showing_results": "<p><b>%s</b> Ergebnisse</p>",
-  "Sidebar_list_mode": "Seitenleiste Kanallisten-Modus",
   "Sidebar": "Seitenleiste",
+  "Sidebar_list_mode": "Seitenleiste Kanallisten-Modus",
   "Sign_in_to_start_talking": "Anmelden, um mit dem Chatten zu beginnen",
   "since_creation": "seit %s",
   "Site_Name": "Seitenname",
-  "Site_Url_Description": "Beispiel: https://chat.domain.com/",
   "Site_Url": "Website-URL",
+  "Site_Url_Description": "Beispiel: https://chat.domain.com/",
   "Size": "Größe",
   "Skip": "Ãœberspringen",
   "Slack_Users": "Benutzer-CSV von Slack",
   "SlackBridge_error": "SlackBridge hat beim Import der Nachrichten einen Fehler gemeldet. %s: %s",
   "SlackBridge_finish": "SlackBridge hat den Import aller Nachrichten um %s beendet. Bitte laden Sie die Seite neu, um sie einzusehen.",
-  "SlackBridge_Out_All_Description": "Nachrichten aller Kanäle, die in Slack existieren und denen der Bot beigetreten ist senden",
   "SlackBridge_Out_All": "Alles an SlackBridge senden",
-  "SlackBridge_Out_Channels_Description": "Auswählen, welche Kanäle an Slack gesendet werden",
+  "SlackBridge_Out_All_Description": "Nachrichten aller Kanäle, die in Slack existieren und denen der Bot beigetreten ist senden",
   "SlackBridge_Out_Channels": "Kanäle für SlackBridge",
-  "SlackBridge_Out_Enabled_Description": "Ob die SlackBridge auch Nachrichten aus Rocket.Chat an Slack zurücksenden soll",
+  "SlackBridge_Out_Channels_Description": "Auswählen, welche Kanäle an Slack gesendet werden",
   "SlackBridge_Out_Enabled": "SlackBridge Ausgang aktiviert",
+  "SlackBridge_Out_Enabled_Description": "Ob die SlackBridge auch Nachrichten aus Rocket.Chat an Slack zurücksenden soll",
   "SlackBridge_start": "@%s hat um `#%s` einen SlackBridge-Import gestartet. Wir werden Sie darüber informieren, sobald dieser beendet ist.",
   "Slash_Gimme_Description": "Zeigt ༼ つ ◕_◕ ༽つ vor Ihrer Nachricht",
   "Slash_LennyFace_Description": "Zeigt ( ͡° ͜ʖ ͡°) nach Ihrer Nachricht",
@@ -2377,37 +2369,38 @@
   "Slash_TableUnflip_Description": "Zeigt ┬─┬ ノ( ゜-゜ノ)",
   "Slash_Topic_Description": "Thema definieren",
   "Slash_Topic_Params": "Themen-Nachricht",
-  "Smarsh_Email_Description": "Smarsh E-Mail-Adresse, an die die .eml-Datei gesendet werden soll.",
   "Smarsh_Email": "Smarsh E-Mail",
-  "Smarsh_Enabled_Description": "Ob der Smarsh-E-Mail-Konnektor aktiviert ist. Erfordert, dass \"Absender-E-Mail\" unter E-Mail -> SMTP konfiguriert ist.",
+  "Smarsh_Email_Description": "Smarsh E-Mail-Adresse, an die die .eml-Datei gesendet werden soll.",
   "Smarsh_Enabled": "Smarsh",
-  "Smarsh_Interval_Description": "Die Wartezeit, bevor die Konversation versendet wird. Erfordert, dass \"Absender-E-Mail\" unter E-Mail -> SMTP konfiguriert ist.",
+  "Smarsh_Enabled_Description": "Ob der Smarsh-E-Mail-Konnektor aktiviert ist. Erfordert, dass \"Absender-E-Mail\" unter E-Mail -> SMTP konfiguriert ist.",
   "Smarsh_Interval": "Smarsh-Intervall",
-  "Smarsh_MissingEmail_Email_Description": "Eine E-Mail-Adresse, die bei Benutzern ohne E-Mail-Adresse (üblicherweise Bots) angezeigt werden soll.",
+  "Smarsh_Interval_Description": "Die Wartezeit, bevor die Konversation versendet wird. Erfordert, dass \"Absender-E-Mail\" unter E-Mail -> SMTP konfiguriert ist.",
   "Smarsh_MissingEmail_Email": "Fehlende E-Mail-Adresse",
+  "Smarsh_MissingEmail_Email_Description": "Eine E-Mail-Adresse, die bei Benutzern ohne E-Mail-Adresse (üblicherweise Bots) angezeigt werden soll.",
   "Smileys_and_People": "Gesichter & Personen",
   "SMS_Enabled": "SMS aktiviert",
+  "SMTP": "SMTP",
   "SMTP_Host": "SMTP-Host",
   "SMTP_Password": "SMTP-Passwort",
   "SMTP_Port": "SMTP-Port",
   "SMTP_Test_Button": "SMTP-Einstellungen testen",
   "SMTP_Username": "SMTP-Benutzername",
-  "SMTP": "SMTP",
+  "snippet-message": "Nachrichten-Snippet",
+  "snippet-message_description": "Berechtigung, ein Nachrichten-Snippet zu erstellen",
   "Snippet_Added": "Erstellt am %s",
   "Snippet_Messages": "Nachrichten-Snippets",
   "Snippet_name": "Snippet-Name",
-  "snippet-message_description": "Berechtigung, ein Nachrichten-Snippet zu erstellen",
-  "snippet-message": "Nachrichten-Snippet",
   "Snippeted_a_message": "Ein Snippet wurde erstellt: __snippetLink__",
   "Social_Network": "Soziales Netzwerk",
   "Sorry_page_you_requested_does_not_exists_or_was_deleted": "Entschuldigung, die von Ihnen angeforderte Seite existiert nicht oder wurde gelöscht!",
-  "Sort_by_activity": "Nach Aktivität sortieren",
   "Sort": "Sortieren",
-  "Sound_File_mp3": "Ton-Datei (.mp3)",
+  "Sort_by_activity": "Nach Aktivität sortieren",
   "Sound": "Ton",
+  "Sound_File_mp3": "Ton-Datei (.mp3)",
   "SSL": "SSL",
   "Star_Message": "Nachricht favorisieren",
   "Starred_Messages": "Favorisierte Nachrichten",
+  "Start": "Starten",
   "Start_audio_call": "Anruf starten",
   "Start_Chat": "Chat beginnen",
   "Start_of_conversation": "Beginn des Gesprächs",
@@ -2415,12 +2408,11 @@
   "Start_video_call": "Videoanruf starten",
   "Start_video_conference": "Eine Video-Konferenz starten?",
   "Start_with_s_for_user_or_s_for_channel_Eg_s_or_s": "Starte mit <code class=\"inline\">%s</code> für Nutzer oder <code class=\"inline\">%s</code> für Kanäle. Beispiel: <code class=\"inline\">%s</code> oder <code class=\"inline\">%s</code>",
-  "Start": "Starten",
   "Started_a_video_call": "Ein Video-Anruf wurde gestartet",
   "Started_At": "Gestartet um",
-  "Statistics_reporting_Description": "Mit dem Senden Ihrer Statistiken helfen Sie uns herauszufinden, wie viele Instanzen von Rocket.Chat eingesetzt werden und wie gut sich das System verhält. So können wir es weiter verbessern. Es werden keine Benutzerinformationen übertragen und die erhaltenen Daten werden vertraulich behandelt.",
-  "Statistics_reporting": "Sende Statistiken an Rocket.Chat",
   "Statistics": "Statistiken",
+  "Statistics_reporting": "Sende Statistiken an Rocket.Chat",
+  "Statistics_reporting_Description": "Mit dem Senden Ihrer Statistiken helfen Sie uns herauszufinden, wie viele Instanzen von Rocket.Chat eingesetzt werden und wie gut sich das System verhält. So können wir es weiter verbessern. Es werden keine Benutzerinformationen übertragen und die erhaltenen Daten werden vertraulich behandelt.",
   "Stats_Active_Users": "Aktive Benutzer",
   "Stats_Avg_Channel_Users": "Durchschnittliche Benutzeranzahl pro Kanal",
   "Stats_Avg_Private_Group_Users": "Durchschnittliche Benutzeranzahl in privaten Kanälen",
@@ -2432,31 +2424,31 @@
   "Stats_Total_Channels": "Anzahl der Kanäle",
   "Stats_Total_Direct_Messages": "Anzahl der Direktnachrichten",
   "Stats_Total_Livechat_Rooms": "Gesamtzahl der Livechat-Räume",
+  "Stats_Total_Messages": "Anzahl aller Nachrichten",
   "Stats_Total_Messages_Channel": "Gesamtanzahl der Nachrichten in Kanälen",
   "Stats_Total_Messages_Direct": "Gesamtanzahl der Nachrichten in Direktnachrichten",
   "Stats_Total_Messages_Livechat": "Gesamtanzahl der Nachrichten in Livechats",
   "Stats_Total_Messages_PrivateGroup": "Gesamtanzahl der Nachrichten in privaten Gruppen",
-  "Stats_Total_Messages": "Anzahl aller Nachrichten",
   "Stats_Total_Private_Groups": "Anzahl der privaten Kanäle",
   "Stats_Total_Rooms": "Anzahl der Räume",
   "Stats_Total_Users": "Anzahl der Benutzer",
   "Status": "Status",
   "Step": "Schritt",
   "Stop_Recording": "Aufnahme stoppen",
-  "Store_Last_Message_Sent_per_Room": "Speichere jede letzte Nachricht",
   "Store_Last_Message": "Letze Nachricht speichern",
-  "Stream_Cast_Address_Description": "IP oder Host Ihres zentralen Stream Cast Servers inkl. Port, bspw. `192.168.1.1:3000` oder `localhost:4000`",
-  "Stream_Cast_Address": "Stream Cast Adresse",
+  "Store_Last_Message_Sent_per_Room": "Speichere jede letzte Nachricht",
   "Stream_Cast": "Stream Cast",
+  "Stream_Cast_Address": "Stream Cast Adresse",
+  "Stream_Cast_Address_Description": "IP oder Host Ihres zentralen Stream Cast Servers inkl. Port, bspw. `192.168.1.1:3000` oder `localhost:4000`",
   "strike": "durchgestrichen",
   "Subject": "Betreff",
   "Submit": "Abssenden",
-  "Success_message": "Erfolgsnachricht",
   "Success": "Dieser Vorgang war erfolgreich",
+  "Success_message": "Erfolgsnachricht",
   "Sunday": "Sonntag",
   "Support": "Unterstützung",
-  "Survey_instructions": "Bewerten Sie jede Frage nach Ihrer Zufriedenheit. 1 bedeutet, dass Sie völlig frustriert sind. 5 bedeutet, dass Sie vollständig zufrieden sind.",
   "Survey": "Umfrage",
+  "Survey_instructions": "Bewerten Sie jede Frage nach Ihrer Zufriedenheit. 1 bedeutet, dass Sie völlig frustriert sind. 5 bedeutet, dass Sie vollständig zufrieden sind.",
   "Symbols": "Symbole",
   "Sync_in_progress": "Eine Synchronisierung wird durchgeführt",
   "Sync_success": "Die Synchronisierung war erfolgreich",
@@ -2466,7 +2458,7 @@
   "Take_it": "Ãœbernehmen",
   "TargetRoom": "Ziel-Raum",
   "TargetRoom_Description": "Der Raum, an den Nachrichten gesendet werden, wenn dieses Ereignis eintritt. Nur ein existierender Raum kann angegeben werden.",
-  "Target user not allowed to receive messages": "Der Empfänger hat keine Berechtigung um Nachrichten zu Empfangen",
+  "Target user not allowed to receive messages": "Der Empfänger hat keine Berechtigung, Nachrichten zu empfangen",
   "Team": "Team",
   "Technology_Provider": "Technologieanbieter",
   "Technology_Services": "Technologie-Dienstleistungen",
@@ -2485,6 +2477,7 @@
   "The_setting_s_is_configured_to_s_and_you_are_accessing_from_s": "Die Einstellung <strong>%s</strong> wurde zu <strong>%s</strong> konfiguriert. Sie greifen von <strong>%s</strong> zu!",
   "The_user_will_be_removed_from_s": "Der Benutzer wird aus %s entfernt",
   "The_user_wont_be_able_to_type_in_s": "Der Benutzer kann nicht mehr in %s schreiben",
+  "Theme": "Visuelles Theme",
   "theme-color-component-color": "Komponentenfarbe",
   "theme-color-content-background-color": "Hintergrundfarbe des Inhalts",
   "theme-color-custom-scrollbar-color": "Benutzerdefinierte Farbe der Scrollbar",
@@ -2495,21 +2488,21 @@
   "theme-color-primary-action-color": "Primäre Aktionsfarbe",
   "theme-color-primary-background-color": "Primäre Hintergrundfarbe ",
   "theme-color-primary-font-color": "Primäre Schriftfarbe",
-  "theme-color-rc-color-alert-light": "Hinweis (hell)",
   "theme-color-rc-color-alert": "Hinweis",
-  "theme-color-rc-color-button-primary-light": "Button Primär (hell)",
+  "theme-color-rc-color-alert-light": "Hinweis (hell)",
   "theme-color-rc-color-button-primary": "Button Primär",
+  "theme-color-rc-color-button-primary-light": "Button Primär (hell)",
   "theme-color-rc-color-content": "Inhalt",
-  "theme-color-rc-color-error-light": "Fehler (hell)",
   "theme-color-rc-color-error": "Fehler",
+  "theme-color-rc-color-error-light": "Fehler (hell)",
+  "theme-color-rc-color-primary": "Primär",
   "theme-color-rc-color-primary-dark": "Primär (dunkel)",
   "theme-color-rc-color-primary-darkest": "Primär (am dunkelsten)",
-  "theme-color-rc-color-primary-light-medium": "Primär (mittelhell)",
   "theme-color-rc-color-primary-light": "Primär (hell)",
+  "theme-color-rc-color-primary-light-medium": "Primär (mittelhell)",
   "theme-color-rc-color-primary-lightest": "Primär (am hellsten)",
-  "theme-color-rc-color-primary": "Primär",
-  "theme-color-rc-color-success-light": "Erfolg (hell)",
   "theme-color-rc-color-success": "Erfolg",
+  "theme-color-rc-color-success-light": "Erfolg (hell)",
   "theme-color-secondary-action-color": "Sekundäre Aktionsfarbe",
   "theme-color-secondary-background-color": "Sekundäre Hintergrundfarbe",
   "theme-color-secondary-font-color": "Sekundäre Schriftfarbe",
@@ -2529,10 +2522,9 @@
   "theme-color-unread-notification-color": "Farbe von ungelesenen Benachrichtigungen",
   "theme-custom-css": "Benutzerdefiniertes CSS",
   "theme-font-body-font-family": "Schrift-Familie für den Textkörper",
-  "Theme": "Visuelles Theme",
   "There_are_no_agents_added_to_this_department_yet": "Es wurden bisher keine Agenten zu dieser Abteilung hinzugefügt",
-  "There_are_no_applications_installed": "Zur Zeit sind keine Rocket.Chat-Anwendungen installiert.",
   "There_are_no_applications": "Bisher wurden keine oAuth Anwendungen hinzugefügt.",
+  "There_are_no_applications_installed": "Zur Zeit sind keine Rocket.Chat-Anwendungen installiert.",
   "There_are_no_integrations": "Es sind keine Integrationen vorhanden",
   "There_are_no_personal_access_tokens_created_yet": "Bisher wurden keine persönlichen Zugangsschlüssel erzeugt.",
   "There_are_no_users_in_this_role": "Es sind dieser Rolle keine Benutzer zugeordnet",
@@ -2544,10 +2536,10 @@
   "This_room_has_been_unarchived_by__username_": "Dieser Raum wurde von __username__ aus dem Archiv geholt",
   "Thursday": "Donnerstag",
   "Time_in_seconds": "Zeit in Sekunden",
-  "Title_bar_color_offline": "Farbe der Offline-Titelleiste",
+  "Title": "Titel",
   "Title_bar_color": "Farbe der Titelleiste",
+  "Title_bar_color_offline": "Farbe der Offline-Titelleiste",
   "Title_offline": "Titel wenn offline",
-  "Title": "Titel",
   "To_additional_emails": "Zu zusätzlichen E-Mails",
   "To_install_RocketChat_Livechat_in_your_website_copy_paste_this_code_above_the_last_body_tag_on_your_site": "Um den Rocket.Chat-LiveChat auf Ihrer Webseite zu installieren, kopieren und fügen Sie den Code oberhalb des letzten <strong>&lt;/body&gt;</strong>-Tags Ihrer Seite ein.",
   "to_see_more_details_on_how_to_integrate": "um weitere Informationen zur Integration zu sehen",
@@ -2558,14 +2550,15 @@
   "Token_required": "Token wird benötigt",
   "Tokenpass_Channel_Label": "Tokenpass-Kanal",
   "Tokenpass_Channels": "Tokenpass-Kanäle",
+  "Tokens_Minimum_Needed_Balance": "Mindestens erforderliches Token-Guthaben",
   "Tokens_Minimum_Needed_Balance_Description": "Legen Sie für jedes Token den minimal erforderlichen Kontostand fest. Leer oder \"0\" für kein Limit.",
   "Tokens_Minimum_Needed_Balance_Placeholder": "Saldowert",
-  "Tokens_Minimum_Needed_Balance": "Mindestens erforderliches Token-Guthaben",
+  "Tokens_Required": "Tokens erforderlich",
   "Tokens_Required_Input_Description": "Geben Sie einen oder mehrere Token-Asset-Namen ein, die durch Kommas getrennt sind.",
   "Tokens_Required_Input_Error": "Ungültige eingegebene Tokens",
   "Tokens_Required_Input_Placeholder": "Token-Asset-Namen",
-  "Tokens_Required": "Tokens erforderlich",
   "Topic": "Thema",
+  "Total_messages": "Anzahl aller Nachrichten",
   "Tourism": "Tourismus",
   "Transcript_Enabled": "Frage Besucher, ob Sie nach dem Schließen des Livechats eine Mitschrift zugesandt bekommen möchten",
   "Transcript_message": "Nachricht, die bei der Nachfrage bzgl. einer Mitschrift gesendet wird",
@@ -2580,78 +2573,82 @@
   "Tuesday": "Dienstag",
   "Turn_OFF": "Deaktivieren",
   "Turn_ON": "Aktivieren",
+  "Two-factor_authentication": "Zwei-Faktor-Authentifizierung",
   "Two-factor_authentication_disabled": "Zwei-Faktor-Authentifizierung deaktiviert",
   "Two-factor_authentication_enabled": "Zwei-Faktor-Authentifizierung aktiviert",
   "Two-factor_authentication_is_currently_disabled": "Zwei-Faktor-Authentifizierung ist momentan deaktiviert",
-  "Two-factor_authentication_native_mobile_app_warning": "WARNUNG: Nach der Aktivierung kannst du dich nicht mehr auf den mobilen Apps (Rocket.Chat+) einloggen, da dieses Feature dort noch nicht implementiert wurde.",
-  "Two-factor_authentication": "Zwei-Faktor-Authentifizierung",
+  "Two-factor_authentication_native_mobile_app_warning": "WARNUNG: Nach der Aktivierung können Sie sich nicht mehr auf den mobilen Apps (Rocket.Chat+) einloggen, da dieses Feature dort noch nicht implementiert wurde.",
+  "Type": "Typ",
   "Type_your_email": "Gib Deine E-Mail-Adresse ein",
   "Type_your_job_title": "Geben Sie Ihre Berufsbezeichnung ein",
   "Type_your_message": "Gib Deine Nachricht ein",
   "Type_your_name": "Gib Deinen Namen ein",
-  "Type_your_new_password": "Gib ein neues Passwort ein",
+  "Type_your_new_password": "Geben Sie ein neues Passwort ein",
   "Type_your_password": "Geben Sie Ihr Passwort ein",
   "Type_your_username": "Geben Sie Ihren Benutzernamen ein",
-  "Type": "Typ",
   "UI_Allow_room_names_with_special_chars": "Sonderzeichen im Raumnamen erlauben",
-  "UI_Click_Direct_Message_Description": "Den Profil-Tab überspringen und direkt zur Konversation gehen",
   "UI_Click_Direct_Message": "Anklicken, um eine Direktnachricht zu erstellen",
+  "UI_Click_Direct_Message_Description": "Den Profil-Tab überspringen und direkt zur Konversation gehen",
   "UI_DisplayRoles": "Rollen anzeigen",
   "UI_Group_Channels_By_Type": "Gruppieren Sie Kanäle nach Typ",
   "UI_Merge_Channels_Groups": "Führe private und öffentliche Kanäle zusammen",
   "UI_Unread_Counter_Style": "Stil für den \"Ungelesen\"-Zähler",
   "UI_Use_Name_Avatar": "Die Initialen des vollständigen Namens verwenden, um einen Standard-Avatar zu generieren",
   "UI_Use_Real_Name": "Den echten Namen verwenden",
-  "unarchive-room_description": "Berechtigung, einen Raum aus dem Archiv holen",
-  "unarchive-room": "Raum aus dem Archiv holen",
   "Unarchive": "Aus dem Archiv holen",
+  "unarchive-room": "Raum aus dem Archiv holen",
+  "unarchive-room_description": "Berechtigung, einen Raum aus dem Archiv holen",
   "Unblock_User": "Benutzer entsperren",
-  "Unfavorite": "Aus Favoriten entfernen",
   "Unignore": "Unignore",
   "Uninstall": "Uninstall",
   "Unmute_someone_in_room": "Jemandem das Chatten in einem Raum wieder erlauben",
   "Unmute_user": "Benutzern das Chatten erlauben",
   "Unnamed": "Unbenannt",
   "Unpin_Message": "Nachricht nicht mehr anheften",
-  "Unread_Count_DM": "Zählen ungelesener Direktnachrichten",
+  "Unread": "Ungelesen",
   "Unread_Count": "Zählen ungelesener Nachrichten",
+  "Unread_Count_DM": "Zählen ungelesener Direktnachrichten",
   "Unread_Messages": "Ungelesene Nachrichten",
   "Unread_on_top": "Ungelesene oben",
-  "Unread_Rooms_Mode": "Ungelesene Räume gruppiert anzeigen",
   "Unread_Rooms": "Ungelesene Räume",
+  "Unread_Rooms_Mode": "Ungelesene Räume gruppiert anzeigen",
   "Unread_Tray_Icon_Alert": "Ungelesen-Markierung in Statusleiste anzeigen",
-  "Unread": "Ungelesen",
   "Unstar_Message": "Aus den Favoriten entfernen",
-  "Update_to_version": "Aktualisieren auf Version _version_",
+  "Update_to_version": "Auf Version _version_ aktualisieren",
   "Update_your_RocketChat": "Aktualisieren Sie Ihr Rocket.Chat",
   "Updated_at": "Aktualisiert am",
   "Upload_file_description": "Dateibeschreibung",
   "Upload_file_name": "Dateiname",
   "Upload_file_question": "Datei hochladen?",
+  "Upload_Folder_Path": "Pfad des Uploads",
   "Upload_user_avatar": "Avatar hochladen",
   "Uploading_file": "Datei wird hochgeladen...",
   "Uptime": "Laufzeit",
-  "URL_room_prefix": "URL-Präfix für Räume",
   "URL": "URL",
+  "URL_room_prefix": "URL-Präfix für Räume",
   "Use_account_preference": "Kontoeinstellungen verwenden",
   "Use_Emojis": "Emojis verwenden",
   "Use_Global_Settings": "Globale Einstellungen verwenden",
   "Use_initials_avatar": "Anfangsbuchstaben des Nutzernamens verwenden",
   "Use_minor_colors": "\"Minor\" Farbpalette verwenden (Standard: Erben von den Hauptfarben)",
   "Use_service_avatar": "Verwende %s Profilbild",
+  "Verification_Email": "Klicken Sie <a href=\"[Verification_Url]\">hier</a>, um Ihr Benutzerkonto zu bestätigen",
   "Use_this_username": "Benutzen Sie folgenden Nutzernamen",
   "Use_uploaded_avatar": "Das hochgeladene Profilbild verwenden",
   "Use_url_for_avatar": "URL für Profilbild verwenden",
   "Use_User_Preferences_or_Global_Settings": "Kontoeinstellungen oder globale Einstellungen verwenden",
+  "User": "Benutzer",
+  "user-generate-access-token": "Zugriffs-Token erzeugen",
+  "user-generate-access-token_description": "Berechtigung, Zugangs-Tokens für Benutzer zu erstellen",
   "User__username__is_now_a_leader_of__room_name_": "Benutzer __username__ ist nun Diskussionsleiter für __room_name__",
   "User__username__is_now_a_moderator_of__room_name_": "Der Benutzer __username__ ist jetzt ein Moderator von __room_name__",
   "User__username__is_now_a_owner_of__room_name_": "Benutzer __username__ ist jetzt Besitzer von __room_name__",
   "User__username__removed_from__room_name__leaders": "Benutzer __username__ wurde als Diskussionsleiter in __room_name__ entfernt",
   "User__username__removed_from__room_name__moderators": "Der Benutzer __username__ wurde von einem Moderator aus __room_name__ entfernt",
   "User__username__removed_from__room_name__owners": "Benutzer __username__ ist nicht mehr Besitzer von __room_name__",
+  "User_added": "Der Benutzer <em>__user_added__</em> wurde hinzugefügt",
   "User_added_by": "Der Benutzer <em>__user_added__</em> wurde von <em>__user_by__</em> hinzugefügt",
   "User_added_successfully": "Benutzer erfolgreich hinzugefügt",
-  "User_added": "Der Benutzer <em>__user_added__</em> wurde hinzugefügt",
   "User_and_group_mentions_only": "Nur Benutzer- und Gruppenerwähnungen",
   "User_default": "Benutzer Standard",
   "User_doesnt_exist": "Kein Benutzer mit Namen `@%s` vorhanden",
@@ -2668,23 +2665,23 @@
   "User_is_no_longer_an_admin": "Der Benutzer ist kein Administrator mehr",
   "User_is_now_an_admin": "Der Benutzer ist jetzt ein Administrator",
   "User_is_unblocked": "Benutzer ist nicht mehr geblockt",
+  "User_joined_channel": "Ist dem Kanal beigetreten",
   "User_joined_channel_female": "Ist dem Kanal beigetreten",
   "User_joined_channel_male": "Ist dem Kanal beigetreten",
-  "User_joined_channel": "Ist dem Kanal beigetreten",
+  "User_left": "Benutzer <em>__user_left__</em> hat den Kanal verlassen",
   "User_left_female": "Benutzer <em>__user_left__</em> hat den Kanal verlassen.",
   "User_left_male": "Benutzer <em>__user_left__</em> hat den Kanal verlassen.",
-  "User_left": "Benutzer <em>__user_left__</em> hat den Kanal verlassen",
   "User_logged_out": "Benutzer wurde abgemeldet",
   "User_management": "Benutzerverwaltung",
   "User_mentions_only": "Nur Benutzererwähnungen",
-  "User_muted_by": "Benutzer <em>__user_muted__</em> wurde das Chatten von <em>__user_by__</em> verboten",
   "User_muted": "Benutzer stumm geschaltet",
-  "User_not_found_or_incorrect_password": "Entweder konnte der Benutzer nicht gefunden werden oder Sie haben ein falsches Passwort angegeben",
+  "User_muted_by": "Benutzer <em>__user_muted__</em> wurde das Chatten von <em>__user_by__</em> verboten",
   "User_not_found": "Der Benutzer konnte nicht gefunden werden",
+  "User_not_found_or_incorrect_password": "Entweder konnte der Benutzer nicht gefunden werden oder Sie haben ein falsches Passwort angegeben",
   "User_or_channel_name": "Benutzer- oder Kanalname",
   "User_Presence": "Verfügbarkeit",
-  "User_removed_by": "Benutzer <em>__user_removed__</em> wurde von <em>__user_by__</em> entfernt",
   "User_removed": "Benutzer wurde gelöscht",
+  "User_removed_by": "Benutzer <em>__user_removed__</em> wurde von <em>__user_by__</em> entfernt",
   "User_sent_a_message_on_channel": "<strong>__username__</strong> hat eine Nachricht an <strong>__channel__</strong> gesendet:",
   "User_sent_a_message_to_you": "<strong>__username__</strong> hat Ihnen eine Nachricht gesendet:",
   "user_sent_an_attachment": "__user__ hat einen Anhang gesendet",
@@ -2696,21 +2693,19 @@
   "User_uploaded_a_file_to_you": "<strong>__username__</strong> hat Ihnen eine Datei gesendet:",
   "User_uploaded_file": "hat eine Datei hochladen",
   "User_uploaded_image": "hat ein Bild hochgeladen",
-  "user-generate-access-token_description": "Berechtigung, Zugangs-Tokens für Benutzer zu erstellen",
-  "user-generate-access-token": "Zugriffs-Token erzeugen",
-  "User": "Benutzer",
   "UserData_EnableDownload": "Benutzerdaten herunterladen aktivieren",
   "UserData_FileSystemPath": "Systempfad (exportierte Dateien)",
   "UserData_FileSystemZipPath": "Systempfad (komprimierte Datei)",
   "UserData_MessageLimitPerRequest": "Nachrichtenlimit pro Anfrage",
   "UserData_ProcessingFrequency": "Verarbeitungshäufigkeit (Minuten)",
+  "UserDataDownload": "Benutzerdaten herunterladen",
   "UserDataDownload_CompletedRequestExisted_Text": "Ihre Datendatei wurde bereits generiert. Überprüfen Sie Ihren E-Mail-Account für den Download-Link.",
   "UserDataDownload_EmailBody": "Ihre Datendatei ist jetzt zum Herunterladen bereit. Klicken Sie <a href=\"__download_link__\">hier</a>, um es herunterzuladen.",
   "UserDataDownload_EmailSubject": "Ihre Datendatei ist bereit zum Herunterladen",
-  "UserDataDownload_Requested_Text": "Ihre Datendatei wird generiert. Ein Link zum Herunterladen wird an Ihre E-Mail-Adresse gesendet, wenn Sie fertig sind.",
   "UserDataDownload_Requested": "Datei herunterladen angefordert",
+  "UserDataDownload_Requested_Text": "Ihre Datendatei wird generiert. Ein Link zum Herunterladen wird an Ihre E-Mail-Adresse gesendet, wenn Sie fertig sind.",
   "UserDataDownload_RequestExisted_Text": "Ihre Datendatei wird bereits generiert. Ein Link zum Herunterladen wird an Ihre E-Mail-Adresse gesendet, wenn Sie fertig sind.",
-  "UserDataDownload": "Benutzerdaten herunterladen",
+  "Username": "Benutzername",
   "Username_already_exist": "Benutzername existiert bereits. Bitte versuchen Sie es mit einem anderen Benutzernamen.",
   "Username_and_message_must_not_be_empty": "Benutzername und Nachricht müssen eingegeben werden",
   "Username_cant_be_empty": "Sie müssen einen Benutzernamen angeben",
@@ -2725,19 +2720,17 @@
   "Username_Placeholder": "Bitte gib Benutzernamen ein...",
   "Username_title": "Benutzernamen festlegen",
   "Username_wants_to_start_otr_Do_you_want_to_accept": "__username__ möchte ein OTR-Gespräch starten. Möchten Sie es annehmen?",
-  "Username": "Benutzername",
+  "Users": "Benutzer",
   "Users_added": "Die Benutzer wurden hinzugefügt",
   "Users_in_role": "Nutzer mit dieser Rolle",
-  "Users": "Benutzer",
   "UTF8_Names_Slugify": "UTF8-Namen-Slugify",
-  "UTF8_Names_Validation_Description": "Regulärer Ausdruck, der zur Validierung der Benutzer- und Kanalnamen verwendet wird",
   "UTF8_Names_Validation": "UTF8-Namen-Verifizierung",
+  "UTF8_Names_Validation_Description": "Regulärer Ausdruck, der zur Validierung der Benutzer- und Kanalnamen verwendet wird",
   "Validate_email_address": "E-Mail-Adresse bestätigen",
+  "Verification": "Überprüfung ",
   "Verification_Description": "Sie können die folgenden Platzhalter verwenden: <br/><ul><li>[Verification_Url] für die Verifikations-URL</li><li>[name], [fname], [lname] für den vollständigen Namen, Vornamen oder Nachnamen des Benutzers</li><li>[email] für die E-Mail-Adresse des Benutzers.</li><li>[Site_Name] und [Site_URL] für den Anwendungsnamen und die URL der Anwendung</li></ul>",
   "Verification_email_sent": "Bestätigungsmail gesendet",
   "Verification_Email_Subject": "[Site_Name] - Bestätigen Sie Ihr Benutzerkonto",
-  "Verification_Email": "Klicken Sie <a href=\"[Verification_Url]\">hier</a>, um Ihr Benutzerkonto zu bestätigen",
-  "Verification": "Überprüfung ",
   "Verified": "Überprüft",
   "Verify": "überprüfen",
   "Version": "Version",
@@ -2746,56 +2739,59 @@
   "Video_message": "Videonachricht",
   "Videocall_declined": "Videoanruf abgelehnt",
   "Videocall_enabled": "Videoanruf aktiviert",
-  "View_All": "Alle ansehen",
-  "View_Logs": "Logs anzeigen",
-  "View_mode": "Ansichts-Modus",
   "view-broadcast-member-list": "Die Liste der Mitglieder in Broadcast-Räumen anzeigen",
-  "view-c-room_description": "Berechtigung, öffentliche Kanäle einzusehen",
   "view-c-room": "Öffentlichen Kanal anzeigen",
-  "view-d-room_description": "Berechtigung, Direktnachrichten zu erhalten",
+  "view-c-room_description": "Berechtigung, öffentliche Kanäle einzusehen",
   "view-d-room": "Direktnachrichten erhalten",
-  "view-full-other-user-info_description": "Berechtigung, die vollständigen Benutzerinformation anderer Benutzer einzusehen (inkl. Erstelldatum, letztem Login etc.)",
+  "view-d-room_description": "Berechtigung, Direktnachrichten zu erhalten",
   "view-full-other-user-info": "Vollständige Benutzerinformation einsehen",
-  "view-history_description": "Berechtigung, die Kanal-Historie anzuzeigen",
+  "view-full-other-user-info_description": "Berechtigung, die vollständigen Benutzerinformation anderer Benutzer einzusehen (inkl. Erstelldatum, letztem Login etc.)",
   "view-history": "Historie anzeigen",
-  "view-join-code_description": "Berechtigung, den Beitritts-Code zu einem Kanal anzuzeigen",
+  "view-history_description": "Berechtigung, die Kanal-Historie anzuzeigen",
   "view-join-code": "Beitritts-Code anzeigen",
-  "view-joined-room_description": "Berechtigung, einen Raum, dem der Benutzer angehört, anzuzeigen",
+  "view-join-code_description": "Berechtigung, den Beitritts-Code zu einem Kanal anzuzeigen",
   "view-joined-room": "Beigetretenen Raum anzeigen",
-  "view-l-room_description": "Berechtigung, Livechat-Räume zu sehen",
+  "view-joined-room_description": "Berechtigung, einen Raum, dem der Benutzer angehört, anzuzeigen",
   "view-l-room": "Zeige Livechat-Räume",
-  "view-livechat-manager_description": "Berechtigung, andere Livechat-Manager zu sehen",
+  "view-l-room_description": "Berechtigung, Livechat-Räume zu sehen",
   "view-livechat-manager": "Zeige Livechat-Manager",
-  "view-livechat-rooms_description": "Berechtigung, andere Livechat-Räume einzusehen",
+  "view-livechat-manager_description": "Berechtigung, andere Livechat-Manager zu sehen",
   "view-livechat-rooms": "Zeige Livechat-Räume",
-  "view-logs_description": "Berechtigung, die Server-Logs anzuzeigen",
+  "view-livechat-rooms_description": "Berechtigung, andere Livechat-Räume einzusehen",
   "view-logs": "Logs anzeigen",
-  "view-other-user-channels_description": "Berechtigung, die Räume anderer Benutzer zu sehen",
+  "view-logs_description": "Berechtigung, die Server-Logs anzuzeigen",
   "view-other-user-channels": "Räume anderer Benutzer anzeigen",
+  "view-other-user-channels_description": "Berechtigung, die Räume anderer Benutzer zu sehen",
   "view-outside-room": "Raum außerhalb anzeigen",
-  "view-p-room_description": "Berechtigung, private Räume anzuzeigen",
   "view-p-room": "Privaten Raum anzeigen",
-  "view-privileged-setting_description": "Einstellungen anzeigen",
+  "view-p-room_description": "Berechtigung, private Räume anzuzeigen",
   "view-privileged-setting": "Besonders geschützte Einstellungen einsehen",
-  "view-room-administration_description": "Berechtigung, Raumstatistiken zu öffentlichen, privaten und Direktnachrichten anzeigen. Beinhaltet nicht die Berechtigung, die Konversationen selbst oder Archive einzusehen.",
+  "view-privileged-setting_description": "Einstellungen anzeigen",
   "view-room-administration": "Raum-Administration anzeigen",
-  "view-statistics_description": "Berechtigung, Statistiken über das System einzusehen, bspw. Anzahl der angemeldeten Benutzer, Anzahl der Räume und Informationen zum Betriebssystem.",
+  "view-room-administration_description": "Berechtigung, Raumstatistiken zu öffentlichen, privaten und Direktnachrichten anzeigen. Beinhaltet nicht die Berechtigung, die Konversationen selbst oder Archive einzusehen.",
   "view-statistics": "Statistiken anzeigen",
-  "view-user-administration_description": "Berechtigung zu unvollständigen, schreibgeschützten Listen von anderen Benutzer, die derzeit am System angemeldet sind. Keine Details der Benutzerkonten können mit dieser Berechtigung eingesehen werden.",
+  "view-statistics_description": "Berechtigung, Statistiken über das System einzusehen, bspw. Anzahl der angemeldeten Benutzer, Anzahl der Räume und Informationen zum Betriebssystem.",
   "view-user-administration": "Benutzerverwaltung anzeigen",
+  "view-user-administration_description": "Berechtigung zu unvollständigen, schreibgeschützten Listen von anderen Benutzer, die derzeit am System angemeldet sind. Keine Details der Benutzerkonten können mit dieser Berechtigung eingesehen werden.",
+  "View_All": "Alle ansehen",
+  "View_Logs": "Logs anzeigen",
+  "View_mode": "Ansichts-Modus",
   "Viewing_room_administration": "Raumadministration anzeigen",
   "Visibility": "Sichtbarkeit",
   "Visible": "Sichtbar",
+  "Visitor": "Besucher",
   "Visitor_Info": "Besucherinformation",
   "Visitor_Navigation": "Besuchernavigation",
   "Visitor_page_URL": "URL der Besucherseite",
   "Visitor_time_on_site": "Besuchsdauer auf der Seite",
-  "Visitor": "Besucher",
   "Wait_activation_warning": "Bevor Sie sich anmelden können, muss das Konto von einem Administrator manuell aktiviert werden",
   "Warnings": "Warnungen",
   "We_are_offline_Sorry_for_the_inconvenience": "Wir sind offline. Bitte entschuldigen Sie die Unannehmlichkeiten.",
-  "We_have_sent_password_email": "Wir haben Ihnen eine Anleitung zum Zurücksetzen des Passworts an Ihre E-Mail-Adresse gesendet. Wenn Sie keine E-Mail erhalten haben, versuchen Sie es bitte noch einmal.",
-  "We_have_sent_registration_email": "Wir haben Ihnen eine Bestätigungsmail gesendet. Wenn Sie keine E-Mail erhalten haben, versuchen Sie es bitte noch einmal.",
+  "We_have_sent_password_email": "Wir haben Dir eine Anleitung zum Zurücksetzen des Passworts an Deine E-Mail-Adresse gesendet. Wenn Du keine E-Mail erhalten hast, versuch es bitte noch einmal.",
+  "We_have_sent_registration_email": "Wir haben Dir eine Bestätigungsmail gesendet. Wenn Du keine E-Mail erhalten hast, versuch es bitte noch einmal.",
+  "Webdav_Server_URL": "URL des WebDAV-Serverzugriffs",
+  "Webdav_Username": "WebDAV Benutzername",
+  "Webdav_Password": "WebDAV Passwort",
   "Webhook_URL": "Webhook-URL",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "Direkter Anruf von%s",
@@ -2806,29 +2802,30 @@
   "WebRTC_group_audio_call_from_%s": "Gruppenanruf von%s",
   "WebRTC_group_video_call_from_%s": "Gruppenvideoanruf von%s",
   "WebRTC_monitor_call_from_%s": "Anruf von %s überwachen",
-  "WebRTC_Servers_Description": "Kommaseparierte Liste von STUN- und TURN-Servern.<br/>Benutzernamen, Passwörter und Ports sind in diesen Formaten erlaubt: `username:password@stun:host:port` oder `username:password@turn:host:port",
   "WebRTC_Servers": "STUN/TURN-Server",
+  "WebRTC_Servers_Description": "Kommaseparierte Liste von STUN- und TURN-Servern.<br/>Benutzernamen, Passwörter und Ports sind in diesen Formaten erlaubt: `username:password@stun:host:port` oder `username:password@turn:host:port",
   "Website": "Webseite",
   "Wednesday": "Mittwoch",
-  "Welcome_to_the": "Willkommen bei",
   "Welcome": "Willkommen, <em>%s</em>.",
-  "Why_do_you_want_to_report_question_mark": "Warum möchten Sie das melden?",
+  "Welcome_to_the": "Willkommen bei",
+  "Why_do_you_want_to_report_question_mark": "Warum möchtest Du das melden?",
   "will_be_able_to": "wird in der Lage sein,",
   "Worldwide": "Weltweit",
   "Would_you_like_to_return_the_inquiry": "Anfrage zurückgeben?",
+  "Yes": "Ja",
   "Yes_archive_it": "Ja, archivieren!",
   "Yes_clear_all": "Ja, alles löschen!",
   "Yes_delete_it": "Ja!",
   "Yes_hide_it": "Ja, verstecken!",
   "Yes_leave_it": "Ja, verlassen!",
   "Yes_mute_user": "Ja, Benutzer stumm schalten!",
-  "Yes_prune_them": "Ja, beschneide sie!",
+  "Yes_prune_them": "Ja, lösche sie!",
   "Yes_remove_user": "Ja, Benutzer entfernen!",
   "Yes_unarchive_it": "Ja, aus dem Archiv holen!",
-  "Yes": "Ja",
   "yesterday": "gestern",
+  "You": "Du",
   "you_are_in_preview_mode_of": "Sie befinden sich im Vorschaumodus des Kanals #<strong>__room_name__</strong>",
-  "You_are_logged_in_as": "Sie sind angemeldet als",
+  "You_are_logged_in_as": "Du bist angemeldet als",
   "You_are_not_authorized_to_view_this_page": "Sie sind nicht berechtigt, diese Seite zu sehen",
   "You_can_change_a_different_avatar_too": "Sie können für Post dieser Integration ein anderes Profilbild verwenden",
   "You_can_search_using_RegExp_eg": "Sie können einen regulären Ausdruck zum Suchen verwenden. z.B. <code class='code-colors inline'>/^text$/i</code>",
@@ -2850,16 +2847,15 @@
   "You_need_to_write_something": "Sie sollten etwas schreiben!",
   "You_should_inform_one_url_at_least": "Sie müssen mindestens eine URL angeben",
   "You_should_name_it_to_easily_manage_your_integrations": "Zur einfacheren Verwaltung der Integrationen empfehlen wir, der Integration einen Namen zu geben.",
-  "You_will_not_be_able_to_recover_file": "Das Wiederherstellen dieser Datei wird nicht möglich sein",
   "You_will_not_be_able_to_recover": "Die Nachricht kann anschließend nicht wiederhergestellt werden",
+  "You_will_not_be_able_to_recover_file": "Das Wiederherstellen dieser Datei wird nicht möglich sein",
   "You_wont_receive_email_notifications_because_you_have_not_verified_your_email": "Sie werden keine E-Mail-Benachrichtigungen erhalten, da Sie Ihre E-Mail-Adresse nicht bestätigt haben",
-  "You": "Sie",
   "Your_email_has_been_queued_for_sending": "Ihre E-Mail wird in Kürze gesendet werden",
   "Your_entry_has_been_deleted": "Ihr Eintrag wurde gelöscht",
   "Your_file_has_been_deleted": "Ihre Datei wurde erfolgreich gelöscht",
   "Your_mail_was_sent_to_s": "Ihre E-Mail wurde an %s gesendet",
-  "your_message_optional": "Ihre optionale Nachricht",
   "your_message": "Ihre Nachricht",
+  "your_message_optional": "Ihre optionale Nachricht",
   "Your_password_is_wrong": "Falsches Passwort",
   "Your_push_was_sent_to_s_devices": "Eine Push-Nachricht wurde an %s Geräte gesendet.",
   "Your_server_link": "Ihre Serververbindung",
diff --git a/packages/rocketchat-i18n/i18n/el.i18n.json b/packages/rocketchat-i18n/i18n/el.i18n.json
index a760f4d0fbb194a2bc7ae02df7af1d98b4551b45..283c62d25c0dcb39cc5ff853393c6c4ec1b31be1 100644
--- a/packages/rocketchat-i18n/i18n/el.i18n.json
+++ b/packages/rocketchat-i18n/i18n/el.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "Απαγορευμένο",
+  "500": "Εσωτερικό Σφάλμα Διακομιστή",
   "#channel": "#κανάλι",
   "0_Errors_Only": "0 - Σφάλματα Μόνο",
   "1_Errors_and_Information": "1 - Σφάλματα και Πληροφορίες",
   "2_Erros_Information_and_Debug": "2 - Σφάλματα, Πληροφορίες και Εντοπισμός σφαλμάτων",
-  "403": "Απαγορευμένο",
-  "500": "Εσωτερικό Σφάλμα Διακομιστή",
   "@username": "@όνομαχρήστη",
   "@username_message": "@όνομαχρήστη <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "Ο __username__ δεν είναι πλέον __role__ από τον __user_by__",
@@ -57,13 +57,13 @@
   "Accounts_Email_Approved": "[name]<br/><br/><p>Ο λογαριασμός σας έγινε αποδεκτός.</p>",
   "Accounts_Email_Approved_Subject": "Ο λογαριασμός έγινε αποδεκτός",
   "Accounts_Email_Deactivated": "[name]<br/><br/><p>Ο λογαριασμός σας απενεργοποιήθηκε.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>Καλωσήρθατε στο <strong>[Site_Name]</strong></h1><p> Πηγαίνετε στο <a href=\"[Site_URL]\">[Site_URL]</a> και δοκιμάστε την καλύτερη λύση συνομιλίας ανοικτού κώδικα που διατίθεται σήμερα! </p>",
   "Accounts_Email_Deactivated_Subject": "Ο λογαριασμός απενεργοποιήθηκε",
   "Accounts_EmailVerification": "Επιβεβαίωση E-mail",
   "Accounts_EmailVerification_Description": "Βεβαιωθείτε ότι έχετε τις σωστές ρυθμίσεις SMTP για να χρησιμοποιήσετε αυτήν τη λειτουργία",
+  "Accounts_Enrollment_Email_Subject_Default": "Καλώς ήρθατε στο [Site_Name]",
   "Accounts_Enrollment_Email": "E-mail εγγραφής",
-  "Accounts_Enrollment_Email_Default": "<h1>Καλωσήρθατε στο <strong>[Site_Name]</strong></h1><p> Πηγαίνετε στο <a href=\"[Site_URL]\">[Site_URL]</a> και δοκιμάστε την καλύτερη λύση συνομιλίας ανοικτού κώδικα που διατίθεται σήμερα! </p>",
   "Accounts_Enrollment_Email_Description": "Μπορείτε να χρησιμοποιήσετε τους ακόλουθους αντικαταστάτες: <br/><ul><li>[name], [fname], [lname] για το πλήρες όνομα του χρήστη, το όνομα ή το επώνυμο, αντίστοιχα.</li><li>[email] για τη διεύθυνση ηλεκτρονικού ταχυδρομείου του χρήστη.</li><li>[Site_Name] και [Site_URL] για το Όνομα της Εφαρμογής και το URL της αντίστοιχα.</li></ul>",
-  "Accounts_Enrollment_Email_Subject_Default": "Καλώς ήρθατε στο [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "Ξέχασε τη Συνεδρία του Χρήστη με το Κλείσιμο του Παραθύρου",
   "Accounts_Iframe_api_method": "Μέθοδος Api",
   "Accounts_Iframe_api_url": "Api URL",
@@ -177,12 +177,12 @@
   "Accounts_ShowFormLogin": "Εμφάνιση Σύνδεσης με Μορφή Φόρμας",
   "Accounts_TwoFactorAuthentication_Enabled": "Ενεργοποίηση επαλήθευσης δύο παραγόντων",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Μέγιστο Δέλτα",
+  "Accounts_UserAddedEmail_Default": "<h1>Καλωσήρθες στο <strong>[Site_Name]</strong></h1><p> Πηγαίνετε στο <a href=\"[Site_URL]\">[Site_URL]</a> και δοκιμάστε την καλύτερη λύση συνομιλίας ανοικτού κώδικα που διατίθεται σήμερα! </p><p> Μπορείτε να συνδεθείτε χρησιμοποιώντας το email σας: [email] και τον κωδικό πρόσβασης: [password]. Μπορεί να σας ζητηθεί να το αλλάξετε μετά την πρώτη είσοδό σας.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "Το Μέγιστο Δέλτα καθορίζει πόσα token ισχύουν ανά πάσα στιγμή. Τα tokens παράγονται κάθε 30 δευτερόλεπτα και ισχύουν για (30 * Μέγιστα Δέλτα) δευτερόλεπτα. <br/>Παράδειγμα: Με Μέγιστο Δέλτα 10, κάθε token μπορεί να χρησιμοποιηθεί έως και 300 δευτερόλεπτα πριν ή μετά τη χρονοσφραγίδα. Αυτό είναι χρήσιμο όταν το ρολόι του πελάτη δεν είναι συγχρονισμένο αυτό του διακομιστή.",
   "Accounts_UseDefaultBlockedDomainsList": "Χρήση Προεπιλεγμένης Λίστας Αποκλεισμένων Τομέων",
   "Accounts_UseDNSDomainCheck": "Χρησιμοποίησε Έλεγχο Τομέα DNS",
-  "Accounts_UserAddedEmail_Default": "<h1>Καλωσήρθες στο <strong>[Site_Name]</strong></h1><p> Πηγαίνετε στο <a href=\"[Site_URL]\">[Site_URL]</a> και δοκιμάστε την καλύτερη λύση συνομιλίας ανοικτού κώδικα που διατίθεται σήμερα! </p><p> Μπορείτε να συνδεθείτε χρησιμοποιώντας το email σας: [email] και τον κωδικό πρόσβασης: [password]. Μπορεί να σας ζητηθεί να το αλλάξετε μετά την πρώτη είσοδό σας.",
-  "Accounts_UserAddedEmail_Description": "Μπορείτε να χρησιμοποιήσετε τους παρακάτω αντικαταστάτες: <br/><ul><li> [name], [fname], [lname] για το πλήρες όνομα του χρήστη, το όνομα ή το επώνυμο, αντίστοιχα. </li><li> [email] για τη διεύθυνση ηλεκτρονικού ταχυδρομείου του χρήστη. </li><li> [password] για τον κωδικό πρόσβασης του χρήστη. </li><li> [Site_Name] και [Site_URL] για το Όνομα της Εφαρμογής και το URL της αντίστοιχα. </li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "Έχετε προστεθεί στο [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "Μπορείτε να χρησιμοποιήσετε τους παρακάτω αντικαταστάτες: <br/><ul><li> [name], [fname], [lname] για το πλήρες όνομα του χρήστη, το όνομα ή το επώνυμο, αντίστοιχα. </li><li> [email] για τη διεύθυνση ηλεκτρονικού ταχυδρομείου του χρήστη. </li><li> [password] για τον κωδικό πρόσβασης του χρήστη. </li><li> [Site_Name] και [Site_URL] για το Όνομα της Εφαρμογής και το URL της αντίστοιχα. </li></ul>",
   "Activate": "Ενεργοποίησε",
   "Activity": "Δραστηριότητα",
   "Add": "Προσθήκη",
@@ -238,6 +238,7 @@
   "Allow_Marketing_Emails": "Αφήστε τα μηνύματα ηλεκτρονικού ταχυδρομείου μάρκετινγκ",
   "Alphabetical": "Αλφαβητικά",
   "Always_open_in_new_window": "Πάντα Άνοιγμα σε Νέο Παράθυρο",
+  "Analytics": "Αναλυτικά στοιχεία",
   "Analytics_features_enabled": "Ενεργοποιημένα Χαρακτηριστικά",
   "Analytics_features_messages_Description": "Ανιχνεύει προσαρμοσμένα γεγονότα σχετικά με ενέργειες που ένα χρήστης κάνει σε μηνύματα.",
   "Analytics_features_rooms_Description": "Ανιχνεύει προσαρμοσμένα γεγονότα σχετικά με ενέργειες σε ένα κανάλι ή ομάδα (δημιουργία, αποχώρηση, διαγραφή).",
@@ -816,6 +817,7 @@
   "Created_at_s_by_s_triggered_by_s": "Δημιουργήθηκε στις <strong>%s</strong> από <strong>%s</strong> ενεργοποιήθηκε από <strong>%s</strong>",
   "CRM_Integration": "Ενσωμάτωση CRM",
   "CROWD_Reject_Unauthorized": "Απόρριψη Μη Εξουσιοδοτημένων",
+  "Crowd_sync_interval_Description": "Το διάστημα μεταξύ των συγχρονισμών. Παράδειγμα \"κάθε 24 ώρες\" ή \"την πρώτη μέρα της εβδομάδας\", περισσότερα παραδείγματα στο [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "Τρέχουσες Συζητήσεις",
   "Current_Status": "Τρέχουσα Κατάσταση",
   "Custom": "Προσαρμοσμένο",
@@ -1339,8 +1341,10 @@
   "Install_package": "Εγκαταστήστε πακέτο",
   "Installation": "Εγκατάσταση",
   "Installed_at": "εγκατεστημένα σε",
+  "Invitation_HTML": "πρόσκληση HTML",
   "Instance_Record": "Εγγραφή στιγμιότυπου",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Οδηγίες για τον επισκέπτη σας να συμπληρώσετε τη φόρμα για να στείλετε ένα μήνυμα",
+  "Invitation_HTML_Default": "<h1>Έχετε προσκληθεί να <strong>[Site_Name]</strong></h1><p> Πηγαίνετε στο [Site_URL] και δοκιμάστε την καλύτερη λύση συνομιλίας ανοικτού κώδικα που διατίθενται σήμερα! </p>",
   "Insurance": "ΑΣΦΑΛΙΣΗ",
   "Integration_added": "Ενσωμάτωση έχει προστεθεί",
   "Integration_Advanced_Settings": "Προηγμένες ρυθμίσεις",
@@ -1406,9 +1410,7 @@
   "invisible": "αόρατος",
   "Invisible": "Αόρατος",
   "Invitation": "Πρόσκληση",
-  "Invitation_HTML": "πρόσκληση HTML",
-  "Invitation_HTML_Default": "<h1>Έχετε προσκληθεί να <strong>[Site_Name]</strong></h1><p> Πηγαίνετε στο [Site_URL] και δοκιμάστε την καλύτερη λύση συνομιλίας ανοικτού κώδικα που διατίθενται σήμερα! </p>",
-  "Invitation_HTML_Description": "Μπορείτε να χρησιμοποιήσετε τις παρακάτω αντικαταστάτες: <br/><ul><li> [email] για τον παραλήπτη ηλεκτρονικού ταχυδρομείου. </li><li> [Site_Name] και [Site_URL] για το όνομα της εφαρμογής και τη διεύθυνση URL αντίστοιχα. </li></ul>",
+  "Invitation_Email_Description": "Μπορείτε να χρησιμοποιήσετε τις παρακάτω αντικαταστάτες: <br/><ul><li> [email] για τον παραλήπτη ηλεκτρονικού ταχυδρομείου. </li><li> [Site_Name] και [Site_URL] για το όνομα της εφαρμογής και τη διεύθυνση URL αντίστοιχα. </li></ul>",
   "Invitation_Subject": "πρόσκληση Θέμα",
   "Invitation_Subject_Default": "Έχετε προσκληθεί να [Site_Name]",
   "Invite_user_to_join_channel": "Προσκαλέστε ένα χρήστη να ενταχθούν σε αυτό το κανάλι",
@@ -2525,6 +2527,7 @@
   "Tokens_Required_Input_Error": "Μη έγκυρα δακτυλογραφημένα μάρκες.",
   "Tokens_Required_Input_Placeholder": "Ονόματα στοιχείων ενεργητικού Tokens",
   "Topic": "Θέμα",
+  "Total_messages": "Σύνολο μηνυμάτων",
   "Tourism": "Ο ΤΟΥΡΙΣΜΟΣ",
   "Transcript_Enabled": "Ζητήστε από τον επισκέπτη αν θα ήθελε μια μεταγραφή μετά την ολοκλήρωση της συνομιλίας",
   "Transcript_message": "Μήνυμα προς εμφάνιση κατά την ερώτηση σχετικά με την μεταγραφή",
@@ -2585,6 +2588,7 @@
   "Upload_file_description": "Περιγραφή Αρχείου",
   "Upload_file_name": "Ονομα αρχείου",
   "Upload_file_question": "Να ανέβει το αρχείο;",
+  "Upload_Folder_Path": "Μεταφόρτωση διαδρομής φακέλου",
   "Upload_user_avatar": "Ανεβάστε το avatar",
   "Uploading_file": "Μεταφόρτωση αρχείου ...",
   "Uptime": "uptime",
@@ -2596,6 +2600,7 @@
   "Use_initials_avatar": "Χρήση των αρχικών του username σας",
   "Use_minor_colors": "Χρησιμοποιήστε τη δευτερεύουσα παλέτα χρωμάτων (οι προεπιλογές κληρονομούν σημαντικά χρώματα)",
   "Use_service_avatar": "Χρήση %s avatar",
+  "Verification_Email": "Κάντε κλικ στο στοιχείο <a href=\"[Verification_Url]\">εδώ</a>για να επαληθεύσετε το λογαριασμό σας.",
   "Use_this_username": "Χρήση αυτού του username",
   "Use_uploaded_avatar": "Χρηση ανεβασμένου avatar",
   "Use_url_for_avatar": "Χρησιμοποιήστε url για avatar",
@@ -2692,7 +2697,6 @@
   "Validate_email_address": "Επαλήθευση διεύθυνσης ηλεκτρονικού ταχυδρομείου",
   "Verification": "Επαλήθευση",
   "Verification_Description": "Μπορείτε να χρησιμοποιήσετε τις ακόλουθες αντικαταστάσεις: <br/><ul><li>[Verification_Url] για τη διεύθυνση URL επαλήθευσης.</li><li>[name], [fname], [lname] για το πλήρες όνομα, το όνομα ή το επώνυμο του χρήστη, αντίστοιχα.</li><li>[email] για τη διεύθυνση ηλεκτρονικής αλληλογραφίας του χρήστη.</li><li>[Site_Name] και [Site_URL] για το Όνομα της Εφαρμογής και τη διεύθυνση URL αντίστοιχα.</li></ul>",
-  "Verification_Email": "Κάντε κλικ στο στοιχείο <a href=\"[Verification_Url]\">εδώ</a>για να επαληθεύσετε το λογαριασμό σας.",
   "Verification_email_sent": "ηλεκτρονικού ταχυδρομείου επαλήθευσης εστάλη",
   "Verification_Email_Subject": "[Site_Name] - Επαληθεύστε τον λογαριασμό σας",
   "Verified": "επαληθεύεται",
@@ -2753,6 +2757,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Είμαστε εκτός σύνδεσης. Συγγνώμη για την ταλαιπωρία.",
   "We_have_sent_password_email": "Σας έχουμε αποστείλει email με οδηγίες επαναφοράς κωδικού. Εαν δεν λάβετε email σύντομα, παρακαλούμε επιστρέψτε και δοκιμάστε ξανά.",
   "We_have_sent_registration_email": "Σας έχουμε αποστείλει email για επιβεβαίωση εγγραφής.  Εαν δεν λάβετε email σύντομα, παρακαλούμε επιστρέψτε και δοκιμάστε ξανά.",
+  "Webdav_Server_URL": "Διεύθυνση URL πρόσβασης διακομιστή WebDAV",
+  "Webdav_Username": "Όνομα χρήστη WebDAV",
+  "Webdav_Password": "Κωδικός WebDAV",
   "Webhook_URL": "Webhook URL",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "Άμεση κλήση ήχου από%s",
diff --git a/packages/rocketchat-i18n/i18n/en.i18n.json b/packages/rocketchat-i18n/i18n/en.i18n.json
index ab294d7e47c82ef5c7c574f7a316d974c8596fe9..f060964ceb501d0506cd5118c8453f31e3ecb70c 100644
--- a/packages/rocketchat-i18n/i18n/en.i18n.json
+++ b/packages/rocketchat-i18n/i18n/en.i18n.json
@@ -1,12 +1,12 @@
 {
+  "403": "Forbidden",
+  "500": "Internal Server Error",
   "#channel": "#channel",
   "0_Errors_Only": "0 - Errors Only",
   "12_Hour": "12-hour clock",
   "1_Errors_and_Information": "1 - Errors and Information",
   "24_Hour": "24-hour clock",
   "2_Erros_Information_and_Debug": "2 - Errors, Information and Debug",
-  "403": "Forbidden",
-  "500": "Internal Server Error",
   "@username": "@username",
   "@username_message": "@username <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__username__ is no longer __role__ by __user_by__",
@@ -61,9 +61,11 @@
   "Accounts_Email_Approved": "[name]<br/><br/><p>Your account was approved.</p>",
   "Accounts_Email_Approved_Subject": "Account approved",
   "Accounts_Email_Deactivated": "[name]<br/><br/><p>Your account was deactivated.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>Welcome to <strong>[Site_Name]</strong></h1><p>Go to <a href=\"[Site_URL]\">[Site_URL]</a> and try the best open source chat solution available today!</p>",
   "Accounts_Email_Deactivated_Subject": "Account deactivated",
   "Accounts_EmailVerification": "Email Verification",
   "Accounts_EmailVerification_Description": "Make sure you have correct SMTP settings to use this feature",
+  "Accounts_Enrollment_Email_Subject_Default": "Welcome to [Site_Name]",
   "Accounts_Enrollment_Email": "Enrollment Email",
   "Accounts_Enrollment_Email_Description": "You may use the following placeholders: <br/><ul><li>[name], [fname], [lname] for the user's full name, first name or last name, respectively.</li><li>[email] for the user's email.</li><li>[Site_Name] and [Site_URL] for the Application Name and URL respectively.</li></ul>",
   "Accounts_ForgetUserSessionOnWindowClose": "Forget User Session on Window Close",
@@ -180,9 +182,11 @@
   "Accounts_ShowFormLogin": "Show Default Login Form",
   "Accounts_TwoFactorAuthentication_Enabled": "Enable Two Factor Authentication",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Maximum Delta",
+  "Accounts_UserAddedEmail_Default": "<h1>Welcome to <strong>[Site_Name]</strong></h1><p>Go to <a href=\"[Site_URL]\">[Site_URL]</a> and try the best open source chat solution available today!</p><p>You may login using your email: [email] and password: [password]. You may be required to change it after your first login.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "The Maximum Delta determines how many tokens are valid at any given time. Tokens are generated every 30 seconds, and are valid for (30 * Maximum Delta) seconds. <br/>Example: With a Maximum Delta set to 10, each token can be used up to 300 seconds before or after it's timestamp. This is useful when the client's clock is not properly synced with the server.",
   "Accounts_UseDefaultBlockedDomainsList": "Use Default Blocked Domains List",
   "Accounts_UseDNSDomainCheck": "Use DNS Domain Check",
+  "Accounts_UserAddedEmailSubject_Default": "You have been added to [Site_Name]",
   "Accounts_UserAddedEmail_Description": "You may use the following placeholders: <br/><ul><li>[name], [fname], [lname] for the user's full name, first name or last name, respectively.</li><li>[email] for the user's email.</li><li>[password] for the user's password.</li><li>[Site_Name] and [Site_URL] for the Application Name and URL respectively.</li></ul>",
   "Activate": "Activate",
   "Activity": "Activity",
@@ -227,6 +231,7 @@
   "Alias_Format": "Alias Format",
   "Alias_Format_Description": "Import messages from Slack with an alias; %s is replaced by the username of the user. If empty, no alias will be used.",
   "Alias_Set": "Alias Set",
+  "Aliases": "Aliases",
   "All": "All",
   "All_added_tokens_will_be_required_by_the_user": "All added tokens will be required by the user",
   "All_channels": "All channels",
@@ -274,8 +279,6 @@
   "API_Enable_CORS": "Enable CORS",
   "API_Enable_Direct_Message_History_EndPoint": "Enable Direct Message History Endpoint",
   "API_Enable_Direct_Message_History_EndPoint_Description": "This enables the `/api/v1/im.history.others` which allows the viewing of direct messages sent by other users that the caller is not part of.",
-  "API_Enable_Personal_Access_Tokens": "Enable Personal Access Tokens to REST API",
-  "API_Enable_Personal_Access_Tokens_Description": "Enable personal access tokens for use with the REST API",
   "API_Enable_Shields": "Enable Shields",
   "API_Enable_Shields_Description": "Enable shields available at `/api/v1/shield.svg`",
   "API_GitHub_Enterprise_URL": "Server URL",
@@ -336,6 +339,7 @@
   "Are_you_sure": "Are you sure?",
   "Are_you_sure_you_want_to_delete_your_account": "Are you sure you want to delete your account?",
   "Are_you_sure_you_want_to_disable_Facebook_integration": "Are you sure you want to disable Facebook integration?",
+  "Assets": "Assets",
   "assign-admin-role": "Assign Admin Role",
   "assign-admin-role_description": "Permission to assign the admin role to other users",
   "Assign_admin": "Assigning admin",
@@ -350,6 +354,7 @@
   "Audio_Notifications_Default_Alert": "Audio Notifications Default Alert",
   "Audio_Notifications_Value": "Default Message Notification Audio",
   "Auth_Token": "Auth Token",
+  "Authentication": "Authentication",
   "Author": "Author",
   "Author_Information": "Author Information",
   "Authorization_URL": "Authorization URL",
@@ -358,6 +363,7 @@
   "auto-translate_description": "Permission to use the auto translate tool",
   "Auto_Load_Images": "Auto Load Images",
   "Auto_Translate": "Auto-Translate",
+  "AutoLinker": "AutoLinker",
   "AutoLinker_Email": "AutoLinker Email",
   "AutoLinker_Phone": "AutoLinker Phone",
   "AutoLinker_Phone_Description": "Automatically linked for Phone numbers. e.g. `(123)456-7890`",
@@ -369,6 +375,7 @@
   "AutoLinker_UrlsRegExp": "AutoLinker URL Regular Expression",
   "Automatic_Translation": "Automatic Translation",
   "Author_Site": "Author site",
+  "AutoTranslate": "Auto-Translate",
   "AutoTranslate_Change_Language_Description": "Changing the auto-translate language does not translate previous messages.",
   "AutoTranslate_Enabled": "Enable Auto-Translate",
   "AutoTranslate_Enabled_Description": "Enabling auto-translation will allow people with the <code class=\"inline\">auto-translate</code> permission to have all messages automatically translated into their selected language. Fees may apply, see <a target=\"_blank\" href=\"https://cloud.google.com/translate/pricing\">Google's Documentation</a>",
@@ -417,6 +424,11 @@
   "Broadcast_channel": "Broadcast Channel",
   "Broadcast_channel_Description": "Only authorized users can write new messages, but the other users will be able to reply",
   "Broadcast_Connected_Instances": "Broadcast Connected Instances",
+  "Broadcasting_api_key": "Broadcasting API Key",
+  "Broadcasting_client_id": "Broadcasting Client ID",
+  "Broadcasting_client_secret": "Broadcasting Client Secret",
+  "Broadcasting_enabled": "Broadcasting Enabled",
+  "Broadcasting_media_server_url": "Broadcasting Media Server URL",
   "Bugsnag_api_key": "Bugsnag API Key",
   "Build_Environment": "Build Environment",
   "bulk-create-c": "Bulk Create Channels",
@@ -433,6 +445,7 @@
   "Busy_male": "Busy",
   "by": "by",
   "cache_cleared": "Cache cleared",
+  "call-management": "Call Management",
   "Cancel": "Cancel",
   "Cancel_message_input": "Cancel",
   "Cannot_invite_users_to_direct_rooms": "Cannot invite users to direct rooms",
@@ -538,6 +551,7 @@
   "Choose_the_username_that_this_integration_will_post_as": "Choose the username that this integration will post as.",
   "clean-channel-history": "Clean Channel History",
   "clean-channel-history_description": "Permission to Clear the history from channels",
+  "Clean_Usernames": "Clear usernames",
   "clear": "Clear",
   "Clear_all_unreads_question": "Clear all unreads?",
   "clear_cache_now": "Clear Cache Now",
@@ -552,7 +566,6 @@
   "Client_Secret": "Client Secret",
   "Clients_will_refresh_in_a_few_seconds": "Clients will refresh in a few seconds",
   "close": "close",
-  "Closed": "Closed",
   "Close": "Close",
   "close-livechat-room": "Close Livechat Room",
   "close-livechat-room_description": "Permission to close the current LiveChat channel",
@@ -561,8 +574,11 @@
   "Closed": "Closed",
   "Closed_by_visitor": "Closed by visitor",
   "Closing_chat": "Closing chat",
+  "Collaborative": "Collaborative",
   "Collapse_Embedded_Media_By_Default": "Collapse Embedded Media by Default",
+  "color": "Color",
   "Color": "Color",
+  "Colors": "Colors",
   "Commands": "Commands",
   "Comment_to_leave_on_closing_session": "Comment to Leave on Closing Session",
   "Common_Access": "Common Access",
@@ -842,6 +858,7 @@
   "create-d_description": "Permission to start direct messages",
   "create-p": "Create Private Channels",
   "create-p_description": "Permission to create private channels",
+  "create-personal-access-tokens": "Create Personal Access Tokens",
   "create-user": "Create User",
   "create-user_description": "Permission to create users",
   "Create_A_New_Channel": "Create a New Channel",
@@ -852,11 +869,14 @@
   "Created_at_s_by_s_triggered_by_s": "Created at <strong>%s</strong> by <strong>%s</strong> triggered by <strong>%s</strong>",
   "CRM_Integration": "CRM Integration",
   "CROWD_Reject_Unauthorized": "Reject Unauthorized",
+  "Crowd_sync_interval_Description": "The interval between synchronizations. Example `every 24 hours` or `on the first day of the week`, more examples at [Cron Text Parser](http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "Current Chats",
   "Current_Status": "Current Status",
   "Custom": "Custom",
+  "Custom CSS": "Custom CSS",
   "Custom_agent": "Custom agent",
   "Custom_dates": "Custom Dates",
+  "Custom_emoji": "Custom Emoji",
   "Custom_Emoji": "Custom Emoji",
   "Custom_Emoji_Add": "Add New Emoji",
   "Custom_Emoji_Added_Successfully": "Custom emoji added successfully",
@@ -980,6 +1000,7 @@
   "Duplicate_channel_name": "A Channel with name '%s' exists",
   "Duplicate_private_group_name": "A Private Group with name '%s' exists",
   "Duration": "Duration",
+  "E2E Encryption": "E2E Encryption",
   "E2E_Enable_alert": "This feature is currently in beta! Please report bugs to github.com/RocketChat/Rocket.Chat/issues and be aware of:<br/>- Encrypted messages of encrypted rooms will not be found by search operations.<br/>- The mobile apps may not support the encypted messages (they are implementing it).<br/>- Bots may not be able to see encrypted messages until they implement support for it.<br/>- Uploads will not be encrypted in this version.",
   "E2E_Enable_description": "Enable option to create encrypted groups and be able to change groups and direct messages to be encrypted",
   "E2E_Encryption_Password_Explanation": "You can now create encrypted private groups and direct messages. You may also change existing private groups or DMs to encrypted.<br/><br/>This is end to end encryption so the key to encode/decode your messages will not be saved on the server. For that reason you need to store your password somewhere safe. You will be required to enter it on other devices you wish to use e2e encryption on.",
@@ -1054,7 +1075,7 @@
   "Enter_name_here": "Enter name here",
   "Enter_Normal": "Normal mode (send with Enter)",
   "Enter_to": "Enter to",
-  "Enter_your_E2E_password" : "Enter your E2E password",
+  "Enter_your_E2E_password": "Enter your E2E password",
   "Enterprise": "Enterprise",
   "Entertainment": "Entertainment",
   "Error": "Error",
@@ -1174,6 +1195,8 @@
   "except_pinned": "(except those that are pinned)",
   "Execute_Synchronization_Now": "Execute Synchronization Now",
   "Export_My_Data": "Export My Data",
+  "expression": "Expression",
+  "Extended": "Extended",
   "External_Queue_Service_URL": "External Queue Service URL",
   "External_Service": "External Service",
   "Facebook_Page": "Facebook Page",
@@ -1280,6 +1303,7 @@
   "Give_a_unique_name_for_the_custom_oauth": "Give a unique name for the custom oauth",
   "Give_the_application_a_name_This_will_be_seen_by_your_users": "Give the application a name. This will be seen by your users.",
   "Global": "Global",
+  "Global Policy": "Global Policy",
   "Global_purge_override_warning": "A global retention policy is in place. If you leave \"Override global retention policy\" off, you can only apply a policy that is stricter than the global policy.",
   "Global_Search": "Global search",
   "Go_to_your_workspace": "Go to your workspace",
@@ -1304,6 +1328,9 @@
   "GoogleVision_Type_SafeSearch": "SafeSearch Detection",
   "GoogleVision_Type_Similar": "Search Similar Images",
   "Government": "Government",
+  "Graphql_Enabled": "GraphQL Enabled",
+  "Graphql_CORS": "GraphQL CORS",
+  "Graphql_Subscription_Port": "GraphQL Subscription Port",
   "Group_by_Type": "Group by Type",
   "Group_favorites": "Group favorites",
   "Group_mentions_disabled_x_members": "Group mentions `@all` and `@here` have been disabled for rooms with more than __total__ members.",
@@ -1318,6 +1345,7 @@
   "Hex_Color_Preview": "Hex Color Preview",
   "Hi_username": "Hi __name__",
   "Hidden": "Hidden",
+  "Hide": "Hide",
   "Hide_Avatars": "Hide Avatars",
   "Hide_counter": "Hide counter",
   "Hide_flextab": "Hide Right Sidebar with Click",
@@ -1351,7 +1379,7 @@
   "If_you_are_sure_type_in_your_password": "If you are sure type in your password:",
   "If_you_are_sure_type_in_your_username": "If you are sure type in your username:",
   "If_you_dont_have_one_send_an_email_to_omni_rocketchat_to_get_yours": "If you don't have one send an email to [omni@rocket.chat](mailto:omni@rocket.chat) to get yours.",
-  "If_you_didnt_ask_for_reset_ignore_this_email" : "If you didn't ask for your password reset, you can ignore this email.",
+  "If_you_didnt_ask_for_reset_ignore_this_email": "If you didn't ask for your password reset, you can ignore this email.",
   "Iframe_Integration": "Iframe Integration",
   "Iframe_Integration_receive_enable": "Enable Receive",
   "Iframe_Integration_receive_enable_Description": "Allow parent window to send commands to Rocket.Chat.",
@@ -1396,6 +1424,7 @@
   "Incoming_Livechats": "Incoming Livechats",
   "Incoming_WebHook": "Incoming WebHook",
   "Industry": "Industry",
+  "Info": "Info",
   "initials_avatar": "Initials Avatar",
   "inline_code": "inline code",
   "Install": "Install",
@@ -1407,8 +1436,11 @@
   "Install_package": "Install package",
   "Installation": "Installation",
   "Installed_at": "Installed at",
+  "Invitation_HTML": "Invitation HTML",
   "Instance_Record": "Instance Record",
+  "Instructions": "Instructions",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Instructions to your visitor fill the form to send a message",
+  "Invitation_HTML_Default": "<h1>You have been invited to <strong>[Site_Name]</strong></h1><p>Go to [Site_URL] and try the best open source chat solution available today!</p>",
   "Insurance": "Insurance",
   "Integration_added": "Integration has been added",
   "Integration_Advanced_Settings": "Advanced Settings",
@@ -1508,6 +1540,7 @@
   "IssueLinks_LinkTemplate": "Template for issue links",
   "IssueLinks_LinkTemplate_Description": "Template for issue links; %s will be replaced by the issue number.",
   "It_works": "It works",
+  "italic": "Italic",
   "italics": "italics",
   "Jitsi_Chrome_Extension": "Chrome Extension Id",
   "Jitsi_Enable_Channels": "Enable in Channels",
@@ -1535,13 +1568,15 @@
   "Katex_Parenthesis_Syntax_Description": "Allow using \\[katex block\\] and \\(inline katex\\) syntaxes",
   "Keep_default_user_settings": "Keep the default settings",
   "Keyboard_Shortcuts_Edit_Previous_Message": "Edit previous message",
-  "Keyboard_Shortcuts_Keys_1": "<kbd>Ctrl</kbd> + <kbd>p</kbd>",
+  "Keyboard_Shortcuts_Keys_1": "<kbd>Command</kbd> (or <kbd>Ctrl</kbd>) + <kbd>p</kbd> OR <kbd>Command</kbd> (or <kbd>Ctrl</kbd>) + <kbd>k</kbd>",
   "Keyboard_Shortcuts_Keys_2": "<kbd>Up Arrow</kbd>",
   "Keyboard_Shortcuts_Keys_3": "<kbd>Command</kbd> (or <kbd>Alt</kbd>) + <kbd>Left Arrow</kbd>",
   "Keyboard_Shortcuts_Keys_4": "<kbd>Command</kbd> (or <kbd>Alt</kbd>) + <kbd>Up Arrow</kbd>",
   "Keyboard_Shortcuts_Keys_5": "<kbd>Command</kbd> (or <kbd>Alt</kbd>) + <kbd>Right Arrow</kbd>",
   "Keyboard_Shortcuts_Keys_6": "<kbd>Command</kbd> (or <kbd>Alt</kbd>) + <kbd>Down Arrow</kbd>",
   "Keyboard_Shortcuts_Keys_7": "<kbd>Shift</kbd> + <kbd>Enter</kbd>",
+  "Keyboard_Shortcuts_Keys_8": "<kbd>Shift (or Ctrl) + ESC</kbd>",
+  "Keyboard_Shortcuts_Mark_all_as_read": "Mark all messages (in all channels) as read",
   "Keyboard_Shortcuts_Move_To_Beginning_Of_Message": "Move to the beginning of the message",
   "Keyboard_Shortcuts_Move_To_End_Of_Message": "Move to the end of the message",
   "Keyboard_Shortcuts_New_Line_In_Message": "New line in message compose input",
@@ -1647,6 +1682,7 @@
   "Least_Amount": "Least Amount",
   "leave-c": "Leave Channels",
   "leave-p": "Leave Private Groups",
+  "Leave": "Leave",
   "Leave_Group_Warning": "Are you sure you want to leave the group \"%s\"?",
   "Leave_Livechat_Warning": "Are you sure you want to leave the livechat with \"%s\"?",
   "Leave_Private_Warning": "Are you sure you want to leave the discussion with \"%s\"?",
@@ -1657,6 +1693,7 @@
   "line": "line",
   "List_of_Channels": "List of Channels",
   "List_of_Direct_Messages": "List of Direct Messages",
+  "Livechat": "Livechat",
   "Livechat_agents": "Livechat agents",
   "Livechat_AllowedDomainsList": "Livechat Allowed Domains",
   "Livechat_Dashboard": "Livechat Dashboard",
@@ -1682,7 +1719,9 @@
   "Livechat_title_color": "Livechat Title Background Color",
   "Livechat_transcript_sent": "Livechat transcript sent",
   "Livechat_Users": "Livechat Users",
+  "LiveStream & Broadcasting": "LiveStream & Broadcasting",
   "Livestream_close": "Close Livestream",
+  "Livestream_enabled": "Livestream Enabled",
   "Livestream_enable_audio_only": "Enable only audio mode",
   "Livestream_not_found": "Livestream not available",
   "Livestream_popout": "Open Livestream",
@@ -1694,6 +1733,7 @@
   "Loading...": "Loading...",
   "Loading_more_from_history": "Loading more from history",
   "Loading_suggestion": "Loading suggestions",
+  "Local_Password": "Local Password",
   "Localization": "Localization",
   "Log_Exceptions_to_Channel_Description": "A channel that will receive all captured exceptions. Leave empty to ignore exceptions.",
   "Log_Exceptions_to_Channel": "Log Exceptions to Channel",
@@ -1716,6 +1756,7 @@
   "Longest_chat_duration": "Longest Chat Duration",
   "Longest_reaction_time": "Longest Reaction Time",
   "Longest_response_time": "Longest Response Time",
+  "Logs": "Logs",
   "mail-messages": "Mail Messages",
   "mail-messages_description": "Permission to use the mail messages option",
   "Mail_Message_Invalid_emails": "You have provided one or more invalid emails: %s",
@@ -1729,6 +1770,7 @@
   "Mailing": "Mailing",
   "Make_Admin": "Make Admin",
   "Make_sure_you_have_a_copy_of_your_codes": "Make sure you have a copy of your codes: __codes__ If you lose access to your authenticator app, you can use one of these codes to log in.",
+  "manage-apps": "Manage Apps",
   "manage-assets": "Manage Assets",
   "manage-assets_description": "Permission to manage the server assets",
   "manage-emoji": "Manage Emoji",
@@ -1752,6 +1794,7 @@
   "MapView_Enabled_Description": "Enabling mapview will display a location share button on the left of the chat input field.",
   "MapView_GMapsAPIKey": "Google Static Maps API Key",
   "MapView_GMapsAPIKey_Description": "This can be obtained from the Google Developers Console for free.",
+  "Mark_all_as_read": "Mark all messages (in all channels) as read",
   "Mark_as_read": "Mark As Read",
   "Mark_as_unread": "Mark As Unread",
   "Markdown_Headers": "Allow Markdown headers in messages",
@@ -1844,6 +1887,7 @@
   "Message_VideoRecorderEnabled": "Video Recorder Enabled",
   "Message_VideoRecorderEnabledDescription": "Requires 'video/webm' files to be an accepted media type within 'File Upload' settings.",
   "Message_view_mode_info": "This changes the amount of space messages take up on screen.",
+  "messages": "Messages",
   "Messages": "Messages",
   "Mmessages": "messages",
   "Messages_that_are_sent_to_the_Incoming_WebHook_will_be_posted_here": "Messages that are sent to the Incoming WebHook will be posted here.",
@@ -1880,6 +1924,7 @@
   "Mute_user": "Mute user",
   "Muted": "Muted",
   "My_Account": "My Account",
+  "My Data": "My Data",
   "My_location": "My location",
   "n_messages": "%s messages",
   "N_new_messages": "%s new messages",
@@ -1945,7 +1990,7 @@
   "Notifications": "Notifications",
   "Notifications_Always_Notify_Mobile": "Always notify mobile",
   "Notifications_Always_Notify_Mobile_Description": "Choose to always notify mobile device regardless of presence status.",
-  "Notifications_Duration": "Notifications_Duration",
+  "Notifications_Duration": "Notifications Duration",
   "Notifications_Max_Room_Members": "Max Room Members Before Disabling All Message Notifications",
   "Notifications_Max_Room_Members_Description": "Max number of members in room when notifications for all messages gets disabled. Users can still change per room setting to receive all notifications on an individual basis. (0 to disable)",
   "Notifications_Muted_Description": "If you choose to mute everything, you won't see the room highlight in the list when there are new messages, except for mentions. Muting notifications will override notifications settings.",
@@ -1955,6 +2000,7 @@
   "Notify_all_in_this_room": "Notify all in this room",
   "Num_Agents": "# Agents",
   "Number_of_messages": "Number of messages",
+  "OAuth Apps": "OAuth Apps",
   "OAuth_Application": "OAuth Application",
   "OAuth_Applications": "OAuth Applications",
   "Objects": "Objects",
@@ -1975,6 +2021,8 @@
   "Offline_message": "Offline message",
   "Offline_success_message": "Offline Success Message",
   "Offline_unavailable": "Offline unavailable",
+  "Old Colors": "Old Colors",
+  "Old Colors (minor)": "Old Colors (minor)",
   "Older_than": "Older than",
   "On": "On",
   "Online": "Online",
@@ -1995,6 +2043,7 @@
   "Opened_in_a_new_window": "Opened in a new window.",
   "Opens_a_channel_group_or_direct_message": "Opens a channel, group or direct message",
   "optional": "optional",
+  "Options": "Options",
   "or": "or",
   "Or_talk_as_anonymous": "Or talk as anonymous",
   "Order": "Order",
@@ -2027,6 +2076,7 @@
   "Password_Policy": "Password Policy",
   "Past_Chats": "Past Chats",
   "Payload": "Payload",
+  "Peer_Password": "Peer Password",
   "People": "People",
   "Permalink": "Permalink",
   "Permissions": "Permissions",
@@ -2069,6 +2119,7 @@
   "Please_wait_while_OTR_is_being_established": "Please wait while OTR is being established",
   "Please_wait_while_your_account_is_being_deleted": "Please wait while your account is being deleted...",
   "Please_wait_while_your_profile_is_being_saved": "Please wait while your profile is being saved...",
+  "Pool": "Pool",
   "Port": "Port",
   "post-readonly": "Post ReadOnly",
   "post-readonly_description": "Permission to post a message in a read-only channel",
@@ -2093,6 +2144,8 @@
   "Profile_details": "Profile Details",
   "Profile_picture": "Profile Picture",
   "Profile_saved_successfully": "Profile saved successfully",
+  "Prometheus": "Prometheus",
+  "Protocol": "Protocol",
   "Prune": "Prune",
   "Prune_finished": "Prune finished",
   "Prune_Messages": "Prune Messages",
@@ -2133,6 +2186,7 @@
   "quote": "quote",
   "Quote": "Quote",
   "Random": "Random",
+  "RD Station": "RD Station",
   "RDStation_Token": "RD Station Token",
   "React_when_read_only": "Allow Reacting",
   "React_when_read_only_changed_successfully": "Allow reacting when read only changed successfully",
@@ -2151,6 +2205,7 @@
   "Receive_Group_Mentions": "Receive @all and @here mentions",
   "Record": "Record",
   "Redirect_URI": "Redirect URI",
+  "Refresh": "Refresh",
   "Refresh_keys": "Refresh keys",
   "Refresh_oauth_services": "Refresh OAuth Services",
   "Refresh_your_page_after_install_to_enable_screen_sharing": "Refresh your page after install to enable screen sharing",
@@ -2177,6 +2232,7 @@
   "Reload": "Reload",
   "Reload_Pages": "Reload Pages",
   "Remove": "Remove",
+  "remove-closed-livechat-rooms": "Remove Closed Livechat Rooms",
   "remove-user": "Remove User",
   "remove-user_description": "Permission to remove a user from a room",
   "Remove_Admin": "Remove Admin",
@@ -2201,6 +2257,8 @@
   "Require_password_change": "Require password change",
   "Resend_verification_email": "Resend verification email",
   "Reset": "Reset",
+  "Reset_E2E_Key": "Reset E2E Key",
+  "reset-other-user-e2e-key": "Reset Other User E2E Key",
   "Reset_password": "Reset password",
   "Reset_section_settings": "Reset Section Settings",
   "Reset_Connection": "Reset Connection",
@@ -2235,6 +2293,7 @@
   "RetentionPolicyRoom_OverrideGlobal": "Override global retention policy",
   "RetentionPolicyRoom_ReadTheDocs": "Watch out! Tweaking these settings without utmost care can destroy all message history. Please read the documentation before turning the feature on <a href='https://rocket.chat/docs/administrator-guides/retention-policies/'>here</a>.",
   "Retry_Count": "Retry Count",
+  "Robot_Instructions_File_Content": "Robots.txt File Contents",
   "Role": "Role",
   "Role_Editing": "Role Editing",
   "Role_removed": "Role removed",
@@ -2269,6 +2328,7 @@
   "Room_uploaded_file_list": "Files List",
   "Room_uploaded_file_list_empty": "No files available.",
   "Rooms": "Rooms",
+  "Routing": "Routing",
   "Run_only_once_for_each_visitor": "Run only once for each visitor",
   "run-import": "Run Import",
   "run-import_description": "Permission to run the importers",
@@ -2333,6 +2393,7 @@
   "Select_user": "Select user",
   "Select_users": "Select users",
   "Selected_agents": "Selected agents",
+  "send-many-messages": "Send Many Messages",
   "Send": "Send",
   "Send_a_message": "Send a message",
   "Send_a_test_mail_to_my_user": "Send a test mail to my user",
@@ -2361,6 +2422,7 @@
   "Server_Type": "Server Type",
   "Service": "Service",
   "Service_account_key": "Service account key",
+  "set-leader": "Set Leader",
   "set-moderator": "Set Moderator",
   "set-moderator_description": "Permission to set other users as moderator of a channel",
   "set-owner": "Set Owner",
@@ -2432,6 +2494,7 @@
   "Smarsh_Interval_Description": "The amount of time to wait before sending the chats (needs 'From Email' filled in under Email -> SMTP).",
   "Smarsh_MissingEmail_Email": "Missing Email",
   "Smarsh_MissingEmail_Email_Description": "The email to show for a user account when their email address is missing, generally happens with bot accounts.",
+  "Smarsh_Timezone": "Smarsh Timezone",
   "Smileys_and_People": "Smileys & People",
   "SMS_Enabled": "SMS Enabled",
   "SMTP": "SMTP",
@@ -2496,6 +2559,7 @@
   "Stream_Cast_Address": "Stream Cast Address",
   "Stream_Cast_Address_Description": "IP or Host of your Rocket.Chat central Stream Cast. E.g. `192.168.1.1:3000` or `localhost:4000`",
   "strike": "strike",
+  "Style": "Style",
   "Subject": "Subject",
   "Submit": "Submit",
   "Success": "Success",
@@ -2505,7 +2569,9 @@
   "Survey": "Survey",
   "Survey_instructions": "Rate each question according to your satisfaction, 1 meaning you are completely unsatisfied and 5 meaning you are completely satisfied.",
   "Symbols": "Symbols",
+  "Sync / Import": "Sync / Import",
   "Sync_in_progress": "Synchronization in progress",
+  "Sync_Interval": "Sync interval",
   "Sync_success": "Sync success",
   "Sync_Users": "Sync Users",
   "System_messages": "System Messages",
@@ -2533,6 +2599,7 @@
   "The_user_will_be_removed_from_s": "The user will be removed from %s",
   "The_user_wont_be_able_to_type_in_s": "The user won't be able to type in %s",
   "Theme": "Theme",
+  "theme-color-attention-color": "Attention Color",
   "theme-color-component-color": "Component Color",
   "theme-color-content-background-color": "Content Background Color",
   "theme-color-custom-scrollbar-color": "Custom Scrollbar Color",
@@ -2545,11 +2612,18 @@
   "theme-color-primary-font-color": "Primary Font Color",
   "theme-color-rc-color-alert": "Alert",
   "theme-color-rc-color-alert-light": "Alert Light",
+  "theme-color-rc-color-alert-message-primary": "Alert Message Primary",
+  "theme-color-rc-color-alert-message-primary-background": "Alert Message Primary Background",
+  "theme-color-rc-color-alert-message-secondary": "Alert Message Secondary",
+  "theme-color-rc-color-alert-message-secondary-background": "Alert Message Secondary Background",
+  "theme-color-rc-color-alert-message-warning": "Alert Message Warning",
+  "theme-color-rc-color-alert-message-warning-background": "Alert Message Warning Background",
   "theme-color-rc-color-button-primary": "Button Primary",
   "theme-color-rc-color-button-primary-light": "Button Primary Light",
   "theme-color-rc-color-content": "Content",
   "theme-color-rc-color-error": "Error",
   "theme-color-rc-color-error-light": "Error Light",
+  "theme-color-rc-color-link-active": "Link Active",
   "theme-color-rc-color-primary": "Primary",
   "theme-color-rc-color-primary-dark": "Primary Dark",
   "theme-color-rc-color-primary-darkest": "Primary Darkest",
@@ -2593,6 +2667,7 @@
   "This_week": "This Week",
   "Thursday": "Thursday",
   "Time_in_seconds": "Time in seconds",
+  "Timeouts": "Timeouts",
   "Title": "Title",
   "Title_bar_color": "Title bar color",
   "Title_bar_color_offline": "Title bar color offline",
@@ -2634,6 +2709,7 @@
   "Tuesday": "Tuesday",
   "Turn_OFF": "Turn OFF",
   "Turn_ON": "Turn ON",
+  "Two Factor Authentication": "Two Factor Authentication",
   "Two-factor_authentication": "Two-factor authentication",
   "Two-factor_authentication_disabled": "Two-factor authentication disabled",
   "Two-factor_authentication_enabled": "Two-factor authentication enabled",
@@ -2675,6 +2751,8 @@
   "Unread_Rooms_Mode": "Unread Rooms Mode",
   "Unread_Tray_Icon_Alert": "Unread Tray Icon Alert",
   "Unstar_Message": "Remove Star",
+  "Update": "Update",
+  "Update_LatestAvailableVersion": "Update Latest Available Version",
   "Update_to_version": "Update to __version__",
   "Update_your_RocketChat": "Update your Rocket.Chat",
   "Updated_at": "Updated at",
@@ -2683,7 +2761,7 @@
   "Upload_file_question": "Upload file?",
   "Upload_Folder_Path": "Upload Folder Path",
   "Upload_user_avatar": "Upload avatar",
-  "Upload_From" : "Upload from __name__",
+  "Upload_From": "Upload from __name__",
   "Uploading_file": "Uploading file...",
   "Uptime": "Uptime",
   "URL": "URL",
@@ -2694,11 +2772,14 @@
   "Use_initials_avatar": "Use your username initials",
   "Use_minor_colors": "Use minor color palette (defaults inherit major colors)",
   "Use_service_avatar": "Use %s avatar",
+  "Verification_Email": "Click <a href=\"[Verification_Url]\">here</a> to verify your account.",
   "Use_this_username": "Use this username",
   "Use_uploaded_avatar": "Use uploaded avatar",
   "Use_url_for_avatar": "Use URL for avatar",
   "Use_User_Preferences_or_Global_Settings": "Use User Preferences or Global Settings",
   "User": "User",
+  "User Search": "User Search",
+  "User Search (Group Validation)": "User Search (Group Validation)",
   "user-generate-access-token": "User Generate Access Token",
   "user-generate-access-token_description": "Permission for users to generate access tokens",
   "User__username__is_now_a_leader_of__room_name_": "User __username__ is now a leader of __room_name__",
@@ -2713,6 +2794,7 @@
   "User_and_group_mentions_only": "User and group mentions only",
   "User_default": "User default",
   "User_doesnt_exist": "No user exists by the name of `@%s`.",
+  "User_e2e_key_was_reset": "User E2E key was reset successfully.",
   "User_has_been_activated": "User has been activated",
   "User_has_been_deactivated": "User has been deactivated",
   "User_has_been_deleted": "User has been deleted",
@@ -2797,6 +2879,7 @@
   "Verify": "Verify",
   "Verify_your_email": "Verify your email",
   "Version": "Version",
+  "Video Conference": "Video Conference",
   "Video_Chat_Window": "Video Chat",
   "Video_Conference": "Video Conference",
   "Video_message": "Video message",
@@ -2817,6 +2900,7 @@
   "view-joined-room_description": "Permission to view the currently joined channels",
   "view-l-room": "View Livechat Rooms",
   "view-l-room_description": "Permission to view livechat channels",
+  "view-livechat-analytics": "View Livechat Analytics",
   "view-livechat-manager": "View Livechat Manager",
   "view-livechat-manager_description": "Permission to view other livechat managers",
   "view-livechat-rooms": "View Livechat Rooms",
@@ -2853,6 +2937,7 @@
   "We_are_offline_Sorry_for_the_inconvenience": "We are offline. Sorry for the inconvenience.",
   "We_have_sent_password_email": "We have sent you an email with password reset instructions. If you do not receive an email shortly, please come back and try again.",
   "We_have_sent_registration_email": "We have sent you an email to confirm your registration. If you do not receive an email shortly, please come back and try again.",
+  "Webdav Integration": "Webdav Integration",
   "WebDAV_Accounts": "WebDAV Accounts",
   "Webdav_add_new_account": "Add new WebDAV account",
   "webdav-account-saved": "WebDAV account saved",
diff --git a/packages/rocketchat-i18n/i18n/eo.i18n.json b/packages/rocketchat-i18n/i18n/eo.i18n.json
index 759d233f1d1e986d59d113b9a522d1578188d027..d9988f4c40ebfeffef483edde9c5bd499d63a081 100644
--- a/packages/rocketchat-i18n/i18n/eo.i18n.json
+++ b/packages/rocketchat-i18n/i18n/eo.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "Malpermesita",
+  "500": "Interna Servila Eraro",
   "#channel": "#kanalo",
   "0_Errors_Only": "0 - Nur Eraroj",
   "1_Errors_and_Information": "1 - Eraroj kaj Informo",
   "2_Erros_Information_and_Debug": "2 - Eraroj, Informo kaj Debug",
-  "403": "Malpermesita",
-  "500": "Interna Servila Eraro",
   "@username": "@inomo",
   "@username_message": "@nomo <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__username__ ne plu estas __role__ per __user_by__",
@@ -57,13 +57,13 @@
   "Accounts_Email_Approved": "[nomo]<br/><br/><p>Via konto estis aprobita.</p>",
   "Accounts_Email_Approved_Subject": "Kalkulo aprobita",
   "Accounts_Email_Deactivated": "[nomo]<br/><br/><p>Via konto estis senaktivigita.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>Bonvenon <strong>[Site_Name]</strong></h1><p>Iri al <a href=\"[Site_URL]\">[Site_URL]</a>kaj provu la plej bonan malferman fontajn babilejan solvon havebla hodiaÅ­!</p>",
   "Accounts_Email_Deactivated_Subject": "Kalkulo senaktivigita",
   "Accounts_EmailVerification": "Retpoŝto Verificación",
   "Accounts_EmailVerification_Description": "Certigu, ke vi korektas SMTP-agordojn por uzi ĉi tiun funkcion",
+  "Accounts_Enrollment_Email_Subject_Default": "Bonvenon al [Site_Name]",
   "Accounts_Enrollment_Email": "Enskribo Retpoŝto",
-  "Accounts_Enrollment_Email_Default": "<h1>Bonvenon <strong>[Site_Name]</strong></h1><p>Iri al <a href=\"[Site_URL]\">[Site_URL]</a>kaj provu la plej bonan malferman fontajn babilejan solvon havebla hodiaÅ­!</p>",
   "Accounts_Enrollment_Email_Description": "Vi povas uzi la jenajn anstataŭilojn:<br/><ul><li>[nomo], [fname], [lname] por la plena nomo, unua nomo aŭ familinomo de la uzanto, respektive.</li><li>[retpoŝto] por la retpoŝto de la uzanto.</li><li>[Site_Name] kaj [Site_URL] por la Aplika nomo kaj URL respektive.</li></ul>",
-  "Accounts_Enrollment_Email_Subject_Default": "Bonvenon al [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "Forgesu Uzanton-Sesion al Fermi Fenestro",
   "Accounts_Iframe_api_method": "Api Metodo",
   "Accounts_Iframe_api_url": "API-URL",
@@ -177,12 +177,12 @@
   "Accounts_ShowFormLogin": "Montri Form-Based Based Login",
   "Accounts_TwoFactorAuthentication_Enabled": "Ebligu Du Faktran AÅ­tentigon",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Maksimuma Delta",
+  "Accounts_UserAddedEmail_Default": "<h1>Bonvenon <strong>[Site_Name]</strong></h1><p>Iri al <a href=\"[Site_URL]\">[Site_URL]</a>kaj provu la plej bona libera programaro babilejo solvo havebla hodiaŭ!</p><p>Vi povas ensaluti uzante vian retpoŝton: [retpoŝto] kaj pasvorto: [pasvorto]. Vi eble devos ŝanĝi ĝin post via unua ensaluto.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "La Maksimuma Delta determinas kiom da tokensoj estas valida je iu ajn tempo. Taksoj estas generitaj ĉiun 30 sekundojn, kaj estas validaj por (30 * Maksimuma Delta) sekundoj. <br/>Ekzemplo: Kun maksimuma Delta aro al 10, ĉiu token povas esti uzata ĝis 300 sekundoj antaŭ aŭ post la temptempa tempo. Ĉi tio estas utila kiam la horloĝo de la kliento ne konvene sinkronigas kun la servilo.",
   "Accounts_UseDefaultBlockedDomainsList": "Uzu DefaÅ­ltan Blokitajn Domajnojn Listo",
   "Accounts_UseDNSDomainCheck": "Uzu DNS-Domajnan Kontrolon",
-  "Accounts_UserAddedEmail_Default": "<h1>Bonvenon <strong>[Site_Name]</strong></h1><p>Iri al <a href=\"[Site_URL]\">[Site_URL]</a>kaj provu la plej bona libera programaro babilejo solvo havebla hodiaŭ!</p><p>Vi povas ensaluti uzante vian retpoŝton: [retpoŝto] kaj pasvorto: [pasvorto]. Vi eble devos ŝanĝi ĝin post via unua ensaluto.",
-  "Accounts_UserAddedEmail_Description": "Vi povas uzi la jenajn anstataŭilojn: <br/><ul><li>[nomo], [fname], [lname] por la plena nomo, unua nomo aŭ familinomo de la uzanto, respektive.</li><li>[retpoŝto] por la retpoŝto de la uzanto.</li><li>[pasvorto] por la pasvorto de la uzanto.</li><li>[Site_Name] kaj [Site_URL] por la Aplika nomo kaj URL respektive.</li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "Vi estis aldonitaj al [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "Vi povas uzi la jenajn anstataŭilojn: <br/><ul><li>[nomo], [fname], [lname] por la plena nomo, unua nomo aŭ familinomo de la uzanto, respektive.</li><li>[retpoŝto] por la retpoŝto de la uzanto.</li><li>[pasvorto] por la pasvorto de la uzanto.</li><li>[Site_Name] kaj [Site_URL] por la Aplika nomo kaj URL respektive.</li></ul>",
   "Activate": "Aktivigi",
   "Activity": "Aktiveco",
   "Add": "Aldoni",
@@ -238,6 +238,7 @@
   "Allow_Marketing_Emails": "Permesi Merkatumajn Retpoŝtojn",
   "Alphabetical": "Alfabeta",
   "Always_open_in_new_window": "Malfermu ĉiam en nova fenestro",
+  "Analytics": "Analitiko",
   "Analytics_features_enabled": "Trajtoj Enabled",
   "Analytics_features_messages_Description": "Trakoj kutimaj eventoj rilatigitaj al agoj kiujn uzanto faras sur mesaĝoj.",
   "Analytics_features_rooms_Description": "Trakoj kutimaj eventoj rilataj al agoj sur kanalo aÅ­ grupo (kreu, foriru, forigu).",
@@ -816,6 +817,7 @@
   "Created_at_s_by_s_triggered_by_s": "Kreita ĉe <strong>%s</strong>per <strong>%s</strong>deĉenigita de <strong>%s</strong>",
   "CRM_Integration": "Kroma Integriĝo",
   "CROWD_Reject_Unauthorized": "Malakcepti ne rajtigita",
+  "Crowd_sync_interval_Description": "La intervalo inter sinkronigoj. Ekzemplo 'ĉiu 24 horoj' aŭ 'en la unua tago de la semajno', pli ekzemploj ĉe [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "Aktualaj Ĉambroj",
   "Current_Status": "Nuna Stato",
   "Custom": "Propra",
@@ -1339,8 +1341,10 @@
   "Install_package": "Instali pakon",
   "Installation": "Instalado",
   "Installed_at": "Instalita ĉe",
+  "Invitation_HTML": "Invito HTML",
   "Instance_Record": "Instance Records",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Instrukcioj al via vizitanto plenigu la formon por sendi mesaĝon",
+  "Invitation_HTML_Default": "<h1>Vi estis invititaj al <strong>[Site_Name]</strong></h1><p>Iru al [Site_URL] kaj provu la plej bonan malferman font-komunan solvon havebla hodiaÅ­!</p>",
   "Insurance": "Asekuro",
   "Integration_added": "Integriĝo estis aldonita",
   "Integration_Advanced_Settings": "Altnivelaj agordoj",
@@ -1406,9 +1410,7 @@
   "invisible": "nevidebla",
   "Invisible": "Nevidebla",
   "Invitation": "Invito",
-  "Invitation_HTML": "Invito HTML",
-  "Invitation_HTML_Default": "<h1>Vi estis invititaj al <strong>[Site_Name]</strong></h1><p>Iru al [Site_URL] kaj provu la plej bonan malferman font-komunan solvon havebla hodiaÅ­!</p>",
-  "Invitation_HTML_Description": "Vi povas uzi la jenajn anstataŭilojn: <br/><ul><li>[retpoŝto] por la adresilo.</li><li>[Site_Name] kaj [Site_URL] por la Aplika nomo kaj URL respektive.</li></ul>",
+  "Invitation_Email_Description": "Vi povas uzi la jenajn anstataŭilojn: <br/><ul><li>[retpoŝto] por la adresilo.</li><li>[Site_Name] kaj [Site_URL] por la Aplika nomo kaj URL respektive.</li></ul>",
   "Invitation_Subject": "Invito Temo",
   "Invitation_Subject_Default": "Vi estis invititaj al [Site_Name]",
   "Invite_user_to_join_channel": "Invitu unu uzanton por aliĝi al ĉi tiu kanalo",
@@ -2525,6 +2527,7 @@
   "Tokens_Required_Input_Error": "Malvalida tajpita tokens.",
   "Tokens_Required_Input_Placeholder": "Tokensaj nomoj",
   "Topic": "Temo",
+  "Total_messages": "Tutaj Mesaĝoj",
   "Tourism": "Turismo",
   "Transcript_Enabled": "Demandu vizitanton se ili ŝatus transskribo post babilejo fermita",
   "Transcript_message": "Mesaĝo por Montri Kiam Petante Pri Transskribo",
@@ -2585,6 +2588,7 @@
   "Upload_file_description": "Dosiero priskribo",
   "Upload_file_name": "Dosiernomo",
   "Upload_file_question": "Alŝutu dosieron?",
+  "Upload_Folder_Path": "Alŝuti dosierujon",
   "Upload_user_avatar": "Alŝuti avataron",
   "Uploading_file": "Alŝuti dosieron ...",
   "Uptime": "Senkulpa",
@@ -2596,6 +2600,7 @@
   "Use_initials_avatar": "Uzu vian uzantnomo-komencaĵojn",
   "Use_minor_colors": "Uzu malgrandan koloron (malfaÅ­lta heredas grandajn kolorojn)",
   "Use_service_avatar": "Uzu%s avataron",
+  "Verification_Email": "Alklaku <a href=\"[Verification_Url]\">ĉi tie</a>por kontroli vian konton.",
   "Use_this_username": "Uzu ĉi tiun uzantnomon",
   "Use_uploaded_avatar": "Uzu alŝutitan avataron",
   "Use_url_for_avatar": "Uzu URL por avataro",
@@ -2692,7 +2697,6 @@
   "Validate_email_address": "Validigi retpoŝtadreson",
   "Verification": "Verkcio",
   "Verification_Description": "Vi povas uzi la jenajn anstataŭilojn:<br/><ul><li>[Verification_Url] por la verificación URL.</li><li>[nomo], [fname], [lname] por la plena nomo, unua nomo aŭ familinomo de la uzanto, respektive.</li><li>[retpoŝto] por la retpoŝto de la uzanto.</li><li>[Site_Name] kaj [Site_URL] por la Aplika nomo kaj URL respektive.</li></ul>",
-  "Verification_Email": "Alklaku <a href=\"[Verification_Url]\">ĉi tie</a>por kontroli vian konton.",
   "Verification_email_sent": "Vorto pri konfirmo sendita",
   "Verification_Email_Subject": "[Site_Name] - Kontrolu vian konton",
   "Verified": "Konfirmata",
@@ -2753,6 +2757,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Ni estas eksterrete. Pardonu la malkomforton.",
   "We_have_sent_password_email": "Ni sendis al vi retmesaĝon kun pasvorto rekomenci instrukciojn. Se vi ne ricevos retpoŝton baldaŭ, bonvolu reveni kaj provu denove.",
   "We_have_sent_registration_email": "Ni sendis al vi retpoŝton por konfirmi vian registriĝon. Se vi ne ricevos retpoŝton baldaŭ, bonvolu reveni kaj provu denove.",
+  "Webdav_Server_URL": "WebDAV-Servilo Aliro URL",
+  "Webdav_Username": "Uzanto-nomo de WebDAV",
+  "Webdav_Password": "Pasvorto de WebDAV",
   "Webhook_URL": "Webhook URL",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "Rekta alvoko de%s",
diff --git a/packages/rocketchat-i18n/i18n/es.i18n.json b/packages/rocketchat-i18n/i18n/es.i18n.json
index 1322d34cd125b82f0d69594b2399d6bdb72f0b45..6ee4edf725ee483707b85e510970b8591eac425a 100644
--- a/packages/rocketchat-i18n/i18n/es.i18n.json
+++ b/packages/rocketchat-i18n/i18n/es.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "Prohibido",
+  "500": "Error interno del servidor",
   "#channel": "#canal",
   "0_Errors_Only": "0 - Sólo Errores",
   "1_Errors_and_Information": "1 - Errores e Información",
   "2_Erros_Information_and_Debug": "2 - Errores, Información y Depuración ",
-  "403": "Prohibido",
-  "500": "Error interno del servidor",
   "@username": "@usuario",
   "@username_message": "@usuario <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__username__ ya no es __role__ (por __user_by__)",
@@ -57,13 +57,13 @@
   "Accounts_Email_Approved": "[nombre]<br/><br/><p>Su cuenta fue aprobada.</p>",
   "Accounts_Email_Approved_Subject": "Cuenta aprobada",
   "Accounts_Email_Deactivated": "[nombre]<br/><br/><p>Su cuenta fue desactivada.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>Bienvenido a <strong>[Site_Name]</strong></h1><p> Ve a <a href=\"[Site_URL]\">[Site_URL]</a> y prueba la mejor solución de chat de código abierto disponible en la actualidad! </p>",
   "Accounts_Email_Deactivated_Subject": "Cuenta desactivada",
   "Accounts_EmailVerification": "Verificación de correo electrónico",
   "Accounts_EmailVerification_Description": "Asegúrese de que tiene la configuración SMTP correcta para usar esta característica",
+  "Accounts_Enrollment_Email_Subject_Default": "Bienvenido a [Site_Name]",
   "Accounts_Enrollment_Email": "Correo Electrónico de Inscripción ",
-  "Accounts_Enrollment_Email_Default": "<h1>Bienvenido a <strong>[Site_Name]</strong></h1><p> Ve a <a href=\"[Site_URL]\">[Site_URL]</a> y prueba la mejor solución de chat de código abierto disponible en la actualidad! </p>",
   "Accounts_Enrollment_Email_Description": "Puedes utilizar los siguientes marcadores: <br/><ul><li>[name], [fname], [lname] para el nombre completo, nombre o apellidos, respectivamente.</li><li>[email] para el correo electrónico del usuario</li><li>[Site_Name] y [Site_URL] para el nombre del sitio web y la URL, respectivamente.</li></ul>",
-  "Accounts_Enrollment_Email_Subject_Default": "Bienvenido a [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "Olvidar la sesión de usuario al cerrar la ventana",
   "Accounts_Iframe_api_method": "Método API",
   "Accounts_Iframe_api_url": "URL de la API",
@@ -177,12 +177,12 @@
   "Accounts_ShowFormLogin": "Mostrar Inicio de sesión basado en formulario",
   "Accounts_TwoFactorAuthentication_Enabled": "Habilitar la autenticación de dos factores",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Delta máximo",
+  "Accounts_UserAddedEmail_Default": "<h1>Bienvenido a <strong>[Site_Name]</strong></h1><p>Ve a <a href=\"[Site_URL]\">[Site_URL]</a> y prueba la mejor solución de chat de código abierto disponible en la actualidad! </p><p>Puede iniciar sesión utilizando su correo electrónico: [email] y contraseña: [password]. Se le puede solicitar que lo cambie al iniciar sesion por primera vez.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "El máximo delta determina cuántos tokens son válidos en un momento dado. Los tokens se generan cada 30 segundos y son válidos para (30 * Delta máximo) segundos. <br/>Ejemplo: Con un Delta máximo establecido en 10, cada token se puede usar hasta 300 segundos antes o después de su marca de tiempo. Esto es útil cuando el reloj del cliente no está sincronizado correctamente con el servidor.",
   "Accounts_UseDefaultBlockedDomainsList": "Usar lista predeterminada de dominios bloqueados",
   "Accounts_UseDNSDomainCheck": "Utilizar la comprobación de dominio DNS",
-  "Accounts_UserAddedEmail_Default": "<h1>Bienvenido a <strong>[Site_Name]</strong></h1><p>Ve a <a href=\"[Site_URL]\">[Site_URL]</a> y prueba la mejor solución de chat de código abierto disponible en la actualidad! </p><p>Puede iniciar sesión utilizando su correo electrónico: [email] y contraseña: [password]. Se le puede solicitar que lo cambie al iniciar sesion por primera vez.",
-  "Accounts_UserAddedEmail_Description": "Es posible utilizar los siguientes marcadores: <br/><ul><li> [name], [fname], [lname] para el nombre completo del usuario, el nombre o el apellido, respectivamente. </li><li> [email] para el correo electrónico del usuario. </li><li> [password] para la contraseña del usuario. </li><li> [Site_Name] y [Site_URL] para el nombre de la aplicación y la URL, respectivamente. </li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "Has sido añadido a [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "Es posible utilizar los siguientes marcadores: <br/><ul><li> [name], [fname], [lname] para el nombre completo del usuario, el nombre o el apellido, respectivamente. </li><li> [email] para el correo electrónico del usuario. </li><li> [password] para la contraseña del usuario. </li><li> [Site_Name] y [Site_URL] para el nombre de la aplicación y la URL, respectivamente. </li></ul>",
   "Activate": "Activar",
   "Activity": "Actividad",
   "Add": "Agregar",
@@ -204,7 +204,7 @@
   "Add_Role": "Agregar Rol",
   "Add_user": "Agregar Usuario",
   "Add_User": "Añadir usuario",
-  "Add_users": "Agrerar usuarios",
+  "Add_users": "Agregar usuarios",
   "Adding_OAuth_Services": "Añadir servicios OAuth",
   "Adding_permission": "Añadiendo permiso",
   "Adding_user": "Añadiendo  usuario",
@@ -238,6 +238,7 @@
   "Allow_Marketing_Emails": "Permitir correos electrónicos de marketing",
   "Alphabetical": "Alfabético",
   "Always_open_in_new_window": "Abrir siempre en una nueva ventana",
+  "Analytics": "Analiticas",
   "Analytics_features_enabled": "Características habilitadas",
   "Analytics_features_messages_Description": "Monitoriza eventos personalizados relacionados con acciones que un usuario hace en los mensajes.",
   "Analytics_features_rooms_Description": "Monitoriza eventos personalizados relacionados con acciones en un canal o grupo (crear, salir, eliminar).",
@@ -292,7 +293,7 @@
   "App_status_auto_enabled": "Habilitado",
   "App_status_compiler_error_disabled": "Deshabilitado: error del compilador",
   "App_status_constructed": "Construido",
-  "App_status_disabled": "Discapacitados",
+  "App_status_disabled": "Deshabilitado",
   "App_status_error_disabled": "Deshabilitado: error no detectado",
   "App_status_initialized": "Inicializado",
   "App_status_invalid_settings_disabled": "Deshabilitado: Configuración necesaria",
@@ -816,6 +817,7 @@
   "Created_at_s_by_s_triggered_by_s": "Creado en <strong>%s</strong>por <strong>%s</strong>activado por <strong>%s</strong>",
   "CRM_Integration": "Integración de CRM",
   "CROWD_Reject_Unauthorized": "Rechazar no autorizado",
+  "Crowd_sync_interval_Description": "El intervalo entre sincronizaciones. Ejemplo `cada 24 horas` o` el primer día de la semana`, más ejemplos en [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "Chats actuales",
   "Current_Status": "Estado actual",
   "Custom": "Personalizado",
@@ -912,7 +914,7 @@
   "Disable_Facebook_integration": "Deshabilitar la integración de Facebook",
   "Disable_Notifications": "Deshabilitar notificaciones",
   "Disable_two-factor_authentication": "Deshabilitar la autenticación en dos pasos",
-  "Disabled": "Discapacitados",
+  "Disabled": "Deshabilitado",
   "Disallow_reacting": "No permitir la reacción",
   "Disallow_reacting_Description": "No permite reaccionar",
   "Display_offline_form": "Mostrar formulario  fuera línea",
@@ -1339,8 +1341,10 @@
   "Install_package": "Paquete de instalación",
   "Installation": "Instalación ",
   "Installed_at": "Instalación",
+  "Invitation_HTML": "HTML de la Invitación",
   "Instance_Record": "Registro de instancia",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Instrucciones a sus visitantes llenan el formulario para enviar un mensaje",
+  "Invitation_HTML_Default": "<h1>Se le ha invitado a <strong>[Site_Name]</strong></h1><p> Ir a [Site_URL] y probar la mejor solución de chat de código abierto disponibles en la actualidad! </p>",
   "Insurance": "Seguro",
   "Integration_added": "La Integración ha sido añadida",
   "Integration_Advanced_Settings": "Ajustes Avanzados",
@@ -1406,9 +1410,7 @@
   "invisible": "invisible",
   "Invisible": "Invisible",
   "Invitation": "Invitación",
-  "Invitation_HTML": "HTML de la Invitación",
-  "Invitation_HTML_Default": "<h1>Se le ha invitado a <strong>[Site_Name]</strong></h1><p> Ir a [Site_URL] y probar la mejor solución de chat de código abierto disponibles en la actualidad! </p>",
-  "Invitation_HTML_Description": "Es posible utilizar los siguientes marcadores: <br/><ul><li> [email] para el correo electrónico del destinatario. </li><li> [Site_Name] y [Site_URL] para el nombre de la aplicación y la URL, respectivamente. </li></ul>",
+  "Invitation_Email_Description": "Es posible utilizar los siguientes marcadores: <br/><ul><li> [email] para el correo electrónico del destinatario. </li><li> [Site_Name] y [Site_URL] para el nombre de la aplicación y la URL, respectivamente. </li></ul>",
   "Invitation_Subject": "Asunto de la Invitación",
   "Invitation_Subject_Default": "Se le ha invitado a [Site_Name]",
   "Invite_user_to_join_channel": "Invitar a un usuario a unirse a este canal",
@@ -2525,6 +2527,7 @@
   "Tokens_Required_Input_Error": "Tokens mecanografiados inválidos",
   "Tokens_Required_Input_Placeholder": "Nombres de activos de tokens",
   "Topic": "Tema",
+  "Total_messages": "Total de Mensajes",
   "Tourism": "Turismo",
   "Transcript_Enabled": "Pregunte al visitante si le gustaría una transcripción después de que se cerró el chat",
   "Transcript_message": "Mensaje para mostrar al preguntar sobre la transcripción",
@@ -2585,6 +2588,7 @@
   "Upload_file_description": "Descripción del archivo",
   "Upload_file_name": "Nombre del archivo",
   "Upload_file_question": "Subir archivo?",
+  "Upload_Folder_Path": "Cargar ruta de carpeta",
   "Upload_user_avatar": "Cargar avatar",
   "Uploading_file": "Subiendo archivo...",
   "Uptime": "el tiempo de actividad",
@@ -2596,6 +2600,7 @@
   "Use_initials_avatar": "Usar las iniciales de tu nombre de usuario",
   "Use_minor_colors": "Use una paleta de colores menor (los valores predeterminados heredan los colores principales)",
   "Use_service_avatar": "Usar %s avatar",
+  "Verification_Email": "Haga clic en <a href=\"[Verification_Url]\">aquí</a>para verificar su cuenta.",
   "Use_this_username": "Usar este nombre de usuario",
   "Use_uploaded_avatar": "Utilizar avatar subido",
   "Use_url_for_avatar": "Usa url para avatar",
@@ -2692,7 +2697,6 @@
   "Validate_email_address": "Validar correo electrónico",
   "Verification": "Verificación",
   "Verification_Description": "Puede usar los siguientes marcadores de posición: <br/><ul><li>[Verification_Url] para la URL de verificación.</li><li>[nombre], [fname], [lname] para el nombre completo, el nombre o el apellido del usuario, respectivamente.</li><li>[email] para el correo electrónico del usuario.</li><li>[Site_Name] y [Site_URL] para el nombre de la aplicación y la URL, respectivamente.</li></ul>",
-  "Verification_Email": "Haga clic en <a href=\"[Verification_Url]\">aquí</a>para verificar su cuenta.",
   "Verification_email_sent": "Verificación de correo electrónico enviado",
   "Verification_Email_Subject": "[Site_Name] - Verifica tu cuenta",
   "Verified": "Verificado",
@@ -2753,6 +2757,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Fuera de línea. Disculpe las molestias.",
   "We_have_sent_password_email": "Te hemos enviado un e-mail con las instrucciones para resetear la contraseña. Si no recibes un correo en breve, por favor regresa y vuelve a intentarlo.",
   "We_have_sent_registration_email": "Te hemos enviado un e-mail para confirmar tu registro. Si no recibes un correo en breve, por favor regresa y vuelve a intentarlo.",
+  "Webdav_Server_URL": "URL de acceso al servidor WebDAV",
+  "Webdav_Username": "Nombre de usuario WebDAV",
+  "Webdav_Password": "Contraseña de WebDAV",
   "Webhook_URL": "URL web hook",
   "Webhooks": "WebHooks",
   "WebRTC_direct_audio_call_from_%s": "Llamada de audio directa desde%s",
diff --git a/packages/rocketchat-i18n/i18n/eu.i18n.json b/packages/rocketchat-i18n/i18n/eu.i18n.json
new file mode 100644
index 0000000000000000000000000000000000000000..5bba188299fdd8c06a345cc9c227b1578b09b7d5
--- /dev/null
+++ b/packages/rocketchat-i18n/i18n/eu.i18n.json
@@ -0,0 +1,93 @@
+{
+  "403": "Debekatuta",
+  "500": "Internal Server Error",
+  "#channel": "#kanala",
+  "0_Errors_Only": "0 - Akatsak Bakarrik",
+  "12_Hour": "12 orduko erlojua",
+  "1_Errors_and_Information": "1 - Akatsak eta Informazioa",
+  "24_Hour": "24 orduko erlojua",
+  "2_Erros_Information_and_Debug": "1 - Akatsak, Informazioa eta Arazketa (debug)",
+  "@username": "@erabiltzailea",
+  "@username_message": "@erabiltzailea <message>",
+  "__username__is_no_longer__role__defined_by__user_by_": "__username__ is no longer __role__ by __user_by__",
+  "__username__was_set__role__by__user_by_": "__username__ was set __role__ by __user_by__",
+  "Accept": "Onartu",
+  "access-mailer_description": "Erabiltzaile guztiei mezu masiboa bidaltzeko baimena.",
+  "Accessing_permissions": "Sarbide baimenak",
+  "Accounts": "Kontuak",
+  "Accounts_AllowAnonymousRead": "Onartu irakurketa anonimoa",
+  "Accounts_AllowDeleteOwnAccount": "Baimendu erabiltzaileei norbere kontua ezabatzen",
+  "Accounts_AllowedDomainsList": "Onartutako domeinuen zerrenda",
+  "Accounts_AllowedDomainsList_Description": "Komaz bereizitako domeinu baimenduen zerrenda",
+  "Accounts_AllowEmailChange": "Baimendu e-posta aldaketa",
+  "Accounts_AllowPasswordChange": "Baimendu pasahitza aldatzea",
+  "Accounts_AllowRealNameChange": "Baimendu izena aldatzea",
+  "Accounts_AllowUserAvatarChange": "Baimendu Avatar aldaketa",
+  "Accounts_AllowUsernameChange": "Baimendu erabiltzaile-izena aldatzea",
+  "Accounts_AllowUserProfileChange": "Baimendu profil aldaketa",
+  "Accounts_AvatarSize": "Avatar Tamaina",
+  "Accounts_BlockedDomainsList": "Blokeatutako domeinu zerrenda",
+  "Accounts_BlockedDomainsList_Description": "Komaz bereizitako blokeatutako domeinuen zerrenda",
+  "Accounts_CustomFieldsToShowInUserInfo": "Erabiltzaileen informazioan erakusteko eremu pertsonalizatuak",
+  "Accounts_Default_User_Preferences": "Erabiltzailearen hobespen lehenetsiak",
+  "Accounts_Default_User_Preferences_audioNotifications": "Audio jakinarazpen alerta lehenetsia",
+  "Accounts_iframe_enabled": "Gaituta",
+  "Additional_Feedback": "Feedback osagarria",
+  "App_Details": "Aplikazioaren xehetasunak",
+  "App_Information": "Aplikazioen informazioa",
+  "App_Installation": "Aplikazioaren Instalazioa",
+  "App_status_auto_enabled": "Gaituta",
+  "App_status_manually_disabled": "Ezgaituta: eskuz",
+  "App_status_manually_enabled": "Gaituta",
+  "App_status_unknown": "Ezezaguna",
+  "Appearance": "Itxura",
+  "Archive": "Artxiboa",
+  "archive-room": "Artxiboa Room",
+  "archive-room_description": "Kanal bat artxibatzeko baimena",
+  "are_also_typing": "ere idazten ari dira",
+  "are_typing": "idazten ari dira",
+  "Are_you_sure": "Ziur zaude?",
+  "Are_you_sure_you_want_to_delete_your_account": "Ziur al zaude zure kontua ezabatu nahi duzula?",
+  "Are_you_sure_you_want_to_disable_Facebook_integration": "Ziur Facebook integrazioa desgaitu nahi duzula?",
+  "assign-admin-role": "Esleitu Admin funtzioa",
+  "Assign_admin": " Admin funtzioa esleitzen",
+  "Attachment_File_Uploaded": "Fitxategia kargatu da",
+  "Attribute_handling": "Atributuen manipulazioa",
+  "Audio": "Audioa",
+  "Audio_message": "Audio mezua",
+  "Audio_Notifications_Default_Alert": "Audio jakinarazpen Alerta lehenetsia",
+  "Auth_Token": "Auth Token",
+  "Author": "Egilea",
+  "Author_Information": "Egilearen informazioa",
+  "Authorize": "Baimendu",
+  "auto-translate": "Automatikoki itzuli",
+  "auto-translate_description": "Itzulpen automatikoa erabiltzeko baimena",
+  "Auto_Load_Images": "Automatikoki kargatu irudiak",
+  "Auto_Translate": "Automatikoki itzuli",
+  "Back": "Atzera",
+  "Back_to_applications": "Aplikazioetara itzuli",
+  "Back_to_chat": "Txatera itzuli",
+  "ban-user": "Erabiltzailea debekatu",
+  "Block_User": "Blokeatu erabiltzailea",
+  "Blockchain": "blockchain",
+  "Cancel": "Ezeztatu",
+  "Cancel_message_input": "Ezeztatu",
+  "CAS_enabled": "Gaituta",
+  "Enabled": "Gaituta",
+  "How_satisfied_were_you_with_this_chat": "Zein pozik zeuden txat honekin?",
+  "Installation": "Instalazioa",
+  "Integrations_Outgoing_Type_FileUploaded": "Fitxategia kargatu da",
+  "New_messages": "Mezu berriak",
+  "Please_fill_name_and_email": "Sartu izena eta posta elektronikoa mesedez",
+  "RetentionPolicy_Enabled": "Gaituta",
+  "Send": "Bidali",
+  "Skip": "Saltatu",
+  "Start_Chat": "Hasi txata",
+  "Survey": "Inkesta",
+  "Thank_you_for_your_feedback": "Eskerrik asko zure iritziagatik",
+  "Type_your_message": "Idatzi mezua",
+  "Type_your_name": "Idatzi zure izena",
+  "Upload_file_question": "Fitxategia kargatu?",
+  "We_are_offline_Sorry_for_the_inconvenience": "Lineaz kanpo gaude. Barkatu eragozpenak.",
+  "Yes": "Bai"
+}
\ No newline at end of file
diff --git a/packages/rocketchat-i18n/i18n/fa.i18n.json b/packages/rocketchat-i18n/i18n/fa.i18n.json
index 3ff7067e13b37a8174f3c3d8f5829d7a3142bd99..52379dd12ffda796240a0560d6fac7e00243306c 100644
--- a/packages/rocketchat-i18n/i18n/fa.i18n.json
+++ b/packages/rocketchat-i18n/i18n/fa.i18n.json
@@ -1,14 +1,17 @@
 {
+  "403": "ممنوع",
+  "500": "خطای داخلی سرور",
   "#channel": "#کانال",
   "0_Errors_Only": "0 - فقط خطاها ",
+  "12_Hour": "12 ساعته",
   "1_Errors_and_Information": "1 - خطاها و اطلاعات",
+  "24_Hour": "ساعته 24",
   "2_Erros_Information_and_Debug": "2 - خطاها، اطلاعات و اشکال زدایی",
-  "403": "ممنوع",
-  "500": "خطای داخلی سرور",
   "@username": "@username",
   "@username_message": "@ username نام کاربری <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__username__ دیگر توسط __user_by__ __role__ نمی شود",
   "__username__was_set__role__by__user_by_": "__username__ توسط __user_by__ به عنوان __role__ تعیین شد",
+  "%_of_conversations": "% مکالمات",
   "Accept": "قبول",
   "Accept_incoming_livechat_requests_even_if_there_are_no_online_agents": "قبول درخواست های ورودی چت آنلاین حتی اگر هیچ عامل آنلاینی وجود نداشته باشد",
   "Accept_with_no_online_agents": "قبول بدون عاملین آنلاین",
@@ -57,13 +60,13 @@
   "Accounts_Email_Approved": "[نام] <br/><br/><p>حساب شما تأیید شد</p>",
   "Accounts_Email_Approved_Subject": "حساب تأیید شده",
   "Accounts_Email_Deactivated": "[نام] <br/><br/><p>حساب کاربری شما غیرفعال شده است.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>خوش آمدید به <strong>[Site_Name]</strong></h1><p>به <a href=\"[Site_URL]\">[Site_URL]</a> بروید و بهترین راه حل چت منبع باز را که امروزه در دسترس است امتحان کنید! </p>",
   "Accounts_Email_Deactivated_Subject": "حساب غیر فعال شده است",
   "Accounts_EmailVerification": "تأیید پست الکترونیکی",
   "Accounts_EmailVerification_Description": "برای استفاده از این ویژگی SMTP باید تنظیم شده باشد",
+  "Accounts_Enrollment_Email_Subject_Default": "به [Site_Name] خوش آمدید",
   "Accounts_Enrollment_Email": "ثبت نام با ایمیل",
-  "Accounts_Enrollment_Email_Default": "<h1>خوش آمدید به <strong>[Site_Name]</strong></h1><p>به <a href=\"[Site_URL]\">[Site_URL]</a> بروید و بهترین راه حل چت منبع باز را که امروزه در دسترس است امتحان کنید! </p>",
   "Accounts_Enrollment_Email_Description": "می توانید از این مکان نماها استفاده کنید: <br/><ul><li> [name], [fname], [lname] به ترتیب برای نام کامل، نام کوچک و نام بزرگ کاربر. </li><li>[email] برای ایمیل کاربر. </li><li>[Site_Name] و [Site_URL] به ترتیب برای نام و آدرس برنامه.",
-  "Accounts_Enrollment_Email_Subject_Default": "به [Site_Name] خوش آمدید",
   "Accounts_ForgetUserSessionOnWindowClose": "جلسه کاربر را روی پنجره بستن را فراموش کنید",
   "Accounts_Iframe_api_method": "متد API",
   "Accounts_Iframe_api_url": "آدرس API",
@@ -177,12 +180,12 @@
   "Accounts_ShowFormLogin": "نمایش فرم لاگین",
   "Accounts_TwoFactorAuthentication_Enabled": "تأیید اعتبار دو عامل را فعال کنید",
   "Accounts_TwoFactorAuthentication_MaxDelta": "حداکثر دلتا",
+  "Accounts_UserAddedEmail_Default": "<h1>خوش آمدید به <strong>[Site_Name]</strong></h1><p>برو به <a href=\"[Site_URL]\">[Site_URL]</a> و سعی کنید بهترین راه حل چت منبع باز امروز در دسترس است! </p><p style=\";text-align:right;direction:rtl\"> [email] و رمز عبور: [password] شما ممکن است با استفاده از ایمیل خود وارد شوید. شما ممکن است لازم باشد به آن پس از اولین ورود خود را تغییر دهید.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "حداکثر دلتا تعیین می کند که چند تاکسی در هر زمان معین معتبر هستند. Tokens ها هر 30 ثانیه تولید می شوند و برای (30 * حداکثر دلتا) ثانیه معتبر هستند. <br/>مثال: با دلتا حداکثر تا 10، هر عددی را می توان تا 300 ثانیه قبل یا بعد از علامت تایید استفاده کرد. این مفید است هنگامی که ساعت مشتری به درستی با سرور همگام نیست.",
   "Accounts_UseDefaultBlockedDomainsList": "استفاده از لیست پیش فرض دامنه های مسدود شده",
   "Accounts_UseDNSDomainCheck": "استفاده از امکان بررسی دامنه DNS",
-  "Accounts_UserAddedEmail_Default": "<h1>خوش آمدید به <strong>[Site_Name]</strong></h1><p>برو به <a href=\"[Site_URL]\">[Site_URL]</a> و سعی کنید بهترین راه حل چت منبع باز امروز در دسترس است! </p><p style=\";text-align:right;direction:rtl\"> [email] و رمز عبور: [password] شما ممکن است با استفاده از ایمیل خود وارد شوید. شما ممکن است لازم باشد به آن پس از اولین ورود خود را تغییر دهید.",
-  "Accounts_UserAddedEmail_Description": "شما ممکن است متغیرهایی زیر استفاده کنید: <br/><ul style=\";text-align:right;direction:rtl\"><li style=\";text-align:right;direction:rtl\"> [name]، [fname]، [lname] برای نام کاربر کامل، نام اول یا نام خانوادگی، به ترتیب. </li><li style=\";text-align:right;direction:rtl\"> [email] برای ایمیل کاربر. </li><li style=\";text-align:right;direction:rtl\"> [password] برای رمز عبور کاربر است. </li><li style=\";text-align:right;direction:rtl\"> [Site_Name] و [Site_URL] برای نام نرم افزار و URL است. </li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "شما به [Site_Name] اضافه شده اید",
+  "Accounts_UserAddedEmail_Description": "شما ممکن است متغیرهایی زیر استفاده کنید: <br/><ul style=\";text-align:right;direction:rtl\"><li style=\";text-align:right;direction:rtl\"> [name]، [fname]، [lname] برای نام کاربر کامل، نام اول یا نام خانوادگی، به ترتیب. </li><li style=\";text-align:right;direction:rtl\"> [email] برای ایمیل کاربر. </li><li style=\";text-align:right;direction:rtl\"> [password] برای رمز عبور کاربر است. </li><li style=\";text-align:right;direction:rtl\"> [Site_Name] و [Site_URL] برای نام نرم افزار و URL است. </li></ul>",
   "Activate": "فعال کردن",
   "Activity": "فعالیت",
   "Add": "اضافه کردن",
@@ -238,6 +241,7 @@
   "Allow_Marketing_Emails": "اجازه نامه های بازاریابی",
   "Alphabetical": "حروف الفبا",
   "Always_open_in_new_window": "همیشه در پنجره جدید باز شود",
+  "Analytics": "تجزیه و تحلیل ترافیک",
   "Analytics_features_enabled": "ویژگی های فعال",
   "Analytics_features_messages_Description": "آهنگ حوادث سفارشی مربوط به اعمال یک کاربر روی پیام ها.",
   "Analytics_features_rooms_Description": "آهنگ حوادث سفارشی مربوط به اقدامات در یک کانال یا گروه (ایجاد، ترک، حذف).",
@@ -816,6 +820,7 @@
   "Created_at_s_by_s_triggered_by_s": "توسط <strong>در <strong>٪ s</strong>ایجاد شده توسط٪ s</strong>بوسیله <strong>٪ s</strong>",
   "CRM_Integration": "ادغام CRM",
   "CROWD_Reject_Unauthorized": "رد غیر مجاز",
+  "Crowd_sync_interval_Description": "فاصله بین هماهنگی ها. مثال \"هر 24 ساعت\" یا \"در اولین روز هفته\"، مثالهای بیشتری در [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "چت های کنونی",
   "Current_Status": "وضعیت فعلی",
   "Custom": "سفارشی",
@@ -1339,8 +1344,10 @@
   "Install_package": "بسته را نصب کنید",
   "Installation": "نصب و راه اندازی",
   "Installed_at": "نصب شده در",
+  "Invitation_HTML": "HTML دعوتنامه",
   "Instance_Record": "رکورد نمونه",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "دستور العمل ها برای کسانی که فرم را برای ارسال یک پیام پر می کنند.",
+  "Invitation_HTML_Default": "<h1>شما به <strong>[Site_Name]</strong> دعوت شده اید.</h1><p>به [Site_URL] رفته و بهترین برنامه چت متن باز را امتحان کنید!</p>",
   "Insurance": "بیمه",
   "Integration_added": "ادغام اضافه شده است",
   "Integration_Advanced_Settings": "تنظیمات پیشرفته",
@@ -1406,9 +1413,7 @@
   "invisible": "پنهان",
   "Invisible": "پنهان",
   "Invitation": "دعوت نامه",
-  "Invitation_HTML": "HTML دعوتنامه",
-  "Invitation_HTML_Default": "<h1>شما به <strong>[Site_Name]</strong> دعوت شده اید.</h1><p>به [Site_URL] رفته و بهترین برنامه چت متن باز را امتحان کنید!</p>",
-  "Invitation_HTML_Description": "می توانید از مکان نماهای زیر استفاده کنید: <br/><ul><li>[email] برای گیرنده ایمیل.</li><li>[Site_Name] و [Site_URL] به ترتیب برای نام و آدرس برنامه.</li></ul>",
+  "Invitation_Email_Description": "می توانید از مکان نماهای زیر استفاده کنید: <br/><ul><li>[email] برای گیرنده ایمیل.</li><li>[Site_Name] و [Site_URL] به ترتیب برای نام و آدرس برنامه.</li></ul>",
   "Invitation_Subject": "عنوان دعوت نامه",
   "Invitation_Subject_Default": "شما به [Site_Name] دعوت شده اید",
   "Invite_user_to_join_channel": "دعوت از یک کاربر برای پیوستن به این کانال",
@@ -2525,6 +2530,7 @@
   "Tokens_Required_Input_Error": "نشانه های تایپ شده نامعتبر است",
   "Tokens_Required_Input_Placeholder": "نام دارایی های توکن",
   "Topic": "موضوع",
+  "Total_messages": "مجموع پیغام ها",
   "Tourism": "گردشگری",
   "Transcript_Enabled": "از بازدید کننده بپرسید اگر آنها یک رونوشت پس از گپ بسته شوند",
   "Transcript_message": "پیام نمایش در هنگام درخواست در مورد متن",
@@ -2585,6 +2591,7 @@
   "Upload_file_description": "توضیحات فایل",
   "Upload_file_name": "نام فایل",
   "Upload_file_question": "آپلود فایل؟",
+  "Upload_Folder_Path": "مسیر پوشه آپلود",
   "Upload_user_avatar": "آواتار آواتار",
   "Uploading_file": "آپلود فایل ...",
   "Uptime": "آپ تایم",
@@ -2596,6 +2603,7 @@
   "Use_initials_avatar": "استفاده از حروف اول نام کاربری",
   "Use_minor_colors": "از پالت رنگ جزئی استفاده کنید (پیش فرض ها رنگ های اصلی را به ارث می برند)",
   "Use_service_avatar": "استفاده از %s آواتار ها",
+  "Verification_Email": "برای تأیید حساب کاربری خود، <a href=\"[Verification_Url]\">اینجا</a>را کلیک کنید.",
   "Use_this_username": "با استفاده از این نام کاربری",
   "Use_uploaded_avatar": "استفاده از نماد های آپلود",
   "Use_url_for_avatar": "استفاده از URL برای نماد",
@@ -2692,7 +2700,6 @@
   "Validate_email_address": "اعتبار آدرس ایمیل",
   "Verification": "تایید",
   "Verification_Description": "شما ممکن است از متغیرهایی زیر استفاده کنید: <br/><ul><li>[Verification_Url] برای URL تأیید.</li><li>[نام]، [نام خانوادگی]، [lname] برای نام کامل، نام یا نام خانوادگی کاربر، به ترتیب.</li><li>[ایمیل] برای ایمیل کاربر.</li><li>[نام سایت] و [Site_URL] برای نام برنامه و URL به ترتیب.</li></ul>",
-  "Verification_Email": "برای تأیید حساب کاربری خود، <a href=\"[Verification_Url]\">اینجا</a>را کلیک کنید.",
   "Verification_email_sent": "ایمیل تأیید",
   "Verification_Email_Subject": "[Site_Name] - حساب کاربری خود را تأیید کنید",
   "Verified": "تایید شده",
@@ -2753,6 +2760,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "ما آنلاین نیست. با عرض پوزش برای ناراحتی.",
   "We_have_sent_password_email": "ما به شما یک ایمیل با دستورالعمل تنظیم مجدد رمز عبور ارسال کرده اند. اگر شما یک ایمیل را دریافت نمی در مدت کوتاهی، لطفا دوباره و دوباره امتحان کنید.",
   "We_have_sent_registration_email": "ما به شما یک ایمیل برای تایید ثبت نام خود را فرستاده اند. اگر شما یک ایمیل را دریافت نمی در مدت کوتاهی، لطفا دوباره و دوباره امتحان کنید.",
+  "Webdav_Server_URL": "آدرس دسترسی به سرور WebDAV",
+  "Webdav_Username": "نام کاربری WebDAV",
+  "Webdav_Password": "رمز عبور WebDAV",
   "Webhook_URL": "آدرس Webhook",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "تماس صوتی مستقیم از٪ s",
diff --git a/packages/rocketchat-i18n/i18n/fi.i18n.json b/packages/rocketchat-i18n/i18n/fi.i18n.json
index 393ead26d4bc6f55aa492b6c9b4d4ff99d1f2dda..cc48be9a9aca882ac5e42979d8bd28f7c353156f 100644
--- a/packages/rocketchat-i18n/i18n/fi.i18n.json
+++ b/packages/rocketchat-i18n/i18n/fi.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "Kielletty",
+  "500": "Sisäinen palvelinvirhe",
   "#channel": "#kanava",
   "0_Errors_Only": "0 - Vain Virheet",
   "1_Errors_and_Information": "1 - Virheet ja Tiedot",
   "2_Erros_Information_and_Debug": "2 - Virheet, Tiedot ja Debug",
-  "403": "Kielletty",
-  "500": "Sisäinen palvelinvirhe",
   "@username": "@käyttäjä",
   "@username_message": "@käyttäjä <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__username__ ei ole enää __role__ (__user_by__ toimesta)",
@@ -57,13 +57,13 @@
   "Accounts_Email_Approved": "[nimi]<br/><br/><p>Tilisi hyväksyttiin.</p>",
   "Accounts_Email_Approved_Subject": "Tili hyväksytään",
   "Accounts_Email_Deactivated": "[nimi]<br/><br/><p>Tilisi on poistettu käytöstä.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>Tervetuloa sivustolle <strong>[Site_Name]</strong></h1><p> Siirry osoitteeseen <a href=\"[Site_URL]\">[Site_URL]</a> ja kokeile parasta avoimen lähdekoodin chat-ratkaisua tänään! </p>",
   "Accounts_Email_Deactivated_Subject": "Tili poistettu käytöstä",
   "Accounts_EmailVerification": "Sähköpostiosoitteen vahvistaminen",
   "Accounts_EmailVerification_Description": "Varmista, että käytät oikeita SMTP-asetuksia tätä ominaisuutta varten",
+  "Accounts_Enrollment_Email_Subject_Default": "Tervetuloa sivustolle [Site_Name]",
   "Accounts_Enrollment_Email": "Kirjautumissähköposti",
-  "Accounts_Enrollment_Email_Default": "<h1>Tervetuloa sivustolle <strong>[Site_Name]</strong></h1><p> Siirry osoitteeseen <a href=\"[Site_URL]\">[Site_URL]</a> ja kokeile parasta avoimen lähdekoodin chat-ratkaisua tänään! </p>",
   "Accounts_Enrollment_Email_Description": "Voit käyttää seuraavia placeholdereita <br/><ul><li>[name], [fname], [lname] käyttäjän koko nimen, etunimen tai sukunimen paikalla.</li><li> [Site_Name] ja [Site_URL] sivuston nimen ja osoitteen paikalla</li></ul>",
-  "Accounts_Enrollment_Email_Subject_Default": "Tervetuloa sivustolle [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "Unohda käyttäjän istunto ikkunassa Sulje",
   "Accounts_Iframe_api_method": "API metodi",
   "Accounts_Iframe_api_url": "API URL",
@@ -177,12 +177,12 @@
   "Accounts_ShowFormLogin": "Näytä lomakepohjainen kirjautuminen",
   "Accounts_TwoFactorAuthentication_Enabled": "Ota kaksi tekijän todennus käyttöön",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Suurin Delta",
+  "Accounts_UserAddedEmail_Default": "<h1>Tervetuloa sivustolle <strong>[Site_Name]</strong></h1><p>Mene <a href=\"[Site_URL]\">[Site_URL]</a> ja kokeile parasta avoimen lähdekoodin chat ratkaisua tänään! </p><p> Voit kirjautua käyttäen sähköpostiasi: [email] ja salasanaa: [password]. Voit joutua muuttamaan salasanasi ensimmäisen kirjautumisen jälkeen.</p>",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "Suurin Delta määrittää kuinka monta rahakkeita on voimassa milloin tahansa. Tokelit tuotetaan 30 sekunnin välein, ja ne ovat voimassa (30 * Suurin Delta) sekuntia. <br/>Esimerkki: Suurin Delta-arvoksi asetettu 10, jokainen merkki voidaan käyttää enintään 300 sekuntia ennen tai jälkeen sen aikaleiman. Tämä on hyödyllistä, kun asiakkaan kelloa ei synkronoida oikein palvelimen kanssa.",
   "Accounts_UseDefaultBlockedDomainsList": "Käytä Estettyjen Verkkotunnusten Oletuslistaa",
   "Accounts_UseDNSDomainCheck": "Varmista Toimialueen DNS",
-  "Accounts_UserAddedEmail_Default": "<h1>Tervetuloa sivustolle <strong>[Site_Name]</strong></h1><p>Mene <a href=\"[Site_URL]\">[Site_URL]</a> ja kokeile parasta avoimen lähdekoodin chat ratkaisua tänään! </p><p> Voit kirjautua käyttäen sähköpostiasi: [email] ja salasanaa: [password]. Voit joutua muuttamaan salasanasi ensimmäisen kirjautumisen jälkeen.</p>",
-  "Accounts_UserAddedEmail_Description": "Voit käyttää seuraavia placeholdereita: <br/><ul><li> [name], [fname], [lname] käyttäjän koko nimen, etunimen tai sukunimen paikalla. </li><li> [email] käyttäjän sähköpostiosoitteena. </li><li> [password] käyttäjän salasanana. </li><li> [Site_Name] ja [Site_URL] sivuston nimen ja osoitteen paikalla. </li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "Sinut on lisätty sivustolle [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "Voit käyttää seuraavia placeholdereita: <br/><ul><li> [name], [fname], [lname] käyttäjän koko nimen, etunimen tai sukunimen paikalla. </li><li> [email] käyttäjän sähköpostiosoitteena. </li><li> [password] käyttäjän salasanana. </li><li> [Site_Name] ja [Site_URL] sivuston nimen ja osoitteen paikalla. </li></ul>",
   "Activate": "Aktivoi",
   "Activity": "Tapahtumat",
   "Add": "Lisää",
@@ -238,6 +238,7 @@
   "Allow_Marketing_Emails": "Salli markkinointiviestit",
   "Alphabetical": "aakkosellinen",
   "Always_open_in_new_window": "Aina Avaa uudessa ikkunassa",
+  "Analytics": "Analytics",
   "Analytics_features_enabled": "Ominaisuudet käytössä",
   "Analytics_features_messages_Description": "Seuraa käyttäjän viesteihin tekemiin toimintoihin liittyviä tapahtumia.",
   "Analytics_features_rooms_Description": "Seuraa kanavilla tai ryhmissä tapahtuvia toimintoja (luo, poistu, poista).",
@@ -816,6 +817,7 @@
   "Created_at_s_by_s_triggered_by_s": "<strong>laukaisi <strong><strong><strong><strong>%s</strong>",
   "CRM_Integration": "CRM-integraatio",
   "CROWD_Reject_Unauthorized": "Hylkää luvaton",
+  "Crowd_sync_interval_Description": "Synkronoinnin välinen aika. Esimerkki \"24 tunnin välein\" tai \"viikon ensimmäisenä päivänä\", lisää esimerkkejä [Cron Text Parser] -ohjelmassa (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "Nykyiset keskustelut",
   "Current_Status": "Nykyinen tila",
   "Custom": "Mukautettu",
@@ -1339,8 +1341,10 @@
   "Install_package": "Asenna paketti",
   "Installation": "Asennus",
   "Installed_at": "Asennusaika",
+  "Invitation_HTML": "Kutsu HTML",
   "Instance_Record": "Istuntotietue",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Ohje käyttäjälle lomakkeen lähettämiseksi.",
+  "Invitation_HTML_Default": "<h1>Sinut on kutsuttu sivustolle <strong>[Site_Name]</strong></h1><p>Siirry osoitteeseen [Site_URL] ja kokeile parasta avoimen lähdekoodin chat ratkaisua tänään!</p>",
   "Insurance": "vakuutus",
   "Integration_added": "Integraatio lisätty",
   "Integration_Advanced_Settings": "Lisäasetukset",
@@ -1406,9 +1410,7 @@
   "invisible": "näkymätön",
   "Invisible": "Näkymätön",
   "Invitation": "kutsu",
-  "Invitation_HTML": "Kutsu HTML",
-  "Invitation_HTML_Default": "<h1>Sinut on kutsuttu sivustolle <strong>[Site_Name]</strong></h1><p>Siirry osoitteeseen [Site_URL] ja kokeile parasta avoimen lähdekoodin chat ratkaisua tänään!</p>",
-  "Invitation_HTML_Description": "Voit käyttää seuraavia placeholdereita: <br/><ul><li> [email] vastaanottajan sähköpostiosoitetta varten. </li><li> [Site_Name] varten sovelluksen nimeä ja [Site_URL] varten URLia. </li></ul>",
+  "Invitation_Email_Description": "Voit käyttää seuraavia placeholdereita: <br/><ul><li> [email] vastaanottajan sähköpostiosoitetta varten. </li><li> [Site_Name] varten sovelluksen nimeä ja [Site_URL] varten URLia. </li></ul>",
   "Invitation_Subject": "Kutsun aihe",
   "Invitation_Subject_Default": "Sinut on kutsuttu [Site_Name]",
   "Invite_user_to_join_channel": "Kutsu käyttäjä kanavalle",
@@ -2525,6 +2527,7 @@
   "Tokens_Required_Input_Error": "Virheelliset kirjoitetut rahakkeet.",
   "Tokens_Required_Input_Placeholder": "Tokensin omaisuuden nimet",
   "Topic": "Otsikko",
+  "Total_messages": "Viestejä yhteensä",
   "Tourism": "matkailu",
   "Transcript_Enabled": "Kysy kävijältä, jos he haluaisivat transkriptin chat-keskustelun jälkeen",
   "Transcript_message": "Viesti, kun kysytään transkriptistä",
@@ -2585,6 +2588,7 @@
   "Upload_file_description": "Tiedoston kuvaus",
   "Upload_file_name": "Tiedoston nimi",
   "Upload_file_question": "Lähetä tiedosto?",
+  "Upload_Folder_Path": "Lataa kansion polku",
   "Upload_user_avatar": "Lähetä avatar",
   "Uploading_file": "Ladataan tiedostoa...",
   "Uptime": "Käynnissäoloaika",
@@ -2596,6 +2600,7 @@
   "Use_initials_avatar": "Käytä käyttäjätunnuksen nimikirjaimia",
   "Use_minor_colors": "Käytä vähäistä väripalettia (defaults perii suuret värit)",
   "Use_service_avatar": "Käytä %s avataria",
+  "Verification_Email": "Vahvista tilisi valitsemalla <a href=\"[Verification_Url]\">täällä</a>.",
   "Use_this_username": "Käytä tätä käyttäjänimeä",
   "Use_uploaded_avatar": "Käytä ladattua avataria",
   "Use_url_for_avatar": "Käytä avatar-URLia",
@@ -2692,7 +2697,6 @@
   "Validate_email_address": "Validoi sähköpostiosoite",
   "Verification": "Varmistus",
   "Verification_Description": "Voit käyttää seuraavia paikanvaraajia: <br/><ul><li>[Verification_Url] vahvistus-URL-osoitteelle.</li><li>[nimi], [fname], [lname] käyttäjän koko nimen, etunimen tai sukunimen osalta.</li><li>[email] käyttäjän sähköposti.</li><li>[Sivuston nimi] ja [Sivusto_URL].</li></ul>",
-  "Verification_Email": "Vahvista tilisi valitsemalla <a href=\"[Verification_Url]\">täällä</a>.",
   "Verification_email_sent": "Vahvistusviesti lähetetty",
   "Verification_Email_Subject": "[Site_Name] - vahvista tilisi",
   "Verified": "Vahvistetut",
@@ -2753,6 +2757,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Palvelu on offline-tilassa. Pahoittelut häiriöstä.",
   "We_have_sent_password_email": "Lähetimme salasanan nollausohjeet sähköpostiisi. Mikäli et saa sähköpostia hetken kuluttua, yritä uudelleen.",
   "We_have_sent_registration_email": "Lähetimme rekisteröitymisvahvistuksen sähköpostiisi. Mikäli et saa sähköpostia hetken kuluttua, yritä uudelleen.",
+  "Webdav_Server_URL": "WebDAV-palvelimen käyttöoikeusosoite",
+  "Webdav_Username": "WebDAV-käyttäjätunnus",
+  "Webdav_Password": "WebDAV-salasana",
   "Webhook_URL": "Webhook URL",
   "Webhooks": "Webhookit",
   "WebRTC_direct_audio_call_from_%s": "Suora äänipuhelu%s: stä",
diff --git a/packages/rocketchat-i18n/i18n/fr.i18n.json b/packages/rocketchat-i18n/i18n/fr.i18n.json
index 7406fb924f6047d35972be02e02c207032cb12bd..1da9ac35b9195230c11bf417d87db43c7b5769c9 100644
--- a/packages/rocketchat-i18n/i18n/fr.i18n.json
+++ b/packages/rocketchat-i18n/i18n/fr.i18n.json
@@ -1,10 +1,11 @@
 {
+  "403": "Interdit",
+  "500": "Erreur interne au serveur",
   "#channel": "#canal",
   "0_Errors_Only": "0 - Erreurs seulement",
   "1_Errors_and_Information": "1 - Erreurs et informations",
+  "24_Hour": "Horloge 24h",
   "2_Erros_Information_and_Debug": "2 - Erreurs, informations et débogage ",
-  "403": "Interdit",
-  "500": "Erreur interne au serveur",
   "@username": "@nomdutilisateur",
   "@username_message": "@nomdutilisateur <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__user_by__ a retiré le rôle __role__ à __username__",
@@ -57,13 +58,13 @@
   "Accounts_Email_Approved": "[nom]<br/><br/><p>Votre compte a été approuvé.</p>",
   "Accounts_Email_Approved_Subject": "Compte approuvé",
   "Accounts_Email_Deactivated": "[name]<br/><br/><p>Votre compte a été désactivé.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>Bienvenue à <strong>[Site_Name]</strong></h1><p> Allez sur <a href=\"[Site_URL]\">[Site_URL]</a> et essayer la meilleure solution de chat open source disponible aujourd'hui ! </p>",
   "Accounts_Email_Deactivated_Subject": "Compte désactivé",
   "Accounts_EmailVerification": "Vérification de l'adresse e-mail",
   "Accounts_EmailVerification_Description": "Vous devez avoir des paramètres SMTP corrects pour utiliser cette fonctionnalité",
+  "Accounts_Enrollment_Email_Subject_Default": "Bienvenue sur [Site_Name]",
   "Accounts_Enrollment_Email": "E-mail d'inscription",
-  "Accounts_Enrollment_Email_Default": "<h1>Bienvenue à <strong>[Site_Name]</strong></h1><p> Allez sur <a href=\"[Site_URL]\">[Site_URL]</a> et essayer la meilleure solution de chat open source disponible aujourd'hui ! </p>",
   "Accounts_Enrollment_Email_Description": "Vous pouvez utiliser, respectivement, <br/> <ul><li>[name], [fname], [lname] pour le nom complet , le prénom et le nom de famille de l'utilisateur.</li> <li>Vous pouvez utiliser [email] pour l'adresse e-mail de l'utilisateur.</li><li>[Site_Name] et [Site_URL] pour les noms de l'application et l'URL.</li></ul>",
-  "Accounts_Enrollment_Email_Subject_Default": "Bienvenue sur [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "Ne pas se souvenir de la session utilisateur lors de la fermeture de la fenêtre",
   "Accounts_Iframe_api_method": "Méthode de l'API",
   "Accounts_Iframe_api_url": "URL de l'API",
@@ -177,12 +178,12 @@
   "Accounts_ShowFormLogin": "Afficher le formulaire de connexion par défaut",
   "Accounts_TwoFactorAuthentication_Enabled": "Activer l'authentification à deux facteurs",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Delta maximum",
+  "Accounts_UserAddedEmail_Default": "<h1>Bienvenue sur <strong>[Site_Name]</strong></h1><p> Allez sur <a href=\"[Site_URL]\">[Site_URL]</a> et essayer la meilleure solution de chat open source disponible aujourd'hui ! </p><p> Vous pouvez vous connecter en utilisant votre email: [email] et mot de passe : [password]. Vous pouvez être amené à le changer après votre première connexion.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "Le delta maximum détermine combien de jetons sont valides à un moment donné. Les jetons sont générés toutes les 30 secondes et sont valides pour les secondes (30 * Delta maximum). <br/>Exemple: Avec un Delta maximum défini sur 10, chaque jeton peut être utilisé jusqu'à 300 secondes avant ou après l'horodatage. Ceci est utile lorsque l'horloge du client n'est pas correctement synchronisée avec le serveur.",
   "Accounts_UseDefaultBlockedDomainsList": "Utiliser la liste de domaines bloqués par défaut ",
   "Accounts_UseDNSDomainCheck": "Utiliser la vérification de Domaine du DNS",
-  "Accounts_UserAddedEmail_Default": "<h1>Bienvenue sur <strong>[Site_Name]</strong></h1><p> Allez sur <a href=\"[Site_URL]\">[Site_URL]</a> et essayer la meilleure solution de chat open source disponible aujourd'hui ! </p><p> Vous pouvez vous connecter en utilisant votre email: [email] et mot de passe : [password]. Vous pouvez être amené à le changer après votre première connexion.",
-  "Accounts_UserAddedEmail_Description": "Vous pouvez utiliser les variables suivantes : <br/> <ul><li>[name], [fname], [lname] respectivement pour le nom complet de l'utilisateur, son prénom ou son nom,</li><li>[email] pour son adresse e-mail de l'utilisateur, </li><li>[password] pour sson mot de passe,</li><li> [Site_Name] et [Site_URL] pour le nom de l'application et son URL respectivement.</li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "Vous avez été ajouté à [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "Vous pouvez utiliser les variables suivantes : <br/> <ul><li>[name], [fname], [lname] respectivement pour le nom complet de l'utilisateur, son prénom ou son nom,</li><li>[email] pour son adresse e-mail de l'utilisateur, </li><li>[password] pour sson mot de passe,</li><li> [Site_Name] et [Site_URL] pour le nom de l'application et son URL respectivement.</li></ul>",
   "Activate": "Activer",
   "Activity": "Activité",
   "Add": "Ajouter",
@@ -238,6 +239,7 @@
   "Allow_Marketing_Emails": "Autoriser les e-mails marketing",
   "Alphabetical": "Alphabétique",
   "Always_open_in_new_window": "Toujours ouvrir dans une nouvelle fenêtre",
+  "Analytics": "Métriques",
   "Analytics_features_enabled": "Fonctionnalités activées",
   "Analytics_features_messages_Description": "Suivre les événements personnalisés liés aux actions d'un utilisateur sur des messages.",
   "Analytics_features_rooms_Description": "Suivre les événements personnalisés liés aux actions sur un canal ou un groupe (créer, quitter, supprimer).",
@@ -816,6 +818,7 @@
   "Created_at_s_by_s_triggered_by_s": "Créé à <strong>%s</strong>en <strong>%s</strong>déclenché par <strong>%s</strong>",
   "CRM_Integration": "Intégration CRM (GRC)",
   "CROWD_Reject_Unauthorized": "Rejeter si non-autorisé",
+  "Crowd_sync_interval_Description": "L'intervalle entre les synchronisations. Exemple `toutes les 24 heures` ou` le premier jour de la semaine`, plus d'exemples dans [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "Discussions actuelles",
   "Current_Status": "Statut actuel",
   "Custom": "Personnalisé",
@@ -1339,8 +1342,10 @@
   "Install_package": "Installer le paquet",
   "Installation": "Installation",
   "Installed_at": "installé à",
+  "Invitation_HTML": "Contenu HTML de l'invitation",
   "Instance_Record": "Enregistrement d'instance",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Instructions à votre visiteur de remplir le formulaire pour envoyer un message",
+  "Invitation_HTML_Default": "<h1>Vous avez été invité à rejoindre <strong>[Site_Name]</strong></h1><p>Accédez à [Site_URL] et essayez la meilleure solution de chat open source disponible aujourd'hui !</p>",
   "Insurance": "Assurance",
   "Integration_added": "L'intégration a été ajoutée",
   "Integration_Advanced_Settings": "Paramètres avancés",
@@ -1406,9 +1411,7 @@
   "invisible": "invisible",
   "Invisible": "Invisible",
   "Invitation": "Invitation",
-  "Invitation_HTML": "Contenu HTML de l'invitation",
-  "Invitation_HTML_Default": "<h1>Vous avez été invité à rejoindre <strong>[Site_Name]</strong></h1><p>Accédez à [Site_URL] et essayez la meilleure solution de chat open source disponible aujourd'hui !</p>",
-  "Invitation_HTML_Description": "Vous pouvez utiliser les variables suivantes :<br/><ul><li>[email] pour l'adresse e-mail du destinataire,</li><li>[Site_Name] et [Site_URL] pour le nom de l'application et son URL respectivement.</li></ul>",
+  "Invitation_Email_Description": "Vous pouvez utiliser les variables suivantes :<br/><ul><li>[email] pour l'adresse e-mail du destinataire,</li><li>[Site_Name] et [Site_URL] pour le nom de l'application et son URL respectivement.</li></ul>",
   "Invitation_Subject": "Sujet de l'invitation",
   "Invitation_Subject_Default": "Vous avez été invité à [Site_Name]",
   "Invite_user_to_join_channel": "Inviter un utilisateur à rejoindre le canal",
@@ -2525,6 +2528,7 @@
   "Tokens_Required_Input_Error": "Les jetons typés ne sont pas valides.",
   "Tokens_Required_Input_Placeholder": "Noms d'actifs de jetons",
   "Topic": "Sujet",
+  "Total_messages": "Nombre total de messages",
   "Tourism": "Tourisme",
   "Transcript_Enabled": "Demandez aux visiteurs s'ils souhaitent une transcription après la fermeture du chat",
   "Transcript_message": "Message à afficher lors de la demande de transcription",
@@ -2585,6 +2589,7 @@
   "Upload_file_description": "Description du fichier",
   "Upload_file_name": "Nom du fichier",
   "Upload_file_question": "Envoyer le fichier ?",
+  "Upload_Folder_Path": "Télécharger le chemin du dossier",
   "Upload_user_avatar": "Importer un avatar",
   "Uploading_file": "Envoi du fichier en cours...",
   "Uptime": "Durée de fonctionnement",
@@ -2596,6 +2601,7 @@
   "Use_initials_avatar": "Utiliser les initiales de votre nom d'utilisateur",
   "Use_minor_colors": "Utiliser une palette de couleurs mineure (les valeurs par défaut héritent des couleurs principales)",
   "Use_service_avatar": "Utiliser l'avatar %s",
+  "Verification_Email": "Cliquez <a href=\"[Verification_Url]\">ici</a> pour vérifier votre compte.",
   "Use_this_username": "Utilisez ce nom d'utilisateur",
   "Use_uploaded_avatar": "Utiliser l'avatar envoyé",
   "Use_url_for_avatar": "Utilisez l'URL pour l'avatar",
@@ -2692,7 +2698,6 @@
   "Validate_email_address": "Valider l'adresse e-mail",
   "Verification": "Vérification",
   "Verification_Description": "Vous pouvez utiliser les espaces réservés suivants : <br/><ul><li>[Verification_Url] pour l'URL de vérification.</li><li>[nom], [fname], [lname] pour le nom complet, le prénom ou le nom de famille de l'utilisateur, respectivement.</li><li>[email] pour l'adresse e-mail de l'utilisateur.</li><li>[Site_Name] et [Site_URL] pour le nom de l'application et l'URL, respectivement.</li></ul>",
-  "Verification_Email": "Cliquez <a href=\"[Verification_Url]\">ici</a> pour vérifier votre compte.",
   "Verification_email_sent": "E-mail de vérification envoyé",
   "Verification_Email_Subject": "[Nom_du_site] - Vérifiez votre compte",
   "Verified": "Vérifié(e)",
@@ -2753,6 +2758,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Nous sommes hors ligne. Désolé pour le désagrément.",
   "We_have_sent_password_email": "Nous vous avons envoyé un e-mail avec des instructions pour réinitialiser votre mot de passe. Si vous ne le recevez pas dans quelques minutes, veuillez réessayer.",
   "We_have_sent_registration_email": "Nous vous avons envoyé un e-mail afin que vous confirmiez votre inscription. Si vous ne le recevez pas dans quelques minutes, veuillez réessayer.",
+  "Webdav_Server_URL": "URL d'accès au serveur WebDAV",
+  "Webdav_Username": "Nom d'utilisateur WebDAV",
+  "Webdav_Password": "Mot de passe WebDAV",
   "Webhook_URL": "Webhook URL",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "Appel audio direct depuis %s",
diff --git a/packages/rocketchat-i18n/i18n/he.i18n.json b/packages/rocketchat-i18n/i18n/he.i18n.json
index f5c1c2722096a5c22fbdee8296f58d6ee000e24c..a39713cc4cb88c364999589b22f71ffef1215433 100644
--- a/packages/rocketchat-i18n/i18n/he.i18n.json
+++ b/packages/rocketchat-i18n/i18n/he.i18n.json
@@ -1,18 +1,22 @@
 {
-  "#channel": "#ערוץ",
-  "0_Errors_Only": "0 - שגיאות בלבד",
-  "1_Errors_and_Information": "1 - טעויות ומידע",
-  "2_Erros_Information_and_Debug": "2 - erros, מידע Debug",
   "403": "אסור",
   "500": "שגיאת שרת פנימית",
+  "#channel": "#ערוץ",
+  "0_Errors_Only": "0 - שגיאות בלבד",
+  "12_Hour": "שעון 12 שעות",
+  "1_Errors_and_Information": "1 - שגיאות ומידע",
+  "24_Hour": "שעון 24 שעות",
+  "2_Erros_Information_and_Debug": "2 - שגיאות מידע ודיבאג",
   "@username": "@שם-משתמש",
   "@username_message": "@שם-משתמש <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__שם משתמש__ הוא כבר לא __role__, על ידי __user_by__",
   "__username__was_set__role__by__user_by_": "__שם משתמש__ נקבע __role__ ידי __user_by__",
+  "%_of_conversations": "אחוז מהשיחות",
   "Accept": "אשר",
+  "access-mailer_description": "הרשאה לשליחת מיילים לכלל המשתמשים",
   "Access_not_authorized": "הגישה אינה מורשית.",
-  "Access_Token_URL": "URL אסימון גישה",
-  "Accessing_permissions": "גישת הרשאות",
+  "Access_Token_URL": "Access Token URL",
+  "Accessing_permissions": "הרשאות גישה",
   "Account_SID": "חשבון SID",
   "Accounts": "חשבונות",
   "Accounts_AllowDeleteOwnAccount": "אפשר למשתמשים למחוק את החשבון לבד",
@@ -33,8 +37,8 @@
   "Accounts_denyUnverifiedEmail": "מנע מיילים לא מאומתים",
   "Accounts_EmailVerification": "אימות דוא״ל",
   "Accounts_EmailVerification_Description": "בדוק שיש לך הגדרות SMTP נכונות כדי להשתמש בתכונה זו",
-  "Accounts_Enrollment_Email": "אימייל הרשמה",
   "Accounts_Enrollment_Email_Subject_Default": "ברוכים הבאים ל[Site_name]",
+  "Accounts_Enrollment_Email": "אימייל הרשמה",
   "Accounts_Iframe_api_method": "שיטת Api",
   "Accounts_Iframe_api_url": "Url Api",
   "Accounts_iframe_enabled": "מופעל",
@@ -141,6 +145,7 @@
   "Allow_Invalid_SelfSigned_Certs_Description": "אפשר תעודות SSL שנחתמו לא ע\"י CA תקין עבור אימות לינקים ותצוגות מקדימות.",
   "Alphabetical": "א\"ב",
   "Always_open_in_new_window": "תמיד פתח בחלון חדש",
+  "Analytics": "סטטיסטיקה",
   "Analytics_features_enabled": "תכונות מופעלות",
   "Analytics_features_messages_Description": "מסלולי אירועים מותאמים אישית הקשורים במעשי משתמש עושה על הודעות.",
   "Analytics_features_rooms_Description": "מסלולי אירועים מותאמים אישית הקשורות לפעולות בערוץ או קבוצה (ליצור, עזוב, למחוק).",
@@ -580,10 +585,10 @@
   "Hide_counter": "הסתר את המונה",
   "Hide_flextab": "הסתרת תפריט ימני בלחיצה",
   "Hide_Group_Warning": "האם אתה בטוח שאתה מעוניין להסתיר את הקבוצה \"%s\"?",
-  "Hide_Private_Warning": "האם אתה בטוח שאתה רוצה להסתיר את הדיון עם \" %s\"?",
+  "Hide_Private_Warning": "האם אתה בטוח שאתה רוצה להסתיר את השיחה עם \"%s\"?",
   "Hide_roles": "הסתר תפקידים",
   "Hide_room": "להסתיר את החדר",
-  "Hide_Room_Warning": "האם אתה בטוח שאתה רוצה להסתיר את חדר \" %s\"?",
+  "Hide_Room_Warning": "האם אתה בטוח שאתה רוצה להסתיר את חדר \"%s\"?",
   "Hide_usernames": "הסתרת שמות משתמשים",
   "Highlights": "עיקרי הדברים",
   "Highlights_How_To": "כדי לקבל הודעה כאשר מישהו מזכיר את המילה או הביטוי, להוסיף אותו כאן. ניתן להפריד מילים או ביטויים עם פסיקים. מילות דגש אינן תלויות-רישיות.",
@@ -627,6 +632,7 @@
   "Install_FxOs_follow_instructions": "וודא שהאפליקציה מותקנת על המכשיר שלך (לחץ \"התקן\" כאשר נדרש).",
   "Installation": "התקנה",
   "Installed_at": "מותקן",
+  "Invitation_HTML": "תבנית HTML להזמנה",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "הנחיות המבקר למלא את הטופס כדי לשלוח הודעה",
   "Integration_added": "נוסף שילוב",
   "Integration_Incoming_WebHook": "אינטגרציה WebHook נכנסת",
@@ -660,7 +666,6 @@
   "invisible": "בלתי נראה",
   "Invisible": "בלתי נראה",
   "Invitation": "הזמנה",
-  "Invitation_HTML": "תבנית HTML להזמנה",
   "Invitation_Subject": "נושא ההזמנה",
   "Invitation_Subject_Default": "הוזמנת ל[Site_Name]",
   "Invite_user_to_join_channel": "הזמן משתמש להצטרף לחדר",
@@ -747,8 +752,8 @@
   "LDAP_User_Search_Filter_Description": "אם צויין, רק משתמשים התואמים מסנן זה יורשו להיכנס. אם אין מסנן מצוין, כל המשתמשים בתחולת בבסיס התחום שצוין יוכלו להיכנס. <br/> למשל עבור Active Directory `memberOf = cn = ROCKET_CHAT, ou = כללי Groups`. <br/> לדוגמא עבור OpenLDAP (חיפוש בהתאמה להרחבה) `ou: DN: = ROCKET_CHAT`.",
   "LDAP_Username_Field": "שדה שם המשתמש",
   "LDAP_Username_Field_Description": "איזה שדה ישמש * שם משתמש * עבור משתמשים חדשים. השאר ריק להשתמש בשם המשתמש הודיע ​​על דף הכניסה. <br/> אתה יכול להשתמש בתגי תבנית מדי, כמו `#{givenName}.#{sn}`. <br/> ערך ברירת המחדל הוא `sAMAccountName`.",
-  "Leave_Group_Warning": "האם אתה בטוח שאתה רוצה לעזוב את הקבוצה \" %s\"?",
-  "Leave_Private_Warning": "האם אתה בטוח שאתה רוצה לעזוב את הדיון עם \" %s\"?",
+  "Leave_Group_Warning": "האם אתה בטוח שאתה רוצה לעזוב את הקבוצה \"%s\"?",
+  "Leave_Private_Warning": "האם אתה בטוח שאתה רוצה לעזוב את השיחה עם \"%s\"?",
   "Leave_room": "לעזוב את החדר",
   "Leave_Room_Warning": "אתה בטוח שאתה מעוניין לעזוב את החדר \"%s\"",
   "Leave_the_current_channel": "יציאה מהערוץ הנוכחי",
@@ -1073,6 +1078,7 @@
   "Room_archivation_state_false": "פָּעִיל",
   "Room_archivation_state_true": "בארכיון",
   "Room_archived": "חדר בארכיון",
+  "room_changed_announcement": "שם החדר שונה ל: <em>__room_name__</em> על ידי המשתמש <em>__user_by__</em>",
   "room_changed_privacy": "סוג החדר השנה ל:<em>__room_type__</em> ע\"י <em>__user_by__</em>",
   "room_changed_topic": "נושא החדר שונה ל:<em>__room_topic__</em> ע\"י <em>__user_by__</em>",
   "Room_has_been_deleted": "חדר נמחק",
@@ -1269,6 +1275,7 @@
   "to_see_more_details_on_how_to_integrate": "כדי לראות פרטים נוספים על כיצד לשלב.",
   "To_users": "למשתמשים",
   "Topic": "נושא",
+  "Total_messages": "סך כל ההודעות",
   "Travel_and_Places": "טיולים ואתרים",
   "Trigger_removed": "טריגר הוסר",
   "Trigger_Words": "מילות טריגר",
diff --git a/packages/rocketchat-i18n/i18n/hr.i18n.json b/packages/rocketchat-i18n/i18n/hr.i18n.json
index e13b0b09f50a0c6448e1a6a6fad351c3a2ecaeb8..b433185d2a1604aca42dec14c028274a8b45fdff 100644
--- a/packages/rocketchat-i18n/i18n/hr.i18n.json
+++ b/packages/rocketchat-i18n/i18n/hr.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "Zabranjen",
+  "500": "Interna pogreška poslužitelja",
   "#channel": "#soba",
   "0_Errors_Only": "0 - Samo Pogreške",
   "1_Errors_and_Information": "1 - Pogreške i informacije",
   "2_Erros_Information_and_Debug": "2 - Pogreške, informacije i ispravak pogrešaka",
-  "403": "Zabranjen",
-  "500": "Interna pogreška poslužitelja",
   "@username": "@korisničko.ime",
   "@username_message": "@korisničko.ime <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__user_by__ je uklonio __username__ iz __role__ grupe",
@@ -57,13 +57,13 @@
   "Accounts_Email_Approved": "[name]<br/><br/><p>Vaš je račun odobren.</p>",
   "Accounts_Email_Approved_Subject": "Račun je odobren",
   "Accounts_Email_Deactivated": "[name]<br/><br/><p>Vaš je račun bio deaktiviran.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>Dobrodošli u <strong>[Site_Name]</strong></h1><p> Idite na <a href=\"[Site_URL]\">[Site_URL]</a> i pokušajte najbolje open source chat rješenje danas! </p>",
   "Accounts_Email_Deactivated_Subject": "Račun je deaktiviran",
   "Accounts_EmailVerification": "E-mail Verifikacija",
   "Accounts_EmailVerification_Description": "Provjerite imate li ispravne postavke SMTP kako bi koristili ovu mogućnost",
+  "Accounts_Enrollment_Email_Subject_Default": "Dobro došli na [Site_Name]",
   "Accounts_Enrollment_Email": "Email dobrodošlice",
-  "Accounts_Enrollment_Email_Default": "<h1>Dobrodošli u <strong>[Site_Name]</strong></h1><p> Idite na <a href=\"[Site_URL]\">[Site_URL]</a> i pokušajte najbolje open source chat rješenje danas! </p>",
   "Accounts_Enrollment_Email_Description": "Možete koristiti sljedeće oznake: <br/><ul><li>[name], [fname], [lname] za korisničko ime, ime te prezime.</li><li>[email] za korisnikov email.</li><li>[Site_Name] i [Site_URL] za naziv aplikacije i URL.</li></ul> ",
-  "Accounts_Enrollment_Email_Subject_Default": "Dobro došli na [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "Zaboravi korisnikovu prijavu pri zatvaranju prozora",
   "Accounts_Iframe_api_method": "API metoda",
   "Accounts_Iframe_api_url": "Api Url",
@@ -177,12 +177,12 @@
   "Accounts_ShowFormLogin": "Prikaži obrazac za prijavu",
   "Accounts_TwoFactorAuthentication_Enabled": "Omogući provjeru autentičnosti dva faktora",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Maksimalna delta",
+  "Accounts_UserAddedEmail_Default": "<h1>Dobrodošli na<strong>[Site_Name]</strong></h1><p> Idi na <a href=\"[Site_URL]\">[Site_URL]</a> i isprobaj najbolje open source chat rješenje danas! </p> <p>Možete se prijaviti preko emaila: [email] i lozinke: [password]. Moguće je da će vas tražiti da zamijenite lozinku nakon prijave.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "Maksimalna delta određuje koliko je token valjan u bilo kojem trenutku. Tokeni se generiraju svakih 30 sekundi, a vrijede za (30 * Maksimalni Delta) sekundi. <br/>Primjer: Ako je maksimalna delta postavljena na 10, svaki token može se koristiti do 300 sekundi prije ili nakon vremenske oznake. To je korisno kada sat klijenta nije ispravno sinkroniziran s poslužiteljem.",
   "Accounts_UseDefaultBlockedDomainsList": "Koristi zadanu listu blokiranih domena",
   "Accounts_UseDNSDomainCheck": "Koristi DNS provjeru domena",
-  "Accounts_UserAddedEmail_Default": "<h1>Dobrodošli na<strong>[Site_Name]</strong></h1><p> Idi na <a href=\"[Site_URL]\">[Site_URL]</a> i isprobaj najbolje open source chat rješenje danas! </p> <p>Možete se prijaviti preko emaila: [email] i lozinke: [password]. Moguće je da će vas tražiti da zamijenite lozinku nakon prijave.",
-  "Accounts_UserAddedEmail_Description": "Možete koristiti sljedeće oznake: <br/><ul><li> [name], [fname], [lname] za korisničko ime, ime, te prezime. </li><li> [email] za email korisnika. </li><li> [password] korisnikovu lozinku. </li><li> [Site_Name] i [Site_URL] za ime i URL stranice. </li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "Dodani ste na [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "Možete koristiti sljedeće oznake: <br/><ul><li> [name], [fname], [lname] za korisničko ime, ime, te prezime. </li><li> [email] za email korisnika. </li><li> [password] korisnikovu lozinku. </li><li> [Site_Name] i [Site_URL] za ime i URL stranice. </li></ul>",
   "Activate": "Aktiviraj",
   "Activity": "Aktivnost",
   "Add": "Dodaj",
@@ -238,6 +238,7 @@
   "Allow_Marketing_Emails": "Dopusti marketing e-poštu",
   "Alphabetical": "abecedni",
   "Always_open_in_new_window": "Uvijek otvori u novom prozoru",
+  "Analytics": "Analitika",
   "Analytics_features_enabled": "Omogućene značajke",
   "Analytics_features_messages_Description": "Prati prilagođene događaje vezane za postupke korisnika na porukama.",
   "Analytics_features_rooms_Description": "Prati prilagođene događanja vezana za aktivnosti u sobu ili grupi (stvaranje, napuštanje, brisanje).",
@@ -816,6 +817,7 @@
   "Created_at_s_by_s_triggered_by_s": "Izrađeno na lokaciji <strong>%s</strong>za <strong>%s</strong>pokreće korisnik <strong>%s</strong>",
   "CRM_Integration": "CRM Integracija",
   "CROWD_Reject_Unauthorized": "Odbije neautorizirano",
+  "Crowd_sync_interval_Description": "Interval između sinkronizacija. Primjer \"svakih 24 sata\" ili \"prvi dan u tjednu\", više primjera na [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "Trenutni Razgovori",
   "Current_Status": "Trenutni status",
   "Custom": "Prilagođeno",
@@ -1339,8 +1341,10 @@
   "Install_package": "Instalirajte paket",
   "Installation": "Instalacija",
   "Installed_at": "Instalirano",
+  "Invitation_HTML": "HTML pozivnice",
   "Instance_Record": "Zapisnik",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Upute za vaše posjetitelje da popune obrazac za slanje poruke",
+  "Invitation_HTML_Default": "<h1>Pozvani ste na <strong>[Site_Name]</strong></h1><p>Idi na [Site_URL] i pokušajte najbolje open source rješenje za chat! </p>",
   "Insurance": "Osiguranje",
   "Integration_added": "Integracija je dodana",
   "Integration_Advanced_Settings": "Napredne postavke",
@@ -1406,9 +1410,7 @@
   "invisible": "nevidljiv",
   "Invisible": "Nevidljiv",
   "Invitation": "Poziv",
-  "Invitation_HTML": "HTML pozivnice",
-  "Invitation_HTML_Default": "<h1>Pozvani ste na <strong>[Site_Name]</strong></h1><p>Idi na [Site_URL] i pokušajte najbolje open source rješenje za chat! </p>",
-  "Invitation_HTML_Description": "Možete koristiti sljedeće rezervirana mjesta: <br/><ul><li> [email] za e-mail primatelja. </li><li> [Site_Name] i [Site_URL] za ime i URL stranice. </li></ul>",
+  "Invitation_Email_Description": "Možete koristiti sljedeće rezervirana mjesta: <br/><ul><li> [email] za e-mail primatelja. </li><li> [Site_Name] i [Site_URL] za ime i URL stranice. </li></ul>",
   "Invitation_Subject": "Naslov Pozivnice",
   "Invitation_Subject_Default": "Pozvani ste na [Site_Name]",
   "Invite_user_to_join_channel": "Pozovi jednog korisnika da se pridruži ovoj sobi",
@@ -2525,6 +2527,7 @@
   "Tokens_Required_Input_Error": "Nevažeći tokenni znakovi.",
   "Tokens_Required_Input_Placeholder": "Imena naziva žetona",
   "Topic": "Tema",
+  "Total_messages": "Ukupno poruka",
   "Tourism": "Turizam",
   "Transcript_Enabled": "Pitaj posjetitelja bi li htio transkript nakon Å¡to je chat zatvoren",
   "Transcript_message": "Poruka koja će biti prikazana kad korisnik zatraži transkript",
@@ -2585,6 +2588,7 @@
   "Upload_file_description": "Opis fajla",
   "Upload_file_name": "Ime fajla",
   "Upload_file_question": "Prenesi datoteku?",
+  "Upload_Folder_Path": "Prijenos puta mape",
   "Upload_user_avatar": "Učitaj avatar",
   "Uploading_file": "Prijenos datoteke ...",
   "Uptime": "Raspoloživost",
@@ -2596,6 +2600,7 @@
   "Use_initials_avatar": "Koristi inicijale svog korisničkog imena",
   "Use_minor_colors": "Koristite malu paletu boja (zadane postavke nasljeđuju glavne boje)",
   "Use_service_avatar": "Koristi %s avatar",
+  "Verification_Email": "Klikni <a href=\"[Verification_Url]\">ovdje</a> da bi potvrdio svoj račun.",
   "Use_this_username": "Koristi ovo korisničko ime",
   "Use_uploaded_avatar": "Koristi prenijeti avatar",
   "Use_url_for_avatar": "Koristi URL za avatar",
@@ -2692,7 +2697,6 @@
   "Validate_email_address": "Validiraj email adresu",
   "Verification": "Verifikacija",
   "Verification_Description": "Možete upotrebljavati sljedeća rezervirana mjesta: <br/><ul><li>[Verification_Url] za URL za potvrdu.</li><li>[ime], [fname], [lname] za puni naziv, ime ili prezime korisnika.</li><li>[e-pošta] za e-poštu korisnika.</li><li>[Site_Name] i [Site_URL] za naziv aplikacije i URL.</li></ul>",
-  "Verification_Email": "Klikni <a href=\"[Verification_Url]\">ovdje</a> da bi potvrdio svoj račun.",
   "Verification_email_sent": "Provjera e-maila poslana",
   "Verification_Email_Subject": "[Site_Name] - Potvrdi svoj račun",
   "Verified": "Ovjeren",
@@ -2753,6 +2757,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Mi smo izvan mreže. Oprostite na neugodnosti.",
   "We_have_sent_password_email": "Poslan ti je e-mail sa uputama za resetiranje lozinke. Provjeri i spam folder! Ako ga ne primiš uskoro, molimo te, vrati se i pokušaj opet.",
   "We_have_sent_registration_email": "Poslan ti je e-mail kako bi potvrdio svoju registraciju. Provjeri i spam folder! Ako ga ne primiš uskoro, molimo te vrati se i pokušaj opet.",
+  "Webdav_Server_URL": "WebDAV poslužiteljski URL pristupa",
+  "Webdav_Username": "WebDAV korisničko ime",
+  "Webdav_Password": "WebDAV lozinka",
   "Webhook_URL": "Webhook URL ",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "Izravni zvučni poziv iz%s",
diff --git a/packages/rocketchat-i18n/i18n/hu.i18n.json b/packages/rocketchat-i18n/i18n/hu.i18n.json
index d08b6b0b0d15e0256683872322d2db6dba915876..49450f3331c8cd2f91710a5da5a25409d3647afd 100644
--- a/packages/rocketchat-i18n/i18n/hu.i18n.json
+++ b/packages/rocketchat-i18n/i18n/hu.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "Tiltott",
+  "500": "Szerver oldali hiba",
   "#channel": "#csatorna",
   "0_Errors_Only": "0 - Csak hibák",
   "1_Errors_and_Information": "1 - Hibák és Információk",
   "2_Erros_Information_and_Debug": "2 - Hibák, információk és hibakeresés",
-  "403": "Tiltott",
-  "500": "Szerver oldali hiba",
   "@username": "@felhasználónév",
   "@username_message": "@felhasználónév <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__user_by__ elvette __username__  __role__ jogosultságát",
@@ -57,13 +57,13 @@
   "Accounts_Email_Approved": "[name]<br/><br/><p>Fiókod jóváhagyása.</p>",
   "Accounts_Email_Approved_Subject": "Fiók jóváhagyva",
   "Accounts_Email_Deactivated": "[name]<br/><br/><p>A fiókját deaktiválta.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>Isten hozott a <strong>[Site_Name]</strong></h1><p> Tovább a <a href=\"[Site_URL]\">[Site_URL]</a>, és próbálja a legjobb nyílt forráskódú chat megoldást ma elérhető! </p>",
   "Accounts_Email_Deactivated_Subject": "A fiók ki van kapcsolva",
   "Accounts_EmailVerification": "Email megerősítése",
   "Accounts_EmailVerification_Description": "Győződjön meg róla, hogy az SMTP megfelelően be van állítva",
+  "Accounts_Enrollment_Email_Subject_Default": "Üdvözöljük a [Site_Name]",
   "Accounts_Enrollment_Email": "Beiratkozás E-mail",
-  "Accounts_Enrollment_Email_Default": "<h1>Isten hozott a <strong>[Site_Name]</strong></h1><p> Tovább a <a href=\"[Site_URL]\">[Site_URL]</a>, és próbálja a legjobb nyílt forráskódú chat megoldást ma elérhető! </p>",
   "Accounts_Enrollment_Email_Description": "A következő kódok használhatók különböző változók beszúrásához: <br/> \n<ul>\n<li>Teljes név: [name]</li>\n<li>Családnév, Keresztnév: [lname], [fname]</li>\n<li>Oldal neve, URL: [Site_Name], [Site_URL]</li>\n</ul>",
-  "Accounts_Enrollment_Email_Subject_Default": "Üdvözöljük a [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "Elfelejtett felhasználói munkamenet bezárása",
   "Accounts_Iframe_api_method": "Api módszer",
   "Accounts_Iframe_api_url": "API URL",
@@ -177,12 +177,12 @@
   "Accounts_ShowFormLogin": "Űrlap alapú bejelentkezés megjelenítése",
   "Accounts_TwoFactorAuthentication_Enabled": "Engedélyezze a két tényező hitelesítését",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Maximális Delta",
+  "Accounts_UserAddedEmail_Default": "<h1>Isten hozott a <strong>[Site_Name]</strong></h1><p> Tovább a <a href=\"[Site_URL]\">[Site_URL]</a>, és próbálja a legjobb nyílt forráskódú chat megoldást ma elérhető! </p><p> Beléphet használja az e-mail: [email] és jelszót [password]. Szükség lehet változtatni, miután az első bejelentkezés.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "A Maximális Delta határozza meg, mennyi token lehet érvényes egy adott időben. A tokeneket 30 másodpercenként generálják, és érvényesek (30 * Maximális Delta) másodpercig. <br/>Példa: Ha a Maximális Delta beállítása 10, akkor minden token legfeljebb 300 másodpercig használható az időbélyeg előtt vagy után. Ez akkor hasznos, ha az ügyfél órája nem megfelelően szinkronizálva van a kiszolgálóval.",
   "Accounts_UseDefaultBlockedDomainsList": "Use Default blokkolt domainek listája",
   "Accounts_UseDNSDomainCheck": "DNS használata Domain ellenőrzése",
-  "Accounts_UserAddedEmail_Default": "<h1>Isten hozott a <strong>[Site_Name]</strong></h1><p> Tovább a <a href=\"[Site_URL]\">[Site_URL]</a>, és próbálja a legjobb nyílt forráskódú chat megoldást ma elérhető! </p><p> Beléphet használja az e-mail: [email] és jelszót [password]. Szükség lehet változtatni, miután az első bejelentkezés.",
-  "Accounts_UserAddedEmail_Description": "Használhatja a következő szimbólumokat: <br/><ul><li> [name], [fname], [lname] a felhasználó teljes nevét, keresztnevét vagy vezetéknevét, ill. </li><li> [email] A felhasználó e-mail. </li><li> [password] a felhasználó jelszavát. </li><li> [Site_Name] és [Site_URL] Az Alkalmazás neve és URL ill. </li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "Akkor kerültek fel [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "Használhatja a következő szimbólumokat: <br/><ul><li> [name], [fname], [lname] a felhasználó teljes nevét, keresztnevét vagy vezetéknevét, ill. </li><li> [email] A felhasználó e-mail. </li><li> [password] a felhasználó jelszavát. </li><li> [Site_Name] és [Site_URL] Az Alkalmazás neve és URL ill. </li></ul>",
   "Activate": "Aktivál",
   "Activity": "Tevékenység",
   "Add": "Hozzáadás",
@@ -238,6 +238,7 @@
   "Allow_Marketing_Emails": "Engedélyezze a marketing e-maileket",
   "Alphabetical": "ABC sorrendben",
   "Always_open_in_new_window": "Mindig új ablakban nyissa meg",
+  "Analytics": "Analytics",
   "Analytics_features_enabled": "Jellemzők Enabled",
   "Analytics_features_messages_Description": "Pályák egyedi események tevékenységekhez kapcsolódó felhasználói művel üzeneteket.",
   "Analytics_features_rooms_Description": "Pályák egyedi kapcsolatos események intézkedések a csatornához vagy (létrehozás, elhagyni, törlés).",
@@ -816,6 +817,7 @@
   "Created_at_s_by_s_triggered_by_s": "<strong>%s</strong>  hatására <strong>%s</strong> által készítve <strong>%s</strong> időpontban.\n",
   "CRM_Integration": "CRM integráció",
   "CROWD_Reject_Unauthorized": "Elutasítás jogosulatlanul",
+  "Crowd_sync_interval_Description": "A szinkronizálás közötti idő. Példa \"24 óránként\" vagy \"a hét első napján\", további példák a [Cron szövegszerkesztőben] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "jelenlegi beszélgetés",
   "Current_Status": "Jelenlegi állapot",
   "Custom": "Egyedi",
@@ -1339,8 +1341,10 @@
   "Install_package": "Telepítse a csomagot",
   "Installation": "Telepítés",
   "Installed_at": "Telepítés időpontja",
+  "Invitation_HTML": "Meghívó HTML",
   "Instance_Record": "Példány nyilvántartás",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Útmutató a látogató töltse ki az űrlapot, hogy küldjön egy üzenetet",
+  "Invitation_HTML_Default": "<h1>Ön meghívást kaptak <strong>[Site_Name]</strong></h1><p> Tovább a [Site_URL], és próbálja a legjobb nyílt forráskódú chat megoldást ma elérhető! </p>",
   "Insurance": "Biztosítás",
   "Integration_added": "Integráció került",
   "Integration_Advanced_Settings": "További beállítások",
@@ -1406,9 +1410,7 @@
   "invisible": "láthatatlan",
   "Invisible": "Láthatatlan",
   "Invitation": "Meghívás",
-  "Invitation_HTML": "Meghívó HTML",
-  "Invitation_HTML_Default": "<h1>Ön meghívást kaptak <strong>[Site_Name]</strong></h1><p> Tovább a [Site_URL], és próbálja a legjobb nyílt forráskódú chat megoldást ma elérhető! </p>",
-  "Invitation_HTML_Description": "Használhatja a következő szimbólumokat: <br/><ul><li> [email] A címzett e-mail. </li><li> [Site_Name] és [Site_URL] Az Alkalmazás neve és URL ill. </li></ul>",
+  "Invitation_Email_Description": "Használhatja a következő szimbólumokat: <br/><ul><li> [email] A címzett e-mail. </li><li> [Site_Name] és [Site_URL] Az Alkalmazás neve és URL ill. </li></ul>",
   "Invitation_Subject": "Meghívó Tárgy",
   "Invitation_Subject_Default": "Ön meghívást kaptak [Site_Name]",
   "Invite_user_to_join_channel": "Kérj meg egy felhasználó számára, hogy csatlakozzon ehhez a csatornához",
@@ -2525,6 +2527,7 @@
   "Tokens_Required_Input_Error": "Érvénytelen tipizált tokenek.",
   "Tokens_Required_Input_Placeholder": "Jelvények névsora",
   "Topic": "Téma",
+  "Total_messages": "Összes üzenet",
   "Tourism": "Idegenforgalom",
   "Transcript_Enabled": "Kérdezd meg a látogatót, hogy szeretne-e egy átiratát lezárt csevegés után",
   "Transcript_message": "Üzenet a mutatóhoz, amikor a transzkriptről kérdez",
@@ -2585,6 +2588,7 @@
   "Upload_file_description": "Fájl leírása",
   "Upload_file_name": "Fájl név",
   "Upload_file_question": "Fájl feltöltés?",
+  "Upload_Folder_Path": "Mappa áttöltése",
   "Upload_user_avatar": "Feltöltés avatar",
   "Uploading_file": "Fájl feltöltése ...",
   "Uptime": "Indítás óta eltelt idő",
@@ -2596,6 +2600,7 @@
   "Use_initials_avatar": "Használd a felhasználónév kezdőbetűi",
   "Use_minor_colors": "Használjon kisebb színpalettát (az alapértelmezések örökölnek a nagyobb színeket)",
   "Use_service_avatar": "%s használata",
+  "Verification_Email": "Kattintson a <a href=\"[Verification_Url]\">itt</a>fiókjának ellenőrzésére.",
   "Use_this_username": "Használd ezt a felhasználónevet",
   "Use_uploaded_avatar": "Feltöltött kép használata",
   "Use_url_for_avatar": "Avatar URL megadása",
@@ -2692,7 +2697,6 @@
   "Validate_email_address": "Érvényesítse az e-mail címet",
   "Verification": "Igazolás",
   "Verification_Description": "A következő helyőrzőket használhatja: <br/><ul><li>[Verification_Url] az ellenőrző URL-hez.</li><li>[név], [fname], [lname] a felhasználó teljes neve, utóneve vagy vezetékneve számára.</li><li>[e-mail] a felhasználó e-mailje számára.</li><li>[Site_Name] és [Site_URL] az Alkalmazás neve és URL címekhez.</li></ul>",
-  "Verification_Email": "Kattintson a <a href=\"[Verification_Url]\">itt</a>fiókjának ellenőrzésére.",
   "Verification_email_sent": "E-mailt elküldtük",
   "Verification_Email_Subject": "[Site_Name] - Ellenőrizze fiókját",
   "Verified": "ellenőrzött",
@@ -2753,6 +2757,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Mi vagyunk az offline. Elnézést a kellemetlenségért.",
   "We_have_sent_password_email": "Elküldtünk egy email-t a jelszó visszaállítás lépéseiről. Ha hamarosan nem érkezne meg, akkor gyere vissza és próbáld újra.",
   "We_have_sent_registration_email": "Küldtünk egy email-t hogy megerősíthessük a regisztrációt. Ha nem kapnál hamarosan levelet akkor gyere vissza később és próbáld újra.",
+  "Webdav_Server_URL": "WebDAV-kiszolgáló elérési URL-je",
+  "Webdav_Username": "WebDAV felhasználónév",
+  "Webdav_Password": "WebDAV jelszó",
   "Webhook_URL": "Webhook URL",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "Közvetlen hanghívás%s-ról",
diff --git a/packages/rocketchat-i18n/i18n/id.i18n.json b/packages/rocketchat-i18n/i18n/id.i18n.json
index 529d39d3c3c544af928d97840879842269b40da6..b8b99a4822f19e5b2834ccdcb1568d5063dfc6bf 100644
--- a/packages/rocketchat-i18n/i18n/id.i18n.json
+++ b/packages/rocketchat-i18n/i18n/id.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "Terlarang",
+  "500": "Kesalahan server dari dalam",
   "#channel": "#saluran",
   "0_Errors_Only": "0 - Kesalahan Hanya",
   "1_Errors_and_Information": "1 - Kesalahan dan Informasi",
   "2_Erros_Information_and_Debug": "2 - Erros, Informasi dan Debug",
-  "403": "Terlarang",
-  "500": "Kesalahan server dari dalam",
   "@username": "@nama pengguna",
   "@username_message": "@username <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__username__ tidak lagi __role__ oleh __user_by__",
@@ -57,13 +57,13 @@
   "Accounts_Email_Approved": "[name]<br/><br/><p>Akun Anda telah disetujui.</p>",
   "Accounts_Email_Approved_Subject": "Akun disetujui",
   "Accounts_Email_Deactivated": "[name]<br/><br/><p>Akun Anda telah dinonaktifkan.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>Selamat Datang di <strong>[Site_Name]</strong></h1><p>Pergi ke <a href=\"[Site_URL]\">[Site_URL]</a> dan mencoba yang terbaik open source solusi chatting yang tersedia saat ini! </p>",
   "Accounts_Email_Deactivated_Subject": "Akun dinonaktifkan",
   "Accounts_EmailVerification": "Verifikasi Email",
   "Accounts_EmailVerification_Description": "Pastikan Anda memiliki pengaturan SMTP yang benar untuk menggunakan fitur ini",
+  "Accounts_Enrollment_Email_Subject_Default": "Selamat Datang [Site_Name]",
   "Accounts_Enrollment_Email": "Email Pendaftaran ",
-  "Accounts_Enrollment_Email_Default": "<h1>Selamat Datang di <strong>[Site_Name]</strong></h1><p>Pergi ke <a href=\"[Site_URL]\">[Site_URL]</a> dan mencoba yang terbaik open source solusi chatting yang tersedia saat ini! </p>",
   "Accounts_Enrollment_Email_Description": "Anda dapat menggunakan placeholder berikut: <br/><ul><li>[Nama], [fname], [lname] untuk nama pengguna penuh, nama depan atau nama belakang, masing-masing. </li><li> [email] untuk email pengguna. </li><li> [Site_Name] dan [Site_URL] untuk Nama Aplikasi dan URL masing-masing. </li></ul>",
-  "Accounts_Enrollment_Email_Subject_Default": "Selamat Datang [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "Lupakan Sesi Pengguna di Jendela Tutup",
   "Accounts_Iframe_api_method": "Metode Api",
   "Accounts_Iframe_api_url": "URL API",
@@ -177,12 +177,12 @@
   "Accounts_ShowFormLogin": "berbasis bentuk acara Login",
   "Accounts_TwoFactorAuthentication_Enabled": "Aktifkan Dua Faktor Otentikasi",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Delta maksimum",
+  "Accounts_UserAddedEmail_Default": "<h1>Selamat Datang di <strong>[Site_Name]</strong></h1><p>Pergi ke <a href=\"[Site_URL]\">[Site_URL]</a> dan mencoba yang terbaik open source solusi chatting yang tersedia saat ini! </p><p> Anda dapat login menggunakan email Anda: [email] dan password: [password]. Anda mungkin diminta untuk mengubahnya setelah login pertama Anda.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "Delta Maksimum menentukan berapa banyak token yang valid pada waktu tertentu. Token dihasilkan setiap 30 detik, dan berlaku untuk (30 * Maksimum Delta) detik. <br/>Contoh: Dengan Delta Maksimum yang disetel ke 10, masing-masing token dapat digunakan hingga 300 detik sebelum atau sesudah cap waktu itu. Ini berguna saat jam klien tidak disinkronkan dengan benar dengan server.",
   "Accounts_UseDefaultBlockedDomainsList": "Gunakan Default Diblokir Daftar Domain",
   "Accounts_UseDNSDomainCheck": "Gunakan DNS Domain Periksa",
-  "Accounts_UserAddedEmail_Default": "<h1>Selamat Datang di <strong>[Site_Name]</strong></h1><p>Pergi ke <a href=\"[Site_URL]\">[Site_URL]</a> dan mencoba yang terbaik open source solusi chatting yang tersedia saat ini! </p><p> Anda dapat login menggunakan email Anda: [email] dan password: [password]. Anda mungkin diminta untuk mengubahnya setelah login pertama Anda.",
-  "Accounts_UserAddedEmail_Description": "Anda dapat menggunakan placeholder berikut: <br/><ul><li> [Nama], [fname], [lname] untuk nama pengguna penuh, nama depan atau nama belakang, masing-masing. </li><li> [email] untuk email pengguna. </li><li> [password] untuk password pengguna. </li><li> [Site_Name] dan [Site_URL] untuk Nama Aplikasi dan URL masing-masing. </li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "Anda telah ditambahkan ke [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "Anda dapat menggunakan placeholder berikut: <br/><ul><li> [Nama], [fname], [lname] untuk nama pengguna penuh, nama depan atau nama belakang, masing-masing. </li><li> [email] untuk email pengguna. </li><li> [password] untuk password pengguna. </li><li> [Site_Name] dan [Site_URL] untuk Nama Aplikasi dan URL masing-masing. </li></ul>",
   "Activate": "Aktifkan",
   "Activity": "Aktivitas",
   "Add": "Menambahkan",
@@ -238,6 +238,7 @@
   "Allow_Marketing_Emails": "Izinkan Email Pemasaran",
   "Alphabetical": "Alfabetis",
   "Always_open_in_new_window": "Selalu Buka di Jendela Baru",
+  "Analytics": "Analytics",
   "Analytics_features_enabled": "fitur Diaktifkan",
   "Analytics_features_messages_Description": "Melacak acara adat yang terkait dengan tindakan pengguna tidak pada pesan.",
   "Analytics_features_rooms_Description": "Melacak acara adat yang terkait dengan tindakan pada saluran atau kelompok (membuat, meninggalkan, menghapus).",
@@ -816,6 +817,7 @@
   "Created_at_s_by_s_triggered_by_s": "Dibuat di <strong>%s</strong>oleh <strong>%s</strong>dipicu oleh <strong>%s</strong>",
   "CRM_Integration": "Integrasi CRM",
   "CROWD_Reject_Unauthorized": "Tolak Unauthorized",
+  "Crowd_sync_interval_Description": "Interval antara sinkronisasi. Contoh `setiap 24 jam` atau` pada hari pertama dalam minggu `, lebih banyak contoh di [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "Chatting saat ini",
   "Current_Status": "Status terkini",
   "Custom": "Adat",
@@ -1339,8 +1341,10 @@
   "Install_package": "Pasang paket",
   "Installation": "Instalasi",
   "Installed_at": "dipasang di",
+  "Invitation_HTML": "Invitation HTML",
   "Instance_Record": "Catatan Instance",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Petunjuk untuk pengunjung Anda mengisi formulir untuk mengirim pesan",
+  "Invitation_HTML_Default": "<h1>Anda telah diundang untuk <strong>[Site_Name]</strong></h1><p> Pergi ke [Site_URL] dan mencoba yang terbaik open source solusi chatting yang tersedia saat ini! </p>",
   "Insurance": "Asuransi",
   "Integration_added": "Integrasi telah ditambahkan",
   "Integration_Advanced_Settings": "Pengaturan lanjutan",
@@ -1406,9 +1410,7 @@
   "invisible": "invisible",
   "Invisible": "Invisible",
   "Invitation": "Undangan",
-  "Invitation_HTML": "Invitation HTML",
-  "Invitation_HTML_Default": "<h1>Anda telah diundang untuk <strong>[Site_Name]</strong></h1><p> Pergi ke [Site_URL] dan mencoba yang terbaik open source solusi chatting yang tersedia saat ini! </p>",
-  "Invitation_HTML_Description": "Anda dapat menggunakan placeholder berikut: <br/><ul><li> [email] untuk email penerima. </li><li> [Site_Name] dan [Site_URL] untuk Nama Aplikasi dan URL masing-masing. </li></ul>",
+  "Invitation_Email_Description": "Anda dapat menggunakan placeholder berikut: <br/><ul><li> [email] untuk email penerima. </li><li> [Site_Name] dan [Site_URL] untuk Nama Aplikasi dan URL masing-masing. </li></ul>",
   "Invitation_Subject": "Judul Invitation",
   "Invitation_Subject_Default": "Anda telah diundang untuk [Site_Name]",
   "Invite_user_to_join_channel": "Invite user untuk bergabung di channel ini",
@@ -2525,6 +2527,7 @@
   "Tokens_Required_Input_Error": "Token yang diketik tidak benar",
   "Tokens_Required_Input_Placeholder": "Nama aset Tokens",
   "Topic": "Tema",
+  "Total_messages": "Total Pesan",
   "Tourism": "Pariwisata",
   "Transcript_Enabled": "Tanya Pengunjung apakah Mereka Suka Transkrip Setelah Ngobrol Ditutup",
   "Transcript_message": "Pesan untuk Ditunjukkan Saat Meminta Tentang Transkrip",
@@ -2585,6 +2588,7 @@
   "Upload_file_description": "Deskripsi berkas",
   "Upload_file_name": "Nama file",
   "Upload_file_question": "Unggah file?",
+  "Upload_Folder_Path": "Unggah Jalur Folder",
   "Upload_user_avatar": "Upload avatar",
   "Uploading_file": "Mengunggah file ...",
   "Uptime": "uptime",
@@ -2596,6 +2600,7 @@
   "Use_initials_avatar": "Gunakan inisial dari username anda",
   "Use_minor_colors": "Gunakan palet warna kecil (bawaan mewarisi warna utama)",
   "Use_service_avatar": "Gunakan %s avatar",
+  "Verification_Email": "Klik <a href=\"[Verification_Url]\">di sini</a>untuk memverifikasi akun Anda.",
   "Use_this_username": "Gunakan nama pengguna ini",
   "Use_uploaded_avatar": "Gunakan avatar yang sudah diunggah",
   "Use_url_for_avatar": "Gunakan URL untuk avatrar",
@@ -2692,7 +2697,6 @@
   "Validate_email_address": "Validasi alamat email",
   "Verification": "Verifikasi",
   "Verification_Description": "Anda dapat menggunakan placeholder berikut: <br/><ul><li>[Verification_Url] untuk URL verifikasi.</li><li>[nama], [fname], [lname] untuk nama lengkap pengguna, nama depan, atau nama belakang masing-masing.</li><li>[email] untuk email pengguna.</li><li>[Site_Name] dan [Site_URL] untuk Nama Aplikasi dan URL masing-masing.</li></ul>",
-  "Verification_Email": "Klik <a href=\"[Verification_Url]\">di sini</a>untuk memverifikasi akun Anda.",
   "Verification_email_sent": "email verifikasi dikirim",
   "Verification_Email_Subject": "[Site_Name] - Verifikasi akun Anda",
   "Verified": "Diverifikasi",
@@ -2753,6 +2757,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Kami sedang offline. Maaf untuk ketidaknyamanannya.",
   "We_have_sent_password_email": "Kami telah mengirimkan pesan ke email anda mengenai panduan untuk mengubah kata sandi anda. Apabila anda tidak menerima pesan tersebut, silahkan dicoba kembali di sini.",
   "We_have_sent_registration_email": "Kami telah mengirimkan pesan ke email anda untuk melakukan konfirmasi terhadap pendaftaran yang dilakukan. Apabila anda tidak menerima pesan tersebut, silahkan dicoba kembali di sini.",
+  "Webdav_Server_URL": "URL Akses Server WebDAV",
+  "Webdav_Username": "Nama Pengguna WebDAV",
+  "Webdav_Password": "Kata Sandi WebDAV",
   "Webhook_URL": "URL WebHook",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "Panggilan audio langsung dari%s",
diff --git a/packages/rocketchat-i18n/i18n/it.i18n.json b/packages/rocketchat-i18n/i18n/it.i18n.json
index 8520bed1021088873f997015b6d74353b2e1a90f..54c1152e15193405f2c5ec0d238d986656ccafc9 100644
--- a/packages/rocketchat-i18n/i18n/it.i18n.json
+++ b/packages/rocketchat-i18n/i18n/it.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "Proibito",
+  "500": "Errore interno del server",
   "#channel": "#canale",
   "0_Errors_Only": "0 - Solo errori",
   "1_Errors_and_Information": "1 - Errori e informazioni",
   "2_Erros_Information_and_Debug": "2 - Errori, informazioni e debug",
-  "403": "Proibito",
-  "500": "Errore interno del server",
   "@username": "@username",
   "@username_message": "@username <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__username__ non è più __role__, da __user_by__",
@@ -57,13 +57,13 @@
   "Accounts_Email_Approved": "[name]<br/><br/><p>Il tuo account è stato approvato.</p>",
   "Accounts_Email_Approved_Subject": "Account approvato",
   "Accounts_Email_Deactivated": "[name]<br/><br/><p>Il tuo account è stato disattivato.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>Benvenuto su <strong>[Site_Name]</strong></h1><p>Navigare su <a href=\"[Site_URL]\">[Site_URL]</a> per provare la miglior chat open source disponibile!</p>",
   "Accounts_Email_Deactivated_Subject": "Account disattivato",
   "Accounts_EmailVerification": "Verifica email",
   "Accounts_EmailVerification_Description": "Assicurati di aver impostato SMTP in modo corretto per utilizzare questa funzione",
+  "Accounts_Enrollment_Email_Subject_Default": "Benvenuti su [Site_Name]",
   "Accounts_Enrollment_Email": "Iscrizione email",
-  "Accounts_Enrollment_Email_Default": "<h1>Benvenuto su <strong>[Site_Name]</strong></h1><p>Navigare su <a href=\"[Site_URL]\">[Site_URL]</a> per provare la miglior chat open source disponibile!</p>",
   "Accounts_Enrollment_Email_Description": "È possibile utilizzare i seguenti marcatori: <br/><ul><li>[name], [fname], [lname] rispettivamente per il nome utente completo, nome o cognome.</li><li>[email] per l'email dell'utente.</li><li>[Site_Name] e [Site_URL] rispettivamente per il nome dell'applicazione e  URL.</li></ul>",
-  "Accounts_Enrollment_Email_Subject_Default": "Benvenuti su [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "Dimentica la sessione utente alla chiusura della finestra",
   "Accounts_Iframe_api_method": "Metodo API",
   "Accounts_Iframe_api_url": "URL API",
@@ -177,12 +177,12 @@
   "Accounts_ShowFormLogin": "Mostra la maschera di accesso predefinita",
   "Accounts_TwoFactorAuthentication_Enabled": "Abilita l'autenticazione a due fattori",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Delta massimo",
+  "Accounts_UserAddedEmail_Default": "<h1>Benvenuto su <strong>[Site_Name]</strong></h1><p> Andare a <a href=\"[Site_URL]\">[Site_URL]</a> e provare la migliore chat open source disponibile! </p><p> È possibile accedere usando il proprio indirizzo email: [email] e la propria password: [password]. Potrebbe essere necessario cambiare la password dopo il primo accesso.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "Il delta massimo determina quanti token sono validi in un dato momento. I token vengono generati ogni 30 secondi e sono validi per (30 * delta massimo) secondi. <br/>Esempio: con un delta massimo impostato su 10, ogni token può essere utilizzato fino a 300 secondi prima o dopo il momento in cui viene creato. Ciò è utile quando l'orologio del client non è sincronizzato correttamente con il server.",
   "Accounts_UseDefaultBlockedDomainsList": "Utilizza l'elenco dei domini bloccati",
   "Accounts_UseDNSDomainCheck": "Utilizza la verifica del dominio DNS",
-  "Accounts_UserAddedEmail_Default": "<h1>Benvenuto su <strong>[Site_Name]</strong></h1><p> Andare a <a href=\"[Site_URL]\">[Site_URL]</a> e provare la migliore chat open source disponibile! </p><p> È possibile accedere usando il proprio indirizzo email: [email] e la propria password: [password]. Potrebbe essere necessario cambiare la password dopo il primo accesso.",
-  "Accounts_UserAddedEmail_Description": "È possibile utilizzare i seguenti marcatori: <br/><ul><li> [name], [fname], [lname] per il nome completo dell'utente, nome o cognome, rispettivamente. </li><li> [email] per l'e-mail dell'utente. </li><li> [password] per la password dell'utente. </li><li> [Site_Name] e [Site_URL] per il Nome applicazione e l'URL, rispettivamente. </li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "Sei stato aggiunto su [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "È possibile utilizzare i seguenti marcatori: <br/><ul><li> [name], [fname], [lname] per il nome completo dell'utente, nome o cognome, rispettivamente. </li><li> [email] per l'e-mail dell'utente. </li><li> [password] per la password dell'utente. </li><li> [Site_Name] e [Site_URL] per il Nome applicazione e l'URL, rispettivamente. </li></ul>",
   "Activate": "Attiva",
   "Activity": "Attività",
   "Add": "Aggiungi",
@@ -238,6 +238,7 @@
   "Allow_Marketing_Emails": "Consenti email di marketing",
   "Alphabetical": "Alfabetico",
   "Always_open_in_new_window": "Apri sempre in una nuova finestra",
+  "Analytics": "Analytics",
   "Analytics_features_enabled": "Funzioni abilitate",
   "Analytics_features_messages_Description": "Traccia eventi personalizzati relativi alle azioni che un utente fa sui messaggi.",
   "Analytics_features_rooms_Description": "Traccia eventi personalizzati relativi alle azioni su un canale o su un gruppo (creazione, abbandono, cancellazione).",
@@ -816,6 +817,7 @@
   "Created_at_s_by_s_triggered_by_s": "Creato alle <strong>%s</strong> da <strong>%s</strong> scatenato da <strong>%s</strong>",
   "CRM_Integration": "Integrazione CRM",
   "CROWD_Reject_Unauthorized": "Rifiuta non autorizzati",
+  "Crowd_sync_interval_Description": "L'intervallo tra le sincronizzazioni. Esempio \"ogni 24 ore\" o \"il primo giorno della settimana\", altri esempi su [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "Chat attuali",
   "Current_Status": "Stato attuale",
   "Custom": "Personalizzato",
@@ -1339,8 +1341,10 @@
   "Install_package": "Installa pacchetto",
   "Installation": "Installazione",
   "Installed_at": "Installato il",
+  "Invitation_HTML": "Invito HTML",
   "Instance_Record": "Record d'istanza",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Istruzioni per il visitatore, compila il modulo per inviare un messaggio",
+  "Invitation_HTML_Default": "<h1>Sei stato invitato su <strong>[Site_Name]</strong></h1><p>Vai su [Site_URL] e prova la miglior chat open source disponibile!</p>",
   "Insurance": "Assicurazione",
   "Integration_added": "L'integrazione è stata aggiunta",
   "Integration_Advanced_Settings": "Impostazioni avanzate",
@@ -1406,9 +1410,7 @@
   "invisible": "invisibile",
   "Invisible": "Invisibile",
   "Invitation": "Inviti",
-  "Invitation_HTML": "Invito HTML",
-  "Invitation_HTML_Default": "<h1>Sei stato invitato su <strong>[Site_Name]</strong></h1><p>Vai su [Site_URL] e prova la miglior chat open source disponibile!</p>",
-  "Invitation_HTML_Description": "È possibile utilizzare i seguenti marcatori: <br/><ul><li>[email] per l'email del destinatario.</li><li>[Site_Name] e [Site_URL] rispettivamente per il nome dell'applicazione e l'URL.</li></ul>",
+  "Invitation_Email_Description": "È possibile utilizzare i seguenti marcatori: <br/><ul><li>[email] per l'email del destinatario.</li><li>[Site_Name] e [Site_URL] rispettivamente per il nome dell'applicazione e l'URL.</li></ul>",
   "Invitation_Subject": "Oggetto dell'invito",
   "Invitation_Subject_Default": "Sei stato invitato su [Site_Name]",
   "Invite_user_to_join_channel": "Invita un utente ad entrare in questo canale",
@@ -2516,6 +2518,7 @@
   "Tokens_Required_Input_Error": "Token digitati non validi.",
   "Tokens_Required_Input_Placeholder": "Nomi di asset di token",
   "Topic": "Argomento",
+  "Total_messages": "Messaggi totali",
   "Tourism": "Turismo",
   "Transcript_Enabled": "Chiedi al visitatore se vuole una trascrizione dopo la chiusura della chat",
   "Transcript_message": "Messaggio da mostrare quando si chiede la transcrizione",
@@ -2576,6 +2579,7 @@
   "Upload_file_description": "Descrizione file",
   "Upload_file_name": "Nome file",
   "Upload_file_question": "Caricare il file?",
+  "Upload_Folder_Path": "Carica percorso cartella",
   "Upload_user_avatar": "Carica avatar",
   "Uploading_file": "Caricamento del file ...",
   "Uptime": "Uptime",
@@ -2587,6 +2591,7 @@
   "Use_initials_avatar": "Usa le iniziali del tuo nome utente",
   "Use_minor_colors": "Usa la palette dei colori semplici (predefinito per i colori principali)",
   "Use_service_avatar": "Usa l'avatar %s",
+  "Verification_Email": "Clicca <a href=\"[Verification_Url]\">qui</a> per verificare il tuo account",
   "Use_this_username": "Usa questo nome utente",
   "Use_uploaded_avatar": "Usa l'avatar caricato",
   "Use_url_for_avatar": "Utilizzare una URL per l'avatar",
@@ -2683,7 +2688,6 @@
   "Validate_email_address": "Verifica indirizzo email",
   "Verification": "Verifica",
   "Verification_Description": "Puoi usare i seguenti segnaposti: <br/><ul><li>[Forgot_Password_Url] per la URL del recupero password.</li><li>[name], [fname], [lname] rispettivamente per il nome completo dell'utente, nome or cognome.</li><li>[email] per la email dell'utente.</li><li>[Site_Name] e [Site_URL] rispettivamente per il nome della applicazione e la URL.</li></ul>",
-  "Verification_Email": "Clicca <a href=\"[Verification_Url]\">qui</a> per verificare il tuo account",
   "Verification_email_sent": "Invio Verifica email",
   "Verification_Email_Subject": "[Site_Name] - Verifica il tuo account",
   "Verified": "Verificata",
@@ -2744,6 +2748,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Non siamo in linea. Ci dispiace per l'inconveniente.",
   "We_have_sent_password_email": "Ti abbiamo inviato un'email con le istruzioni per reimpostare la password. Se non la ricevi in breve tempo, si prega di ritornare e riprovare.",
   "We_have_sent_registration_email": "Ti abbiamo inviato una email per confermare la registrazione. Se non la ricevi entro pochi minuti, torna e prova di nuovo.",
+  "Webdav_Server_URL": "URL di accesso al server WebDAV",
+  "Webdav_Username": "Nome utente WebDAV",
+  "Webdav_Password": "Password WebDAV",
   "Webhook_URL": "URL Webhook",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "Chiamata audio diretta da%s",
diff --git a/packages/rocketchat-i18n/i18n/ja.i18n.json b/packages/rocketchat-i18n/i18n/ja.i18n.json
index 46c4b2a174da4641f50d7a5398f0e8230bbd3048..348921edeb5d9117c259cef55c99e92fc01f1700 100644
--- a/packages/rocketchat-i18n/i18n/ja.i18n.json
+++ b/packages/rocketchat-i18n/i18n/ja.i18n.json
@@ -1,14 +1,17 @@
 {
+  "403": "権限がありません",
+  "500": "内部サーバーエラー",
   "#channel": "チャンネル名",
   "0_Errors_Only": "0 - エラーのみ",
+  "12_Hour": "12時制",
   "1_Errors_and_Information": "1 - エラーと情報",
+  "24_Hour": "24時制",
   "2_Erros_Information_and_Debug": "2 - エラー, 情報とデバッグ",
-  "403": "権限がありません",
-  "500": "内部サーバーエラー",
   "@username": "@ユーザー名",
   "@username_message": "@ユーザー名 <message>",
-  "__username__is_no_longer__role__defined_by__user_by_": "__user_by__ が __username__ の権限 __role__ を削除しました",
-  "__username__was_set__role__by__user_by_": "__user_by__ が __username__ に役割 __role__ を設定しました",
+  "__username__is_no_longer__role__defined_by__user_by_": "__user_by__ が __username__ のロール __role__ を削除しました",
+  "__username__was_set__role__by__user_by_": "__user_by__ が __username__ にロール __role__ を設定しました",
+  "%_of_conversations": "会話の %s",
   "Accept": "許可",
   "Accept_incoming_livechat_requests_even_if_there_are_no_online_agents": "オンラインエージェントがなくても着信ライブチャットリクエストを受け入れる",
   "Accept_with_no_online_agents": "オンラインエージェントなしで同意する",
@@ -21,9 +24,9 @@
   "Accessing_permissions": "権限へのアクセス",
   "Account_SID": "アカウントSID",
   "Accounts": "アカウント",
-  "Accounts_Admin_Email_Approval_Needed_Default": "<p>ユーザー<b>[name]([email])</b>が登録されています。</p><p>「管理-->ユーザー」にチェックを入れて、それを有効化または削除してください。</p>",
+  "Accounts_Admin_Email_Approval_Needed_Default": "<p>ユーザー<b>[name] ([email]) </b>が登録されています。</p><p>「管理 -> ユーザー」にチェックを入れて、それを有効化または削除してください。</p>",
   "Accounts_Admin_Email_Approval_Needed_Subject_Default": "新しいユーザーが登録され、承認が必要です",
-  "Accounts_Admin_Email_Approval_Needed_With_Reason_Default": "<p>ユーザー<b>[name]([email])</b>が登録されています。</p><p>理由:<b>[理由]</b></p><p>「管理-->ユーザー」にチェックを入れて削除してください。</p>",
+  "Accounts_Admin_Email_Approval_Needed_With_Reason_Default": "<p>ユーザー<b>[name] ([email]) </b>が登録されています。</p><p>理由: <b>[reason]</b></p><p>「管理 -> ユーザー」にチェックを入れて削除してください。</p>",
   "Accounts_AllowAnonymousRead": "匿名での読み取りを許可する",
   "Accounts_AllowAnonymousWrite": "匿名書き込みを許可する",
   "Accounts_AllowDeleteOwnAccount": "アカウント削除を許可する",
@@ -35,6 +38,7 @@
   "Accounts_AllowUserAvatarChange": "アバターの変更を許可する",
   "Accounts_AllowUsernameChange": "ユーザー名の変更を許可する",
   "Accounts_AllowUserProfileChange": "プロフィールの変更を許可する",
+  "Accounts_AvatarBlockUnauthenticatedAccess": "アバターへの認証されていないアクセスをブロックする",
   "Accounts_AvatarCacheTime": "アバターキャッシュ時間",
   "Accounts_AvatarCacheTime_description": "httpプロトコルがアバター画像をキャッシュするよう指示された秒数。",
   "Accounts_AvatarResize": "アバターの大きさを変更する",
@@ -42,8 +46,8 @@
   "Accounts_BlockedDomainsList": "ブロックされたドメイン一覧",
   "Accounts_BlockedDomainsList_Description": "カンマ区切りのブロックされたドメイン一覧",
   "Accounts_BlockedUsernameList": "ブロックされたユーザー名の一覧",
-  "Accounts_BlockedUsernameList_Description": "ブロックされたユーザー名のカンマ区切りリスト(大文字と小文字を区別しません)",
-  "Accounts_CustomFields_Description": "有効なJSONでなければなりません。ここで、keysはフィールド設定の辞書を含むフィールド名です。例:<br/><code>{\n\"役割\":{\n\"type\": \"select\"、\n\"defaultValue\": \"student\"、\n\"options\":[\"teacher\"、 \"student\"]、\n\"required\":true、\n\"modifyRecordField\":{\n\"array\":true、\n\"フィールド\": \"ロール\"\n}\n}、\n\"twitter\":{\n\"type\": \"text\"、\n\"required\":true、\n\"minLength\":2、\n\"maxLength\":10\n}\n}</code>",
+  "Accounts_BlockedUsernameList_Description": "ブロックされたユーザー名のカンマ区切りリスト (大文字と小文字を区別しません)",
+  "Accounts_CustomFields_Description": "キーはフィールド設定の辞書を含むフィールド名となっている、有効なJSONでなければなりません。例: <br/><code>{\n \"role\": {\n  \"type\": \"select\",\n  \"defaultValue\": \"student\",\n  \"options\": [\"teacher\", \"student\"],\n  \"required\": true,\n  \"modifyRecordField\": {\n   \"array\": true,\n   \"field\": \"roles\"\n  }\n },\n \"twitter\": {\n  \"type\": \"text\",\n  \"required\": true,\n  \"minLength\": 2,\n  \"maxLength\": 10\n }\n}</code>",
   "Accounts_CustomFieldsToShowInUserInfo": "ユーザー情報に表示するカスタムフィールド",
   "Accounts_Default_User_Preferences": "デフォルトのユーザー設定",
   "Accounts_Default_User_Preferences_audioNotifications": "オーディオ通知デフォルトアラート",
@@ -54,22 +58,22 @@
   "Accounts_denyUnverifiedEmail": "認証されていないメールアドレスを拒否する",
   "Accounts_Email_Activated": "[name]<br/><br/><p>アカウントが有効になりました。</p>",
   "Accounts_Email_Activated_Subject": "アカウントが有効化されました",
-  "Accounts_Email_Approved": "[name]<br/><br/><p>あなたのアカウントは承認されました。</p>",
+  "Accounts_Email_Approved": "[name]<br/><br/><p>アカウントが承認されました。</p>",
   "Accounts_Email_Approved_Subject": "アカウントが承認されました",
-  "Accounts_Email_Deactivated": "[名前]<br/><br/><p>アカウントが無効になりました。</p>",
+  "Accounts_Email_Deactivated": "[name]<br/><br/><p>アカウントが無効になりました。</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>ようこそ<strong>[Site_Name]</strong>へ</h1><p><a href=\"[Site_URL]\">[Site_URL]</a>で、現在最高のオープンソースチャットソリューションをトライしましょう!</p>",
   "Accounts_Email_Deactivated_Subject": "アカウントが無効化されました",
   "Accounts_EmailVerification": "メール認証",
   "Accounts_EmailVerification_Description": "この機能を使う前に、SMTP が正しく設定されているか確認してください",
-  "Accounts_Enrollment_Email": "登録メール",
-  "Accounts_Enrollment_Email_Default": "<h1>ようこそ<strong>[Site_Name]</strong>へ</h1><p><a href=\"[Site_URL]\">[Site_URL]</a>で、現在最高のオープンソースチャットソリューションをトライしましょう! </p>",
-  "Accounts_Enrollment_Email_Description": "下記のプレースホルダを用いることができます。<br/><ul><li>フルネーム:  [name], ファーストネーム: [fname], ラストネーム: [lname]</li><li>ユーザのメールアドレス: [email]</li><li>アプリ名: [Site_Name], URL: [Site_URL]</li></ul>",
   "Accounts_Enrollment_Email_Subject_Default": "[Site_Name]へようこそ",
+  "Accounts_Enrollment_Email": "登録メール",
+  "Accounts_Enrollment_Email_Description": "下記のプレースホルダを用いることができます。<br/><ul><li>フルネーム: [name], ファーストネーム: [fname], ラストネーム: [lname]</li><li>ユーザーのメールアドレス: [email]</li><li>アプリ名: [Site_Name], URL: [Site_URL]</li></ul>",
   "Accounts_ForgetUserSessionOnWindowClose": "ウィンドウを閉じる時にユーザーセッションを忘却する",
   "Accounts_Iframe_api_method": "API メソッド",
   "Accounts_Iframe_api_url": "API URL",
   "Accounts_iframe_enabled": "Iframe を有効にする",
   "Accounts_iframe_url": "Iframe URL",
-  "Accounts_LoginExpiration": "ログイン期限までの日数",
+  "Accounts_LoginExpiration": "ログイン期限切れまでの日数",
   "Accounts_ManuallyApproveNewUsers": "新しいユーザーを手動で承認する",
   "Accounts_OAuth_Custom_Authorize_Path": "認証パス",
   "Accounts_OAuth_Custom_Button_Color": "ボタン背景色",
@@ -149,7 +153,7 @@
   "Accounts_Password_Policy_AtLeastOneUppercase": "少なくとも1文字の大文字が必要",
   "Accounts_Password_Policy_AtLeastOneUppercase_Description": "パスワードに少なくとも1文字の小文字が含まれていることを強制する。",
   "Accounts_Password_Policy_Enabled": "パスワードポリシーを有効にする",
-  "Accounts_Password_Policy_Enabled_Description": "有効にすると、ユーザーのパスワードは設定されたポリシーに従わなければなりません。注:これは新しいパスワードにのみ適用され、既存のパスワードには適用されません。",
+  "Accounts_Password_Policy_Enabled_Description": "有効にすると、ユーザーのパスワードは設定されたポリシーに従わなければなりません。注: これは新しいパスワードにのみ適用され、既存のパスワードには適用されません。",
   "Accounts_Password_Policy_ForbidRepeatingCharacters": "反復する文字を禁止する",
   "Accounts_Password_Policy_ForbidRepeatingCharacters_Description": "パスワードが互いに隣り合う同じ文字を含まないようにします。",
   "Accounts_Password_Policy_ForbidRepeatingCharactersCount": "最大繰り返し文字数",
@@ -160,7 +164,7 @@
   "Accounts_Password_Policy_MinLength_Description": "パスワードが少なくともこの文字数はあるようにします。無効にするには `-1`を使います。",
   "Accounts_PasswordReset": "パスワードをリセットする",
   "Accounts_Registration_AuthenticationServices_Default_Roles": "認証サービスのデフォルトの役割",
-  "Accounts_Registration_AuthenticationServices_Default_Roles_Description": "認証サービスを使用して登録するときは、デフォルトの役割(コンマ区切り)のユーザーが指定されます",
+  "Accounts_Registration_AuthenticationServices_Default_Roles_Description": "認証サービスを使用して登録するときは、デフォルトの役割 (コンマ区切り) のユーザーが指定されます",
   "Accounts_Registration_AuthenticationServices_Enabled": "認証サービスで登録を受け付ける",
   "Accounts_RegistrationForm": "登録フォームへのアクセス",
   "Accounts_RegistrationForm_Disabled": "無効",
@@ -172,28 +176,29 @@
   "Accounts_RequireNameForSignUp": "登録時にユーザー名を必須にする",
   "Accounts_RequirePasswordConfirmation": "パスワードの確認が必要",
   "Accounts_SearchFields": "検索で考慮すべきフィールド",
+  "Accounts_Directory_DefaultView": "デフォルトのディレクトリリスト",
   "Accounts_SetDefaultAvatar": "デフォルトのアバターを設定",
   "Accounts_SetDefaultAvatar_Description": "OAuthアカウントまたはGravatarに基づいてデフォルトアバターを決定しようとする",
   "Accounts_ShowFormLogin": "ログインフォームを表示する",
   "Accounts_TwoFactorAuthentication_Enabled": "二要素認証を有効にする",
   "Accounts_TwoFactorAuthentication_MaxDelta": "最大デルタ",
-  "Accounts_TwoFactorAuthentication_MaxDelta_Description": "最大デルタは、任意の時点で有効なトークンの数を決定します。トークンは30秒ごとに生成され、(30 *最大デルタ)秒間有効です。 <br/>例:最大デルタを10に設定すると、各トークンはタイムスタンプの前後に最大300秒まで使用できます。これは、クライアントの時計がサーバーと正しく同期していない場合に便利です。",
+  "Accounts_UserAddedEmail_Default": "<h1>ようこそ<strong>[Site_Name]</strong></h1><p><a href=\"[Site_URL]\">[Site_URL]</a>に移動し、今日利用可能な最高のオープンソースのチャットソリューションを試してみてください! </p><p> [email]とパスワード: [password]あなたはあなたの電子メールを使用してログインすることができます。あなたはあなたの最初のログイン後に変更する必要があります。",
+  "Accounts_TwoFactorAuthentication_MaxDelta_Description": "最大デルタは、任意の時点で有効なトークンの数を決定します。トークンは30秒ごとに生成され、 (30 *最大デルタ) 秒間有効です。 <br/>例: 最大デルタを10に設定すると、各トークンはタイムスタンプの前後に最大300秒まで使用できます。これは、クライアントの時計がサーバーと正しく同期していない場合に便利です。",
   "Accounts_UseDefaultBlockedDomainsList": "既定のブロックされたドメイン一覧を利用する",
   "Accounts_UseDNSDomainCheck": "DNS ドメイン検証を利用する",
-  "Accounts_UserAddedEmail_Default": "<h1>ようこそ<strong>[Site_Name]</strong></h1><p><a href=\"[Site_URL]\">[Site_URL]</a>に移動し、今日利用可能な最高のオープンソースのチャットソリューションを試してみてください! </p><p> [email]とパスワード:[password]あなたはあなたの電子メールを使用してログインすることができます。あなたはあなたの最初のログイン後に変更する必要があります。",
-  "Accounts_UserAddedEmail_Description": "あなたは、次のプレースホルダを使用することがあります。 <br/><ul><li> [name]、[fname]、[lname]ユーザのフルネーム、姓または名の、それぞれ。 </li><li>ユーザーの電子メールのための[email]。 </li><li>ユーザーのパスワードの[password]。 </li><li> [Site_Name]と[Site_URL]アプリケーション名とURLのそれぞれ。 </li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "あなたは[Site_Name]に追加されました",
+  "Accounts_UserAddedEmail_Description": "次のプレースホルダを使用できます。 <br/><ul><li> [name]、[fname]、[lname]はそれぞれユーザーのフルネーム、ファーストネーム、ラストネームです。 </li><li>[email]はユーザーの電子メールです。 </li><li>[password]はユーザーのパスワードです。 </li><li> [Site_Name]と[Site_URL]はアプリケーション名とURLです。 </li></ul>",
   "Activate": "有効化",
   "Activity": "アクティビティ",
   "Add": "追加",
   "add-oauth-service": "OAuthサービスを追加する",
   "add-oauth-service_description": "新しいOAuthサービスを追加する権限",
   "add-user": "ユーザーを追加する",
-  "add-user-to-any-c-room": "任意のパブリックチャンネルにユーザーを追加する",
+  "add-user-to-any-c-room": "任意の公開チャンネルにユーザーを追加する",
   "add-user-to-any-c-room_description": "ユーザーをパブリックチャンネルに追加する権限",
-  "add-user-to-any-p-room": "すべてのプライベートチャネルにユーザーを追加する",
-  "add-user-to-any-p-room_description": "プライベートチャンネルにユーザーを追加する権限",
-  "add-user-to-joined-room": "参加チャンネルにユーザーを追加する",
+  "add-user-to-any-p-room": "任意のプライベートグループにユーザーを追加する",
+  "add-user-to-any-p-room_description": "プライベートグループにユーザーを追加する権限",
+  "add-user-to-joined-room": "任意の参加済チャンネルにユーザーを追加する",
   "add-user-to-joined-room_description": "現在参加しているチャンネルにユーザーを追加する権限",
   "add-user_description": "ユーザースクリーンを介してサーバーに新しいユーザーを追加する権限",
   "Add_agent": "担当者を追加",
@@ -211,7 +216,8 @@
   "Additional_emails": "追加のメールアドレス",
   "Additional_Feedback": "さらにご意見などございましたら、お願いたします。",
   "additional_integrations_Bots": "自前のボットを統合する方法をお探しの場合は、我々のHubotアダプターを使えば大丈夫です。 <a href=\"https://github.com/RocketChat/hubot-rocketchat\" target=\"_blank\">https://github.com/RocketChat/hubot-rocketchat</a>",
-  "additional_integrations_Zapier": "他のソフトウェアやアプリケーションをRocket.Chatと統合しようとしていて、そのための十分な時間がない?それなら、我々が完全サポートしているZapierを使うことをお勧めします。詳細については、ドキュメントを参照してください。 <a href=\"https://rocket.chat/docs/administrator-guides/integrations/zapier/using-zaps/\" target=\"_blank\">https://rocket.chat/docs/administrator-guides/integrations/zapier/using-zaps/</a>",
+  "additional_integrations_Zapier": "他のソフトウェアやアプリケーションをRocket.Chatと統合しようとしていて、そのための十分な時間がない? それなら、我々が完全サポートしているZapierを使うことをお勧めします。詳細については、ドキュメントを参照してください。 <a href=\"https://rocket.chat/docs/administrator-guides/integrations/zapier/using-zaps/\" target=\"_blank\">https://rocket.chat/docs/administrator-guides/integrations/zapier/using-zaps/</a>",
+  "Admin_disabled_encryption": "管理者はE2E暗号化を有効にしていません。",
   "Admin_Info": "管理者情報",
   "Administration": "管理",
   "Adult_images_are_not_allowed": "アダルト画像は許可されていません",
@@ -223,7 +229,7 @@
   "Alerts": "アラート",
   "Alias": "エイリアス",
   "Alias_Format": "エイリアス形式",
-  "Alias_Format_Description": "エイリアスを使ってSlackからメッセージをインポートする。 %sはユーザーのユーザー名で置き換えられます。空の場合、エイリアスは使用されません。",
+  "Alias_Format_Description": "エイリアスを使ってSlackからメッセージをインポートする。 %sはユーザーのユーザー名で置き換えられます。空の場合、エイリアスは使用されません。",
   "Alias_Set": "エイリアスセット",
   "All": "すべて",
   "All_added_tokens_will_be_required_by_the_user": "追加されたすべてのトークンがユーザーに必要となります",
@@ -238,10 +244,11 @@
   "Allow_Marketing_Emails": "マーケティング電子メールを許可する",
   "Alphabetical": "アルファベット順",
   "Always_open_in_new_window": "新しいウィンドウで常に開く",
+  "Analytics": "アナリティクス",
   "Analytics_features_enabled": "有効な機能",
   "Analytics_features_messages_Description": "ユーザーがメッセージにないアクションに関連したカスタムイベントを追跡します。",
-  "Analytics_features_rooms_Description": "チャネルまたはグループ(削除、まま、作成)上のアクションに関連するカスタムイベントを追跡します。",
-  "Analytics_features_users_Description": "ユーザー(パスワードのリセット回数、プロフィール画像の変更など)に関連するアクションに関連するカスタムイベントを追跡します。",
+  "Analytics_features_rooms_Description": "チャンネルまたはグループのアクション(作成、退出、削除)に関連するカスタムイベントを追跡します。",
+  "Analytics_features_users_Description": "ユーザー (パスワードのリセット回数、プロフィール画像の変更など) に関連するアクションに関連するカスタムイベントを追跡します。",
   "Analytics_Google": "グーグルアナリティクス",
   "Analytics_Google_id": "トラッキングID",
   "and": "と",
@@ -249,14 +256,15 @@
   "Animals_and_Nature": "動物と自然",
   "Announcement": "アナウンス",
   "API": "API",
+  "API_Add_Personal_Access_Token": "新しいパーソナルアクセストークンを追加する",
   "API_Allow_Infinite_Count": "すべてを取得することを許可する",
-  "API_Allow_Infinite_Count_Description": "1回の呼び出しですべてを返すことをREST APIの呼び出しに許可する必要がありますか?",
+  "API_Allow_Infinite_Count_Description": "1回の呼び出しですべてを返すことをREST APIの呼び出しに許可する必要がありますか?",
   "API_Analytics": "アナリティクス",
   "API_CORS_Origin": "CORSオリジン",
   "API_Default_Count": "デフォルト数",
   "API_Default_Count_Description": "コンシューマーが何も提供しなかった場合、REST APIのデフォルトカウントが返されます。",
   "API_Drupal_URL": "DrupalサーバーのURL",
-  "API_Drupal_URL_Description": "例:https://domain.com(末尾のスラッシュを除く)",
+  "API_Drupal_URL_Description": "例: https://domain.com (末尾のスラッシュを除く)",
   "API_Embed": "埋め込み機能を有効にする",
   "API_Embed_Description": "ユーザーがウェブサイトへのリンクを投稿したときに、埋め込みリンクプレビューを有効にするかどうかを指定します。",
   "API_Embed_UserAgent": "埋め込み要求ユーザエージェント",
@@ -264,39 +272,49 @@
   "API_EmbedDisabledFor": "埋め込み機能を無効にするユーザー",
   "API_EmbedDisabledFor_Description": "カンマ区切りのユーザー名一覧",
   "API_EmbedIgnoredHosts": "埋め込み無視されたホスト",
-  "API_EmbedIgnoredHosts_Description": "ホストまたはCIDRアドレスのカンマ区切りリスト。例:  localhost, 127.0.0.1, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16",
+  "API_EmbedIgnoredHosts_Description": "ホストまたはCIDRアドレスのカンマ区切りリスト。例: localhost, 127.0.0.1, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16",
   "API_EmbedSafePorts": "安全なポート",
   "API_EmbedSafePorts_Description": "プレビュー用に許可されたポートのリストをカンマ区切りで指定します。",
   "API_Enable_CORS": "CORSを有効にする",
   "API_Enable_Direct_Message_History_EndPoint": "ダイレクトメッセージ履歴エンドポイントを有効にする",
-  "API_Enable_Direct_Message_History_EndPoint_Description": "これは `/api/v1/im.history.others`を有効にします。これにより、呼び出し元が含まれていない他のユーザから送られた直接メッセージを見ることができます。",
+  "API_Enable_Direct_Message_History_EndPoint_Description": "これは `/api/v1/im.history.others`を有効にします。これにより、呼び出し元が含まれていない他のユーザから送られたダイレクトメッセージを見ることができます。",
+  "API_Enable_Personal_Access_Tokens": "REST APIへのパーソナルアクセストークンを有効にする",
+  "API_Enable_Personal_Access_Tokens_Description": "REST APIで使用するためのパーソナルアクセストークンを有効にする",
   "API_Enable_Shields": "シールドを有効にする",
   "API_Enable_Shields_Description": "`/api/v1/shield.svg` でシールドを有効にする",
   "API_GitHub_Enterprise_URL": "サーバー URL",
   "API_GitHub_Enterprise_URL_Description": "例: http://domain.com (末尾のスラッシュを除く)",
   "API_Gitlab_URL": "GitLab URL",
+  "API_Personal_Access_Token_Name": "パーソナルアクセストークン名",
+  "API_Personal_Access_Tokens_To_REST_API": "REST API へのパーソナルアクセストークン",
+  "API_Personal_Access_Tokens_Remove_Modal": "パーソナルアクセストークンを削除してもよろしいですか?",
+  "API_Personal_Access_Token_Generated": "パーソナルアクセストークンの生成に成功しました",
+  "API_Personal_Access_Token_Generated_Text_Token_s_UserId_s": "後から参照することはできなくなるため、このトークンを大事に保存しておいてください。 <br/>トークン:<strong>__token __ </strong><br/>ユーザーID:<strong>__userId __ </strong>",
+  "API_Personal_Access_Tokens_Regenerate_Modal": "トークンを紛失または忘れてしまった場合は、トークンを再生成できますが、このトークンを使用するすべてのアプリケーションを更新する必要があります",
+  "API_Personal_Access_Tokens_Regenerate_It": "トークンを再生成",
   "API_Shield_Types": "シールドタイプ",
-  "API_Shield_Types_Description": "有効にするシールドの種類をカンマ区切りリストとして、`online`, ` channel`, `*`(全て) から選択してください",
+  "API_Shield_Types_Description": "有効にするシールドの種類をカンマ区切りリストとして、`online`, `channel`, `*` (全て)  から選択してください",
   "API_Token": "APIトークン",
   "API_Tokenpass_URL": "トークンパスサーバーのURL",
-  "API_Tokenpass_URL_Description": "例:https://domain.com(末尾のスラッシュを除く)",
+  "API_Tokenpass_URL_Description": "例: https://domain.com (末尾のスラッシュを除く)",
   "API_Upper_Count_Limit": "最大レコード量",
-  "API_Upper_Count_Limit_Description": "REST APIが返すレコードの最大数は何ですか(無制限でない場合)。",
+  "API_Upper_Count_Limit_Description": "REST APIが返すレコードの最大数は何ですか (無制限でない場合) 。",
   "API_User_Limit": "Channelに全ユーザーを追加するためのユーザー制限",
   "API_Wordpress_URL": "WordPress URL",
   "Apiai_Key": "Api.aiキー",
   "Apiai_Language": "Api.ai言語",
   "App_author_homepage": "著者のホームページ",
+  "App_Details": "アプリの詳細",
   "App_Information": "アプリ情報",
   "App_Installation": "アプリのインストール",
   "App_status_auto_enabled": "使用可能",
-  "App_status_compiler_error_disabled": "無効:コンパイラエラー",
+  "App_status_compiler_error_disabled": "無効: コンパイラエラー",
   "App_status_constructed": "構築済み",
   "App_status_disabled": "無効",
-  "App_status_error_disabled": "無効:キャッチされていないエラー",
+  "App_status_error_disabled": "無効: キャッチされていないエラー",
   "App_status_initialized": "初期化済み",
-  "App_status_invalid_settings_disabled": "無効:構成が必要",
-  "App_status_manually_disabled": "無効:手動",
+  "App_status_invalid_settings_disabled": "無効: 構成が必要",
+  "App_status_manually_disabled": "無効: 手動",
   "App_status_manually_enabled": "使用可能",
   "App_status_unknown": "不明",
   "App_support_url": "サポートURL",
@@ -309,19 +327,19 @@
   "Apps": "アプリ",
   "Apps_Framework_enabled": "Appフレームワークを有効にする",
   "Apps_Settings": "アプリの設定",
-  "Apps_WhatIsIt": "アプリ:彼らは何ですか?",
-  "Apps_WhatIsIt_paragraph1": "管理エリアに新しいアイコンがあります!これはどういう意味で、アプリは何ですか?",
+  "Apps_WhatIsIt": "アプリ: 彼らは何ですか?",
+  "Apps_WhatIsIt_paragraph1": "管理エリアに新しいアイコンがあります!これはどういう意味で、アプリは何ですか?",
   "Apps_WhatIsIt_paragraph2": "まず、この文脈のアプリケーションはモバイルアプリケーションを参照していません。実際には、プラグインや高度な統合の点でそれらを考えることが最善でしょう。",
   "Apps_WhatIsIt_paragraph3": "第2に、動的スクリプトまたはパッケージで、コードベースをforkすることなくRocket.Chatインスタンスをカスタマイズすることができます。しかし、これは新しい機能セットであり、100%安定していない可能性があることに注意してください。また、我々はまだ機能セットを開発しているので、現時点ではすべてがカスタマイズされるわけではありません。アプリの開発を開始する方法の詳細については、こちらを参照してください。",
   "Apps_WhatIsIt_paragraph4": "しかし、この機能を有効にして試してみたいのであれば、このボタンをクリックしてAppsシステムを有効にしてください。",
   "Archive": "アーカイブ",
-  "archive-room": "Room をアーカイブする",
-  "archive-room_description": "チャネルをアーカイブする権限",
+  "archive-room": "ルームをアーカイブする",
+  "archive-room_description": "チャンネルをアーカイブする権限",
   "are_also_typing": "も入力しています",
   "are_typing": "が入力しています",
-  "Are_you_sure": "本当にいいですか?",
+  "Are_you_sure": "本当によろしいですか?",
   "Are_you_sure_you_want_to_delete_your_account": "本当にアカウントを削除しますか?",
-  "Are_you_sure_you_want_to_disable_Facebook_integration": "Facebookの統合を無効にしてもよろしいですか?",
+  "Are_you_sure_you_want_to_disable_Facebook_integration": "Facebookの統合を無効にしてもよろしいですか?",
   "assign-admin-role": "管理者ロールを割り当てる",
   "assign-admin-role_description": "他のユーザーに管理者ロールを割り当てる権限",
   "Assign_admin": "管理者を割り当てる",
@@ -332,7 +350,7 @@
   "Attribute_handling": "属性処理",
   "Audio": "オーディオ",
   "Audio_message": "音声メッセージ",
-  "Audio_Notification_Value_Description": "任意のカスタムサウンドまたはデフォルトのサウンドにすることができます:ビープ音、チール音、ディング音、ドロップレット音、ハイベル音、シーズン",
+  "Audio_Notification_Value_Description": "任意のカスタムサウンドまたはデフォルトのサウンドにすることができます: ビープ音、チール音、ディング音、ドロップレット音、ハイベル音、シーズン",
   "Audio_Notifications_Default_Alert": "オーディオ通知デフォルトアラート",
   "Audio_Notifications_Value": "デフォルトのメッセージ通知オーディオ",
   "Auth_Token": "認証トークン",
@@ -354,6 +372,7 @@
   "AutoLinker_Urls_www": "'www' URLの自動リンク",
   "AutoLinker_UrlsRegExp": "URL 正規表現の自動リンク",
   "Automatic_Translation": "自動翻訳",
+  "Author_Site": "著者のサイト",
   "AutoTranslate_Change_Language_Description": "自動翻訳言語を変更しても、以前のメッセージは翻訳されません。",
   "AutoTranslate_Enabled": "自動翻訳を有効にする",
   "AutoTranslate_Enabled_Description": "自動翻訳を有効にすると、<code class=\"inline\">auto-translate</code> 権限のあるユーザに対して、すべてのメッセージを選択した言語に自動翻訳するように許可することできます。これには手数料がかかることがあります、<a target=\"_blank\" href=\"https://cloud.google.com/translate/pricing\">Googleのドキュメント</a>を参照してください。",
@@ -364,6 +383,10 @@
   "Avatar_changed_successfully": "アバターが正常に変更されました",
   "Avatar_URL": "アバター URL",
   "Avatar_url_invalid_or_error": "入力された URL は間違っているかアクセスできません。もう一度違う URL でお試しください。",
+  "Avg_chat_duration": "平均会話時間",
+  "Avg_first_response_time": "平均初回応答時間",
+  "Avg_response_time": "平均応答時間",
+  "Avg_reaction_time": "平均反応時間",
   "away": "離席中",
   "Away": "離席中",
   "away_female": "離席中",
@@ -382,9 +405,13 @@
   "ban-user": "禁止ユーザー",
   "ban-user_description": "チャンネルからユーザーを禁止する許可",
   "Beta_feature_Depends_on_Video_Conference_to_be_enabled": "ベータ機能。有効にするビデオ会議に依存します。",
-  "Block_User": "ユーザをブロックする",
+  "Best_first_response_time": "最短初回反応時間",
+  "Block_User": "ユーザーをブロックする",
   "Blockchain": "ブロックチェーン",
-  "Body": "体",
+  "Blockstack_Auth_Description": "認証の説明",
+  "Blockstack_ButtonLabelText": "ボタンラベル文字列",
+  "Blockstack_Generate_Username": "ユーザー名を生成する",
+  "Body": "本文",
   "bold": "太字",
   "bot_request": "ボットリクエスト",
   "BotHelpers_userFields": "ユーザーフィールド",
@@ -396,10 +423,12 @@
   "Broadcast_Connected_Instances": "ブロードキャスト接続インスタンス",
   "Bugsnag_api_key": "Bugsnag APIキー",
   "Build_Environment": "ビルド環境",
-  "bulk-create-c": "バルク作成チャネル",
-  "bulk-create-c_description": "バルクでチャネルを作成する権限",
-  "bulk-register-user": "バルク作成チャネル",
-  "bulk-register-user_description": "バルクでチャネルを作成する権限",
+  "bulk-create-c": "バルク作成チャンネル",
+  "bulk-create-c_description": "バルクでチャンネルを作成する権限",
+  "bulk-register-user": "バルク作成チャンネル",
+  "bulk-register-user_description": "バルクでチャンネルを作成する権限",
+  "Busiest_day": "最も忙しい日",
+  "Busiest_time": "最も忙しい時間",
   "busy": "取り込み中",
   "Busy": "取り込み中",
   "busy_female": "取り込み中",
@@ -411,47 +440,50 @@
   "Cancel": "キャンセル",
   "Cancel_message_input": "キャンセル",
   "Cannot_invite_users_to_direct_rooms": "ダイレクトメッセージにユーザーを招待できません",
-  "Cannot_open_conversation_with_yourself": "あなた自身と直接メッセージを送ることはできません",
+  "Cannot_open_conversation_with_yourself": "あなた自身とダイレクトメッセージを送ることはできません",
   "CAS_autoclose": "オートクローズログインポップアップ",
   "CAS_base_url": "SSOベースURL",
-  "CAS_base_url_Description": "外部SSOサービスのベースURL(例:https://sso.example.undef/sso/)",
+  "CAS_base_url_Description": "外部SSOサービスのベースURL (例: https://sso.example.undef/sso/)",
   "CAS_button_color": "ログインボタンの背景色",
   "CAS_button_label_color": "ログインボタンのテキストの色",
   "CAS_button_label_text": "ログインボタンのラベル",
   "CAS_enabled": "使用可能",
   "CAS_Login_Layout": "CASログインのレイアウト",
   "CAS_login_url": "SSOログインURL",
-  "CAS_login_url_Description": "外部SSOサービスのログインURL:https://sso.example.undef/sso/login",
+  "CAS_login_url_Description": "外部SSOサービスのログインURL (例: https://sso.example.undef/sso/login )",
   "CAS_popup_height": "ログインポップアップの高さ",
   "CAS_popup_width": "ログインポップアップの幅",
   "CAS_Sync_User_Data_Enabled": "常にユーザーデータを同期する",
-  "CAS_Sync_User_Data_Enabled_Description": "ログイン時に常に外部CASユーザーデータを使用可能な属性に同期させます。注意:アトリビュートはアカウントの作成時に常に同期されます。",
+  "CAS_Sync_User_Data_Enabled_Description": "ログイン時に常に外部CASユーザーデータを使用可能な属性に同期させます。注意: アトリビュートはアカウントの作成時に常に同期されます。",
   "CAS_Sync_User_Data_FieldMap": "属性マップ",
-  "CAS_Sync_User_Data_FieldMap_Description": "このJSONの入力を外部属性(値)から内部属性(キー)を作るのに使ってください。'%' で囲われた外部属性名は値文字列の間に挿入できます。<br/>例: `{\"email\":\"%email%\", \"name\":\"%firstname%, %lastname%\"}` <br/><br/> 属性マッピングは常に挿入されます。CAS 1.0では `username` 属性のみが使用可能です。使用可能な内部属性は、username, name, email, rooms です。 roomsは、ユーザー作成時に参加する部屋のカンマ区切りのリストです。例: `{\"rooms\": \"%team%,%department%\"}` は、CASユーザーを作成時に彼らのチームと部門のチャンネルに参加させます。",
+  "CAS_Sync_User_Data_FieldMap_Description": "このJSONの入力を外部属性 (値) から内部属性 (キー) を作るのに使ってください。'%' で囲われた外部属性名は値文字列の間に挿入できます。<br/>例: `{\"email\":\"%email%\", \"name\":\"%firstname%, %lastname%\"}`<br/><br/> 属性マッピングは常に挿入されます。CAS 1.0では `username` 属性のみが使用可能です。使用可能な内部属性は、username, name, email, rooms です。 roomsは、ユーザー作成時に参加する部屋のカンマ区切りのリストです。例: `{\"rooms\": \"%team%,%department%\"}` は、CASユーザーを作成時に彼らのチームと部門のチャンネルに参加させます。",
   "CAS_version": "CASバージョン",
   "CAS_version_Description": "CAS SSOサービスでサポートされているサポートされているCASバージョンのみを使用してください。",
+  "Categories": "カテゴリー",
   "CDN_PREFIX": "CDN プレフィックス",
+  "CDN_PREFIX_ALL": "すべてのアセットにCDNプレフィックスを使用する",
+  "CDN_JSCSS_PREFIX": "JS/CSS用のCDNプレフィックス",
   "Certificates_and_Keys": "証明書と認証キー",
   "Change_Room_Type": "ルームタイプの変更",
   "Changing_email": "メールの変更",
-  "channel": "チャネル",
+  "channel": "チャンネル",
   "Channel": "チャンネル",
   "Channel_already_exist": "チャンネル '#%s'は既に存在します。",
-  "Channel_already_exist_static": "チャネルは既に存在します。",
-  "Channel_already_Unarchived": "名前のチャネル `#%s`がアーカイブ解除済み状態に既にあります",
-  "Channel_Archived": "名前のチャネル `#%s`が正常にアーカイブされています",
-  "Channel_created": "チャネル `#%s`が作成されました。",
+  "Channel_already_exist_static": "チャンネルは既に存在します。",
+  "Channel_already_Unarchived": "名前 `#%s` のチャンネルは既にアーカイブ解除済み状態です",
+  "Channel_Archived": "名前 `#%s` のチャンネルは正常にアーカイブされました",
+  "Channel_created": "チャンネル `#%s`が作成されました。",
   "Channel_doesnt_exist": "`#%s` というチャンネルは、登録されていません。",
   "Channel_name": "チャンネル名",
   "Channel_Name_Placeholder": "チャンネル名を入力してください...",
   "Channel_to_listen_on": "聞くチャンネル",
-  "Channel_Unarchived": "名前 `#%s`とのチャネルが正常にアーカイブ解除済みとなっています",
+  "Channel_Unarchived": "名前 `#%s` のチャンネルは正常にアーカイブ解除されました。",
   "Channels": "チャンネル",
   "Channels_are_where_your_team_communicate": "あなたのチームがコミュニケーションを行う場所はチャンネルです",
   "Channels_list": "チャンネルの一覧",
   "Chat_button": "チャットボタン",
   "Chat_closed": "チャットを閉じました",
-  "Chat_closed_successfully": "チャットが正常にクローズ",
+  "Chat_closed_successfully": "チャットが正常に閉じました",
   "Chat_Now": "今すぐチャット",
   "Chat_window": "チャットウィンドウ",
   "Chatops_Enabled": "Chatops を有効にする",
@@ -460,13 +492,13 @@
   "Chatpal_AdminPage": "Chatpal管理ページ",
   "Chatpal_All_Results": "すべて",
   "Chatpal_API_Key": "APIキー",
-  "Chatpal_API_Key_Description": "<strong>APIキー</strong>をまだ持ってないのでは?<a class=\"chatpal-admin-link\" href=\"./admin/chatpal\">手に入れよう!</a>",
+  "Chatpal_API_Key_Description": "<strong>APIキー</strong>をまだ持ってないのでは? <a class=\"chatpal-admin-link\" href=\"./admin/chatpal\">手に入れよう!</a>",
   "Chatpal_Backend": "バックエンドタイプ",
   "Chatpal_Backend_Description": "Chatpalをサービスとして使用するかオンサイトインストールとして使用するかを選択します",
   "Chatpal_Base_URL": "ベースURL",
-  "Chatpal_Base_URL_Description": "<a target=\"_blank\" class=\"chatpal-admin-link\" href=\"https://github.com/chatpal/chatpal-search-standalone\">Github</a> でローカルインスタンスを実行する方法を見つけましょう。URLは絶対URLで chatpal コアを指し示さなければなりません。例: http://localhost:8983/solr/chatpal",
+  "Chatpal_Base_URL_Description": "<a target=\"_blank\" class=\"chatpal-admin-link\" href=\"https://github.com/chatpal/chatpal-search-standalone\">Github</a> でローカルインスタンスを実行する方法を見つけましょう。URLは絶対URLで chatpal コアを指し示さなければなりません。例: http://localhost:8983/solr/chatpal",
   "Chatpal_Batch_Size": "索引バッチサイズ",
-  "Chatpal_Batch_Size_Description": "索引文書のバッチ・サイズ(ブートストラップ時)",
+  "Chatpal_Batch_Size_Description": "索引文書のバッチ・サイズ (ブートストラップ時)",
   "Chatpal_create_key": "キーを作成",
   "Chatpal_created_key_successfully": "APIキーが正常に作成されました",
   "Chatpal_Default_Result_Type": "デフォルトの結果タイプ",
@@ -476,12 +508,12 @@
   "Chatpal_ERROR_Email_must_be_valid": "メールは有効である必要があります",
   "Chatpal_ERROR_TAC_must_be_checked": "利用規約を確認する必要があります",
   "Chatpal_ERROR_username_already_exists": "ユーザー名は既に存在します",
-  "Chatpal_Get_more_information_about_chatpal_on_our_website": "<a target=\"_blank\" href=\"http://chatpal.io\" >http://chatpal.io</a>でチャットパールの詳細をご覧ください!",
+  "Chatpal_Get_more_information_about_chatpal_on_our_website": "<a target=\"_blank\" href=\"http://chatpal.io\" >http://chatpal.io</a>でチャットパールの詳細をご覧ください!",
   "Chatpal_go_to_message": "移動",
   "Chatpal_go_to_room": "移動",
-  "Chatpal_go_to_user": "直接メッセージを送信する",
+  "Chatpal_go_to_user": "ダイレクトメッセージを送信する",
   "Chatpal_HTTP_Headers": "Httpヘッダー",
-  "Chatpal_HTTP_Headers_Description": "HTTPヘッダーのリスト。1行に1つのヘッダー。フォーマット:名前:値",
+  "Chatpal_HTTP_Headers_Description": "HTTPヘッダーのリスト。1行に1つのヘッダー。フォーマット: 名前: 値",
   "Chatpal_Main_Language": "主な言語",
   "Chatpal_Main_Language_Description": "会話で最も使用される言語",
   "Chatpal_Messages": "メッセージ",
@@ -492,32 +524,35 @@
   "Chatpal_one_search_result": "1件の結果が見つかりました",
   "Chatpal_Rooms": "ルーム",
   "Chatpal_run_search": "検索",
-  "Chatpal_search_page_of": "%s /%sページ",
-  "Chatpal_search_results": "見つかった%s件の結果",
+  "Chatpal_search_page_of": "%s/%sページ",
+  "Chatpal_search_results": "%s件の結果が見つかりました",
   "Chatpal_Search_Results": "検索結果",
   "Chatpal_Suggestion_Enabled": "有効な提案",
   "Chatpal_TAC_read": "私は利用規約を読みました",
   "Chatpal_Terms_and_Conditions": "規約と条件",
   "Chatpal_Timeout_Size": "インデックスのタイムアウト",
-  "Chatpal_Timeout_Size_Description": "2つのインデックスウィンドウ間の時間(ms)(ブートストラップ時)",
+  "Chatpal_Timeout_Size_Description": "2つのインデックスウィンドウ間の時間 (ms)  (ブートストラップ時)",
   "Chatpal_Users": "ユーザー",
-  "Chatpal_Welcome": "あなたの検索をお楽しみください!",
+  "Chatpal_Welcome": "あなたの検索をお楽しみください!",
   "Chatpal_Window_Size": "インデックスウィンドウサイズ",
-  "Chatpal_Window_Size_Description": "インデックスウィンドウのサイズ(ブートストラップ時)",
-  "Choose_a_room": "部屋を選択してください",
+  "Chatpal_Window_Size_Description": "インデックスウィンドウのサイズ (ブートストラップ時)",
+  "Choose_a_room": "ルームを選択してください",
   "Choose_messages": "メッセージを選択",
   "Choose_the_alias_that_will_appear_before_the_username_in_messages": "メッセージでユーザー名の前に表示されるエイリアスを選択してください。",
   "Choose_the_username_that_this_integration_will_post_as": "この連携が投稿者として使用するユーザー名を選択してください。",
-  "clean-channel-history": "クリーンチャンネル履歴",
+  "clean-channel-history": "チャンネルの履歴をクリア",
   "clean-channel-history_description": "チャンネルから履歴をクリアする権限",
+  "Clean_Usernames": "ユーザー名を簡潔にする",
   "clear": "クリア",
   "Clear_all_unreads_question": "すべての未読をクリアしますか?",
   "clear_cache_now": "今すぐキャッシュをクリア",
   "clear_history": "履歴をクリア",
   "Click_here": "ここをクリック",
   "Click_here_for_more_info": "詳細はこちら",
+  "Click_here_to_enter_your_encryption_password": "暗号化パスワードを入力するにはここをクリックしてください",
+  "Click_here_to_view_and_copy_your_password": "パスワードを表示してコピーするには、ここをクリックしてください。",
   "Click_the_messages_you_would_like_to_send_by_email": "電子メールで送信したいメッセージをクリックします。",
-  "Click_to_join": "参加するにはクリックしてください!",
+  "Click_to_join": "参加するにはクリックしてください!",
   "Client_ID": "クライアント ID",
   "Client_Secret": "クライアント シークレットキー",
   "Clients_will_refresh_in_a_few_seconds": "クライアントは数秒で更新されます",
@@ -533,30 +568,35 @@
   "Collapse_Embedded_Media_By_Default": "デフォルトで埋込メディアを畳む",
   "Color": "色",
   "Commands": "コマンド",
-  "Comment_to_leave_on_closing_session": "閉会セッションに残すコメント",
+  "Comment_to_leave_on_closing_session": "セッション終了時に残すコメント",
   "Common_Access": "共通アクセス",
   "Community": "コミュニティ",
   "Compact": "コンパクト",
-  "Condensed": "凝縮した",
+  "Condensed": "縮小",
   "Computer": "コンピューター",
+  "Confirm_new_encryption_password": "新しい暗号化パスワードを確認",
   "Confirm_password": "パスワードの確認",
   "Connection_Closed": "接続が閉じられました",
-  "Connection_Reset": "接続リセット",
+  "Connection_Reset": "接続がリセットしました",
   "Consulting": "コンサルティング",
   "Consumer_Goods": "消費財",
   "Contains_Security_Fixes": "セキュリティ修正が含まれています",
+  "Contact": "コンタクト",
   "Content": "コンテンツ",
   "Continue": "続けます",
   "Continuous_sound_notifications_for_new_livechat_room": "新しいライブチャットルームの継続的な音声通知",
   "Conversation": "会話",
-  "Conversation_closed": "会話が閉じ:__comment__を。",
-  "Conversation_finished_message": "会話が終了しましたメッセージ",
-  "conversation_with_s": "%sとの会話",
+  "Conversations": "会話",
+  "Conversation_closed": "会話が閉じました: __comment__",
+  "Conversation_finished_message": "会話終了時のメッセージ",
+  "Conversations_per_day": "1日の会話",
+  "conversation_with_s": "%sとの会話",
   "Convert_Ascii_Emojis": "ASCIIを絵文字に変換",
   "Copied": "コピー",
   "Copy": "コピー",
   "Copy_to_clipboard": "クリップボードへコピー",
   "COPY_TO_CLIPBOARD": "クリップボードへコピー",
+  "could-not-access-webdav": "WebDAVにアクセスできません",
   "Count": "カウント",
   "Country": "カントリー",
   "Country_Afghanistan": "アフガニスタン",
@@ -627,7 +667,7 @@
   "Country_Eritrea": "エリトリア",
   "Country_Estonia": "エストニア",
   "Country_Ethiopia": "エチオピア",
-  "Country_Falkland_Islands_Malvinas": "フォークランド諸島(マルビナス)",
+  "Country_Falkland_Islands_Malvinas": "フォークランド諸島 (マルビナス)",
   "Country_Faroe_Islands": "フェロー諸島",
   "Country_Fiji": "フィジー",
   "Country_Finland": "フィンランド",
@@ -652,7 +692,7 @@
   "Country_Guyana": "ガイアナ",
   "Country_Haiti": "ハイチ",
   "Country_Heard_Island_and_Mcdonald_Islands": "ハード島とマクドナルド諸島",
-  "Country_Holy_See_Vatican_City_State": "聖なる館(バチカン市国)",
+  "Country_Holy_See_Vatican_City_State": "聖なる館 (バチカン市国)",
   "Country_Honduras": "ホンジュラス",
   "Country_Hong_Kong": "香港",
   "Country_Hungary": "ハンガリー",
@@ -799,27 +839,29 @@
   "Country_Zambia": "ザンビア",
   "Country_Zimbabwe": "ジンバブエ",
   "Cozy": "コージー",
-  "Create": "作ります",
-  "create-c": "パブリックチャネルを作成する",
+  "Create": "作成",
+  "create-c": "パブリックチャンネルを作成する",
   "create-c_description": "パブリックチャンネルを作成する権限",
   "create-d": "ダイレクトメッセージを作成する",
-  "create-d_description": "直接メッセージを開始する権限",
-  "create-p": "プライベートチャネルを作成する",
-  "create-p_description": "プライベートチャンネルを作成する権限",
+  "create-d_description": "ダイレクトメッセージを開始する権限",
+  "create-p": "プライベートグループを作成する",
+  "create-p_description": "プライベートグループを作成する権限",
   "create-user": "ユーザーの作成",
   "create-user_description": "ユーザーを作成する権限",
-  "Create_A_New_Channel": "新しいチャネルを作成します。",
+  "Create_A_New_Channel": "新しいチャンネルを作成",
   "Create_new": "新しく作成",
   "Create_unique_rules_for_this_channel": "このチャンネルのユニークなルールを作成する",
   "Created_at": "作成日時",
   "Created_at_s_by_s": "作成日時 <strong>%s</strong> by <strong>%s</strong>",
-  "Created_at_s_by_s_triggered_by_s": "<strong>%s</strong>において、<strong>%s</strong>が作成(<strong>%s</strong>がトリガー)",
+  "Created_at_s_by_s_triggered_by_s": "<strong>%s</strong>において、<strong>%s</strong>が作成 (<strong>%s</strong>がトリガー)",
   "CRM_Integration": "CRM統合",
   "CROWD_Reject_Unauthorized": "権限のない拒否",
+  "Crowd_sync_interval_Description": "同期の間隔。例えば「24時間ごと」または「週の初日に」、さらに多くの例は[Cron Text Parser](http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "現在のチャット",
   "Current_Status": "現在のステータス",
   "Custom": "カスタム",
   "Custom_agent": "カスタムエージェント",
+  "Custom_dates": "カスタム日付",
   "Custom_Emoji": "カスタム絵文字",
   "Custom_Emoji_Add": "新しい絵文字を追加",
   "Custom_Emoji_Added_Successfully": "カスタム絵文字が正常に追加されました",
@@ -844,7 +886,7 @@
   "Custom_Sound_Saved_Successfully": "カスタムサウンドが正常に保存されました",
   "Custom_Sounds": "カスタムサウンド",
   "Custom_Translations": "カスタム翻訳",
-  "Custom_Translations_Description": "キーがキーと翻訳の辞書を含む言語である有効なJSONである必要があります。例:<br/><code>{\n\"en\":{\n\"チャンネル\": \"部屋\"\n}、\n\"pt\":{\n\"チャンネル\": \"サラ\"\n}\n}</code>",
+  "Custom_Translations_Description": "キーがキーと翻訳の辞書を含む言語である有効なJSONである必要があります。例: <br/><code>{\n\"en\": {\n\"チャンネル\": \"部屋\"\n},\n\"pt\": {\n\"チャンネル\": \"サラ\"\n}\n}</code>",
   "Customize": "カスタマイズ",
   "CustomSoundsFilesystem": "カスタムサウンドファイルシステム",
   "Dashboard": "ダッシュボード",
@@ -852,20 +894,21 @@
   "Date_From": "から",
   "Date_to": "に",
   "days": "æ—¥",
-  "DB_Migration": "データベース移動",
-  "DB_Migration_Date": "データベース移行日",
+  "DB_Migration": "データベースマイグレーション",
+  "DB_Migration_Date": "データベースマイグレーション日",
   "Deactivate": "停止",
-  "Decline": "下落",
+  "Decline": "辞退",
+  "Decode_Key": "デコード",
   "Default": "デフォルト",
   "Delete": "削除",
   "delete-c": "公開チャンネルを削除する",
   "delete-c_description": "パブリックチャンネルを削除する権限",
-  "delete-d": "直接メッセージを削除する",
-  "delete-d_description": "直接メッセージを削除する権限",
+  "delete-d": "ダイレクトメッセージを削除する",
+  "delete-d_description": "ダイレクトメッセージを削除する権限",
   "delete-message": "メッセージを削除する",
-  "delete-message_description": "部屋内のメッセージを削除する権限",
-  "delete-p": "プライベートチャンネルを削除する",
-  "delete-p_description": "プライベートチャンネルを削除する権限",
+  "delete-message_description": "ルーム内のメッセージを削除する権限",
+  "delete-p": "プライベートグループを削除する",
+  "delete-p_description": "プライベートグループを削除する権限",
   "delete-user": "ユーザーを削除",
   "delete-user_description": "ユーザーを削除する権限",
   "Delete_message": "メッセージを削除",
@@ -879,7 +922,7 @@
   "Department": "部門",
   "Department_removed": "部門を削除しました",
   "Departments": "部門",
-  "Deployment_ID": "展開のID",
+  "Deployment_ID": "デプロイID",
   "Description": "概要",
   "Desktop": "デスクトップ",
   "Desktop_Notification_Test": "デスクトップ通知のテスト",
@@ -887,18 +930,20 @@
   "Desktop_Notifications_Default_Alert": "デスクトップ通知デフォルトアラート",
   "Desktop_Notifications_Disabled": "デスクトップ通知が無効なっています。通知を有効にする場合、ブラウザの設定を変更してください。",
   "Desktop_Notifications_Duration": "通知期間",
-  "Desktop_Notifications_Duration_Description": "デスクトップ通知を表示する秒。これはOS Xの通知センターに影響を与える可能性があります。デフォルトのブラウザの設定を使用し、OS Xの通知センターには影響を与えないように0を入力します。",
+  "Desktop_Notifications_Duration_Description": "デスクトップ通知を表示する秒数。これはOS Xの通知センターに影響を与える可能性があります。デフォルトのブラウザの設定を使用し、OS Xの通知センターには影響を与えないように0を入力します。",
   "Desktop_Notifications_Enabled": "デスクトップ通知は有効です。",
-  "Different_Style_For_User_Mentions": "ユーザーの言及のための異なるスタイル",
+  "Details": "詳細",
+  "Different_Style_For_User_Mentions": "ユーザーメンションのための異なるスタイル",
   "Direct_message_someone": "誰かへダイレクトメッセージ",
   "Direct_Messages": "ダイレクトメッセージ",
   "Direct_Reply": "直接返信",
+  "Direct_Reply_Advice": "このメールに直接返信することができます。スレッド内の以前の電子メールは変更しないでください。",
   "Direct_Reply_Debug": "デバッグ直接応答",
   "Direct_Reply_Debug_Description": "[注意]デバッグモードを有効にすると、管理コンソールに「プレーンテキストパスワード」が表示されます。",
   "Direct_Reply_Delete": "インターセプトされたメールの削除",
   "Direct_Reply_Enable": "直接返信を有効にする",
   "Direct_Reply_Frequency": "電子メールの確認頻度",
-  "Direct_Reply_Frequency_Description": "(分、デフォルト/最小2)",
+  "Direct_Reply_Frequency_Description": " (分、デフォルト/最小2)",
   "Direct_Reply_Host": "直接返信ホスト",
   "Direct_Reply_IgnoreTLS": "IgnoreTLS",
   "Direct_Reply_Password": "パスワード",
@@ -918,10 +963,10 @@
   "Display_offline_form": "ディスプレイオフラインフォーム",
   "Display_unread_counter": "未読メッセージの数を表示する",
   "Displays_action_text": "操作テキストを表示",
-  "Dont_ask_me_again": "もう一度尋ねないで!",
+  "Dont_ask_me_again": "もう一度尋ねないで!",
   "Dont_ask_me_again_list": "もう一度私に聞かないでください",
   "Do_not_display_unread_counter": "このチャンネルのカウンタを表示しない",
-  "Do_you_want_to_accept": "同意しますか?",
+  "Do_you_want_to_accept": "同意しますか?",
   "Do_you_want_to_change_to_s_question": "<strong>%s</strong> へ変更したいですか?",
   "Document_Domain": "ドキュメントドメイン",
   "Domain": "ドメイン",
@@ -934,14 +979,20 @@
   "Drop_to_upload_file": "アップロードするファイルをドロップしてください",
   "Dry_run": "予行練習",
   "Dry_run_description": "送信元のアドレスへ1通のメールを送信します。アドレスは、登録されているユーザーのものでなければなりません。",
+  "duplicated-account": "重複アカウント",
   "Duplicate_archived_channel_name": "'%s' は、すでにアーカイブされたチャンネルで登録されています",
   "Duplicate_archived_private_group_name": "'%s' は、すでにアーカイブされたプライベートグループで登録されています",
-  "Duplicate_channel_name": "チャンネル名を持つ '%s'が存在します",
+  "Duplicate_channel_name": "名前が  '%s' のチャンネルが存在します",
   "Duplicate_private_group_name": "'%s' は、すでにチャンネル/プライベートグループで登録されています",
   "Duration": "時間",
+  "E2E_Enable_alert": "この機能は現在ベータ版です! バグは github.com/RocketChat/Rocket.Chat/issues に報告してください。<br/> - 暗号化された部屋の暗号化されたメッセージは検索操作で見つかりません。<br/> - モバイルアプリは暗号化されたメッセージをサポートしていない可能性があります<br/> - ボットは、サポートを実装するまで、暗号化されたメッセージを見ることができません。<br/> - このバージョンでは、アップロードは暗号化されません。",
+  "E2E_Enable_description": "暗号化されたグループを作成しプライベートグループとダイレクトメッセージを暗号化できるオプションを有効にする",
+  "E2E_Encryption_Password_Explanation": "暗号化されたプライベートグループとダイレクトメッセージを作成できるようになりました。 既存のプライベートグループまたはダイレクトメッセージを暗号化するように変更することもできます。 <br/><br/>メッセージのエンコード/デコードの鍵がサーバーに保存されなくなるのでこれが最後の暗号化です。そのため、安全な別の場所にパスワードを保管する必要があります。 E2E暗号化を使用したい他のデバイスにそれを入力する必要があります。",
+  "E2E_password_reveal_text": "暗号化されたプライベートグループとダイレクトメッセージを作成できるようになりました。 既存のプライベートグループまたはダイレクトメッセージを暗号化するように変更することもできます。 <br/><br/>メッセージのエンコード/デコードの鍵がサーバーに保存されなくなるのでこれが最後の暗号化です。そのため、安全な別の場所にパスワードを保管する必要があります。 E2E暗号化を使用したい他のデバイスにそれを入力する必要があります。 <a href=\"https://rocket.chat/docs/user-guides/end-to-end-encryption/\" target=\"_blank\">この詳細をご覧ください! </a><br/><br/>あなたのパスワードは <span style=\"font-weight: bold;\">%s</span> です。<br/><br/>これは自動生成されたパスワードです。既存のパスワードを入力したブラウザからいつでも暗号化キーの新しいパスワードを設定できます。<br/>このパスワードは、パスワードを保存してこのメッセージを閉じるまで、このブラウザにのみ保存されます。",
+  "E2E_password_request_text": "暗号化されたプライベートグループとダイレクトメッセージにアクセスするには、暗号化パスワードを入力します。 <br/>キーがサーバーに保存されていないため、使用するすべてのクライアントでメッセージをエンコード/デコードするには、このパスワードを入力する必要があります。",
   "Edit": "編集",
   "edit-message": "メッセージの編集",
-  "edit-message_description": "部屋内のメッセージを編集する権限",
+  "edit-message_description": "ルーム内のメッセージを編集する権限",
   "edit-other-user-active-status": "他のユーザーのアクティブなステータスを編集する",
   "edit-other-user-active-status_description": "他のアカウントを有効または無効にする権限",
   "edit-other-user-info": "他のユーザー情報を編集する",
@@ -950,16 +1001,16 @@
   "edit-other-user-password_description": "他のユーザーのパスワードを変更する権限。 edit-other-user-info権限が必要です。",
   "edit-privileged-setting": "特権設定の編集",
   "edit-privileged-setting_description": "設定を編集する権限",
-  "edit-room": "部屋を編集",
-  "edit-room_description": "部屋の名前、トピック、タイプ(プライベートまたはパブリックのステータス)およびステータス(アクティブまたはアーカイブ済み)を編集する権限。",
+  "edit-room": "ルームを編集",
+  "edit-room_description": "ルームの名前、トピック、タイプ (プライベートまたは公開のステータス) およびステータス (アクティブまたはアーカイブ済み) を編集する権限。",
   "edit-room-retention-policy": "ルームの保存ポリシーを編集する",
-  "edit-room-retention-policy_description": "部屋の保存ポリシーを編集し、その中のメッセージを自動的に削除する権限",
-  "Edit_Custom_Field": "編集カスタムフィールド",
+  "edit-room-retention-policy_description": "ルームの保存ポリシーを編集し、その中のメッセージを自動的に削除する権限",
+  "Edit_Custom_Field": "カスタムフィールドを編集",
   "Edit_Department": "部門を編集",
-  "Edit_previous_message": "`%s`  - 前のメッセージを編集する",
+  "Edit_previous_message": "`%s` - 前のメッセージを編集する",
   "Edit_Trigger": "トリガーの編集",
   "edited": "編集",
-  "Editing_room": "編集室",
+  "Editing_room": "ルームの編集",
   "Editing_user": "編集ユーザー",
   "Education": "教育",
   "Email": "メール",
@@ -977,6 +1028,8 @@
   "Email_Placeholder": "メールアドレスを入力してください...",
   "Email_Placeholder_any": "メールアドレスを入力してください...",
   "Email_subject": "件名",
+  "email_style_label": "メールスタイル",
+  "email_style_description": "ネストされたセレクタを避ける",
   "Email_verified": "メールアドレスは検証済みです",
   "Emoji": "絵文字",
   "EmojiCustomFilesystem": "カスタム絵文字ファイルシステム",
@@ -987,27 +1040,35 @@
   "Enable_Svg_Favicon": "SVGファビコンを有効にする",
   "Enable_two-factor_authentication": "二要素認証を有効にする",
   "Enabled": "有効",
+  "Encrypted": "暗号化",
+  "Encrypted_channel_Description": "暗号化されたチャネルを終了する。検索は暗号化されたチャンネルでは機能せず、通知にはメッセージの内容が表示されないことがあります。",
   "Encrypted_message": "暗号化されたメッセージ",
+  "Encrypted_setting_changed_successfully": "暗号化の設定が正常に変更されました",
+  "EncryptionKey_Change_Disabled": "このクライアントに秘密鍵が存在しないため、暗号化キーのパスワードを設定することはできません。新しいパスワードを設定するには、既存のパスワードを使用して秘密鍵をロードするか、すでに鍵がロードされているクライアントを使用する必要があります。",
+  "Encryption_key_saved_successfully": "暗号化キーが正常に保存されました。",
   "End_OTR": "オフレコ会話を終了",
+  "Enter_a_name": "名前を入力してください",
   "Enter_a_regex": "正規表現を入力",
   "Enter_a_room_name": "ルーム名を入力します。",
   "Enter_a_username": "ユーザー名を入力",
-  "Enter_Alternative": "代替モード(Enter + Ctrl / Alt / Shift / CMDで送信)",
+  "Enter_Alternative": "代替モード (Enter + Ctrl / Alt / Shift / CMDで送信)",
   "Enter_authentication_code": "認証コードを入力",
   "Enter_Behaviour": "Enterキーの動作",
   "Enter_Behaviour_Description": "Enterキーでメッセージを送信するか改行した場合に変更されます",
+  "Enter_E2E_password_to_decode_your_key": "あなたのキーでデコードするためのE2Eパスワードを入力してください",
   "Enter_name_here": "ここに名前を入力します。",
-  "Enter_Normal": "通常モード(Enterで送信)",
+  "Enter_Normal": "通常モード (Enterで送信)",
   "Enter_to": "Enter キーで",
+  "Enter_your_E2E_password": "あなたのE2Eパスワードを入力してください",
   "Enterprise": "企業",
   "Entertainment": "エンターテインメント",
   "Error": "エラーが発生しました",
-  "error-action-not-allowed": "__action__許可されていません",
+  "error-action-not-allowed": "__action__は許可されません",
   "error-application-not-found": "アプリケーションは見つかりませんでした",
-  "error-archived-duplicate-name": "名前のアーカイブされたチャンネルがあります」__room_name__」",
-  "error-avatar-invalid-url": "無効なアバターURL:__url__",
-  "error-avatar-url-handling": "__username__のURL(__url__)からアバターの設定を処理中にエラー",
-  "error-cant-invite-for-direct-room": "直接お部屋へのユーザーを招待することはできません。",
+  "error-archived-duplicate-name": "名前が `__room_name__` のアーカイブされたチャンネルがあります",
+  "error-avatar-invalid-url": "無効なアバターURL: __url__",
+  "error-avatar-url-handling": "__username__のURL (__url__) からアバターの設定を処理中にエラー",
+  "error-cant-invite-for-direct-room": "ユーザーをダイレクトルームに招待できません",
   "error-channels-setdefault-is-same": "チャンネルのデフォルト設定は、変更するものと同じです。",
   "error-channels-setdefault-missing-default-param": "bodyParam 'default'は必須です",
   "error-could-not-change-email": "メールアドレスを変更できませんでした。",
@@ -1015,20 +1076,21 @@
   "error-could-not-change-username": "ユーザー名を変更できませんでした。",
   "error-delete-protected-role": "保護されているロールは、削除できません",
   "error-department-not-found": "部門が見つかりませんでした",
-  "error-direct-message-file-upload-not-allowed": "直接メッセージにファイル共有を許可しない",
-  "error-duplicate-channel-name": "'%s' は、すでにチャンネル/プライベートグループで登録されています",
+  "error-direct-message-file-upload-not-allowed": "ダイレクトメッセージにファイル共有を許可しない",
+  "error-duplicate-channel-name": "名前 '__channel_name__' のチャンネルが存在します",
   "error-edit-permissions-not-allowed": "権限の編集は許可されていません",
   "error-email-domain-blacklisted": "電子メールドメインがブラックリストに掲載されています",
-  "error-email-send-failed": "電子メールを送信しようとしてエラーが発生しました:__message__",
+  "error-email-send-failed": "電子メールを送信しようとしてエラーが発生しました: __message__",
   "error-field-unavailable": "<strong>__field__</strong> は、すでに利用されています :(",
   "error-file-too-large": "ファイルが大きすぎます",
   "error-importer-not-defined": "インポート処理が正しく定義されていません。Import クラスが見つかりません。",
   "error-input-is-not-a-valid-field": "__input__は有効__field__ではありません",
   "error-invalid-actionlink": "無効なアクションリンク",
+  "error-invalid-account": "無効なアカウント",
   "error-invalid-arguments": "無効な引数",
   "error-invalid-asset": "アセットファイルは、有効ではありません",
-  "error-invalid-channel": "無効なチャネル。",
-  "error-invalid-channel-start-with-chars": "無効なチャネル。 @や#で始まります",
+  "error-invalid-channel": "無効なチャンネル。",
+  "error-invalid-channel-start-with-chars": "無効なチャンネル。 @や#で始まります",
   "error-invalid-custom-field": "無効なカスタムフィールド",
   "error-invalid-custom-field-name": "無効なカスタムフィールド名。文字、数字、ハイフンとアンダースコアのみを使用してください。",
   "error-invalid-date": "無効な日付が指定されています。",
@@ -1047,8 +1109,8 @@
   "error-invalid-password": "無効なパスワード",
   "error-invalid-permission": "権限が無効です",
   "error-invalid-redirectUri": "無効なredirectUri",
-  "error-invalid-role": "無効な役割",
-  "error-invalid-room": "無効な部屋",
+  "error-invalid-role": "無効なロール",
+  "error-invalid-room": "無効なルーム",
   "error-invalid-room-name": "<strong>__room_name__</strong>有効なルーム名ではありません",
   "error-invalid-room-type": "<strong>__type__</strong> は有効なルーム種類ではありません。",
   "error-invalid-settings": "提供無効な設定",
@@ -1061,38 +1123,43 @@
   "error-invalid-webhook-response": "ウェブフックのURLは、200以外のステータスで応答しました",
   "error-message-deleting-blocked": "メッセージ削除がブロックされています",
   "error-message-editing-blocked": "メッセージの編集はブロックされています",
-  "error-message-size-exceeded": "メッセージサイズがMessage_MaxAllowedSizeを超えます",
+  "error-message-size-exceeded": "メッセージサイズが Message_MaxAllowedSize を超えています",
   "error-missing-unsubscribe-link": "[unsubscribe] リンクを入力してください。",
   "error-no-tokens-for-this-user": "このユーザーにトークンがありません",
   "error-not-allowed": "許可されていません",
   "error-not-authorized": "承認されません",
   "error-password-policy-not-met": "パスワードがサーバーのポリシーを満たしていない",
-  "error-password-policy-not-met-maxLength": "パスワードがサーバーの最大長のポリシーを満たしていない(パスワードが長すぎます)",
-  "error-password-policy-not-met-minLength": "パスワードが最小長(パスワードが短すぎる)というサーバーのポリシーを満たしていない",
+  "error-password-policy-not-met-maxLength": "パスワードがサーバーの最大長のポリシーを満たしていない (パスワードが長すぎます)",
+  "error-password-policy-not-met-minLength": "パスワードが最小長 (パスワードが短すぎる) というサーバーのポリシーを満たしていない",
   "error-password-policy-not-met-oneLowercase": "パスワードが少なくとも1つの小文字のサーバーのポリシーを満たしていない",
   "error-password-policy-not-met-oneNumber": "パスワードが少なくとも1文字のサーバーのポリシーを満たしていない",
   "error-password-policy-not-met-oneSpecial": "パスワードが少なくとも1つの特殊文字のサーバーのポリシーを満たしていない",
   "error-password-policy-not-met-oneUppercase": "パスワードが少なくとも1つの大文字のサーバーのポリシーを満たしていない",
-  "error-password-policy-not-met-repeatingCharacters": "パスワードが禁止されている繰り返し文字のサーバのポリシーを満たしていない(同じ文字があまりにも多い)",
+  "error-password-policy-not-met-repeatingCharacters": "パスワードが禁止されている繰り返し文字のサーバのポリシーを満たしていない (同じ文字があまりにも多い)",
   "error-push-disabled": "プッシュが無効になっています",
   "error-remove-last-owner": "これが最後の所有者です。この1を削除する前に、新しい所有者を設定してください。",
   "error-role-in-use": "ロールを使用中のため、削除できません",
   "error-role-name-required": "ロール名が必要です",
-  "error-room-is-not-closed": "部屋は閉じていない",
+  "error-room-is-not-closed": "ルームは閉じていません",
   "error-the-field-is-required": "フィールド__field__が必要です。",
   "error-this-is-not-a-livechat-room": "これはライブチャットルームではありません",
+  "error-personal-access-tokens-are-current-disabled": "パーソナルアクセストークンは現在無効です",
+  "error-token-already-exists": "この名前のトークンは既に存在します",
+  "error-token-does-not-exists": "トークンが存在しません",
   "error-too-many-requests": "エラー、あまりにも多くのリクエスト。減速してください。あなたは再試行する前__seconds__秒を待たなければなりません。",
   "error-user-has-no-roles": "ユーザーには役割はありません",
   "error-user-is-not-activated": "ユーザーは有効ではありません",
   "error-user-limit-exceeded": "#channel_nameに招待しようとしているユーザーの数が管理者が設定した制限を超えています",
-  "error-user-not-in-room": "ユーザーはこの部屋ではありません",
-  "error-logged-user-not-in-room": "あなたは部屋 '%s`にいません",
+  "error-user-not-in-room": "ユーザーはこのルームにいません",
+  "error-logged-user-not-in-room": "あなたはルーム `%s`にいません",
   "error-user-registration-disabled": "ユーザー登録は無効になっています",
   "error-user-registration-secret": "ユーザー登録は唯一の秘密のURLを経由して許可されています",
-  "error-you-are-last-owner": "あなたが最後の所有者です。部屋を出る前に、新しい所有者を設定してください。",
+  "error-you-are-last-owner": "あなたが最後の所有者です。ルームを退出する前に、新しい所有者を設定してください。",
   "Error_404": "エラー404",
   "Error_changing_password": "パスワード変更中に問題が発生しました",
   "Error_loading_pages": "ページの読み込み中のエラー",
+  "Error_sending_livechat_transcript": "Livechatトランスクリプトを送信中にエラーが発生しました",
+  "Error_sending_livechat_offline_message": "Livechatオフラインメッセージを送信中にエラーが発生しました",
   "Esc_to": "Esc キーで",
   "Event_Trigger": "イベントトリガー",
   "Event_Trigger_Description": "この発信WebHook統合を起動するイベントのタイプを選択する",
@@ -1108,8 +1175,8 @@
   "Example_s": "例: <code class=\"inline\">%s</code>",
   "Exclude_Botnames": "ボットを除外する",
   "Exclude_Botnames_Description": "上記の正規表現に一致する名前のボットからメッセージを伝播しないでください。空のままにすると、ボットのすべてのメッセージが伝播されます。",
-  "Exclude_pinned": "固定されたメッセージを除外する",
-  "except_pinned": "(固定されているものを除く)",
+  "Exclude_pinned": "ピン留めされたメッセージを除外する",
+  "except_pinned": " (ピン留めされているものを除く)",
   "Execute_Synchronization_Now": "今すぐ同期を実行する",
   "Export_My_Data": "私のデータをエクスポートする",
   "External_Queue_Service_URL": "外部キューサービスのURL",
@@ -1125,9 +1192,9 @@
   "Field_required": "必要なフィールド",
   "File_exceeds_allowed_size_of_bytes": "ファイルが許可されているサイズ __size__ を超過しています。",
   "File_name_Placeholder": "ファイル検索...",
-  "File_removed_by_automatic_prune": "自動プルーンによってファイルが削除されました",
-  "File_not_allowed_direct_messages": "直接メッセージではファイル共有は許可されていません。",
-  "File_removed_by_prune": "プルーンによってファイルが削除されました",
+  "File_removed_by_automatic_prune": "自動整理によってファイルが削除されました",
+  "File_not_allowed_direct_messages": "ダイレクトメッセージではファイル共有は許可されていません。",
+  "File_removed_by_prune": "整理によってファイルが削除されました",
   "File_type_is_not_accepted": "許可されていないファイルタイプです。",
   "File_uploaded": "ファイルがアップロードされました",
   "FileUpload": "ファイルアップロード",
@@ -1138,7 +1205,7 @@
   "FileUpload_File_Empty": "ファイルが空です",
   "FileUpload_FileSystemPath": "システム内パス",
   "FileUpload_GoogleStorage_AccessId": "GoogleストレージアクセスID",
-  "FileUpload_GoogleStorage_AccessId_Description": "アクセスIDは通常、電子メール形式です(例: \"example-test@example.iam.gserviceaccount.com\")。",
+  "FileUpload_GoogleStorage_AccessId_Description": "アクセスIDは通常、電子メール形式です (例: \"example-test@example.iam.gserviceaccount.com\") 。",
   "FileUpload_GoogleStorage_Bucket": "Googleストレージバケット名",
   "FileUpload_GoogleStorage_Bucket_Description": "ファイルをアップロードするバケットの名前。",
   "FileUpload_GoogleStorage_Proxy_Avatars": "プロキシアバター",
@@ -1168,7 +1235,7 @@
   "FileUpload_S3_Region": "リージョン",
   "FileUpload_S3_SignatureVersion": "署名バージョン",
   "FileUpload_S3_URLExpiryTimeSpan": "URLの有効期限",
-  "FileUpload_S3_URLExpiryTimeSpan_Description": "Amazon S3で生成されたURLは有効ではなくなります(秒単位)。 5秒未満に設定すると、このフィールドは無視されます。",
+  "FileUpload_S3_URLExpiryTimeSpan_Description": "Amazon S3で生成されたURLは有効ではなくなります (秒単位) 。 5秒未満に設定すると、このフィールドは無視されます。",
   "FileUpload_Storage_Type": "保存先ストレージ種類",
   "FileUpload_Webdav_Upload_Folder_Path": "フォルダパスをアップロードする",
   "FileUpload_Webdav_Upload_Folder_Path_Description": "ファイルをアップロードするWebDAVフォルダパス",
@@ -1180,9 +1247,10 @@
   "FileUpload_Webdav_Proxy_Uploads": "プロキシアップロード",
   "FileUpload_Webdav_Proxy_Uploads_Description": "アセットのURLに直接アクセスするのではなく、サーバーを経由してファイル転送をアップロードする",
   "files": "ファイル",
-  "Files_only": "添付ファイルを削除する、メッセージを保存する",
+  "Files_only": "添付ファイルを削除し、メッセージはそのまま残す",
   "Financial_Services": "金融業務",
   "First_Channel_After_Login": "ログイン後の最初のチャンネル",
+  "First_response_time": "初回応答時間",
   "Flags": "国旗",
   "Follow_social_profiles": "私たちのソーシャルプロファイルをフォローしたり、GitHub上のフォークしたり、私たちのTrelloのボード上でRocket.Chatアプリについてのあなたの考えを共有しましょう。",
   "Fonts": "フォント",
@@ -1196,9 +1264,9 @@
   "Force_Disable_OpLog_For_Cache": "キャッシュのOpLogを強制的に無効にする",
   "Force_Disable_OpLog_For_Cache_Description": "使用可能な場合でもOpLogを使用してキャッシュを同期させません",
   "Force_SSL": "SSLを強制する",
-  "Force_SSL_Description": "*ご注意!* _Force SSL_は、リバースプロキシで使用すべきではありません。あなたがリバースプロキシを使用している場合、あなたはそこにリダイレクトを行う必要があります。このオプションは、リバースプロキシでのリダイレクト設定を許可していませんHerokuの、のような展開のために存在します。",
-  "Forgot_password": "パスワードをお忘れですか?",
-  "Forgot_Password_Description": "次のプレースホルダを使用できます:<br/><ul><li>パスワード復元URLの[Forgot_Password_Url]</li><li>[name]、[fname]、[lname]はそれぞれユーザーのフルネーム、ファーストネームまたはラストネームです。</li><li>ユーザーのメールの[email]。</li><li>[Site_Name]と[Site_URL]はそれぞれアプリケーション名とURLです。</li></ul>",
+  "Force_SSL_Description": "*ご注意!* _Force SSL_は、リバースプロキシで使用すべきではありません。あなたがリバースプロキシを使用している場合、あなたはそこにリダイレクトを行う必要があります。このオプションは、リバースプロキシでのリダイレクト設定を許可していませんHerokuの、のような展開のために存在します。",
+  "Forgot_password": "パスワードをお忘れですか?",
+  "Forgot_Password_Description": "次のプレースホルダを使用できます: <br/><ul><li>パスワード復元URLの[Forgot_Password_Url]</li><li>[name]、[fname]、[lname]はそれぞれユーザーのフルネーム、ファーストネームまたはラストネームです。</li><li>ユーザーのメールの[email]。</li><li>[Site_Name]と[Site_URL]はそれぞれアプリケーション名とURLです。</li></ul>",
   "Forgot_Password_Email": "パスワードをリセットするには、<a href=\"[Forgot_Password_Url]\">ここ</a>をクリックしてください。",
   "Forgot_Password_Email_Subject": "[Site_Name]  - パスワードの回復",
   "Forgot_password_section": "パスワードをお忘れですか",
@@ -1222,7 +1290,7 @@
   "Go_to_your_workspace": "あなたのワークスペースに行く",
   "Google_Vision_usage_limit_exceeded": "Google Visionの使用制限を超えました",
   "GoogleCloudStorage": "Google Cloud Storage",
-  "GoogleNaturalLanguage_ServiceAccount_Description": "サービスアカウントキーのJSONファイル。詳細はこちら[こちら](https://cloud.google.com/natural-language/docs/common/auth#set_up_a_service_account)",
+  "GoogleNaturalLanguage_ServiceAccount_Description": "サービスアカウントキーのJSONファイル。詳細はこちら[こちら] (https://cloud.google.com/natural-language/docs/common/auth#set_up_a_service_account)",
   "GoogleTagManager_id": "Google タグマネージャー ID",
   "GoogleVision_Block_Adult_Images": "アダルト画像をブロックする",
   "GoogleVision_Block_Adult_Images_Description": "月の制限に達すると大人の画像をブロックすることはできません",
@@ -1231,20 +1299,20 @@
   "GoogleVision_Max_Monthly_Calls": "最大毎月の通話",
   "GoogleVision_Max_Monthly_Calls_Description": "無制限に0を使用",
   "GoogleVision_ServiceAccount": "Google Visionサービスアカウント",
-  "GoogleVision_ServiceAccount_Description": "サーバーキー(JSON形式)を作成し、ここにJSONコンテンツを貼り付けます",
+  "GoogleVision_ServiceAccount_Description": "サーバーキー (JSON形式) を作成し、ここにJSONコンテンツを貼り付けます",
   "GoogleVision_Type_Document": "文書テキストの検出",
   "GoogleVision_Type_Faces": "顔検出",
   "GoogleVision_Type_Labels": "ラベルの検出",
   "GoogleVision_Type_Landmarks": "ランドマークの検出",
   "GoogleVision_Type_Logos": "ロゴの検出",
-  "GoogleVision_Type_Properties": "プロパティ(色)検出",
+  "GoogleVision_Type_Properties": "プロパティ (色) 検出",
   "GoogleVision_Type_SafeSearch": "セーフサーチの検出",
   "GoogleVision_Type_Similar": "類似イメージ検索",
   "Government": "政府",
   "Group_by_Type": "グループ別",
   "Group_favorites": "グループのお気に入り",
-  "Group_mentions_disabled_x_members": "グループには、__total__人以上のメンバーがいる部屋では、 `@ all`と` here`が無効になっています。",
-  "Group_mentions_only": "グループのみの言及",
+  "Group_mentions_disabled_x_members": "__total__人以上のメンバーがいるルームでは、グループへの`@all`と`@here`は無効になっています。",
+  "Group_mentions_only": "グループメンションのみ",
   "Guest_Pool": "ゲストプール",
   "Hash": "ハッシュ",
   "Header": "ヘッダ",
@@ -1253,12 +1321,13 @@
   "Help_Center": "ヘルプセンター",
   "Helpers": "ヘルパー",
   "Hex_Color_Preview": "16進カラープレビュー",
+  "Hi_username": "こんにちは、 __name__",
   "Hidden": "非表示中",
   "Hide_Avatars": "アバターを非表示",
   "Hide_counter": "カウンターを隠す",
   "Hide_flextab": "クリックと同時に右サイドバーを閉じる",
   "Hide_Group_Warning": "本当にグループ \"%s\" を隠しますか?",
-  "Hide_Livechat_Warning": "\"%s\"でライブチャットを隠してもよろしいですか?",
+  "Hide_Livechat_Warning": "\"%s\"でライブチャットを隠してもよろしいですか?",
   "Hide_Private_Warning": "本当に \"%s\" との会話を隠しますか?",
   "Hide_roles": "役割を隠す",
   "Hide_room": "ルームを隠す",
@@ -1278,22 +1347,25 @@
   "How_responsive_was_the_chat_agent": "チャット担当者の対応は、いかがでしたか?",
   "How_satisfied_were_you_with_this_chat": "このチャットのご満足度は、いかがでしたか?",
   "How_to_handle_open_sessions_when_agent_goes_offline": "エージェントがオフラインになったときに開いているセッションを処理する方法",
+  "I_ll_do_it_later": "あとで",
+  "I_saved_my_password_close_this_message": "パスワードを保存してこのメッセージを閉じる",
   "Idle_Time_Limit": "アイドルタイムリミット",
   "Idle_Time_Limit_Description": "状態が離れるまでの時間。値は秒単位である必要があります。",
-  "if_they_are_from": "(%sからのものである場合)",
+  "if_they_are_from": " (%sからのものである場合)",
   "If_this_email_is_registered": "このメールが登録されている場合は、パスワードをリセットする方法が記載されています。まもなくメールが届かない場合は、もう一度やり直してください。",
   "If_you_are_sure_type_in_your_password": "お間違いなければ、パスワードを入力してください:",
-  "If_you_are_sure_type_in_your_username": "あなたのユーザー名に必ずタイプである場合:",
-  "If_you_dont_have_one_send_an_email_to_omni_rocketchat_to_get_yours": "持っていない場合は、[omni@rocket.chat](mailto:omni@rocket.chat)にメールを送ってください。",
+  "If_you_are_sure_type_in_your_username": "あなたのユーザー名に必ずタイプである場合: ",
+  "If_you_dont_have_one_send_an_email_to_omni_rocketchat_to_get_yours": "持っていない場合は、[omni@rocket.chat] (mailto: omni@rocket.chat) にメールを送ってください。",
+  "If_you_didnt_ask_for_reset_ignore_this_email": "パスワードリセットを尋ねていなかった場合は、このメールを無視することができます。",
   "Iframe_Integration": "Iframeの統合",
   "Iframe_Integration_receive_enable": "受信を有効にする",
   "Iframe_Integration_receive_enable_Description": "親ウィンドウがRocket.Chatにコマンドを送信できるようにする。",
   "Iframe_Integration_receive_origin": "起源を受け取る",
-  "Iframe_Integration_receive_origin_Description": "コンマで区切られたプロトコル接頭辞付きの起源で、コマンドを受け取ることができます。 'https:// localhost、http:// localhost'、または*どこからでも受信できるようにする。",
+  "Iframe_Integration_receive_origin_Description": "コンマで区切られたプロトコル接頭辞付きの起源で、コマンドを受け取ることができます。 'https://localhost、http://localhost'、または*どこからでも受信できるようにする。",
   "Iframe_Integration_send_enable": "送信を有効にする",
   "Iframe_Integration_send_enable_Description": "親ウィンドウにイベントを送信する",
   "Iframe_Integration_send_target_origin": "ターゲット送信元を送信",
-  "Iframe_Integration_send_target_origin_Description": "プロトコルプレフィックスを有する起点。 'https:// localhost'、または任意の場所への送信を許可する*。",
+  "Iframe_Integration_send_target_origin_Description": "プロトコルプレフィックスを有する起点。 'https://localhost'、または任意の場所への送信を許可する*。",
   "Ignore": "無視",
   "Ignored": "無視された",
   "IMAP_intercepter_already_running": "既に実行中のIMAP代行者",
@@ -1308,7 +1380,7 @@
   "Importer_finishing": "インポートを終了しています",
   "Importer_From_Description": "__from__ のデータを Rocket.Chat へインポート",
   "Importer_HipChatEnterprise_BetaWarning": "このインポートはまだ進行中ですので、GitHubで発生したエラーを報告してください。",
-  "Importer_HipChatEnterprise_Information": "アップロードされたファイルは解読されたtar.gzでなければなりません。詳しい情報はドキュメントを読んでください:",
+  "Importer_HipChatEnterprise_Information": "アップロードされたファイルは解読されたtar.gzでなければなりません。詳しい情報はドキュメントを読んでください: ",
   "Importer_import_cancelled": "インポートをキャンセルしました。",
   "Importer_import_failed": "インポート中にエラーが発生しました。",
   "Importer_importing_channels": "チャンネルをインポートしています",
@@ -1331,6 +1403,7 @@
   "Industry": "産業",
   "initials_avatar": "イニシャルアバター",
   "inline_code": "インラインコード",
+  "Install": "インストール",
   "Install_Extension": "拡張機能をインストール",
   "Install_FxOs": "Firefox に Rocket.Chat をインストール",
   "Install_FxOs_done": "やりました! ホーム画面の Rocket.Chat アイコンから利用できるようになりました。 Rocket.Chat をお楽しみください!",
@@ -1338,9 +1411,11 @@
   "Install_FxOs_follow_instructions": "デバイスにアプリがインストールされることを確認してください ( \"インストール\" を押すと表示されます) 。",
   "Install_package": "パッケージをインストールする",
   "Installation": "インストール方法",
-  "Installed_at": "設置",
+  "Installed_at": "インストール日時",
+  "Invitation_HTML": "招待メールのHTML本文",
   "Instance_Record": "インスタンスレコード",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "あなたの訪問者への指示メッセージを送信するためのフォームを埋めます",
+  "Invitation_HTML_Default": "<h1>あなたはに招待されました<strong>[Site_Name]</strong></h1><p>[Site_URL]に移動し、今日利用可能な最高のオープンソースのチャットソリューションを試してみてください!</p>",
   "Insurance": "保険",
   "Integration_added": "サービス連携を追加しました",
   "Integration_Advanced_Settings": "高度な設定",
@@ -1362,29 +1437,29 @@
   "Integration_Outgoing_WebHook_History_Trigger_Step": "最後のトリガーステップ",
   "Integration_Outgoing_WebHook_No_History": "この発信Webhook統合にはまだ履歴が記録されていません。",
   "Integration_Retry_Count": "再試行回数",
-  "Integration_Retry_Count_Description": "URLへの呼び出しが失敗した場合、何回統合を試みるべきですか?",
+  "Integration_Retry_Count_Description": "URLへの呼び出しが失敗した場合、何回統合を試みるべきですか?",
   "Integration_Retry_Delay": "再試行遅延",
-  "Integration_Retry_Delay_Description": "どの遅延アルゴリズムを再試行する必要がありますか? <code class=\"inline\">10^x</code>または<code class=\"inline\">2^x</code>または<code class=\"inline\">x*2</code>",
+  "Integration_Retry_Delay_Description": "どの遅延アルゴリズムを再試行する必要がありますか?  <code class=\"inline\">10^x</code>または<code class=\"inline\">2^x</code>または<code class=\"inline\">x*2</code>",
   "Integration_Retry_Failed_Url_Calls": "失敗したURLコールを再試行する",
-  "Integration_Retry_Failed_Url_Calls_Description": "URLへの呼び出しが失敗した場合、統合は合理的な時間を試すべきですか?",
+  "Integration_Retry_Failed_Url_Calls_Description": "URLへの呼び出しが失敗した場合、統合は合理的な時間を試すべきですか?",
   "Integration_Run_When_Message_Is_Edited": "編集時に実行",
-  "Integration_Run_When_Message_Is_Edited_Description": "メッセージの編集時に統合を実行する必要がありますか?これをfalseに設定すると、統合は<strong>の新しい</strong>メッセージでのみ実行されます。",
+  "Integration_Run_When_Message_Is_Edited_Description": "メッセージの編集時に統合を実行する必要がありますか? これをfalseに設定すると、統合は<strong>の新しい</strong>メッセージでのみ実行されます。",
   "Integration_updated": "サービス連携を更新しました",
   "Integration_Word_Trigger_Placement": "どこにでもワードの配置",
-  "Integration_Word_Trigger_Placement_Description": "初め以外の文章のどこにでも置かれたときに、単語が引き起こされるべきですか?",
+  "Integration_Word_Trigger_Placement_Description": "初め以外の文章のどこにでも置かれたときに、単語が引き起こされるべきですか?",
   "Integrations": "サービス連携",
-  "Integrations_for_all_channels": "<strong>all_public_channels</strong>すべての公共のチャネルをリッスンするように入力し、<strong>all_private_groups</strong>すべてのダイレクトメッセージを聞くために、すべての民間団体、および<strong>all_direct_messages</strong>でリッスンします。",
+  "Integrations_for_all_channels": "<strong>all_public_channels</strong>すべての公共のチャンネルをリッスンするように入力し、<strong>all_private_groups</strong>すべてのダイレクトメッセージを聞くために、すべての民間団体、および<strong>all_direct_messages</strong>でリッスンします。",
   "Integrations_Outgoing_Type_FileUploaded": "アップロードされたファイル",
-  "Integrations_Outgoing_Type_RoomArchived": "アーカイブされた部屋",
-  "Integrations_Outgoing_Type_RoomCreated": "作成されたルーム(公的および私的)",
+  "Integrations_Outgoing_Type_RoomArchived": "アーカイブされたルーム",
+  "Integrations_Outgoing_Type_RoomCreated": "作成されたルーム (公開およびプライベート)",
   "Integrations_Outgoing_Type_RoomJoined": "ユーザーが参加したルーム",
-  "Integrations_Outgoing_Type_RoomLeft": "ユーザーはRoomを退出しました",
+  "Integrations_Outgoing_Type_RoomLeft": "ユーザーはルームを退出しました",
   "Integrations_Outgoing_Type_SendMessage": "メッセージが送信されました",
   "Integrations_Outgoing_Type_UserCreated": "作成されたユーザー",
   "InternalHubot": "Internal Hubot",
-  "InternalHubot_EnableForChannels": "パブリックチャネル用に有効にする",
+  "InternalHubot_EnableForChannels": "パブリックチャンネル用に有効にする",
   "InternalHubot_EnableForDirectMessages": "ダイレクトメッセージを有効にする",
-  "InternalHubot_EnableForPrivateGroups": "プライベートチャネルを有効にする",
+  "InternalHubot_EnableForPrivateGroups": "プライベートグループを有効にする",
   "InternalHubot_PathToLoadCustomScripts": "スクリプトをロードするフォルダ",
   "InternalHubot_reload": "スクリプトを再読み込みする",
   "InternalHubot_ScriptsToLoad": "ロードするスクリプト",
@@ -1401,14 +1476,12 @@
   "Invalid_reason": "参加する理由は空であってはいけません",
   "Invalid_room_name": "<strong>%s</strong> は有効なルーム名ではありません",
   "Invalid_secret_URL_message": "入力された URL は、有効ではありません。",
-  "Invalid_setting_s": "無効な設定:%s",
+  "Invalid_setting_s": "無効な設定: %s",
   "Invalid_two_factor_code": "無効な2つの要素コード",
   "invisible": "状態を隠す",
   "Invisible": "状態を隠す",
   "Invitation": "招待",
-  "Invitation_HTML": "招待メールのHTML本文",
-  "Invitation_HTML_Default": "<h1>あなたはに招待されました<strong>[Site_Name]</strong></h1><p>[Site_URL]に移動し、今日利用可能な最高のオープンソースのチャットソリューションを試してみてください! </p>",
-  "Invitation_HTML_Description": "あなたは、次のプレースホルダを使用することがあります。 <br/><ul><li>受信者の電子メールの[email]。 </li><li> [Site_Name]と[Site_URL]アプリケーション名とURLのそれぞれ。 </li></ul>",
+  "Invitation_Email_Description": "あなたは、次のプレースホルダを使用することがあります。 <br/><ul><li>受信者の電子メールの[email]。 </li><li> [Site_Name]と[Site_URL]アプリケーション名とURLのそれぞれ。 </li></ul>",
   "Invitation_Subject": "招待メールの件名",
   "Invitation_Subject_Default": "あなたは[Site_Name]に招待されました",
   "Invite_user_to_join_channel": "ユーザーをこのチャンネルへ招待します",
@@ -1419,7 +1492,7 @@
   "IRC_Channel_Leave": "PARTコマンドの出力。",
   "IRC_Channel_Users": "NAMESコマンドの出力。",
   "IRC_Channel_Users_End": "NAMESコマンドの出力終了。",
-  "IRC_Description": "インターネットリレーチャット(IRC)は、テキストベースのグループ通信ツールです。ユーザーは、オープンな議論のために一意の名前のチャネルまたはルームに参加します。 IRCは、個々のユーザーとファイル共有機能の間のプライベートメッセージもサポートしています。このパッケージは、これらの機能層をRocket.Chatと統合します。",
+  "IRC_Description": "インターネットリレーチャット (IRC) は、テキストベースのグループ通信ツールです。ユーザーは、オープンな議論のために一意の名前のチャンネルまたはルームに参加します。 IRCは、個々のユーザーとファイル共有機能の間のプライベートメッセージもサポートしています。このパッケージは、これらの機能層をRocket.Chatと統合します。",
   "IRC_Enabled": "IRCサポートを統合しようとしました。この値を変更するには、Rocket.Chatを再起動する必要があります。",
   "IRC_Enabled_Alert": "IRCサポートは進行中の作業です。本番システムでの使用は現時点ではお勧めできません。",
   "IRC_Federation": "IRC連盟",
@@ -1438,9 +1511,9 @@
   "is_typing_female": "が入力しています",
   "is_typing_male": "が入力しています",
   "Issue_Links": "課題トラッカーリンク",
-  "IssueLinks_Incompatible": "警告:これと「Hex Color Preview」を同時に有効にしないでください。",
+  "IssueLinks_Incompatible": "警告: これと「Hex Color Preview」を同時に有効にしないでください。",
   "IssueLinks_LinkTemplate": "問題リンクのテンプレート",
-  "IssueLinks_LinkTemplate_Description": "問題のリンクのテンプレート。 %sは発行番号に置き換えられます。",
+  "IssueLinks_LinkTemplate_Description": "問題のリンクのテンプレート。 %sは発行番号に置き換えられます。",
   "It_works": "できます",
   "italics": "斜体",
   "Jitsi_Chrome_Extension": "Chromeの拡張機能同上",
@@ -1462,20 +1535,22 @@
   "Jump_to_recent_messages": "最近のメッセージへ移動",
   "Just_invited_people_can_access_this_channel": "招待されたユーザーだけがこのチャンネルにアクセスできます。",
   "Katex_Dollar_Syntax": "許可ドル構文",
-  "Katex_Dollar_Syntax_Description": "$$ katexブロック$$と$インラインkatex $構文を使用して許可します",
+  "Katex_Dollar_Syntax_Description": "$$katexブロック$$ と $インラインkatex$ 構文を使用して許可します",
   "Katex_Enabled": "Katex を有効にする",
   "Katex_Enabled_Description": "使用して許可<a target=\"_blank\" href=\"http://khan.github.io/KaTeX/\">katexを</a>メッセージに数学の組版のために",
   "Katex_Parenthesis_Syntax": "許可括弧構文",
-  "Katex_Parenthesis_Syntax_Description": "\\ [katexブロック\\]と\\(インラインkatex \\)の構文を使用して許可します",
+  "Katex_Parenthesis_Syntax_Description": "\\[katexブロック\\] と \\(インラインkatex\\) の構文を使用して許可します",
   "Keep_default_user_settings": "デフォルト設定を維持する",
   "Keyboard_Shortcuts_Edit_Previous_Message": "前のメッセージを編集",
-  "Keyboard_Shortcuts_Keys_1": "<kbd>Ctrl</kbd>+ <kbd>p</kbd>",
+  "Keyboard_Shortcuts_Keys_1": "<kbd>Command</kbd> (または<kbd>Ctrl</kbd>) + <kbd>P</kbd> または <kbd>Command</kbd> (または<kbd>Ctrl</kbd>) + <kbd>K</kbd>",
   "Keyboard_Shortcuts_Keys_2": "<kbd>上矢印</kbd>",
-  "Keyboard_Shortcuts_Keys_3": "<kbd>⌘</kbd>(または<kbd>Alt</kbd>)+ <kbd>←</kbd>",
-  "Keyboard_Shortcuts_Keys_4": "<kbd>⌘</kbd>(または<kbd>Alt</kbd>)+<kbd>↑</kbd>",
-  "Keyboard_Shortcuts_Keys_5": "<kbd>⌘</kbd>(または<kbd>Alt</kbd>)+ <kbd>→</kbd>",
-  "Keyboard_Shortcuts_Keys_6": "<kbd>⌘</kbd>(または<kbd>Alt</kbd>)+ <kbd>↓</kbd>",
+  "Keyboard_Shortcuts_Keys_3": "<kbd>⌘</kbd> (または<kbd>Alt</kbd>) + <kbd>←</kbd>",
+  "Keyboard_Shortcuts_Keys_4": "<kbd>⌘</kbd> (または<kbd>Alt</kbd>) + <kbd>↑</kbd>",
+  "Keyboard_Shortcuts_Keys_5": "<kbd>⌘</kbd> (または<kbd>Alt</kbd>) + <kbd>→</kbd>",
+  "Keyboard_Shortcuts_Keys_6": "<kbd>⌘</kbd> (または<kbd>Alt</kbd>) + <kbd>↓</kbd>",
   "Keyboard_Shortcuts_Keys_7": "<kbd>Shift</kbd> + <kbd>Enter</kbd>",
+  "Keyboard_Shortcuts_Keys_8": "<kbd>Shift (またはCtrl) + ESC</kbd>",
+  "Keyboard_Shortcuts_Mark_all_as_read": "すべてのメッセージを既読にする",
   "Keyboard_Shortcuts_Move_To_Beginning_Of_Message": "メッセージの先頭に移動する",
   "Keyboard_Shortcuts_Move_To_End_Of_Message": "メッセージの最後に移動する",
   "Keyboard_Shortcuts_New_Line_In_Message": "メッセージの新しい行が入力を構成する",
@@ -1489,6 +1564,7 @@
   "Last_login": "最終ログイン",
   "Last_Message_At": "最後のメッセージ",
   "Last_seen": "最近見たもの",
+  "Last_token_part": "最後のトークンパート",
   "Last_Message": "最後のメッセージ",
   "Launched_successfully": "成功した",
   "Layout": "レイアウト",
@@ -1508,15 +1584,15 @@
   "LDAP_Background_Sync_Import_New_Users": "バックグラウンド同期で新しいユーザーをインポートする",
   "LDAP_Background_Sync_Import_New_Users_Description": "LDAPに存在し、Rocket.Chatには存在しないすべてのユーザーをフィルタ条件に基づいてインポートします",
   "LDAP_Background_Sync_Interval": "バックグラウンド同期間隔",
-  "LDAP_Background_Sync_Interval_Description": "同期の間隔。例「24時間ごと」または「週の初日に」、さらに多くの例が[Cron Text Parser](http://bunkat.github.io/later/parsers.html#text)",
+  "LDAP_Background_Sync_Interval_Description": "同期の間隔。例「24時間ごと」または「週の初日に」、さらに多くの例が[Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)",
   "LDAP_Background_Sync_Keep_Existant_Users_Updated": "バックグラウンド同期で既存のユーザーを更新する",
-  "LDAP_Background_Sync_Keep_Existant_Users_Updated_Description": "** Sync Interval **ごとにLDAPから既にインポートされたすべてのユーザーのアバター、フィールド、ユーザー名などを同期します(設定に基づいて)",
+  "LDAP_Background_Sync_Keep_Existant_Users_Updated_Description": "** Sync Interval **ごとにLDAPから既にインポートされたすべてのユーザーのアバター、フィールド、ユーザー名などを同期します (設定に基づいて)",
   "LDAP_BaseDN": "ベースDN",
   "LDAP_BaseDN_Description": "検索したいユーザーやグループが LDAP サブツリーとして属す完全修飾の Distinguished Name (DN) 。 それぞれのグループは、そこに属すユーザーと同じドメインベースに定義されていなければなりません。特定のユーザーグループを制限した場合、そのグループに属したユーザーのみ対象になります。LDAP ディレクトリーのトップレベルドメインをドメインベースとし、アクセス制御には検索フィルターを使用することを推奨します。",
   "LDAP_CA_Cert": "CA 証明書",
-  "LDAP_Connect_Timeout": "接続タイムアウト(ミリ秒)",
+  "LDAP_Connect_Timeout": "接続タイムアウト (ミリ秒)",
   "LDAP_Default_Domain": "既定ドメイン",
-  "LDAP_Default_Domain_Description": "指定されている場合は、デフォルトドメインを使用して、電子メールがLDAPからインポートされなかったユーザーの固有の電子メールを作成します。電子メールは `username @ default_domain`または` unique_id @ default_domain`としてマウントされます。<br/>例: `rocket.chat`",
+  "LDAP_Default_Domain_Description": "指定されている場合は、デフォルトドメインを使用して、電子メールがLDAPからインポートされなかったユーザーの固有の電子メールを作成します。電子メールは `username @ default_domain` または `unique_id @ default_domain` としてマウントされます。<br/>例: `rocket.chat`",
   "LDAP_Description": "LDAP は、多くの企業でシングルサインオンを提供する為に使用している階層構造データベースで、 1 つのパスワードを複数サイトやサービスで共有できる手法です。高度な設定情報や例示は、私達の wiki で相談してください: https://rocket.chat/docs/administrator-guides/authentication/ldap/",
   "LDAP_Enable": "有効にする",
   "LDAP_Enable_Description": "LDAP による認証を試行するようになります。",
@@ -1527,25 +1603,25 @@
   "LDAP_Group_Filter_Enable": "LDAPユーザーグループフィルタを有効にする",
   "LDAP_Group_Filter_Enable_Description": "LDAPグループ内のユーザーへのアクセスを制限する<br/>* memberOf *フィルタが許可されていないオーバーレイを持たないOpenLDAPサーバーに役立ちます",
   "LDAP_Group_Filter_Group_Id_Attribute": "グループID属性",
-  "LDAP_Group_Filter_Group_Id_Attribute_Description": "例えば。 * OpenLDAP:* cn",
+  "LDAP_Group_Filter_Group_Id_Attribute_Description": "例えば。 * OpenLDAP: * cn",
   "LDAP_Group_Filter_Group_Member_Attribute": "グループメンバ属性",
-  "LDAP_Group_Filter_Group_Member_Attribute_Description": "例えば。 * OpenLDAP:* uniqueMember",
+  "LDAP_Group_Filter_Group_Member_Attribute_Description": "例えば。 * OpenLDAP: * uniqueMember",
   "LDAP_Group_Filter_Group_Member_Format": "グループメンバーフォーマット",
-  "LDAP_Group_Filter_Group_Member_Format_Description": "例えば。 * OpenLDAP:* uid =#{username}、ou = users、o = Company、c = com",
+  "LDAP_Group_Filter_Group_Member_Format_Description": "例えば。 * OpenLDAP: * uid =#{username}, ou = users, o = Company, c = com",
   "LDAP_Group_Filter_Group_Name": "グループ名",
   "LDAP_Group_Filter_Group_Name_Description": "ユーザーが所属するグループ名",
   "LDAP_Group_Filter_ObjectClass": "グループObjectClass",
-  "LDAP_Group_Filter_ObjectClass_Description": "グループを識別する* objectclass * <br/>OpenLDAP:groupOfUniqueNames",
+  "LDAP_Group_Filter_ObjectClass_Description": "グループを識別する* objectclass * <br/>OpenLDAP: groupOfUniqueNames",
   "LDAP_Host": "ホスト",
   "LDAP_Host_Description": "LDAP ホスト。例: `ldap.example.com` や `10.0.0.30`。",
-  "LDAP_Idle_Timeout": "アイドルタイムアウト(ミリ秒)",
-  "LDAP_Idle_Timeout_Description": "最新のLDAP操作の後、接続を閉じるまでに何ミリ秒待機するか。 (各操作で新しい接続が開きます)",
-  "LDAP_Import_Users_Description": "True SyncプロセスはすべてのLDAPユーザーをインポートします<br/>*注意!*余分なユーザーをインポートしないように検索フィルターを指定してください。",
+  "LDAP_Idle_Timeout": "アイドルタイムアウト (ミリ秒)",
+  "LDAP_Idle_Timeout_Description": "最新のLDAP操作の後、接続を閉じるまでに何ミリ秒待機するか。  (各操作で新しい接続が開きます)",
+  "LDAP_Import_Users_Description": "True SyncプロセスはすべてのLDAPユーザーをインポートします<br/>*注意!*余分なユーザーをインポートしないように検索フィルターを指定してください。",
   "LDAP_Internal_Log_Level": "内部ログレベル",
   "LDAP_Login_Fallback": "ログインフォールバック",
   "LDAP_Login_Fallback_Description": "LDAPのログインが正常に行われない場合は、デフォルト/ローカルアカウントシステムにログインしてみてください。なんらかの理由でLDAPがダウンしたときに役立ちます。",
   "LDAP_Merge_Existing_Users": "既存のユーザーをマージする",
-  "LDAP_Merge_Existing_Users_Description": "*注意!* LDAPからユーザーをインポートするときに、同じユーザー名を持つユーザーが既に存在する場合は、LDAP情報とパスワードが既存のユーザーに設定されます。",
+  "LDAP_Merge_Existing_Users_Description": "*注意!* LDAPからユーザーをインポートするときに、同じユーザー名を持つユーザーが既に存在する場合は、LDAP情報とパスワードが既存のユーザーに設定されます。",
   "LDAP_Port": "ポート",
   "LDAP_Port_Description": "LDAP アクセスするポート番号。例: `389` や `636` ( LDAPS 用 )",
   "LDAP_Reconnect": "再接続します",
@@ -1564,7 +1640,7 @@
   "LDAP_Sync_User_Data_FieldMap": "ユーザーデータのフィールドマップ",
   "LDAP_Sync_User_Data_FieldMap_Description": "どのようにユーザーアカウントのフィールド (メールアドレスなど) を LDAP にあるレコードから調整するか。 <br/>例えば、 `{\"cn\":\"name\", \"mail\":\"email\"}` では、人間が読める名前を cn 属性とし、メールアドレスを mail 属性から取得します。<br/> 使用できるは、 `名前` と `メールアドレス` を含むものです。",
   "LDAP_Test_Connection": "接続テスト",
-  "LDAP_Timeout": "タイムアウト(ミリ秒)",
+  "LDAP_Timeout": "タイムアウト (ミリ秒)",
   "LDAP_Timeout_Description": "エラーを返す前に検索結果を待つ時間は何マイル秒か",
   "LDAP_Unique_Identifier_Field": "一意性を識別するフィールド",
   "LDAP_Unique_Identifier_Field_Description": "どのフィールドで LDAP ユーザーと Rocket.Chat ユーザーをリンクするか。複数の値をカンマ区切りで指定すると LDAP レコードからそれぞれ取得することを試みます。<br/>既定値は、 `objectGUID,ibm-entryUUID,GUID,dominoUNID,nsuniqueId,uidNumber` です",
@@ -1578,14 +1654,15 @@
   "Lead_capture_email_regex": "リードキャプチャ電子メールの正規表現",
   "Lead_capture_phone_regex": "リードキャプチャ電話の正規表現",
   "Least_Amount": "最低額",
-  "leave-c": "チャンネルを離れる",
-  "leave-p": "プライベートグループを離れる",
+  "leave-c": "チャンネルを退出する",
+  "leave-p": "プライベートグループを退出する",
   "Leave_Group_Warning": "本当にグループ \"%s\" から退出しますか?",
-  "Leave_Livechat_Warning": "あなたは \"%s\"でライブチャットを残してもよろしいですか?",
+  "Leave_Livechat_Warning": "本当に \"%s\" とのライブチャットから退出しますか?",
   "Leave_Private_Warning": "本当に \"%s\" との会話から退出しますか?",
-  "Leave_room": "ルームを出る",
+  "Leave_room": "ルームを退出",
   "Leave_Room_Warning": "本当にルーム \"%s\" から退出しますか?",
-  "Leave_the_current_channel": "現在のチャンネルを残す",
+  "Leave_the_current_channel": "現在のチャンネルから退出する",
+  "Lets_get_you_new_one": "新しいものを手に入れましょう!",
   "line": "ライン",
   "List_of_Channels": "チャンネル一覧",
   "List_of_Direct_Messages": "ダイレクトメッセージ一覧",
@@ -1597,20 +1674,22 @@
   "Livechat_Facebook_API_Secret": "OmniChannel API Secret",
   "Livechat_Facebook_Enabled": "Facebookとの統合が可能",
   "Livechat_forward_open_chats": "フォワードオープンチャット",
-  "Livechat_forward_open_chats_timeout": "チャットを転送する(秒)のタイムアウト",
+  "Livechat_forward_open_chats_timeout": "チャットを転送する (秒) のタイムアウト",
   "Livechat_guest_count": "ゲストカウンター",
   "Livechat_Inquiry_Already_Taken": "ライブチャットのお問い合わせはすでに完了しています",
   "Livechat_managers": "ライブチャット 管理者",
   "Livechat_offline": "ライブチャットオフライン",
   "Livechat_online": "ライブチャットオンライン",
+  "Livechat_offline_message_sent": "Livechatオフラインメッセージが送信されました",
   "Livechat_open_inquiery_show_connecting": "ゲストがまだエージェントに接続されていないときに入力の代わりにメッセージを表示する",
   "Livechat_Queue": "ライブチャットキュー",
   "Livechat_registration_form": "登録フォームへのアクセス",
-  "Livechat_room_count": "ライブチャット部屋数",
+  "Livechat_room_count": "ライブチャットルーム数",
   "Livechat_Routing_Method": "ライブチャットルーティング方法",
-  "Livechat_Take_Confirm": "このクライアントを利用したいですか?",
+  "Livechat_Take_Confirm": "このクライアントを利用したいですか?",
   "Livechat_title": "ライブチャットのタイトル",
   "Livechat_title_color": "ライブチャットのタイトル背景色",
+  "Livechat_transcript_sent": "Livechatトランスクリプトが送信されました",
   "Livechat_Users": "ライブチャット 担当者",
   "Livestream_close": "ライブストリームを閉じる",
   "Livestream_enable_audio_only": "オーディオモードのみを有効にする",
@@ -1625,16 +1704,16 @@
   "Loading_more_from_history": "さらに履歴を読み込み中",
   "Loading_suggestion": "候補を読み込み中...",
   "Localization": "ローカライズ",
-  "Log_Exceptions_to_Channel_Description": "キャプチャされたすべての例外を受け取るチャネル。例外を無視するには、空のままにします。",
-  "Log_Exceptions_to_Channel": "チャネルへの例外のログ",
+  "Log_Exceptions_to_Channel_Description": "キャプチャされたすべての例外を受け取るチャンネル。例外を無視するには、空のままにします。",
+  "Log_Exceptions_to_Channel": "チャンネルへの例外のログ",
   "Log_File": "ファイルと罫線を表示する",
   "Log_Level": "ログレベル",
   "Log_Package": "パッケージを表示する",
   "Log_Trace_Methods_Filter": "トレースメソッドフィルタ",
-  "Log_Trace_Methods_Filter_Description": "ここのテキストはRegExp( `new RegExp( 'text')`)として評価されます。すべてのコールのトレースを表示するには空のままにしておきます。",
+  "Log_Trace_Methods_Filter_Description": "ここのテキストはRegExp ( `new RegExp ( 'text') `) として評価されます。すべてのコールのトレースを表示するには空のままにしておきます。",
   "Log_Trace_Methods": "トレースメソッド呼び出し",
   "Log_Trace_Subscriptions_Filter": "トレース購読フィルタ",
-  "Log_Trace_Subscriptions_Filter_Description": "ここのテキストはRegExp( `new RegExp( 'text')`)として評価されます。すべてのコールのトレースを表示するには空のままにしておきます。",
+  "Log_Trace_Subscriptions_Filter_Description": "ここのテキストはRegExp ( `new RegExp ( 'text') `) として評価されます。すべてのコールのトレースを表示するには空のままにしておきます。",
   "Log_Trace_Subscriptions": "サブスクリプション呼び出しをトレースする",
   "Log_View_Limit": "ログ表示数",
   "Logged_out_of_other_clients_successfully": "他のクライアントを正常にログアウトさせました",
@@ -1643,6 +1722,9 @@
   "Logistics": "ロジスティクス",
   "Logout": "ログアウト",
   "Logout_Others": "ログインしている他のクライアントをログアウトする",
+  "Longest_chat_duration": "最長会話時間",
+  "Longest_reaction_time": "最長反応時間",
+  "Longest_response_time": "最長応答時間",
   "mail-messages": "メールメッセージ",
   "mail-messages_description": "メールメッセージオプションを使用する権限",
   "Mail_Message_Invalid_emails": "ひとつ、またはいくつかの無効なメールアドレスが入力されました: %s",
@@ -1655,7 +1737,7 @@
   "Mailer_body_tags": "[unsubscribe] を購読解除のリンクとして<b>使わなければなりません</b>。<br/>ユーザーのフルネームに [name], [fname], [lname] を使用できます。姓 または 名 にも対応しています。<br/>メールアドレスには、 [email] を使用できます。",
   "Mailing": "郵送",
   "Make_Admin": "管理者に設定",
-  "Make_sure_you_have_a_copy_of_your_codes": "あなたのコードのコピーを持っていることを確認してください:__codes__あなたがオーセンティケーターアプリにアクセスできない場合は、これらのコードの1つを使ってログインすることができます。",
+  "Make_sure_you_have_a_copy_of_your_codes": "あなたのコードのコピーを持っていることを確認してください: __codes__あなたがオーセンティケーターアプリにアクセスできない場合は、これらのコードの1つを使ってログインすることができます。",
   "manage-assets": "資産の管理",
   "manage-assets_description": "サーバー資産を管理する権限",
   "manage-emoji": "絵文字を管理する",
@@ -1679,6 +1761,7 @@
   "MapView_Enabled_Description": "マップビューを有効にすると、チャット入力フィールドの左側に位置共有ボタンが表示されます。",
   "MapView_GMapsAPIKey": "Google Static Maps APIキー",
   "MapView_GMapsAPIKey_Description": "これはGoogle Developers Consoleから無料で入手できます。",
+  "Mark_all_as_read": "すべてのメッセージを既読にする",
   "Mark_as_read": "既読にする",
   "Mark_as_unread": "未読としてマーク",
   "Markdown_Headers": "ヘッダーを有効にする",
@@ -1691,24 +1774,24 @@
   "Markdown_Parser": "Markdown パーサー",
   "Markdown_SupportSchemesForLink": "リンクでサポートするスキーマリスト",
   "Markdown_SupportSchemesForLink_Description": "許可するスキーマをカンマ区切りで記述してください。",
-  "Max_length_is": "最大長は%sです",
+  "Max_length_is": "最大長は%sです",
   "Media": "メディア",
-  "Medium": "媒質",
+  "Medium": "中間",
   "Members_List": "メンバーリスト",
   "mention-all": "その他",
-  "mention-all_description": "@allの言及を使用する許可",
-  "mention-here": "ここで言及",
-  "mention-here_description": "@hereの言及を使用する許可",
+  "mention-all_description": "@allのメンションを使用する許可",
+  "mention-here": "ここでメンション",
+  "mention-here_description": "@hereのメンションを使用する許可",
   "Mentions": "メンション",
   "Mentions_default": "メンション (デフォルト)",
-  "Mentions_only": "記載のみ",
+  "Mentions_only": "メンションのみ",
   "Merge_Channels": "チャンネルをマージする",
   "Message": "メッセージ",
   "Message_AllowBadWordsFilter": "メッセージ悪い言葉がフィルタリングを許可します",
   "Message_AllowDeleting": "メッセージの削除を許可する",
-  "Message_AllowDeleting_BlockDeleteInMinutes": "ブロックメッセージの削除(n)は分後に",
+  "Message_AllowDeleting_BlockDeleteInMinutes": "ブロックメッセージの削除 (n) は分後に",
   "Message_AllowDeleting_BlockDeleteInMinutes_Description": "ブロッキングを無効にするには0を入力します。",
-  "Message_AllowDirectMessagesToYourself": "ユーザーがユーザーに直接メッセージを送信できるようにする",
+  "Message_AllowDirectMessagesToYourself": "ユーザーがユーザーにダイレクトメッセージを送信できるようにする",
   "Message_AllowEditing": "メッセージの編集を許可する",
   "Message_AllowEditing_BlockEditInMinutes": "メッセージの編集を (n) 分ブロックする",
   "Message_AllowEditing_BlockEditInMinutesDescription": "ブロックしない場合は、 0 を入力。",
@@ -1740,15 +1823,15 @@
   "Message_GlobalSearch": "グローバル検索",
   "Message_GroupingPeriod": "グループ化する期限 (秒数)",
   "Message_GroupingPeriodDescription": "指定した秒数の間で、同じユーザーが投稿した以前のメッセージをグループ化します。",
-  "Message_HideType_au": "「ユーザーが追加した」メッセージを非表示にする",
+  "Message_HideType_au": "「ユーザーが追加されました」メッセージを非表示にする",
   "Message_HideType_mute_unmute": "「ユーザーミュート/ミュート解除」メッセージを隠す",
-  "Message_HideType_ru": "「ユーザーが削除しました」というメッセージを非表示にする",
-  "Message_HideType_uj": "「ユーザー参加」メッセージを非表示にする",
-  "Message_HideType_ul": "「ユーザー離脱」メッセージを非表示にする",
+  "Message_HideType_ru": "「ユーザーが削除されました」メッセージを非表示にする",
+  "Message_HideType_uj": "「ユーザーが参加しました」メッセージを非表示にする",
+  "Message_HideType_ul": "「ユーザーが退出しました」メッセージを非表示にする",
   "Message_Ignored": "このメッセージは無視されました",
   "Message_info": "メッセージ情報",
   "Message_KeepHistory": "メッセージ履歴を保持",
-  "Message_MaxAll": "ALL のメッセージの最大チャネルサイズ",
+  "Message_MaxAll": "ALL のメッセージの最大チャンネルサイズ",
   "Message_MaxAllowedSize": "メッセージの最大文字数",
   "Message_pinning": "ピニングメッセージ",
   "Message_QuoteChainLimit": "連鎖引用の最大数",
@@ -1764,7 +1847,7 @@
   "Message_ShowFormattingTips": "書式のヒントを表示する",
   "Message_starring": "主演のメッセージ",
   "Message_TimeAndDateFormat": "時間と日付の形式",
-  "Message_TimeAndDateFormat_Description": "以下も参照してください:<a href=\"http://momentjs.com/docs/#/displaying/format/\" target=\"momemt\" >Moment.js</a>",
+  "Message_TimeAndDateFormat_Description": "以下も参照してください: <a href=\"http://momentjs.com/docs/#/displaying/format/\" target=\"momemt\" >Moment.js</a>",
   "Message_TimeFormat": "時刻のフォーマット",
   "Message_TimeFormat_Description": "参考: <a href=\"http://momentjs.com/docs/#/displaying/format/\" target=\"momemt\">Moment.js</a>",
   "Message_too_long": "メッセージが長すぎです",
@@ -1781,7 +1864,7 @@
   "Meta_language": "言語",
   "Meta_msvalidate01": "MSValidate.01",
   "Meta_robots": "robots属性",
-  "Min_length_is": "最小の長さは%sです",
+  "Min_length_is": "最小の長さは%sです",
   "Minimum_balance": "最低残高",
   "minutes": "分",
   "Mobile": "モバイル",
@@ -1793,8 +1876,8 @@
   "More_direct_messages": "その他のダイレクトメッセージ",
   "More_groups": "その他のプライベートグループ",
   "More_unreads": "その他の未読",
-  "Move_beginning_message": "`%s`  - メッセージの先頭に移動する",
-  "Move_end_message": "`%s`  - メッセージの最後に移動します",
+  "Move_beginning_message": "`%s` - メッセージの先頭に移動する",
+  "Move_end_message": "`%s` - メッセージの最後に移動します",
   "Msgs": "メッセージ",
   "multi": "マルチ",
   "multi_line": "マルチライン",
@@ -1820,7 +1903,7 @@
   "New_Custom_Field": "新しいカスタムフィールド",
   "New_Department": "新しい部門",
   "New_integration": "新しいサービス連携",
-  "New_line_message_compose_input": "`%s`  - メッセージの新しい行が入力を構成します",
+  "New_line_message_compose_input": "`%s` - メッセージの新しい行が入力を構成します",
   "New_logs": "新しい履歴",
   "New_Message_Notification": "新規メッセージの通知",
   "New_messages": "新しいメッセージ",
@@ -1828,12 +1911,13 @@
   "New_Password_Placeholder": "新しいパスワードを入力してください...",
   "Confirm_new_password": "新しいパスワードを確認",
   "Confirm_New_Password_Placeholder": "新しいパスワードを再入力してください...",
+  "New_encryption_password": "新しい暗号化パスワード",
   "New_role": "新しいロール",
-  "New_Room_Notification": "新しい部屋の通知",
+  "New_Room_Notification": "新しいルームの通知",
   "New_Trigger": "新規トリガー",
-  "New_version_available_(s)": "新しいバージョンが利用可能です(%s)",
-  "New_videocall_request": "新しいビデオ通話要求",
-  "New_visitor_navigation": "新しいナビゲーション:__history__",
+  "New_version_available_(s)": "新しいバージョンが利用可能です (%s)",
+  "New_videocall_request": "新しいビデオ通話を要求",
+  "New_visitor_navigation": "新しいナビゲーション: __history__",
   "Newer_than": "より新しい",
   "Newer_than_may_not_exceed_Older_than": "「より新しい」は「より古い」を超えてはならない",
   "No_available_agents_to_transfer": "利用可能なエージェントはありません",
@@ -1850,10 +1934,10 @@
   "No_pages_yet_Try_hitting_Reload_Pages_button": "ページはまだありません。 \"Reload Page\"ボタンを押してみてください。",
   "No_pinned_messages": "ピン留めされたメッセージはありません",
   "No_results_found": "メッセージは、見つかりませんでした",
-  "No_results_found_for": "次の検索結果はありません:",
+  "No_results_found_for": "次の検索結果はありません: ",
   "No_snippet_messages": "スニペットなし",
   "No_starred_messages": "スターをつけたメッセージはありません",
-  "No_such_command": "そのようなコマンドはありません: `/ __ command__`",
+  "No_such_command": "そのようなコマンドはありません: `/ __ command__`",
   "No_user_with_username_%s_was_found": "<strong>\"%s\"</strong> というユーザーは、見つかりませんでした!",
   "Nobody_available": "誰も利用できません",
   "Node_version": "Node バージョン",
@@ -1873,11 +1957,11 @@
   "Notifications_Always_Notify_Mobile_Description": "プレゼンス状態に関係なく常にモバイルデバイスに通知することを選択します。",
   "Notifications_Duration": "通知期間",
   "Notifications_Max_Room_Members": "すべてのメッセージ通知を無効にする前の最大ルームメンバー",
-  "Notifications_Max_Room_Members_Description": "すべてのメッセージの通知が無効になったときの部屋のメンバーの最大数。ユーザーは個々の基準ですべての通知を受け取るために、1部屋の設定を変更することができます。 (0から無効)",
-  "Notifications_Muted_Description": "すべてをミュートすることを選択した場合、新しいメッセージがあるときには、コメントを除いて部屋のハイライトはリストに表示されません。ミュート通知は、通知設定を上書きします。",
+  "Notifications_Max_Room_Members_Description": "すべてのメッセージの通知が無効になったときのルームのメンバーの最大数。ユーザーは個々の基準ですべての通知を受け取るために、ルームごとの設定を変更することができます。  (0は無効)",
+  "Notifications_Muted_Description": "すべてをミュートすることを選択した場合、新しいメッセージがあるときには、コメントを除いてルームのハイライトはリストに表示されません。ミュート通知は、通知設定を上書きします。",
   "Notifications_Preferences": "通知設定",
   "Notifications_Sound_Volume": "通知音量",
-  "Notify_active_in_this_room": "この部屋のアクティブユーザーに通知する",
+  "Notify_active_in_this_room": "このルームのアクティブユーザーに通知する",
   "Notify_all_in_this_room": "このルームの全員に通知",
   "Num_Agents": "# 担当者",
   "Number_of_messages": "メッセージ数",
@@ -1891,13 +1975,13 @@
   "Office_hours_enabled": "営業時間を有効にする",
   "Office_hours_updated": "営業時間が更新されました",
   "Offline": "オフライン",
-  "Offline_DM_Email": "ダイレクトメッセージが届いています by __user__",
-  "Offline_Email_Subject_Description": "下記のプレースホルダを用いることができます。<br/><ul><li>アプリ名:  [Site_Name], URL: [Site_URL], ユーザ名: [User], ルーム名: [Room]<li/></ul>",
+  "Offline_DM_Email": "__user__からダイレクトメッセージが届いています",
+  "Offline_Email_Subject_Description": "下記のプレースホルダを用いることができます。<br/><ul><li>アプリ名: [Site_Name], URL: [Site_URL], ユーザー名: [User], ルーム名: [Room]<li/></ul>",
   "Offline_form": "オフラインフォーム",
   "Offline_form_unavailable_message": "オフラインフォーム不可メッセージ",
   "Offline_Link_Message": "メッセージに進む",
   "Offline_Mention_All_Email": "電子メールの件名をすべて記入する",
-  "Offline_Mention_Email": "あなたについて #__room__ でコメントされています by __user__",
+  "Offline_Mention_Email": "__user__が #__room__ であなたにコメントしています",
   "Offline_message": "オフラインメッセージ",
   "Offline_success_message": "オフライン成功メッセージ",
   "Offline_unavailable": "オフライン利用できません",
@@ -1906,19 +1990,20 @@
   "Online": "オンライン",
   "online": "オンライン",
   "Only_authorized_users_can_write_new_messages": "許可されたユーザーだけが新しいメッセージを書くことができます",
-  "Only_from_users": "これらのユーザーからのコンテンツのみをプルーニングします(すべてのコンテンツをプルーニングするために空のままにします)",
-  "Only_On_Desktop": "デスクトップモード(デスクトップでの入力のみで送信)",
+  "Only_from_users": "これらのユーザーからのコンテンツのみを整理します (すべてのコンテンツを整理するために空のままにします)",
+  "Only_On_Desktop": "デスクトップモード (デスクトップでの入力のみで送信)",
   "Only_you_can_see_this_message": "あなただけが、このメッセージを見られます",
   "Oops!": "おっと",
   "Oops_page_not_found": "おっと、ページが見つかりません",
   "Open": "開いた",
-  "Open_channel_user_search": "`%s`  - オープンチャンネル/ユーザー検索",
+  "Open_channel_user_search": "`%s` - オープンチャンネル/ユーザー検索",
+  "Open_conversations": "オープンした会話",
   "Open_days_of_the_week": "開いている曜日",
   "Open_Livechats": "ライブチャットを開く",
   "Open_your_authentication_app_and_enter_the_code": "認証アプリケーションを開き、コードを入力します。バックアップコードの1つを使用することもできます。",
   "Opened": "開いた状態",
   "Opened_in_a_new_window": "新しいウィンドウで開きます。",
-  "Opens_a_channel_group_or_direct_message": "チャンネル、グループ、または直接メッセージを開きます",
+  "Opens_a_channel_group_or_direct_message": "チャンネル、グループ、またはダイレクトメッセージを開きます",
   "optional": "オプション",
   "or": "または",
   "Or_talk_as_anonymous": "または匿名で話す",
@@ -1952,28 +2037,29 @@
   "Password_Policy": "パスワードポリシー",
   "Past_Chats": "過去のチャット",
   "Payload": "ペイロード",
-  "People": "メンバー",
+  "People": "人",
   "Permalink": "固有リンク",
   "Permissions": "権限",
+  "Personal_Access_Tokens": "パーソナルアクセストークン",
   "pin-message": "ピンメッセージ",
-  "pin-message_description": "チャネルでメッセージを固定する権限",
+  "pin-message_description": "チャンネルでメッセージをピン留めする権限",
   "Pin_Message": "ピン留めする",
   "Pinned_a_message": "メッセージをピン留めしました :",
   "Pinned_Messages": "ピン留めされたメッセージ",
   "PiwikAdditionalTrackers": "追加のPiwikサイト",
-  "PiwikAdditionalTrackers_Description": "[{\"trackerURL\": \"https://my.piwik.domain2/\"、 \"siteId\":42}、別のウェブサイトに同じデータをトラッキングする場合、追加のPiwikウェブサイトURLとサイトIDを次の形式で入力します。 {\"trackerURL\": \"https://my.piwik.domain3/\"、 \"siteId\":15}]",
+  "PiwikAdditionalTrackers_Description": "[{\"trackerURL\": \"https://my.piwik.domain2/\", \"siteId\": 42}、別のウェブサイトに同じデータをトラッキングする場合、追加のPiwikウェブサイトURLとサイトIDを次の形式で入力します。 {\"trackerURL\": \"https://my.piwik.domain3/\", \"siteId\": 15}]",
   "PiwikAnalytics_cookieDomain": "すべてのサブドメイン",
   "PiwikAnalytics_cookieDomain_Description": "すべてのサブドメインにわたる訪問者を追跡する",
   "PiwikAnalytics_domains": "送信リンクを隠す",
   "PiwikAnalytics_domains_Description": "[アウトリンク]レポートでは、既知のエイリアスURLへのクリックを非表示にします。 1行に1ドメインを挿入し、区切り文字は使用しないでください。",
   "PiwikAnalytics_prependDomain": "ドメインの先頭に追加",
   "PiwikAnalytics_prependDomain_Description": "トラッキングするときにサイトドメインをページタイトルの前に追加する",
-  "PiwikAnalytics_siteId_Description": "このサイトを識別するために使用するサイトID。例:17",
-  "PiwikAnalytics_url_Description": "Piwikのが存在するURLは、トライアルスラッシュを含めるようにしてください。例://piwik.rocket.chat/",
+  "PiwikAnalytics_siteId_Description": "このサイトを識別するために使用するサイトID。例: 17",
+  "PiwikAnalytics_url_Description": "Piwikのが存在するURLは、トライアルスラッシュを含めるようにしてください。例: //piwik.rocket.chat/",
   "Placeholder_for_email_or_username_login_field": "ログインフォームのメールアドレスやユーザー名に表示するプレースホルダー",
   "Placeholder_for_password_login_field": "ログインフォームのパスワードに表示するプレースホルダー",
   "Please_add_a_comment": "コメントを追加してください",
-  "Please_add_a_comment_to_close_the_room": "、部屋を閉じるためにコメントを追加してください",
+  "Please_add_a_comment_to_close_the_room": "ルームを閉じるためにコメントを追加してください",
   "Please_answer_survey": "このチャットに関する簡単なアンケートに、少々お時間を頂けますでしょうか?",
   "please_enter_valid_domain": "有効なドメインを入力してください",
   "Please_enter_value_for_url": "アバターの URL を入力してください。",
@@ -1984,6 +2070,7 @@
   "Please_fill_a_username": "ユーザー名を入力してください",
   "Please_fill_all_the_information": "すべての情報を記入してください",
   "Please_fill_name_and_email": "名前とメールアドレスを入力してください",
+  "Please_fill_a_token_name": "有効なトークン名を入力してください",
   "Please_go_to_the_Administration_page_then_Livechat_Facebook": "管理ページの「Livechat」>「Facebook」に移動してください。",
   "Please_select_an_user": "ユーザーを選択してください",
   "Please_select_enabled_yes_or_no": "有効の設定オプションを選択してください",
@@ -2002,34 +2089,38 @@
   "Preferences_saved": "設定を保存しました",
   "preview-c-room": "パブリックチャンネルのプレビュー",
   "preview-c-room_description": "参加する前にパブリックチャンネルの内容を表示する権限",
+  "Previous_month": "前の月",
+  "Previous_week": "前の週",
   "Privacy": "プライバシー",
   "Private": "プライベート",
-  "Private_Channel": "プライベートチャンネル",
+  "Private_Channel": "プライベートグループ",
   "Private_Group": "プライベートグループ",
   "Private_Groups": "プライベートグループ",
   "Private_Groups_list": "プライベートグループ一覧",
   "Private_Team": "プライベートチーム",
+  "Productivity": "生産性",
   "Profile": "プロフィール",
   "Profile_details": "プロフィールの詳細",
   "Profile_picture": "プロフィールの写真",
   "Profile_saved_successfully": "プロフィールが正常に保存されました。",
-  "Prune": "プルーン",
-  "Prune_finished": "プルーン完成",
-  "Prune_Messages": "プルーンメッセージ",
-  "Prune_Modal": "これらのメッセージを整理してもよろしいですか?プルーニングされたメッセージは回復できません。",
-  "Prune_Warning_all": "%sのすべての%sが削除されます!",
-  "Prune_Warning_before": "これにより、%sの%sが%sより前に削除されます。",
-  "Prune_Warning_after": "%sの後に%sがすべて削除されます。",
-  "Prune_Warning_between": "%sから%sの間のすべての%sが削除されます。",
-  "Pruning_messages": "プルーニングメッセージ...",
-  "Pruning_files": "ファイルを整理する...",
-  "messages_pruned": "プルーニングされたメッセージ",
-  "files_pruned": "ファイルをプルーニング",
+  "Prune": "整理",
+  "Prune_finished": "整理完了",
+  "Prune_Messages": "メッセージの整理",
+  "Prune_Modal": "これらのメッセージを整理してもよろしいですか? 整理されたメッセージは回復できません。",
+  "Prune_Warning_all": "%2$sのすべての%1$sが削除されます!",
+  "Prune_Warning_before": "%2$sの%3$s以前の%1$sが削除されます。",
+  "Prune_Warning_after": "%2$sの%3$s以降の%1$sが削除されます。",
+  "Prune_Warning_between": "%2$sの%3$sから%4$sの間のすべての%1$sが削除されます。",
+  "Pruning_messages": "メッセージを整理...",
+  "Pruning_files": "ファイルを整理...",
+  "messages_pruned": "整理されたメッセージ",
+  "files_pruned": "整理されたファイル",
   "Public": "パブリック",
   "Public_Channel": "パブリックチャンネル",
   "Public_Community": "公共のコミュニティ",
   "Public_Relations": "広報",
   "Push": "プッシュ通知",
+  "Push_Setting_Requires_Restart_Alert": "この値を変更するには、Rocket.Chatを再起動する必要があります。",
   "Push_apn_cert": "APN 証明書",
   "Push_apn_dev_cert": "APN 開発者 証明書",
   "Push_apn_dev_key": "APN 開発者 キー",
@@ -2060,10 +2151,11 @@
   "Read_by": "読者",
   "Read_only": "読み取り専用",
   "Read_only_changed_successfully": "読み取りのみが正常に変更されました",
-  "Read_only_channel": "読み取り専用チャネル",
+  "Read_only_channel": "読み取り専用チャンネル",
   "Read_only_group": "読み取り専用グループ",
   "Real_Estate": "不動産",
   "RealName_Change_Disabled": "あなたのRocket.Chat管理者が名前の変更を無効にしました",
+  "Real_Time_Monitoring": "リアルタイムモニタリング",
   "Reason_To_Join": "参加理由",
   "Receive_alerts": "アラートを受信する",
   "Receive_Group_Mentions": "@allと@hereを受け取る",
@@ -2096,7 +2188,7 @@
   "Reload_Pages": "ページをリロードする",
   "Remove": "削除",
   "remove-user": "ユーザーの削除",
-  "remove-user_description": "ユーザーを部屋から削除する権限",
+  "remove-user_description": "ユーザーをルームから削除する権限",
   "Remove_Admin": "管理者から削除",
   "Remove_as_leader": "リーダーとして取り除く",
   "Remove_as_moderator": "モデレーターから削除",
@@ -2110,9 +2202,9 @@
   "Reply": "返信",
   "ReplyTo": "に返信",
   "Report_Abuse": "悪用行為を通報",
-  "Report_exclamation_mark": "報告する!",
+  "Report_exclamation_mark": "報告する!",
   "Report_sent": "レポートの送信",
-  "Report_this_message_question_mark": "このメッセージを報告?",
+  "Report_this_message_question_mark": "このメッセージを報告?",
   "Reporting": "報告",
   "Require_all_tokens": "すべてのトークンを要求する",
   "Require_any_token": "任意のトークンを要求する",
@@ -2127,54 +2219,55 @@
   "Retail": "小売り",
   "Retention_setting_changed_successfully": "保持ポリシーの設定が正常に変更されました",
   "RetentionPolicy": "保持ポリシー",
-  "RetentionPolicy_RoomWarning": "%sより古いメッセージは、ここで自動的に整理されます",
-  "RetentionPolicy_RoomWarning_Unpinned": "%sより古い未固定のメッセージは、ここで自動的に整理されます",
-  "RetentionPolicy_RoomWarning_FilesOnly": "%sより古いファイルはここで自動的に整理されます(メッセージはそのまま残ります)",
-  "RetentionPolicy_RoomWarning_UnpinnedFilesOnly": "%sより古い未圧縮ファイルは、ここで自動的に整理されます(メッセージは元のままです)",
-  "RetentionPolicy_Description": "Rocket.Chatインスタンス全体で古いメッセージを自動的にプルーニングします。",
+  "RetentionPolicy_RoomWarning": "__time__経過した古いメッセージは自動的に整理されます",
+  "RetentionPolicy_RoomWarning_Unpinned": "__time__経過したピン留めしていない古いメッセージは自動的に整理されます",
+  "RetentionPolicy_RoomWarning_FilesOnly": "__time__経過した古いファイルは自動的に整理されます (メッセージはそのまま残ります)",
+  "RetentionPolicy_RoomWarning_UnpinnedFilesOnly": "__time__経過したピン留めしていないファイルは自動的に整理されます (メッセージはそのまま残ります)",
+  "RetentionPolicy_Description": "Rocket.Chatインスタンス全体で古いメッセージを自動的に整理します。",
   "RetentionPolicy_Enabled": "使用可能",
-  "RetentionPolicy_AppliesToChannels": "チャネルに適用",
-  "RetentionPolicy_AppliesToGroups": "プライベートグループに適用されます",
-  "RetentionPolicy_AppliesToDMs": "直接メッセージに適用されます",
-  "RetentionPolicy_ExcludePinned": "固定されたメッセージを除外する",
+  "RetentionPolicy_AppliesToChannels": "チャンネルに適用する",
+  "RetentionPolicy_AppliesToGroups": "プライベートグループに適用する",
+  "RetentionPolicy_AppliesToDMs": "ダイレクトメッセージに適用する",
+  "RetentionPolicy_ExcludePinned": "ピン留めされたメッセージを除外する",
   "RetentionPolicy_FilesOnly": "ファイルのみを削除する",
   "RetentionPolicy_FilesOnly_Description": "ファイルのみが削除され、メッセージ自体はそのまま残ります。",
-  "RetentionPolicy_MaxAge": "最大メッセージ経過時間",
-  "RetentionPolicy_MaxAge_Channels": "チャネルのメッセージの最大経過時間",
-  "RetentionPolicy_MaxAge_Groups": "プライベートグループでの最大メッセージ保存期間",
-  "RetentionPolicy_MaxAge_DMs": "ダイレクトメッセージの最大メッセージ経過時間",
-  "RetentionPolicy_MaxAge_Description": "この値より古いすべてのメッセージをプルーニングします。",
+  "RetentionPolicy_MaxAge": "メッセージ保持日数",
+  "RetentionPolicy_MaxAge_Channels": "チャンネルでのメッセージ保持日数",
+  "RetentionPolicy_MaxAge_Groups": "プライベートグループでのメッセージ保持日数",
+  "RetentionPolicy_MaxAge_DMs": "ダイレクトメッセージのメッセージ保持日数",
+  "RetentionPolicy_MaxAge_Description": "この値より古いすべてのメッセージを整理します。",
   "RetentionPolicy_Precision": "タイマー精度",
-  "RetentionPolicy_Precision_Description": "プルーンタイマーの実行頻度。これをより正確な値に設定することで、リテンションタイマーの速い方のチャネルはよりうまく動作しますが、大きなコミュニティでは処理能力が余分にかかることがあります。",
-  "RetentionPolicyRoom_Enabled": "古いメッセージを自動的にプルーニングする",
-  "RetentionPolicyRoom_ExcludePinned": "固定されたメッセージを除外する",
-  "RetentionPolicyRoom_FilesOnly": "ファイルのみをプルーニングし、メッセージを保持する",
-  "RetentionPolicyRoom_MaxAge": "最大メッセージ経過日数(デフォルト:__max__)",
+  "RetentionPolicy_Precision_Description": "整理タイマーの実行頻度。これをより小さな値に設定すると、流量の速いチャンネルではよりうまく動作しますが、大きなコミュニティでは処理能力が余分にかかることがあります。",
+  "RetentionPolicyRoom_Enabled": "古いメッセージを自動的に整理する",
+  "RetentionPolicyRoom_ExcludePinned": "ピン留めされたメッセージを除外する",
+  "RetentionPolicyRoom_FilesOnly": "ファイルのみを整理し、メッセージは残す",
+  "RetentionPolicyRoom_MaxAge": "メッセージ保持日数 (デフォルト: __max__)",
   "RetentionPolicyRoom_OverrideGlobal": "グローバル保持ポリシーを上書きする",
-  "RetentionPolicyRoom_ReadTheDocs": "気を付けて!これらの設定を細心の注意を払うことなく調整すると、すべてのメッセージ履歴が破棄されます。 <a href = 'https://rocket.chat/docs/administrator-guides/retention-policies/'>ここで<a>の機能を有効にする前に、ドキュメントをお読みください。",
+  "RetentionPolicyRoom_ReadTheDocs": "気を付けて! これらの設定を細心の注意を払うことなく調整すると、すべてのメッセージ履歴が破棄されます。機能を有効にする前に<a href=\"https://rocket.chat/docs/administrator-guides/retention-policies/\">ここ</a>でドキュメントをお読みください。",
   "Retry_Count": "再試行回数",
+  "Robot_Instructions_File_Content": "Robots.txtファイルの内容",
   "Role": "ロール",
   "Role_Editing": "ロール編集",
   "Role_removed": "ロールを削除しました",
   "Room": "ルーム",
-  "Room_announcement_changed_successfully": "ルームアナウンスが正常に変更されました",
+  "Room_announcement_changed_successfully": "ルームのアナウンスが正常に変更されました",
   "Room_archivation_state": "状態",
   "Room_archivation_state_false": "アクティブ",
   "Room_archivation_state_true": "アーカイブ",
   "Room_archived": "ルームをアーカイブしました",
-  "room_changed_announcement": "ルームアナウンスが<em>__room_announcement__</em>(<em>> __user_by__</em>)に変更されました。",
-  "room_changed_description": "ルームの概要が変更されました: <em>__room_description__</em> by <em>__user_by__</em>",
-  "room_changed_privacy": "ルームの種類を <em>__room_type__</em> へ変更しました。 by <em>__user_by__</em>",
-  "room_changed_topic": "ルームのトピックを <em>__room_topic__</em> へ変更しました。 by <em>__user_by__</em>",
-  "Room_default_change_to_private_will_be_default_no_more": "これはデフォルトのチャンネルで、プライベートグループに変更するとデフォルトのチャンネルにはなりません。続行しますか?",
-  "Room_description_changed_successfully": "部屋の説明が変更されました",
-  "Room_has_been_archived": "部屋はアーカイブされました",
+  "room_changed_announcement": "<em>__user_by__</em>がルームのアナウンスを<em>__room_announcement__</em>へ変更しました。",
+  "room_changed_description": "<em>__user_by__</em>がルームの概要を<em>__room_description__</em>へ変更しました。",
+  "room_changed_privacy": "<em>__user_by__</em>がルームの種類を<em>__room_type__</em>へ変更しました。",
+  "room_changed_topic": "<em>__user_by__</em>がルームのトピックを<em>__room_topic__</em>へ変更しました。",
+  "Room_default_change_to_private_will_be_default_no_more": "これはデフォルトのチャンネルで、プライベートグループに変更するとデフォルトのチャンネルにはなりません。続行しますか?",
+  "Room_description_changed_successfully": "ルームの説明が変更されました",
+  "Room_has_been_archived": "ルームはアーカイブされました",
   "Room_has_been_deleted": "ルームは削除されました",
-  "Room_has_been_unarchived": "部屋はアーカイブされていません",
+  "Room_has_been_unarchived": "ルームはアーカイブされていません",
   "Room_Info": "ルーム情報",
-  "room_is_blocked": "この部屋はブロックされています",
-  "room_is_read_only": "この部屋は読み込み専用です",
-  "room_name": "部屋の名前",
+  "room_is_blocked": "このルームはブロックされています",
+  "room_is_read_only": "このルームは読み込み専用です",
+  "room_name": "ルームの名前",
   "Room_name_changed": "<em>__user_by__</em>がルーム名を <em>__room_name__</em> へ変更しました。",
   "Room_name_changed_successfully": "ルーム名が正常に変更されました",
   "Room_not_found": "ルームが見つかりませんでした",
@@ -2187,17 +2280,19 @@
   "Room_uploaded_file_list": "ファイル一覧",
   "Room_uploaded_file_list_empty": "ファイルがありません。",
   "Rooms": "ルーム",
+  "Run_only_once_for_each_visitor": "訪問ユーザーごとに1回のみ実行する",
   "run-import": "インポートを実行する",
   "run-import_description": "輸入業者の許可を得る許可",
   "run-migration": "移行を実行する",
   "run-migration_description": "移行を実行する権限",
-  "Running_Instances": "インスタンスの実行",
+  "Running_Instances": "実行中インスタンス数",
   "Runtime_Environment": "実行時環境",
   "S_new_messages_since_s": "%s 件の新しいメッセージが %s 以降に投稿されています",
   "Same_As_Token_Sent_Via": "「Token Sent Via」と同じ",
-  "Same_Style_For_Mentions": "言及と同じスタイル",
+  "Same_Style_For_Mentions": "メンションと同じスタイル",
   "SAML": "SAML",
   "SAML_Custom_Cert": "カスタム 証明書",
+  "SAML_Custom_Debug": "デバッグを有効化",
   "SAML_Custom_Entry_point": "カスタム エントリーポイント",
   "SAML_Custom_Generate_Username": "ユーザー名を生成する",
   "SAML_Custom_IDP_SLO_Redirect_URL": "IDP SLOリダイレクトURL",
@@ -2216,10 +2311,12 @@
   "Save_changes": "変更を保存",
   "Save_Mobile_Bandwidth": "モバイルデータ通信量の節約",
   "Save_to_enable_this_action": "この操作をする前に、保存してください",
+  "Save_To_Webdav": "WebDAVに保存",
+  "Save_your_encryption_password": "暗号化パスワードを保存する",
   "Saved": "保存しました",
   "Saving": "保存しています",
   "Scan_QR_code": "Google Authenticator、Authy、Duoなどのオーセンティケーターアプリを使用して、QRコードをスキャンします。下に入力する必要がある6桁のコードが表示されます。",
-  "Scan_QR_code_alternative_s": "QRコードをスキャンできない場合は、代わりに手動でコードを入力することができます:__code__",
+  "Scan_QR_code_alternative_s": "QRコードをスキャンできない場合は、代わりに手動でコードを入力することができます: __code__",
   "Scope": "範囲",
   "Screen_Share": "画面共有",
   "Script_Enabled": "スクリプトを有効にする",
@@ -2244,7 +2341,7 @@
   "Select_file": "ファイルを選択",
   "Select_role": "役割の選択",
   "Select_service_to_login": "サービスにログインしてアバターを読み込むか、もしくは画像を直接アップロードしてください",
-  "Select_user": "選択したユーザ",
+  "Select_user": "選択したユーザー",
   "Select_users": "ユーザーを選択",
   "Selected_agents": "選択された担当者",
   "Send": "送信",
@@ -2280,9 +2377,9 @@
   "set-owner": "オーナーを設定",
   "set-owner_description": "他のユーザーをチャンネルの所有者として設定する権限",
   "set-react-when-readonly": "ReadOnly時の反応を設定する",
-  "set-react-when-readonly_description": "読み取り専用チャネルのメッセージに反応する能力を設定する権限",
+  "set-react-when-readonly_description": "読み取り専用チャンネルのメッセージに反応する能力を設定する権限",
   "set-readonly": "ReadOnlyを設定する",
-  "set-readonly_description": "チャネルを読み取り専用チャネルに設定する許可",
+  "set-readonly_description": "チャンネルを読み取り専用チャンネルに設定する許可",
   "Set_as_leader": "リーダーとして設定する",
   "Set_as_moderator": "モデレーターに設定",
   "Set_as_owner": "オーナーに設定",
@@ -2290,7 +2387,7 @@
   "Settings_updated": "設定を更新しました",
   "Setup_Wizard": "セットアップウィザード",
   "Setup_Wizard_Info": "最初の管理者の設定、組織の設定、無料のプッシュ通知などを受けるためのサーバーの登録について説明します。",
-  "Share_Location_Title": "共有場所?",
+  "Share_Location_Title": "共有場所?",
   "Shared_Location": "共有場所",
   "Should_be_a_URL_of_an_image": "URL で指定する先は、画像でなければなりません。",
   "Should_exists_a_user_with_this_username": "ユーザーは登録されていなければなりません。",
@@ -2313,7 +2410,7 @@
   "Showing_online_users": "表示中: <b>__total_showing__</b> オンライン: __online__ 合計: __total__ 人",
   "Showing_results": "<p><b>%s</b> 件の結果を表示</p>",
   "Sidebar": "サイドバー",
-  "Sidebar_list_mode": "サイドバーチャネルリストモード",
+  "Sidebar_list_mode": "サイドバーチャンネルリストモード",
   "Sign_in_to_start_talking": "ログインして話を始める",
   "since_creation": "%s から",
   "Site_Name": "サイト名",
@@ -2322,28 +2419,28 @@
   "Size": "サイズ",
   "Skip": "スキップ",
   "Slack_Users": "スラックのユーザーCSV",
-  "SlackBridge_error": "%sでメッセージをインポート中にSlackBridgeでエラーが発生しました:%s",
-  "SlackBridge_finish": "SlackBridgeは%sでメッセージのインポートを完了しました。すべてのメッセージを表示するには、再読み込みしてください。",
+  "SlackBridge_error": "%sでメッセージをインポート中にSlackBridgeでエラーが発生しました: %s",
+  "SlackBridge_finish": "SlackBridgeは%sでメッセージのインポートを完了しました。すべてのメッセージを表示するには、再読み込みしてください。",
   "SlackBridge_Out_All": "SlackBridge Outすべて",
   "SlackBridge_Out_All_Description": "Slackに存在するすべてのチャンネルからメッセージを送信し、ボットに参加しました",
   "SlackBridge_Out_Channels": "SlackBridge Out Channels",
-  "SlackBridge_Out_Channels_Description": "スラックにメッセージを送るチャネルを選択する",
+  "SlackBridge_Out_Channels_Description": "スラックにメッセージを送るチャンネルを選択する",
   "SlackBridge_Out_Enabled": "SlackBridge Outが有効になっている",
   "SlackBridge_Out_Enabled_Description": "SlackBridgeがメッセージをスラックに送り返すかどうかを選択する",
-  "SlackBridge_start": "@%sは `#%s`でSlackBridgeのインポートを開始しました。終了時にお知らせします。",
-  "Slash_Gimme_Description": "あなたのメッセージの前に表示(つ◕_◕)つ",
-  "Slash_LennyFace_Description": "表示(͡°͜ʖ͡°)あなたのメッセージの後に",
-  "Slash_Shrug_Description": "表示¯\\ _(ツ)_ /¯あなたのメッセージの後に",
-  "Slash_Tableflip_Description": "表示(╯°□°)╯(┻━┻",
-  "Slash_TableUnflip_Description": "表示┬─┬ノ(゜ - ゜ノ)",
+  "SlackBridge_start": "@%sは `#%s`でSlackBridgeのインポートを開始しました。終了時にお知らせします。",
+  "Slash_Gimme_Description": "あなたのメッセージの前に表示 (つ◕_◕) つ",
+  "Slash_LennyFace_Description": "表示 (͡°͜ʖ͡°) あなたのメッセージの後に",
+  "Slash_Shrug_Description": "表示¯\\ _ (ツ) _ /¯あなたのメッセージの後に",
+  "Slash_Tableflip_Description": "表示 (╯°□°) ╯(┻━┻",
+  "Slash_TableUnflip_Description": "表示┬─┬ノ (゜ - ゜ノ)",
   "Slash_Topic_Description": "設定トピック",
   "Slash_Topic_Params": "トピックのメッセージ",
   "Smarsh_Email": "Smarsh Email",
   "Smarsh_Email_Description": "スマイルメールアドレス.emlファイルを送信します。",
   "Smarsh_Enabled": "Smarsh Enabled",
-  "Smarsh_Enabled_Description": "Smarsh emlコネクターが有効かどうか(「From Email」に「Email-> SMTP」の下に記入が必要です)。",
+  "Smarsh_Enabled_Description": "Smarsh emlコネクターが有効かどうか (「From Email」に「Email-> SMTP」の下に記入が必要です) 。",
   "Smarsh_Interval": "スモークインターバル",
-  "Smarsh_Interval_Description": "チャットを送信するまでに待機する時間(「From Email」の必要事項は「Email-> SMTP」の下に必要です)。",
+  "Smarsh_Interval_Description": "チャットを送信するまでに待機する時間 (「From Email」の必要事項は「Email-> SMTP」の下に必要です) 。",
   "Smarsh_MissingEmail_Email": "メールがありません",
   "Smarsh_MissingEmail_Email_Description": "電子メールアドレスが見つからない場合にユーザーアカウントに表示する電子メールは、一般的にボットアカウントで発生します。",
   "Smileys_and_People": "顔文字と人々",
@@ -2356,7 +2453,7 @@
   "SMTP_Username": "SMTP ユーザー名",
   "snippet-message": "スニペットメッセージ",
   "snippet-message_description": "スニペットメッセージを作成する権限",
-  "Snippet_Added": "%sに作成されました",
+  "Snippet_Added": "%sに作成されました",
   "Snippet_Messages": "スニペットメッセージ",
   "Snippet_name": "スニペット名",
   "Snippeted_a_message": "スニペットを作成しました__snippetLink__",
@@ -2365,7 +2462,7 @@
   "Sort": "ソート",
   "Sort_by_activity": "アクティビティで並べ替える",
   "Sound": "サウンド",
-  "Sound_File_mp3": "サウンドファイル(mp3)",
+  "Sound_File_mp3": "サウンドファイル (mp3)",
   "SSL": "SSL",
   "Star_Message": "スターをつける",
   "Starred_Messages": "スターをつけたメッセージ",
@@ -2375,7 +2472,7 @@
   "Start_of_conversation": "会話を開始しました",
   "Start_OTR": "オフレコ会話を開始",
   "Start_video_call": "ビデオ通話を開始",
-  "Start_video_conference": "ビデオ会議を開始しますか?",
+  "Start_video_conference": "ビデオ会議を開始しますか?",
   "Start_with_s_for_user_or_s_for_channel_Eg_s_or_s": "ユーザーは <code class=\"inline\">%s</code> 、チャンネルは <code class=\"inline\">%s</code> から始めてください。 例: <code class=\"inline\">%s</code> または <code class=\"inline\">%s</code>",
   "Started_a_video_call": "ビデオ通話を開始しました",
   "Started_At": "で開始",
@@ -2394,7 +2491,7 @@
   "Stats_Total_Direct_Messages": "すべてのダイレクトメッセージ",
   "Stats_Total_Livechat_Rooms": "総ライブチャットルーム",
   "Stats_Total_Messages": "すべてのメッセージ",
-  "Stats_Total_Messages_Channel": "チャネルの合計メッセージ",
+  "Stats_Total_Messages_Channel": "チャンネルの合計メッセージ",
   "Stats_Total_Messages_Direct": "ダイレクトメッセージの合計メッセージ",
   "Stats_Total_Messages_Livechat": "ライブチャットの合計メッセージ",
   "Stats_Total_Messages_PrivateGroup": "プライベートグループの合計メッセージ",
@@ -2405,10 +2502,10 @@
   "Step": "段",
   "Stop_Recording": "記録を停止",
   "Store_Last_Message": "最後のメッセージを保存する",
-  "Store_Last_Message_Sent_per_Room": "各部屋で最後に送信されたメッセージを保存します。",
+  "Store_Last_Message_Sent_per_Room": "各ルームで最後に送信されたメッセージを保存します。",
   "Stream_Cast": "ストリームキャスト",
   "Stream_Cast_Address": "ストリームキャストアドレス",
-  "Stream_Cast_Address_Description": "あなたのRocket.ChatセントラルストリームキャストのIPまたはホスト。例えば。 `192.168.1.1:3000`または` localhost:4000`",
+  "Stream_Cast_Address_Description": "あなたのRocket.ChatセントラルストリームキャストのIPまたはホスト。例えば。 `192.168.1.1: 3000` または `localhost: 4000`",
   "strike": "取り消し線",
   "Subject": "件名",
   "Submit": "送信",
@@ -2420,20 +2517,22 @@
   "Survey_instructions": "それぞれの設問にご満足度を、全く不満 1 〜 大変満足5 で評価してください。",
   "Symbols": "シンボル",
   "Sync_in_progress": "同期の進行中",
+  "Sync_Interval": "同期間隔",
   "Sync_success": "同期に成功しました",
   "Sync_Users": "ユーザーを同期",
   "System_messages": "システムメッセージ",
   "Tag": "ã‚¿ã‚°",
-  "Take_it": "それを取る!",
+  "Take_it": "それを取る!",
   "TargetRoom": "ターゲットルーム",
   "TargetRoom_Description": "このイベントが発生した結果のメッセージが送信されるルーム。 1つの対象ルームのみが許可され、存在する必要があります。",
+  "Target user not allowed to receive messages": "ターゲットユーザーはメッセージの受信を許可されていません",
   "Team": "チーム",
   "Technology_Provider": "テクノロジープロバイダー",
   "Technology_Services": "技術サービス",
   "Telecom": "テレコム",
   "Test_Connection": "接続をテスト",
   "Test_Desktop_Notifications": "デスクトップ通知をテスト",
-  "Thank_you_exclamation_mark": "ありがとうございました!",
+  "Thank_you_exclamation_mark": "ありがとうございました!",
   "Thank_you_for_your_feedback": "ご意見をありがとうございます",
   "The_application_name_is_required": "アプリケーション名は必須です",
   "The_channel_name_is_required": "チャンネル名は必須です",
@@ -2454,8 +2553,8 @@
   "theme-color-link-font-color": "リンク 文字色",
   "theme-color-pending-color": "保留中の色",
   "theme-color-primary-action-color": "プライマリアクションカラー",
-  "theme-color-primary-background-color": "基本 背景色",
-  "theme-color-primary-font-color": "基本 文字色",
+  "theme-color-primary-background-color": "基本の背景色",
+  "theme-color-primary-font-color": "基本の文字色",
   "theme-color-rc-color-alert": "アラート",
   "theme-color-rc-color-alert-light": "アラートライト",
   "theme-color-rc-color-button-primary": "ボタンプライマリ",
@@ -2472,7 +2571,7 @@
   "theme-color-rc-color-success": "成功",
   "theme-color-rc-color-success-light": "成功の光",
   "theme-color-secondary-action-color": "セカンダリアクションカラー",
-  "theme-color-secondary-background-color": "二次 背景色",
+  "theme-color-secondary-background-color": "三次 背景色",
   "theme-color-secondary-font-color": "二次 文字色",
   "theme-color-selection-color": "選択色",
   "theme-color-status-away": "離席中 ステータス色",
@@ -2494,19 +2593,24 @@
   "There_are_no_applications": "No oAuthアプリケーションはまだ追加されていません。",
   "There_are_no_applications_installed": "現在、Rocket.Chatアプリケーションはインストールされていません。",
   "There_are_no_integrations": "連携しているサービスはありません",
+  "There_are_no_personal_access_tokens_created_yet": "パーソナルアクセストークンがまだ作成されていません",
   "There_are_no_users_in_this_role": "このロールを割り当てられたユーザーはいません。",
   "This_conversation_is_already_closed": "この会話はすでに終了しています。",
   "This_email_has_already_been_used_and_has_not_been_verified__Please_change_your_password": "このメールアドレスは、すでに登録されていますが、認証手続きの途中です。パスワードを変更してください。",
   "This_is_a_desktop_notification": "これはデスクトップ通知です",
   "This_is_a_push_test_messsage": "これはプッシュ通知のテストメッセージです",
-  "This_room_has_been_archived_by__username_": "この部屋は__username__によってアーカイブされています",
-  "This_room_has_been_unarchived_by__username_": "この部屋は__username__によってアーカイブされていないされています",
+  "This_month": "今月",
+  "This_room_has_been_archived_by__username_": "このルームは__username__によってアーカイブされています",
+  "This_room_has_been_unarchived_by__username_": "このルームは__username__によってアーカイブ解除されています",
+  "This_week": "今週",
   "Thursday": "木曜日",
   "Time_in_seconds": "時間を秒数で指定",
   "Title": "タイトル",
   "Title_bar_color": "タイトルバー色",
   "Title_bar_color_offline": "タイトルバーの色をオフライン",
   "Title_offline": "タイトルオフライン",
+  "To": "まで",
+  "Today": "今日",
   "To_additional_emails": "追加のメールへ",
   "To_install_RocketChat_Livechat_in_your_website_copy_paste_this_code_above_the_last_body_tag_on_your_site": "Webサイトへ Rocket.Chat ライブチャットを導入するには、あなたのサイトの <strong>&lt;/body&gt;</strong> タグの前に、このコードをコピー &amp; ペーストしてください。",
   "to_see_more_details_on_how_to_integrate": "統合する方法の詳細を確認してください。",
@@ -2515,8 +2619,8 @@
   "Token_Access": "トークンアクセス",
   "Token_Controlled_Access": "トークン制御アクセス",
   "Token_required": "トークンが必要です",
-  "Tokenpass_Channel_Label": "トークンパスチャネル",
-  "Tokenpass_Channels": "トークンパスチャネル",
+  "Tokenpass_Channel_Label": "トークンパスチャンネル",
+  "Tokenpass_Channels": "トークンパスチャンネル",
   "Tokens_Minimum_Needed_Balance": "必要最小限のトークン残高",
   "Tokens_Minimum_Needed_Balance_Description": "各トークンの最低必要残高を設定します。空白または制限なしの場合は「0」。",
   "Tokens_Minimum_Needed_Balance_Placeholder": "バランス値",
@@ -2525,6 +2629,9 @@
   "Tokens_Required_Input_Error": "型付きトークンが無効です。",
   "Tokens_Required_Input_Placeholder": "トークンアセット名",
   "Topic": "トピック",
+  "Total_conversations": "会話の合計",
+  "Total_messages": "すべてのメッセージ",
+  "Total_visitors": "訪問者の合計",
   "Tourism": "観光",
   "Transcript_Enabled": "チャットが終了した後に彼らがトランスクリプトを好きになるかどうかを訪問者に尋ねる",
   "Transcript_message": "トランスクリプトについて質問するときに表示するメッセージ",
@@ -2543,7 +2650,7 @@
   "Two-factor_authentication_disabled": "二要素認証を無効にする",
   "Two-factor_authentication_enabled": "二要素認証を有効にする",
   "Two-factor_authentication_is_currently_disabled": "2要素認証は現在無効です",
-  "Two-factor_authentication_native_mobile_app_warning": "警告:これを有効にすると、2FAを実装するまでパスワードを使ってネイティブモバイルアプリ(Rocket.Chat +)にログインすることはできません。",
+  "Two-factor_authentication_native_mobile_app_warning": "警告: これを有効にすると、2FAを実装するまでパスワードを使ってネイティブモバイルアプリ (Rocket.Chat +) にログインすることはできません。",
   "Type": "種類",
   "Type_your_email": "あなたのメールアドレスを入力し",
   "Type_your_job_title": "職種を入力してください",
@@ -2562,9 +2669,9 @@
   "UI_Use_Name_Avatar": "フルネームの頭文字を使用してデフォルトのアバターを生成する",
   "UI_Use_Real_Name": "実名を使用する",
   "Unarchive": "アーカイブを解除",
-  "unarchive-room": "アーカイブ解除ルーム",
-  "unarchive-room_description": "アーカイブを解凍する権限",
-  "Unblock_User": "ユーザをブロック解除する",
+  "unarchive-room": "ルームをアーカイブ解除",
+  "unarchive-room_description": "チャンネルをアーカイブ解除する権限",
+  "Unblock_User": "ユーザーをブロック解除する",
   "Unignore": "Unignore",
   "Uninstall": "アンインストール",
   "Unmute_someone_in_room": "誰かをルームでミュートを解除されました",
@@ -2580,12 +2687,15 @@
   "Unread_Rooms_Mode": "未読ルーム表示モード",
   "Unread_Tray_Icon_Alert": "未読トレイアイコンアラート",
   "Unstar_Message": "スターを外す",
+  "Update_to_version": "__version__ にアップデート",
   "Update_your_RocketChat": "Rocket.Chatを更新する",
-  "Updated_at": "更新日:",
+  "Updated_at": "æ›´æ–°æ—¥: ",
   "Upload_file_description": "ファイル説明",
   "Upload_file_name": "ファイル名",
   "Upload_file_question": "アップロードしますか?",
+  "Upload_Folder_Path": "フォルダパスをアップロードする",
   "Upload_user_avatar": "アバターをアップロード",
+  "Upload_From": "__name__ からのアップロード",
   "Uploading_file": "ファイルをアップロード中...",
   "Uptime": "稼働時間",
   "URL": "URL",
@@ -2594,12 +2704,13 @@
   "Use_Emojis": "絵文字を使う",
   "Use_Global_Settings": "グローバル設定を使用する",
   "Use_initials_avatar": "ユーザー名の頭文字を使用",
-  "Use_minor_colors": "マイナーカラーパレットを使用する(デフォルトはメジャーカラーを継承する)",
+  "Use_minor_colors": "マイナーカラーパレットを使用する (デフォルトはメジャーカラーを継承する)",
   "Use_service_avatar": "%s のアバターを使用",
+  "Verification_Email": "アカウントを確認するには、<a href=\"[Verification_Url]\">こちら</a>をクリックしてください。",
   "Use_this_username": "ユーザー名を使用",
   "Use_uploaded_avatar": "アップロードしたアバターを使用",
   "Use_url_for_avatar": "URL をアバターに使用",
-  "Use_User_Preferences_or_Global_Settings": "ユーザ設定かグローバル設定を使用する",
+  "Use_User_Preferences_or_Global_Settings": "ユーザー設定かグローバル設定を使用する",
   "User": "使用者",
   "user-generate-access-token": "ユーザーがアクセストークンを生成する",
   "user-generate-access-token_description": "ユーザーがアクセストークンを生成するためのアクセス許可",
@@ -2612,7 +2723,7 @@
   "User_added": "ユーザーを追加しました",
   "User_added_by": "<em>__user_by__</em> がユーザー <em>__user_added__</em> を追加しました。",
   "User_added_successfully": "ユーザーが正常に追加されました",
-  "User_and_group_mentions_only": "ユーザーおよびグループの言及のみ",
+  "User_and_group_mentions_only": "ユーザーおよびグループのメンションのみ",
   "User_default": "ユーザーデフォルト",
   "User_doesnt_exist": "`@%s` という名前のユーザーは、登録されていません。",
   "User_has_been_activated": "ユーザーが有効にされました",
@@ -2636,31 +2747,31 @@
   "User_left_male": "チャンネルから退出しました。",
   "User_logged_out": "ユーザーはログアウトしました",
   "User_management": "ユーザー管理",
-  "User_mentions_only": "ユーザーのみが言及する",
+  "User_mentions_only": "ユーザーメンションのみ",
   "User_muted": "ユーザーミュート",
-  "User_muted_by": "ユーザー <em>__user_muted__</em> をミュートにしました。 by <em>__user_by__</em>",
+  "User_muted_by": "<em>__user_by__</em> が <em>__user_muted__</em> をミュートしました。",
   "User_not_found": "ユーザーが見つからないか、パスワードが間違っています",
   "User_not_found_or_incorrect_password": "ユーザーが見付からないか、パスワードが間違っています",
   "User_or_channel_name": "ユーザー名 または チャンネル名",
   "User_Presence": "ユーザープレゼンス",
   "User_removed": "ユーザーを削除しました",
   "User_removed_by": "<em>__user_by__</em> がユーザー <em>__user_removed__</em> を削除しました。",
-  "User_sent_a_message_on_channel": "<strong>__username__</strong>さんが<strong>__channel__</strong>にメッセージを送信しました:",
-  "User_sent_a_message_to_you": "<strong>__username__</strong>からあなたにメッセージが送信されました:",
+  "User_sent_a_message_on_channel": "<strong>__username__</strong>さんが<strong>__channel__</strong>にメッセージを送信しました: ",
+  "User_sent_a_message_to_you": "<strong>__username__</strong>からあなたにメッセージが送信されました: ",
   "user_sent_an_attachment": "__user__が添付ファイルを送信しました",
   "User_Settings": "ユーザー設定",
   "User_unmuted_by": "ユーザー <em>__user_unmuted__</em> は、ミュートを解除されました。 by <em>__user_by__</em>",
   "User_unmuted_in_room": "ユーザーはルームでミュートを解除されました",
   "User_updated_successfully": "ユーザーは正常に更新されました",
-  "User_uploaded_a_file_on_channel": "<strong>__username__</strong><strong>__channel__</strong>にファイルをアップロードしました:",
-  "User_uploaded_a_file_to_you": "<strong>__username__</strong>さんからファイルが送信されました:",
+  "User_uploaded_a_file_on_channel": "<strong>__username__</strong><strong>__channel__</strong>にファイルをアップロードしました: ",
+  "User_uploaded_a_file_to_you": "<strong>__username__</strong>さんからファイルが送信されました: ",
   "User_uploaded_file": "ファイルをアップロードしました",
   "User_uploaded_image": "画像をアップロードしました",
   "UserData_EnableDownload": "ユーザーデータのダウンロードを有効にする",
-  "UserData_FileSystemPath": "システムパス(エクスポートされたファイル)",
-  "UserData_FileSystemZipPath": "システムパス(圧縮ファイル)",
+  "UserData_FileSystemPath": "システムパス (エクスポートされたファイル)",
+  "UserData_FileSystemZipPath": "システムパス (圧縮ファイル)",
   "UserData_MessageLimitPerRequest": "要求ごとのメッセージ制限",
-  "UserData_ProcessingFrequency": "処理頻度(分)",
+  "UserData_ProcessingFrequency": "処理頻度 (分)",
   "UserDataDownload": "ユーザーデータのダウンロード",
   "UserDataDownload_CompletedRequestExisted_Text": "あなたのデータファイルはすでに生成されています。電子メールアカウントでダウンロードリンクを確認してください。",
   "UserDataDownload_EmailBody": "データファイルをダウンロードする準備が整いました。ダウンロードするには、<a href=\"__download_link__\">ここをクリック</a>してください。",
@@ -2674,7 +2785,7 @@
   "Username_cant_be_empty": "ユーザー名は空にすることはできません",
   "Username_Change_Disabled": "Rocket.Chat 管理者は、ユーザー名の変更を無効にしています",
   "Username_denied_the_OTR_session": "__username__ は、オフレコ会話を断りました",
-  "Username_description": "ユーザー名は、ほかの人がメッセージの中であなたについて言及するために利用します。",
+  "Username_description": "ユーザー名は、ほかの人がメッセージの中であなたにメンションするために利用します。",
   "Username_doesnt_exist": "ユーザー名 `%s` は存在しません。",
   "Username_ended_the_OTR_session": "__username__ は、オフレコ会話を終了しました",
   "Username_invalid": "<strong>%s</strong> は、有効なユーザー名ではありません。<br/> 利用できるのは、半角文字(英数字・ドット・マイナス)だけです",
@@ -2690,13 +2801,14 @@
   "UTF8_Names_Validation": "UTF8形式名の検証パターン",
   "UTF8_Names_Validation_Description": "特殊文字と空はを許可しないでください。半角記号(マイナス・アンダーバー・ドット)を使えますが、名前の最後には使えません",
   "Validate_email_address": "電子メールアドレスの検証",
+  "Verification_email_body": "[Site_Name]にアカウントを作成しました。下のボタンをクリックしてメールアドレスを確認し、登録を完了してください。",
   "Verification": "検証",
-  "Verification_Description": "確認URLには、<br/><ul><li>[Verification_Url]のプレースホルダを使用できます。</li><li>[name]、[fname]、[lname]はそれぞれユーザーのフルネーム、ファーストネームまたはラストネームです。</li><li>ユーザーのメールの[email]。</li><li>[Site_Name]と[Site_URL]はそれぞれアプリケーション名とURLです。</li></ul>",
-  "Verification_Email": "アカウントを確認するには、<a href=\"[Verification_Url]\">こちら</a>をクリックしてください。",
+  "Verification_Description": "次のプレースホルダを使用できます。<br/><ul><li>[Verification_Url]は確認URLです。</li><li>[name]、[fname]、[lname]はそれぞれユーザーのフルネーム、ファーストネーム、ラストネームです。</li><li>[email]はユーザーの電子メールです。</li><li>[Site_Name]と[Site_URL]はアプリケーション名とURLです。</li></ul>",
   "Verification_email_sent": "認証メールを送信しました",
   "Verification_Email_Subject": "[Site_Name]  - アカウントを確認する",
   "Verified": "検証",
   "Verify": "確認します",
+  "Verify_your_email": "あなたの電子メールを確認します",
   "Version": "バージョン",
   "Video_Chat_Window": "ビデオチャット",
   "Video_Conference": "ビデオ会議",
@@ -2706,15 +2818,15 @@
   "view-broadcast-member-list": "ブロードキャストルームのメンバーリストを見る",
   "view-c-room": "パブリックチャンネルを見る",
   "view-c-room_description": "パブリックチャンネルを表示する権限",
-  "view-d-room": "直接メッセージを見る",
-  "view-d-room_description": "直接メッセージを表示する権限",
+  "view-d-room": "ダイレクトメッセージを見る",
+  "view-d-room_description": "ダイレクトメッセージを表示する権限",
   "view-full-other-user-info": "他のすべてのユーザー情報を見る",
   "view-full-other-user-info_description": "アカウント作成日、最後のログインなど、他のユーザーの完全なプロフィールを表示する権限",
   "view-history": "履歴を表示",
   "view-history_description": "チャンネル履歴を表示する権限",
   "view-join-code": "参加コードを表示",
-  "view-join-code_description": "チャネル参加コードを表示する権限",
-  "view-joined-room": "参加した部屋を見る",
+  "view-join-code_description": "チャンネル参加コードを表示する権限",
+  "view-joined-room": "参加したルームを見る",
   "view-joined-room_description": "現在参加しているチャンネルを表示する権限",
   "view-l-room": "ライブチャットルームを見る",
   "view-l-room_description": "ライブチャットチャンネルを表示する権限",
@@ -2726,9 +2838,9 @@
   "view-logs_description": "サーバーログを表示する権限",
   "view-other-user-channels": "他のユーザーのチャンネルを見る",
   "view-other-user-channels_description": "他のユーザーが所有するチャンネルを閲覧する権限",
-  "view-outside-room": "外の部屋を見る",
+  "view-outside-room": "外のルームを見る",
   "view-p-room": "プライベートルームを見る",
-  "view-p-room_description": "プライベートチャンネルを表示する権限",
+  "view-p-room_description": "プライベートグループを表示する権限",
   "view-privileged-setting": "特権設定の表示",
   "view-privileged-setting_description": "設定を表示する権限",
   "view-room-administration": "ルーム管理の表示",
@@ -2740,9 +2852,10 @@
   "View_All": "すべて表示",
   "View_Logs": "ログ表示",
   "View_mode": "表示モード",
-  "Viewing_room_administration": "表示部屋の管理",
+  "Viewing_room_administration": "ルーム表示の管理",
   "Visibility": "可視性",
   "Visible": "見える",
+  "Visit_Site_Url_and_try_the_best_open_source_chat_solution_available_today": "__Site_URL__ にアクセスして、現在最高のオープンソースのチャットソリューションをトライしましょう!",
   "Visitor": "ビジター",
   "Visitor_Info": "ビジター情報",
   "Visitor_Navigation": "ビジターナビゲーション",
@@ -2753,36 +2866,45 @@
   "We_are_offline_Sorry_for_the_inconvenience": "ただいまオフラインです。ご不便をお掛けし、申し訳ありません。",
   "We_have_sent_password_email": "パスワードのリセット手順を記載したメールを送信しました。すぐにメールが届かない場合は、再度お試しください。",
   "We_have_sent_registration_email": "登録を確認するメールを送信しました。すぐにメールが届かない場合は、再度お試しください。",
+  "WebDAV_Accounts": "WebDAVアカウント",
+  "Webdav_add_new_account": "新しいWebDAVアカウントを追加する",
+  "webdav-account-saved": "WebDAVアカウントが保存されました",
+  "Webdav_Integration_Enabled": "WebDAV統合を有効にする",
+  "Webdav_Server_URL": "WebDAVサーバーのアクセスURL",
+  "Webdav_Username": "WebDAVユーザー名",
+  "Webdav_Password": "WebDAVパスワード",
   "Webhook_URL": "ウェブフックURL",
   "Webhooks": "ウェブフック",
-  "WebRTC_direct_audio_call_from_%s": "%sからのダイレクトオーディオコール",
-  "WebRTC_direct_video_call_from_%s": "%sからの直接ビデオ通話",
+  "WebRTC_direct_audio_call_from_%s": "%sからのダイレクト音声通話",
+  "WebRTC_direct_video_call_from_%s": "%sからのダイレクトビデオ通話",
   "WebRTC_Enable_Channel": "パブリックチャンネルで有効にする",
   "WebRTC_Enable_Direct": "ダイレクトメッセージで有効にする",
-  "WebRTC_Enable_Private": "プライベートチャンネルで有効にする",
-  "WebRTC_group_audio_call_from_%s": "%sからのグループオーディオコール",
-  "WebRTC_group_video_call_from_%s": "%sのビデオハングアウトをグループ化する",
-  "WebRTC_monitor_call_from_%s": "%sからの呼び出しを監視する",
+  "WebRTC_Enable_Private": "プライベートグループで有効にする",
+  "WebRTC_group_audio_call_from_%s": "%sからのグループ音声通話",
+  "WebRTC_group_video_call_from_%s": "%sからのグループビデオ通話",
+  "WebRTC_monitor_call_from_%s": "%sからの呼び出しを監視する",
   "WebRTC_Servers": "STUN/TURN サーバー",
   "WebRTC_Servers_Description": "カンマ区切りの STUN と TRUN サーバー一覧。<br/>ユーザー名、パスワードとポートは、`ユーザー名:パスワード@stun:ホスト:ポート` または `ユーザー名:パスワード@turn:ホスト:ポート` の形式で指定してください。",
   "Website": "ウェブサイト",
   "Wednesday": "水曜日",
   "Welcome": "ようこそ <em>%s</em>.",
+  "Welcome_to": "[Site_Name]へようこそ",
   "Welcome_to_the": "ようこそ",
-  "Why_do_you_want_to_report_question_mark": "なぜあなたは報告したいですか?",
+  "Why_do_you_want_to_report_question_mark": "なぜあなたは報告したいですか?",
   "will_be_able_to": "は、以下ができるようになります",
   "Worldwide": "世界的に",
-  "Would_you_like_to_return_the_inquiry": "お問い合わせを返信しますか?",
+  "Would_you_like_to_return_the_inquiry": "お問い合わせを返信しますか?",
   "Yes": "はい",
-  "Yes_archive_it": "はい、アーカイブしてください!",
+  "Yesterday": "昨日",
+  "Yes_archive_it": "はい、アーカイブしてください!",
   "Yes_clear_all": "はい、すべてクリアします!",
   "Yes_delete_it": "はい、削除します!",
   "Yes_hide_it": "はい、隠します!",
   "Yes_leave_it": "はい、退出します!",
   "Yes_mute_user": "はい、ユーザーをミュートにします!",
-  "Yes_prune_them": "はい、それらを剪定する!",
+  "Yes_prune_them": "はい、それらを整理します!",
   "Yes_remove_user": "はい、ユーザーを削除します!",
-  "Yes_unarchive_it": "はい、それを解凍してください!",
+  "Yes_unarchive_it": "はい、それをアーカイブ解除してください!",
   "yesterday": "昨日",
   "You": "あなた",
   "you_are_in_preview_mode_of": "プレビューモードでチャンネル #<strong>__room_name__</strong> を表示しています",
@@ -2792,20 +2914,20 @@
   "You_can_search_using_RegExp_eg": "正規表現による検索も可能です。例: <code class='code-colors inline'>/^text$/i</code>",
   "You_can_use_an_emoji_as_avatar": "アバターとして絵文字を使用できます。",
   "You_can_use_webhooks_to_easily_integrate_livechat_with_your_CRM": "あなたは簡単にあなたのCRMとライブチャットを統合するウェブフックを使用することができます。",
-  "You_cant_leave_a_livechat_room_Please_use_the_close_button": "あなたはライブチャットルームを残すことはできません。 、閉じるボタンを使用してください。",
+  "You_cant_leave_a_livechat_room_Please_use_the_close_button": "あなたはライブチャットルームから退出することはできません。閉じるボタンを使用してください。",
   "You_have_been_muted": "ミュートにされているため、このルームで発言できません",
   "You_have_n_codes_remaining": "__number__個のコードが残っています。",
   "You_have_not_verified_your_email": "メールアドレスが認証されていません",
   "You_have_successfully_unsubscribed": "メーリングリストから正常に購読解除されました。",
   "You_have_to_set_an_API_token_first_in_order_to_use_the_integration": "統合を使用するには、最初にAPIトークンを設定する必要があります。",
   "You_must_join_to_view_messages_in_this_channel": "このチャンネルのメッセージを表示するには参加する必要があります",
-  "You_need_confirm_email": "ログインするためにはメールを確認する必要があります!",
+  "You_need_confirm_email": "ログインするためにはメールを確認する必要があります!",
   "You_need_install_an_extension_to_allow_screen_sharing": "画面共有をするには、拡張機能をインストールする必要があります",
   "You_need_to_change_your_password": "パスワードを変更してください",
   "You_need_to_type_in_your_password_in_order_to_do_this": "この操作には、パスワードを入力する必要があります!",
-  "You_need_to_type_in_your_username_in_order_to_do_this": "あなたはこれを行うためにユーザー名を入力する必要があります!",
+  "You_need_to_type_in_your_username_in_order_to_do_this": "あなたはこれを行うためにユーザー名を入力する必要があります!",
   "You_need_to_verifiy_your_email_address_to_get_notications": "通知を受信するにはメールアドレスの検証が必要です。",
-  "You_need_to_write_something": "なにか書いてください!",
+  "You_need_to_write_something": "なにか書いてください!",
   "You_should_inform_one_url_at_least": "少なくとも1つのURLを定義しましょう。",
   "You_should_name_it_to_easily_manage_your_integrations": "連携は管理しやすい名前にしましょう。",
   "You_will_not_be_able_to_recover": "このメッセージを復元できなくなります!",
@@ -2816,7 +2938,7 @@
   "Your_file_has_been_deleted": "ファイルは削除されました。",
   "Your_mail_was_sent_to_s": "メールは %s へを送信されました",
   "your_message": "あなたのメッセージ",
-  "your_message_optional": "あなたのメッセージ(オプション)",
+  "your_message_optional": "あなたのメッセージ (オプション)",
   "Your_password_is_wrong": "パスワードが間違っています!",
   "Your_push_was_sent_to_s_devices": "プッシュ通知が %s 台のデバイスへ送信されました",
   "Your_server_link": "あなたのサーバーのリンク",
diff --git a/packages/rocketchat-i18n/i18n/km.i18n.json b/packages/rocketchat-i18n/i18n/km.i18n.json
index acffbb8579fbe1cd50c723b95958d01f1bd5d57c..fafb4f6be5b53f28b76d91e48ccb6167ade54282 100644
--- a/packages/rocketchat-i18n/i18n/km.i18n.json
+++ b/packages/rocketchat-i18n/i18n/km.i18n.json
@@ -1,14 +1,16 @@
 {
-  "#channel": "ប៉ុស្ថិ៍",
-  "0_Errors_Only": "0 - កំហុសត្រឹមតែ",
-  "1_Errors_and_Information": "1 - កំហុសនិងការជូនដំណឹង",
-  "2_Erros_Information_and_Debug": "2 - Erros, ពនិងបំបាត់កំហុស",
   "403": "បានហាមឃាត់",
-  "500": "កំហុសក្នុងការម៉ាស៊ីនបម្រើផ្ទៃក្នុង",
+  "500": "កំហុសខាងក្នុងម៉ាស៊ីនម៉េ",
+  "#channel": "ប៉ុស្ថិ៍",
+  "0_Errors_Only": "0 - កំហុស",
+  "12_Hour": "នាឡិការ 12 ម៉ោង",
+  "1_Errors_and_Information": "1 - កំហុស និងព័ត៌មាន",
+  "24_Hour": "នាឡិការ 24 ម៉ោង",
+  "2_Erros_Information_and_Debug": "2 - កំហុស, ព័ត៌មាន និងស្វែងរកកំហុស",
   "@username": "@ឈ្មោះ​អ្នកប្រើប្រាស់",
   "@username_message": "@ ឈ្មោះអ្នកប្រើ <message>",
-  "__username__is_no_longer__role__defined_by__user_by_": "__username__ គឺមិនយូរទៀត __role__ ដោយ __user_by__",
-  "__username__was_set__role__by__user_by_": "__username__ ត្រូវបានកំណត់ __role__ ដោយ __user_by__",
+  "__username__is_no_longer__role__defined_by__user_by_": "__username__ គឺមិនមានតួនាទី __role__ ដោយ __user_by__",
+  "__username__was_set__role__by__user_by_": "__username__ ត្រូវបានកំណត់តួនាទីជា __role__ ដោយ __user_by__",
   "Accept": "ទទួលយក",
   "Accept_incoming_livechat_requests_even_if_there_are_no_online_agents": "ទទួលយកសំណើ livechat មកដល់ទោះបីជាគ្មានភ្នាក់ងារអនឡាញក៏ដោយ",
   "Accept_with_no_online_agents": "ព្រមទទួលជាមួយភ្នាក់ងារអនឡាញគ្មាន",
@@ -35,15 +37,15 @@
   "Accounts_AllowUserAvatarChange": "អនុញ្ញាតិអ្នកប្រើប្រាស់ប្តូររូប",
   "Accounts_AllowUsernameChange": "អនុញ្ញាត​ឱ្យ​ផ្លាស់​ប្តូ​រ​ឈ្មោះ​អ្នក​ប្រើ",
   "Accounts_AllowUserProfileChange": "អនុញ្ញាតិអ្នកប្រើប្រាស់ប្តូរព័ត៌មានផ្ទាល់ខ្លួន",
-  "Accounts_AvatarBlockUnauthenticatedAccess": "បិទចោលការព្យាយាមចូលទៅរូបភាព",
-  "Accounts_AvatarCacheTime": "ពេលវេលាឃ្លាំងសម្ងាត់",
+  "Accounts_AvatarBlockUnauthenticatedAccess": "ទប់ស្កាត់ការចូលមិនត្រឹមត្រូវទៅអវតា",
+  "Accounts_AvatarCacheTime": "ពេលវេលាកត់ទុកអវតា",
   "Accounts_AvatarCacheTime_description": "ចំនួនវិនាទីពិធីការ http ត្រូវបានប្រាប់ឱ្យលាក់ឃ្លាំងរូបភាព។",
-  "Accounts_AvatarResize": "ប្តូ​រ​ទំហំ Avatar",
-  "Accounts_AvatarSize": "ទំហំ Avatar",
-  "Accounts_BlockedDomainsList": "បញ្ជីដែន",
-  "Accounts_BlockedDomainsList_Description": "បញ្ជីបំបែកដោយសញ្ញាក្បៀសនៃដែនបានបិទ",
-  "Accounts_BlockedUsernameList": "បញ្ជីឈ្មោះអ្នកប្រើ",
-  "Accounts_BlockedUsernameList_Description": "បញ្ជីបំបែកដោយសញ្ញាក្បៀសឈ្មោះអ្នកប្រើរា​​ំងខ្ទប់ (ករណីអាក្រក់)",
+  "Accounts_AvatarResize": "ប្តូរទំហំអវតា",
+  "Accounts_AvatarSize": "ទំហំអវតា",
+  "Accounts_BlockedDomainsList": "បញ្ជីដែនត្រូវបានរារាំង",
+  "Accounts_BlockedDomainsList_Description": "បញ្ជីបំបែកដែនដែលបំបែកដោយសញ្ញាក្បៀស",
+  "Accounts_BlockedUsernameList": "បញ្ជីឈ្មោះអ្នកប្រើដែលបានទប់ស្កាត់",
+  "Accounts_BlockedUsernameList_Description": "បញ្ជីបំបែកឈ្មោះអ្នកប្រើប្រាស់ដែលបានទប់ស្កាត់ដោយមិនប្រើក្បៀស (ត្រួតពិនិត្យតឹងរឹង)",
   "Accounts_CustomFields_Description": "គួរតែជា JSON ត្រឹមត្រូវដែលគ្រាប់ចុចជាឈ្មោះវាលដែលមានវចនានុក្រមនៃការកំណត់វាល។ ឧទាហរណ៍:<br/><code>{\n\"តួនាទី\": {\n\"វាយ\": \"ជ្រើសរើស\",\n\"defaultValue\": \"សិស្ស\",\n\"ជម្រើស\": [\"គ្រូបង្រៀន\" \"សិស្ស\"],\n\"ចាំបាច់\": ពិត,\n\"modifyRecordField\": {\n\"អារេ\": ពិត,\n\"វាល\": \"តួនាទី\"\n}\n},\n\"twitter\": {\n\"វាយ\": \"អត្ថបទ\",\n\"ចាំបាច់\": ពិត,\n\"រយៈពេលខ្លី\": 2,\n\"maxLength\": 10\n}\n}</code>",
   "Accounts_CustomFieldsToShowInUserInfo": "វាលផ្ទាល់ខ្លួនត្រូវបង្ហាញក្នុងព័ត៌មានរបស់អ្នកប្រើ",
   "Accounts_Default_User_Preferences": "ចំណង់ចំណូលចិត្តអ្នកប្រើលំនាំដើម",
@@ -58,13 +60,13 @@
   "Accounts_Email_Approved": "[ឈ្មោះ]<br/><br/><p>គណនីរបស់អ្នកត្រូវបានយល់ព្រម។</p>",
   "Accounts_Email_Approved_Subject": "គណនីត្រូវបានអនុម័ត",
   "Accounts_Email_Deactivated": "[name]<br/><br/><p>គណនីរបស់អ្នកត្រូវបានធ្វើឱ្យអសកម្ម។</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>ស្វាគមន៍មកកាន់ <strong>[Site_Name]</strong></h1><p> ចូរទៅទៅ <a href=\"[Site_URL]\">[Site_URL]</a> និងព្យាយាមដំណោះស្រាយប្រភពបើកចំហជជែកកំសាន្តដែលអាចប្រើបានល្អបំផុតនាពេលបច្ចុប្បន្ននេះ! </p>",
   "Accounts_Email_Deactivated_Subject": "គណនីត្រូវបានធ្វើឱ្យអសកម្ម",
   "Accounts_EmailVerification": "ការ​ផ្ទៀងផ្ទាត់​តាម​​អ៊ី​ម៉ែ​ល",
   "Accounts_EmailVerification_Description": "សូមប្រាកដថាអ្នកមានការកំណត់របស់ SMTP ត្រឹមត្រូវដើម្បីប្រើលក្ខណៈពិសេសនេះ",
+  "Accounts_Enrollment_Email_Subject_Default": "សូមស្វាគមន៍មកកាន់ [Site_Name]",
   "Accounts_Enrollment_Email": "ការចូលអ៊ីមែល",
-  "Accounts_Enrollment_Email_Default": "<h1>ស្វាគមន៍មកកាន់ <strong>[Site_Name]</strong></h1><p> ចូរទៅទៅ <a href=\"[Site_URL]\">[Site_URL]</a> និងព្យាយាមដំណោះស្រាយប្រភពបើកចំហជជែកកំសាន្តដែលអាចប្រើបានល្អបំផុតនាពេលបច្ចុប្បន្ននេះ! </p>",
   "Accounts_Enrollment_Email_Description": "អ្នកប្រហែលកំពុងប្រើប្រាស់ឧទាហរណ៍: <br/><ul><li>[name], [fname], [lname] ជាឈ្មោះពេញ, នាម ឬគោត្តនាម ដោយឡែកពីគ្នា.</li><li>[email] សំរាប់អ៊ីមែលអ្នកប្រើប្រាស់.</li><li>[Site_Name] និង[Site_URL] សំរាប់ឈ្មោះកម្មវិធី និងដំណភ្ជាប់ដោយឡែកពីគ្នា</li></ul>",
-  "Accounts_Enrollment_Email_Subject_Default": "សូមស្វាគមន៍មកកាន់ [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "បំភ្លេចសម័យអ្នកប្រើនៅលើបង្អួចបិទ",
   "Accounts_Iframe_api_method": "វិធីសាស្រ្ត API",
   "Accounts_Iframe_api_url": "តំណភ្ជាប់ API",
@@ -173,17 +175,18 @@
   "Accounts_RequireNameForSignUp": "ត្រូវការ Name សម្រាប់ការចុះឈ្មោះ",
   "Accounts_RequirePasswordConfirmation": "ទាមទារការបញ្ជាក់ពាក្យសម្ងាត់",
   "Accounts_SearchFields": "វាលដែលត្រូវពិចារណាក្នុងការស្វែងរក",
+  "Accounts_Directory_DefaultView": "បញ្ជីថតលំនាំដើម",
   "Accounts_SetDefaultAvatar": "កំណត់រូបតំណាងលំនាំដើម",
   "Accounts_SetDefaultAvatar_Description": "ព្យាយាមកំណត់រូបតំណាងលំនាំដើមដោយផ្អែកលើ OAuth Account ឬ Gravatar",
   "Accounts_ShowFormLogin": "ការចូលជាទម្រង់ដែលមានមូលដ្ឋានបង្ហាញ",
   "Accounts_TwoFactorAuthentication_Enabled": "បើកការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវពីរ",
   "Accounts_TwoFactorAuthentication_MaxDelta": "ដែនដីសណ្តរអតិបរមា",
+  "Accounts_UserAddedEmail_Default": "<h1>ស្វាគមន៍​មកកាន់ <strong>[Site_Name]</strong></h1><p> ចូរទៅទៅ <a href=\"[Site_URL]\">[Site_URL]</a> និងព្យាយាមដំណោះស្រាយប្រភពបើកចំហជជែកកំសាន្តដែលអាចប្រើបានល្អបំផុតនាពេលបច្ចុប្បន្ននេះ! </p><p> អ្នកអាចចូលប្រើអ៊ីម៉ែលរបស់អ្នក: [email] និងពាក្យសម្ងាត់: [password] ។ អ្នកអាចត្រូវបានទាមទារឱ្យផ្លាស់ប្តូរវាបន្ទាប់ពីការចូលលើកដំបូងរបស់អ្នក។",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "ដែនដីសណ្តរអតិបរមាកំណត់ចំនួនថូខឹនមានសុពលភាពគ្រប់ពេល។ សញ្ញាសម្ងាត់ត្រូវបានបង្កើតរៀងរាល់ 30 វិនាទីនិងមានសុពលភាពសម្រាប់ (30 * Delta អតិបរមា) ។ <br/>ឧទាហរណ៏: ជាមួយនឹងដែន Delta អតិបរមាដែលកំណត់ទៅ 10 និមិត្តសញ្ញានីមួយៗអាចប្រើបានរហូតដល់ 300 វិនាទីមុនឬបន្ទាប់ពីវាជាពេលវេលា។ នេះមានប្រយោជន៍នៅពេលនាឡិការបស់ម៉ាស៊ីនមេមិនត្រូវបានធ្វើសមកាលកម្មត្រឹមត្រូវជាមួយម៉ាស៊ីនមេ។",
   "Accounts_UseDefaultBlockedDomainsList": "បញ្ជីដែនប្រើលំនាំដើម",
   "Accounts_UseDNSDomainCheck": "ប្រើដែនឈ្មោះ DNS ពិនិត្យ",
-  "Accounts_UserAddedEmail_Default": "<h1>ស្វាគមន៍​មកកាន់ <strong>[Site_Name]</strong></h1><p> ចូរទៅទៅ <a href=\"[Site_URL]\">[Site_URL]</a> និងព្យាយាមដំណោះស្រាយប្រភពបើកចំហជជែកកំសាន្តដែលអាចប្រើបានល្អបំផុតនាពេលបច្ចុប្បន្ននេះ! </p><p> អ្នកអាចចូលប្រើអ៊ីម៉ែលរបស់អ្នក: [email] និងពាក្យសម្ងាត់: [password] ។ អ្នកអាចត្រូវបានទាមទារឱ្យផ្លាស់ប្តូរវាបន្ទាប់ពីការចូលលើកដំបូងរបស់អ្នក។",
-  "Accounts_UserAddedEmail_Description": "អ្នកអាចប្រើកន្លែងដាក់ខាងក្រោម: <br/><ul><li> [name], [fname] [lname] សម្រាប់ឈ្មោះអ្នកប្រើពេញលេញ, ឈ្មោះជាលើកដំបូងឬឈ្មោះចុងក្រោយ, រៀងគ្នា។ </li><li> [email] សម្រាប់អ៊ីម៉ែលរបស់អ្នកប្រើ។ </li><li> [password] ពាក្យសម្ងាត់របស់អ្នកប្រើ។ </li><li> [Site_Name] និង [Site_URL] សម្រាប់ឈ្មោះកម្មវិធីនិង URL រៀងគ្នា។ </li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "អ្នកត្រូវបានបន្ថែមទៅ [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "អ្នកអាចប្រើកន្លែងដាក់ខាងក្រោម: <br/><ul><li> [name], [fname] [lname] សម្រាប់ឈ្មោះអ្នកប្រើពេញលេញ, ឈ្មោះជាលើកដំបូងឬឈ្មោះចុងក្រោយ, រៀងគ្នា។ </li><li> [email] សម្រាប់អ៊ីម៉ែលរបស់អ្នកប្រើ។ </li><li> [password] ពាក្យសម្ងាត់របស់អ្នកប្រើ។ </li><li> [Site_Name] និង [Site_URL] សម្រាប់ឈ្មោះកម្មវិធីនិង URL រៀងគ្នា។ </li></ul>",
   "Activate": "ធ្វើ​ឱ្យ​សកម្ម",
   "Activity": "សកម្មភាព",
   "Add": "បន្ថែម",
@@ -213,6 +216,7 @@
   "Additional_Feedback": "មតិបន្ថែម",
   "additional_integrations_Bots": "ប្រសិនបើអ្នកកំពុងស្វែងរកវិធីបញ្ចូលប៊ិចផ្ទាល់ខ្លួនរបស់អ្នកនោះអ្នកនឹងរកមើលបន្ថែមទៀតមិនមែនអាដាប់ធ័រ Hubot របស់យើងទេ។ <a href='https://github.com/RocketChat/hubot-rocketchat' target='_blank'>https://github.com/RocketChat/hubot-rocketchat</a>",
   "additional_integrations_Zapier": "តើអ្នកកំពុងសម្លឹងរកមើលការរួមបញ្ចូលកម្មវិធីនិងកម្មវិធីផ្សេងៗជាមួយ Rocket.Chat ប៉ុន្តែអ្នកមិនមានពេលធ្វើដោយដៃទេ? បន្ទាប់យើងស្នើឱ្យប្រើ Zapier ដែលយើងគាំទ្រយ៉ាងពេញទំហឹង។ អានបន្ថែមអំពីវានៅលើឯកសាររបស់យើង។ <a href='https://rocket.chat/docs/administrator-guides/integrations/zapier/using-zaps/' target='_blank'>https://rocket.chat/docs/administrator-guides/integrations/zapier/using-zaps/</a>",
+  "Admin_disabled_encryption": "អ្នកគ្រប់គ្រងមិនបានបើកដំណើរការ ការបំលែងកូដ E2E។",
   "Admin_Info": "ព័ត៌មានអ្នកគ្រប់គ្រង",
   "Administration": "រដ្ឋបាល",
   "Adult_images_are_not_allowed": "រូបភាពមនុស្សពេញវ័យមិនត្រូវបានអនុញ្ញាតទេ",
@@ -239,6 +243,7 @@
   "Allow_Marketing_Emails": "អនុញ្ញាតឱ្យអ៊ីមែលទីផ្សារ",
   "Alphabetical": "តាមលំដាប់អក្សរក្រម",
   "Always_open_in_new_window": "បើកនៅក្នុងបង្អួចថ្មីជានិច្ច",
+  "Analytics": "វិភាគ",
   "Analytics_features_enabled": "លក្ខណៈពិសេសអនុញ្ញាត",
   "Analytics_features_messages_Description": "តាមដានព្រឹត្តិការណ៍ផ្ទាល់ខ្លួនដែលទាក់ទងទៅនឹងសកម្មភាពរបស់អ្នកប្រើមួយបានធ្វើនៅលើសារ។",
   "Analytics_features_rooms_Description": "តាមដានព្រឹត្តិការណ៍ផ្ទាល់ខ្លួនដែលទាក់ទងទៅនឹងសកម្មភាពនៅលើឆានែលមួយឬជាក្រុម (បង្កើតទុក, លុប) ។",
@@ -272,11 +277,20 @@
   "API_Enable_CORS": "បើកដំណើរការ CORS",
   "API_Enable_Direct_Message_History_EndPoint": "បើកដំណើរការ Endpoint ប្រវត្តិសាស្រ្តសារផ្ទាល់",
   "API_Enable_Direct_Message_History_EndPoint_Description": "វាអនុញ្ញាតឱ្យ `/ api / v1 / im.history.others` ដែលអនុញ្ញាតឱ្យមើលសារផ្ទាល់ដែលផ្ញើដោយអ្នកប្រើផ្សេងទៀតដែលអ្នកហៅចូលមិនមែនជាផ្នែកមួយ។",
+  "API_Enable_Personal_Access_Tokens": "បើកនិមិត្តសញ្ញាផ្ទាល់ខ្លួនដើម្បី REST API",
+  "API_Enable_Personal_Access_Tokens_Description": "បើកនិមិត្តសញ្ញាផ្ទាល់ខ្លួនសំរាប់ប្រើប្រាស់ជាមួយ REST API",
   "API_Enable_Shields": "បើកវាំងនន",
   "API_Enable_Shields_Description": "បើកដំណើរការប្រឡោះនៅ `/ api / v1 / shield.svg`",
   "API_GitHub_Enterprise_URL": "GitHub Enterprise",
   "API_GitHub_Enterprise_URL_Description": "ចំណាំ: សូមដកចេញនូវ trailing slash",
   "API_Gitlab_URL": "URL របស់ GitLab",
+  "API_Personal_Access_Token_Name": "ឈ្មោះនិមិត្តសញ្ញាផ្ទាល់ខ្លួន",
+  "API_Personal_Access_Tokens_To_REST_API": "និមិត្តសញ្ញាប្រើប្រាស់ផ្ទាល់ខ្លួនដើម្បី REST API",
+  "API_Personal_Access_Tokens_Remove_Modal": "តើអ្នកច្បាស់ទេថាចង់លប់ចោល និមិត្តសញ្ញាប្រើប្រាស់ផ្ទាល់ខ្លួននេះ?",
+  "API_Personal_Access_Token_Generated": "និមិត្តសញ្ញាប្រើប្រាស់ផ្ទាល់ខ្លួនត្រូវបានគណនាជោគជ័យ",
+  "API_Personal_Access_Token_Generated_Text_Token_s_UserId_s": "សូមរក្សានិមិត្តសញ្ញាដោយប្រុងប្រយ័ត្នបំផុត ដូចជាអ្នកនិងមិនអាចមើលវានៅពេលខាងមុខ។ <br/>និមិត្តសញ្ញ៖ <strong>__token__</strong><br/>លេខសម្គាល់ខ្លួនរបស់អ្នក: <strong>__userId__</strong>",
+  "API_Personal_Access_Tokens_Regenerate_Modal": "ប្រសិនបើអ្នកបាត់ ឬភ្លេច និមិត្តសញ្ញារបស់អ្នក, អ្នកអាចគណនាវាឡើងវិញ, ប៉ុន្តែត្រូវចងចាំថាគ្រប់កម្មវិធីទាំងអស់ដែលប្រើប្រាស់វា គួរតែបានធ្វើទំនើបកម្ម",
+  "API_Personal_Access_Tokens_Regenerate_It": "ការគណនា ធូកខិន",
   "API_Shield_Types": "ប្រភេទស្រទាប់ការពារ",
   "API_Shield_Types_Description": "ប្រភេទនៃខែលដើម្បីបើកជាបញ្ជីដែលបំបែកដោយសញ្ញាក្បៀសជ្រើសពី `លើបណ្ដាញ` `ឆានែល` ឬ `*` សម្រាប់ទាំងអស់គ្នា",
   "API_Token": "API របស់ Token",
@@ -289,6 +303,7 @@
   "Apiai_Key": "Api.ai គន្លឹះ",
   "Apiai_Language": "Api.ai ភាសា",
   "App_author_homepage": "គេហទំព័រអ្នកនិពន្ធ",
+  "App_Details": "ព័ត៌មានលម្អិតកម្មវិធីបន្ថែម",
   "App_Information": "ពត៌មានកម្មវិធី",
   "App_Installation": "ដំឡើងកម្មវិធី",
   "App_status_auto_enabled": "បានបើក",
@@ -356,6 +371,7 @@
   "AutoLinker_Urls_www": "URLs ដែលបាន AutoLinker \"www\"",
   "AutoLinker_UrlsRegExp": "AutoLinker កន្សោមធម្មតា URL ដែល",
   "Automatic_Translation": "បកប្រែដោយស្វ័យប្រវត្តិ",
+  "Author_Site": "គេហទំព័រអ្នកបង្កើតកម្មវិធី",
   "AutoTranslate_Change_Language_Description": "ការផ្លាស់ប្តូរភាសាបកប្រែស្វ័យប្រវត្តិមិនបកប្រែសារពីមុន។",
   "AutoTranslate_Enabled": "បើកដំណើរការបកប្រែដោយស្វ័យប្រវត្តិ",
   "AutoTranslate_Enabled_Description": "ការបើកការបកប្រែដោយស្វ័យប្រវត្តិនឹងអនុញ្ញាតឱ្យមនុស្សដែលមាន <code class=\"inline\">បកប្រែដោយស្វ័យប្រវត្តិ</code>ដើម្បីឱ្យសារទាំងអស់បានបកប្រែដោយស្វ័យប្រវត្តិទៅជាភាសាដែលបានជ្រើសរើសរបស់ពួកគេ។ កម្រៃអាចអនុវត្តសូមមើល <a target=\"_blank\" href=\"https://cloud.google.com/translate/pricing\">ឯកសាររបស់ Google</a>",
@@ -366,6 +382,10 @@
   "Avatar_changed_successfully": "ផ្លាស់​ប្តូ​រ​រូប​តំ​នាង​ដោយ​ជោគជ័យ",
   "Avatar_URL": "URL ដែល Avatar",
   "Avatar_url_invalid_or_error": "តំណភ្ជាប់ដែលបានមិនត្រឹមត្រូវ ដូចនេះសូមព្យាយាមម្តងទៀត ប៉ុន្តែជាមួយតំណភ្ជាប់ផ្សេងទៀត។",
+  "Avg_chat_duration": "រយៈពេលជជែកជាមធ្យម",
+  "Avg_first_response_time": "រយៈពេលឆ្លើយតបជាមធ្យមលើកដំបូង",
+  "Avg_response_time": "រយៈពេលឆ្លើយតបជាមធ្យម",
+  "Avg_reaction_time": "រយៈពេលប្រតិកម្មជាមធ្យម",
   "away": "ឆ្ងាយ",
   "Away": "ឆ្ងាយ",
   "away_female": "ឆ្ងាយ",
@@ -384,8 +404,12 @@
   "ban-user": "ហាមអ្នកប្រើ",
   "ban-user_description": "ការអនុញ្ញាតហាមអ្នកប្រើពីឆានែល",
   "Beta_feature_Depends_on_Video_Conference_to_be_enabled": "លក្ខណៈពិសេសបេតា។ អាស្រ័យលើសន្និសីទវីដេអូដែលត្រូវបានបើក។",
+  "Best_first_response_time": "ពេលវេលាឆ្លើយតបដំបូងដែលឆាប់បំផុត",
   "Block_User": "អ្នក​ប្រើ​ប្លុក",
   "Blockchain": "Blockchain",
+  "Blockstack_Auth_Description": "ការពិពណ៌នា Auth",
+  "Blockstack_ButtonLabelText": "អក្សេស្លាកប៊ូតុង",
+  "Blockstack_Generate_Username": "គណនាឈ្មោះអ្នកប្រើប្រាស់",
   "Body": "តួ",
   "bold": "ក្រាស់",
   "bot_request": "សំណើរ Bot",
@@ -402,6 +426,8 @@
   "bulk-create-c_description": "សិទ្ធិក្នុងការបង្កើតឆានែលជាដុំ",
   "bulk-register-user": "បង្កើតឆានែលច្រើន",
   "bulk-register-user_description": "សិទ្ធិក្នុងការបង្កើតឆានែលជាដុំ",
+  "Busiest_day": "ថ្ងៃដ៏រវល់បំផុត",
+  "Busiest_time": "ម៉ោងដ៏រវល់បំផុត",
   "busy": "រវល់",
   "Busy": "រវល់",
   "busy_female": "រវល់",
@@ -432,7 +458,10 @@
   "CAS_Sync_User_Data_FieldMap_Description": "ប្រើការបញ្ចូល JSON នេះដើម្បីបង្កើតគុណលក្ខណៈផ្ទៃក្នុង (កូនសោ) ពីគុណលក្ខណៈខាងក្រៅ (តម្លៃ) ។ ឈ្មោះគុណលក្ខណៈខាងក្រៅដែលបានភ្ជាប់ជាមួយ '%' នឹងបញ្ចូលគ្នាជាខ្សែអក្សរតម្លៃ។<br/>ឧទាហរណ៍ `{\"email\":\"%email%\", \"name\":\"%firstname%, %lastname%\"}`<br/><br/>ផែនទីគុណលក្ខណៈត្រូវបានបញ្ចូលគ្នា។ នៅក្នុង CAS 1.0 មានតែគុណលក្ខណៈ `ឈ្មោះអ្នកប្រើប្រាស់ 'ប៉ុណ្ណោះ។ គុណលក្ខណៈខាងក្នុងដែលមានគឺ: ឈ្មោះអ្នកប្រើឈ្មោះអ៊ីម៉ែលបន្ទប់ បន្ទប់គឺជាបញ្ជីបំបែកដោយសញ្ញាក្បៀសដើម្បីចូលរួមជាមួយការបង្កើតអ្នកប្រើឧទាហរណ៍: {\"បន្ទប់\": \"% team%,% department%\"} នឹងចូលរួមជាមួយអ្នកប្រើ CAS លើការបង្កើតទៅក្រុមការងារនិងឆានែលរបស់ពួកគេ។",
   "CAS_version": "CAS កំណែ",
   "CAS_version_Description": "ប្រើតែ CAS កំណែគាំទ្រដែលគាំទ្រដោយសេវា CAS SSO របស់អ្នក។",
+  "Categories": "ចំណាត់ក្រុម",
   "CDN_PREFIX": "CDN បុព្វបទ",
+  "CDN_PREFIX_ALL": "ប្រើបុព្វបទ CDN សម្រាប់ទ្រព្យសម្បត្តិទាំងអស់",
+  "CDN_JSCSS_PREFIX": "បុព្វបទ CDN សម្រាប់ JS / CSS",
   "Certificates_and_Keys": "វិញ្ញាបនប័ត្រនិងគ្រាប់ចុច",
   "Change_Room_Type": "ការផ្លាស់ប្តូរប្រភេទបន្ទប់",
   "Changing_email": "អ៊ីម៉ែលការផ្លាស់ប្តូរ",
@@ -512,12 +541,15 @@
   "Choose_the_username_that_this_integration_will_post_as": "ជ្រើសឈ្មោះអ្នកប្រើថាការធ្វើសមាហរណកម្មនេះនឹងប្រកាសជា។",
   "clean-channel-history": "ប្រវត្តិឆានែលស្អាត",
   "clean-channel-history_description": "សិទ្ធិដើម្បីជម្រះប្រវត្តិពីឆានែល",
+  "Clean_Usernames": "សម្អាតឈ្មោះសម្ងាត់",
   "clear": "ជម្រះ",
   "Clear_all_unreads_question": "ចង់ជម្រះចោលគ្រប់សារមិនបានអានឬ?",
   "clear_cache_now": "សម្អាតឃ្លាំងឥឡូវនេះ",
   "clear_history": "ជម្រះប្រវត្តិ",
   "Click_here": "ចុច​ទីនេះ",
   "Click_here_for_more_info": "សូមចុចនៅទីនេះសម្រាប់ព័ត៌មានបន្ថែម",
+  "Click_here_to_enter_your_encryption_password": "ចុចទីនេះដើម្បីបញ្ចូលពាក្យសម្ងាត់បំលែងកូដរបស់អ្នក",
+  "Click_here_to_view_and_copy_your_password": "សូមចុចទីនេះដើម្បីមើលនិងចំលងពាក្យសម្ងាត់របស់អ្នក។",
   "Click_the_messages_you_would_like_to_send_by_email": "ចុចលើសារដែលអ្នកចង់ផ្ញើតាមអ៊ីម៉ែល",
   "Click_to_join": "ចុចដើម្បីចូលរួម!",
   "Client_ID": "លេខសម្គាល់អតិថិជន",
@@ -541,24 +573,29 @@
   "Compact": "បង្រួម",
   "Condensed": "condensed",
   "Computer": "កុំព្យូទ័រ",
+  "Confirm_new_encryption_password": "បញ្ជាក់លេខពាក្យសម្ងាត់បំលែងកូដថ្មី",
   "Confirm_password": "បញ្ជាក់​ពាក្យ​សម្ងាត់",
   "Connection_Closed": "ការភ្ជាប់បានបិទ",
   "Connection_Reset": "កំណត់ការភ្ជាប់ឡើងវិញ",
   "Consulting": "ប្រឹក្សា",
   "Consumer_Goods": "ទំនិញប្រើប្រាស់",
   "Contains_Security_Fixes": "មានការជួសជុលសុវត្ថិភាព",
+  "Contact": "ទំនាក់ទំនង",
   "Content": "មាតិកា",
   "Continue": "បន្ត",
   "Continuous_sound_notifications_for_new_livechat_room": "ការជូនដំណឹងសំឡេងបន្តសម្រាប់បន្ទប់ livechat ថ្មី",
   "Conversation": "កិច្ច​ពិភាក្សា",
+  "Conversations": "ការសន្ទនា",
   "Conversation_closed": "សន្ទនាបានបិទ: __comment__ ។",
   "Conversation_finished_message": "ការសន្ទនាបានបញ្ចប់សារ",
+  "Conversations_per_day": "ការសន្ទនាក្នុងមួយថ្ងៃ",
   "conversation_with_s": "ការសន្ទនាជាមួយ% s",
   "Convert_Ascii_Emojis": "បម្លែង ASCII នេះ​ទៅ Emoji",
   "Copied": "ចម្លង",
   "Copy": "ច្បាប់ចម្លង",
   "Copy_to_clipboard": "ចម្លងទៅក្ដារតម្បៀតខ្ទាស់",
   "COPY_TO_CLIPBOARD": "ចម្លងទៅក្ដារតម្បៀតខ្ទាស់",
+  "could-not-access-webdav": "មិនអាចចូល WebDAV",
   "Count": "រាប់ចំនួន",
   "Country": "ប្រទេស",
   "Country_Afghanistan": "អាហ្គានីស្ថាន",
@@ -818,10 +855,12 @@
   "Created_at_s_by_s_triggered_by_s": "បានបង្កើតនៅ <strong>%s</strong>ដោយ <strong>%s</strong>ដែលបានបង្កឡើងដោយ <strong>%s</strong>",
   "CRM_Integration": "សមាហរណកម្ម CRM",
   "CROWD_Reject_Unauthorized": "បដិសេធមិនមានសិទ្ធិ",
+  "Crowd_sync_interval_Description": "ចន្លោះពេលរវាងការធ្វើសមកាលកម្ម។ ឧទាហរណ៍ \"រៀងរាល់ 24 ម៉ោង\" ឬ `នៅថ្ងៃដំបូងនៃសប្តាហ៍ 'ឧទាហរណ៍ជាច្រើនទៀតនៅ [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "ការជជែកបច្ចុប្បន្ន",
   "Current_Status": "ស្ថានភាព​បច្ចុប្បន្ន",
   "Custom": "ផ្ទាល់ខ្លួន",
   "Custom_agent": "ភ្នាក់ងារផ្ទាល់ខ្លួន",
+  "Custom_dates": "កាលបរិច្ឆេទផ្ទាល់ខ្លួន",
   "Custom_Emoji": "សញ្ញាអារម្មណ៍ផ្ទាល់ខ្លួន",
   "Custom_Emoji_Add": "បន្ថែមសញ្ញាអារម្មណ៍ថ្មី",
   "Custom_Emoji_Added_Successfully": "សញ្ញាអារម្មណ៍ផ្ទាល់ខ្លួនបានបន្ថែមដោយជោគជ័យ",
@@ -858,6 +897,7 @@
   "DB_Migration_Date": "មូលដ្ឋានទិន្នន័យការធ្វើចំណាកស្រុកកាលបរិច្ឆេទ",
   "Deactivate": "ធ្វើឲ្យមិនសកម្ម",
   "Decline": "បដិសេធ",
+  "Decode_Key": "សោរដោះលេខកូដ",
   "Default": "លំនាំដើម",
   "Delete": "លុប",
   "delete-c": "លុបបណ្តាញសាធារណៈ",
@@ -891,10 +931,12 @@
   "Desktop_Notifications_Duration": "ការជូនដំណឹងរយៈព​​េល",
   "Desktop_Notifications_Duration_Description": "វិនាទីដើម្បីបង្ហាញសេចក្តីជូនដំណឹងផ្ទៃតុ។ នេះអាចប៉ះពាល់ដល់ការជូនដំណឹងប្រព័ន្ធប្រតិបត្តិការ OS X មជ្ឈមណ្ឌល។ បញ្ចូល 0 ដើម្បីប្រើការកំណត់កម្មវិធីរុករកលំនាំដើមនិងមិនប៉ះពាល់ដល់ប្រព័ន្ធប្រតិបត្តិការ X បានការជូនដំណឹងមជ្ឈមណ្ឌល។",
   "Desktop_Notifications_Enabled": "ជំនូនដំណឹងលើ Desktop ត្រូវបានអនុញ្ញាតិ",
+  "Details": "លម្អិត",
   "Different_Style_For_User_Mentions": "រចនាប័ទ្មផ្សេងគ្នាសម្រាប់អ្នកប្រើប្រាស់លើកឡើង",
   "Direct_message_someone": "មាននរណាម្នាក់បានផ្ញើសារដោយផ្ទាល់",
   "Direct_Messages": "សារ​ផ្ទាល់",
   "Direct_Reply": "ការឆ្លើយតបដោយផ្ទាល់",
+  "Direct_Reply_Advice": "អ្នកអាចឆ្លើយតបដោយផ្ទាល់ទៅអ៊ីម៉ែលនេះ។ កុំកែប្រែអ៊ីមែលពីមុននៅក្នុងខ្សែស្រឡាយ។",
   "Direct_Reply_Debug": "បំបាត់កំហុសឆ្លើយតបដោយផ្ទាល់",
   "Direct_Reply_Debug_Description": "[ប្រយ័ត្ន] ការបើកដំណើរការរបៀបបំបាត់កំហុសនឹងបង្ហាញ 'ពាក្យសម្ងាត់អត្ថបទធម្មតា' របស់អ្នកនៅក្នុងកុងសូលអ្នកគ្រប់គ្រង។",
   "Direct_Reply_Delete": "លុបអ៊ីម៉ែលដែលបានផ្អាក",
@@ -936,11 +978,13 @@
   "Drop_to_upload_file": "ទម្លាក់​ឯកសារ​ដើម្បី​ផ្ទុក​ឡើង",
   "Dry_run": "ការរត់ស្ងួត",
   "Dry_run_description": "តែនឹងផ្ញើអ៊ីម៉ែលមួយទៅអាសយដ្ឋានដូចគ្នានេះដែរដូចជានៅក្នុងពី។ អ៊ីមែលត្រូវតែជាកម្មសិទ្ធិរបស់អ្នកប្រើត្រឹមត្រូវ។",
+  "duplicated-account": "គណនីស្ទួន",
   "Duplicate_archived_channel_name": "ឆានែលមួយដែលបានដាក់ក្នុងប័ណ្ណសារដែលមានឈ្មោះ ' %s' មាន",
   "Duplicate_archived_private_group_name": "ក្រុមឯកជនដែលមានឈ្មោះប័ណ្ណសារ ' %s' មាន",
   "Duplicate_channel_name": "ឆានែលដែលមានឈ្មោះ '%s' មាន",
   "Duplicate_private_group_name": "ក្រុម​ឯក​ជន​ដែល​មាន​ឈ្មោះ​, '%s', មាន​ហើយ",
   "Duration": "រយៈពេល",
+  "E2E_Enable_description": "បើកជម្រើសដើម្បីបង្កើតក្រុមដែលបានបំលែងកូដ ហើយអាចផ្លាស់ប្ដូរក្រុមនិងសារដោយផ្ទាល់ ដើម្បីឱ្យបានបំលែងកូដ",
   "Edit": "កែ​សម្រួល",
   "edit-message": "កែសារ",
   "edit-message_description": "សិទ្ធិដើម្បីកែសារនៅក្នុងបន្ទប់",
@@ -979,6 +1023,7 @@
   "Email_Placeholder": "សូមបញ្ចូលអាសយដ្ឋានអ៊ីមែលរបស់អ្នក ...",
   "Email_Placeholder_any": "សូមបញ្ចូលអាសយដ្ឋានអ៊ីមែល ...",
   "Email_subject": "ប្រធានបទ",
+  "email_style_label": "រចនាប័ទ្មអ៊ីម៉ែល",
   "Email_verified": "អ៊ីម៉ែល​បញ្ជាក់",
   "Emoji": "សញ្ញា​អារម្មណ៍",
   "EmojiCustomFilesystem": "ប្រព័ន្ធឯកសារសញ្ញាអារម្មណ៍ផ្ទាល់ខ្លួន",
@@ -989,8 +1034,13 @@
   "Enable_Svg_Favicon": "បើកដំណើរការ SVG favicon",
   "Enable_two-factor_authentication": "បើកការផ្ទៀងផ្ទាត់ពីរកត្តា",
   "Enabled": "បានបើក",
+  "Encrypted": "បានបំលែងកូដ",
   "Encrypted_message": "សារដែលបានអ៊ិនគ្រីប",
+  "Encrypted_setting_changed_successfully": "គោលនរយោបាយបំលែងកូដបានកំណត់ជោគជ័យ",
+  "EncryptionKey_Change_Disabled": "អ្នកមិនអាចកំណត់ពាក្យសម្ងាត់សម្រាប់កូនសោអ៊ិនគ្រីបរបស់អ្នកទេពីព្រោះកូនសោឯកជនរបស់អ្នកមិនមាននៅលើម៉ាស៊ីនភ្ញៀវនេះ។ ដើម្បីកំណត់ពាក្យសម្ងាត់ថ្មីអ្នកត្រូវការផ្ទុកកូនសោឯកជនរបស់អ្នកដោយប្រើពាក្យសម្ងាត់ដែលមានស្រាប់ឬប្រើកូនសោដែលកូនសោត្រូវបានផ្ទុករួចហើយ។",
+  "Encryption_key_saved_successfully": "កូនសោបំលែងកូដរបស់អ្នកត្រូវបានរក្សាទុកដោយជោគជ័យ។",
   "End_OTR": "បញ្ចប់ប្រវត្តិ",
+  "Enter_a_name": "បញ្ចូលឈ្មោះ",
   "Enter_a_regex": "បញ្ចូល regex ​​មួយ",
   "Enter_a_room_name": "បញ្ចូលឈ្មោះក្នុងបន្ទប់មួយ",
   "Enter_a_username": "បញ្ចូលឈ្មោះអ្នកប្រើ",
@@ -998,9 +1048,11 @@
   "Enter_authentication_code": "បញ្ចូលលេខកូដផ្ទៀងផ្ទាត់",
   "Enter_Behaviour": "បញ្ចូលឥរិយាបទគ្រាប់ចុច",
   "Enter_Behaviour_Description": "ការផ្លាស់ប្តូរនេះប្រសិនបើគ្រាប់ចុចបញ្ចូល (Enter) នឹងផ្ញើរសារឬបំបែកបន្ទាត់",
+  "Enter_E2E_password_to_decode_your_key": "បញ្ចូលពាក្យសម្ងាត់ E2E ដើម្បីបំលែងលេខកូដដើមរបស់អ្នកមកវិញ",
   "Enter_name_here": "បញ្ចូលឈ្មោះនៅទីនេះ",
   "Enter_Normal": "របៀបធម្មតា (ផ្ញើជាមួយបញ្ចូល)",
   "Enter_to": "បញ្ចូល",
+  "Enter_your_E2E_password": "បញ្ចូលពាក្យសម្ងាត់ E2E របស់អ្នក",
   "Enterprise": "សហគ្រាស",
   "Entertainment": "ការកំសាន្ត",
   "Error": "កំហុសក្នុងការ",
@@ -1027,6 +1079,7 @@
   "error-importer-not-defined": "ការនាំចូលមិនត្រូវបានកំណត់ត្រឹមត្រូវ, វាត្រូវបានបាត់ខ្លួនថ្នាក់នាំចូល។",
   "error-input-is-not-a-valid-field": "__input__ មិនមែនជា __field__ ត្រឹមត្រូវ",
   "error-invalid-actionlink": "តំណសកម្មភាពមិនត្រឹមត្រូវ",
+  "error-invalid-account": "គណនីមិនត្រឹមត្រូវ",
   "error-invalid-arguments": "អាគុយម៉ង់មិនត្រឹមត្រូវ",
   "error-invalid-asset": "ទ្រព្យសកម្មមិនត្រឹមត្រូវ",
   "error-invalid-channel": "ឆានែលមិនត្រឹមត្រូវ។",
@@ -1083,6 +1136,9 @@
   "error-room-is-not-closed": "បន្ទប់មិនត្រូវបានបិទ",
   "error-the-field-is-required": "__field__ វាលនេះត្រូវបានទាមទារ។",
   "error-this-is-not-a-livechat-room": "នេះមិនមែនជាបន្ទប់ Livechat ទេ",
+  "error-personal-access-tokens-are-current-disabled": "និមិត្តសញ្ញាចូលប្រើប្រាស់ផ្ទាល់ខ្លួន បច្ចុប្បន្នត្រូវបានបិទ ",
+  "error-token-already-exists": "និមិត្តសញ្ញា ដែលប្រើប្រាស់ឈ្មោះនេះមានរួចហើយ",
+  "error-token-does-not-exists": "និមិត្តសញ្ញា នេះមិនមាន",
   "error-too-many-requests": "កំហុសក្នុងការសំណើជាច្រើនផងដែរ។ សូមថយចុះ។ អ្នកត្រូវតែរង់ចាំវិនាទី __seconds__ មុនពេលសាកល្បងម្តងទៀត។",
   "error-user-has-no-roles": "អ្នកប្រើគ្មានតួនាទី",
   "error-user-is-not-activated": "អ្នក​ប្រើ​ដែល​មិន​ត្រូវ​បាន​ធ្វើ​ឱ្យ​សកម្ម",
@@ -1095,6 +1151,8 @@
   "Error_404": "កំហុស: 404",
   "Error_changing_password": "ពាក្យ​សម្ងាត់​បាន​ប្តូរ",
   "Error_loading_pages": "មានកំហុសក្នុងការផ្ទុកទំព័រ",
+  "Error_sending_livechat_transcript": "កំហុសក្នុងការផ្ញើប្រតិចារិក Livechat",
+  "Error_sending_livechat_offline_message": "កំហុសពេលកំពុងផ្ញើរសារ Livechat ក្រៅបណ្តាញ",
   "Esc_to": "Esc ដើម្បី",
   "Event_Trigger": "គន្លឹះព្រឹត្តិការណ៍",
   "Event_Trigger_Description": "ជ្រើសរើសប្រភេទព្រឹត្តិការណ៍ណាមួយដែលនឹងធ្វើឱ្យសមាហរណកម្ម WebHook នេះចេញ",
@@ -1185,6 +1243,7 @@
   "Files_only": "យកតែឯកសារភ្ជាប់ប៉ុណ្ណោះ, រក្សាទុកសារ",
   "Financial_Services": "សេវាកម្មហិរញ្ញវត្ថុ",
   "First_Channel_After_Login": "ឆានែលទី 1 បន្ទាប់ពីចូល",
+  "First_response_time": "រយៈពេលឆ្លើយតបដំបូង",
   "Flags": "ទង់",
   "Follow_social_profiles": "តាម​ដាន​​​បណ្តា​គណនីបណ្តាញ​សង្គម​របស់​យើង​, មើល​យើង​លើ​ github និង​ចែក​រំលែក​បទពិសោធន៍​របស់​អ្នក​ជាមួយ​ rocket.chat app នៅ​លើ​ក្តារឃៀន​របស់​យើង",
   "Fonts": "ពុម្ពអក្សរ",
@@ -1255,6 +1314,7 @@
   "Help_Center": "មជ្ឈមណ្ឌល​ជំនួយ",
   "Helpers": "អ្នកជួយ",
   "Hex_Color_Preview": "មើលពណ៌ពណ៌បៃតង",
+  "Hi_username": "សួស្តី __name__",
   "Hidden": "លាក់",
   "Hide_Avatars": "លាក់អវីតាស",
   "Hide_counter": "លាក់រាប់",
@@ -1280,6 +1340,8 @@
   "How_responsive_was_the_chat_agent": "តើធ្វើដូចម្តេចឆ្លើយតបភ្នាក់ងារជជែកកំសាន្តនោះ?",
   "How_satisfied_were_you_with_this_chat": "តើអ្នកពេញចិត្តនាក់អ្នកជាមួយនឹងការជជែកនេះ?",
   "How_to_handle_open_sessions_when_agent_goes_offline": "វិធីដោះស្រាយពេលបើកចំហនៅពេលដែលភ្នាក់ងារដើរក្រៅប្រព័ន្ធ",
+  "I_ll_do_it_later": "ខ្ញុំនឹងធ្វើវានៅពេលក្រោយ",
+  "I_saved_my_password_close_this_message": "ខ្ញុំបានរក្សាទុកពាក្យសម្ងាត់របស់ខ្ញុំ, បិទសារនេះ",
   "Idle_Time_Limit": "ដែនកំណត់ពេលវេលាទំនេរ",
   "Idle_Time_Limit_Description": "រយៈពេលនៃពេលវេលារហូតដល់ស្ថានភាពផ្លាស់ប្តូរទៅឆ្ងាយ។ តម្លៃត្រូវការជាវិនាទី។",
   "if_they_are_from": "(ប្រសិនបើពួកគេមកពី% s)",
@@ -1287,6 +1349,7 @@
   "If_you_are_sure_type_in_your_password": "ប្រសិនបើអ្នកមានប្រភេទប្រាកដថាពាក​​្យសម្ងាត់របស់អ្នក:",
   "If_you_are_sure_type_in_your_username": "ប្រសិនបើអ្នកមានប្រភេទប្រាកដថានៅក្នុងឈ្មោះអ្នកប្រើប្រាស់របស់អ្នក:",
   "If_you_dont_have_one_send_an_email_to_omni_rocketchat_to_get_yours": "ប្រសិនបើអ្នកមិនមាននរណាម្នាក់ផ្ញើរអ៊ីមែលទៅ [omni@rocket.chat] (mailto: omni@rocket.chat) ដើម្បីទទួលបានរបស់អ្នក។",
+  "If_you_didnt_ask_for_reset_ignore_this_email": "ប្រសិនបើអ្នកមិនបានសួររកការកំណត់ពាក្យសម្ងាត់របស់អ្នកឡើងវិញទេ, អ្នកអាចមិនអើពើនឹងអ៊ីម៉ែលនេះ។",
   "Iframe_Integration": "ការបញ្ចូល Iframe",
   "Iframe_Integration_receive_enable": "បើកដំណើរការទទួល",
   "Iframe_Integration_receive_enable_Description": "អនុញ្ញាតបង្អួចមេដើម្បីផ្ញើពាក្យបញ្ជាទៅកាន់ Rocket.Chat ។",
@@ -1333,6 +1396,7 @@
   "Industry": "ឧស្សាហកម្ម",
   "initials_avatar": "ដំបូងតួអក្សរ",
   "inline_code": "inline_code",
+  "Install": "ដំឡើង",
   "Install_Extension": "ដំឡើងផ្នែកបន្ថែម",
   "Install_FxOs": "ដំឡើង Rocket.Chat នៅ​លើ Firefox របស់​អ្នក",
   "Install_FxOs_done": "អស្ចារ្យណាស់ឥឡូវអ្នកអាចប្រើប្រាស់ Rocket.Chat តាមរយៈ Icon នៅលើ Homescreen។ សូមរីករាយជាមួយ Rocket.Chat!",
@@ -1341,8 +1405,10 @@
   "Install_package": "ដំឡើងកញ្ចប់",
   "Installation": "ការដំឡើង",
   "Installed_at": "បានដំឡើងនៅក្នុង",
+  "Invitation_HTML": "ការអញ្ជើញទម្រង់ HTML",
   "Instance_Record": "កំណត់ត្រាជាមុន",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "សេចក្តីណែនាំអំពីការទៅទស្សនារបស់អ្នកបំពេញសំណុំបែបបទដើម្បីផ្ញើសារ",
+  "Invitation_HTML_Default": "<h1>អ្នកបានត្រូវអញ្ជើញទៅ <strong>[Site_Name]</strong></h1><p> ចូរទៅទៅ [Site_URL] និងព្យាយាមដំណោះស្រាយប្រភពបើកចំហជជែកកំសាន្តដែលអាចប្រើបានល្អបំផុតនាពេលបច្ចុប្បន្ននេះ! </p>",
   "Insurance": "ការធានារ៉ាប់រង",
   "Integration_added": "បានបន្ថែមសមាហរណកម្ម",
   "Integration_Advanced_Settings": "ការកំណត់កម្រិតខ្ពស់",
@@ -1408,9 +1474,7 @@
   "invisible": "មិន​បង្ហាញ",
   "Invisible": "មិន​បង្ហាញ",
   "Invitation": "ការអញ្ជើញ",
-  "Invitation_HTML": "ការអញ្ជើញទម្រង់ HTML",
-  "Invitation_HTML_Default": "<h1>អ្នកបានត្រូវអញ្ជើញទៅ <strong>[Site_Name]</strong></h1><p> ចូរទៅទៅ [Site_URL] និងព្យាយាមដំណោះស្រាយប្រភពបើកចំហជជែកកំសាន្តដែលអាចប្រើបានល្អបំផុតនាពេលបច្ចុប្បន្ននេះ! </p>",
-  "Invitation_HTML_Description": "អ្នកអាចប្រើកន្លែងដាក់ខាងក្រោម: <br/><ul><li> [email] សម្រាប់អ៊ីម៉ែលអ្នកទទួល។ </li><li> [Site_Name] និង [Site_URL] សម្រាប់ឈ្មោះកម្មវិធីនិង URL រៀងគ្នា។ </li></ul>",
+  "Invitation_Email_Description": "អ្នកអាចប្រើកន្លែងដាក់ខាងក្រោម: <br/><ul><li> [email] សម្រាប់អ៊ីម៉ែលអ្នកទទួល។ </li><li> [Site_Name] និង [Site_URL] សម្រាប់ឈ្មោះកម្មវិធីនិង URL រៀងគ្នា។ </li></ul>",
   "Invitation_Subject": "ប្រធានបទការអញ្ជើញ",
   "Invitation_Subject_Default": "អ្នកបានត្រូវអញ្ជើញទៅ [Site_Name]",
   "Invite_user_to_join_channel": "អញ្ចើញអ្នកប្រើប្រាស់ម្នាក់ដើម្បីចូលរួមប៉ុស្តិ៍នេះ",
@@ -1471,13 +1535,15 @@
   "Katex_Parenthesis_Syntax_Description": "អនុញ្ញាតឱ្យប្រើ \\ [ប្លុក katex \\] និង \\ (ក្នុងតួ katex \\) វាក្យសម្ព័ន្ធ",
   "Keep_default_user_settings": "រក្សាការកំណត់លំនាំដើម",
   "Keyboard_Shortcuts_Edit_Previous_Message": "កែសម្រួលសារមុន",
-  "Keyboard_Shortcuts_Keys_1": "<kbd>បញ្ជា</kbd>+ <kbd>ទំ</kbd>",
+  "Keyboard_Shortcuts_Keys_1": "<kbd>បញ្ជា</kbd> (ឬ <kbd>Ctrl</kbd>) + <kbd>p</kbd> ឬ<kbd>បញ្ជា</kbd> (ឬ <kbd>Ctrl</kbd>) + <kbd>k</kbd>",
   "Keyboard_Shortcuts_Keys_2": "<kbd>ព្រួញឡើងលើ</kbd>",
   "Keyboard_Shortcuts_Keys_3": "<kbd>ពាក្យបញ្ជា</kbd>(ឬ <kbd>ជំនួស</kbd>) + <kbd>ព្រួញឆ្វេង</kbd>",
   "Keyboard_Shortcuts_Keys_4": "<kbd>ពាក្យបញ្ជា</kbd>(ឬ <kbd>ជំនួស</kbd>) + <kbd>ព្រួញឡើងលើ</kbd>",
   "Keyboard_Shortcuts_Keys_5": "<kbd>ពាក្យបញ្ជា</kbd>(ឬ <kbd>ជំនួស</kbd>) + <kbd>ព្រួញស្ដាំ</kbd>",
   "Keyboard_Shortcuts_Keys_6": "<kbd>ពាក្យបញ្ជា</kbd>(ឬ <kbd>ជំនួស</kbd>) + <kbd>ចុះក្រោម</kbd>",
   "Keyboard_Shortcuts_Keys_7": "<kbd>ប្ដូរ</kbd>+ <kbd>បញ្ចូល</kbd>",
+  "Keyboard_Shortcuts_Keys_8": " <kbd>Shift (ឬ Ctrl) + ESC</kbd>",
+  "Keyboard_Shortcuts_Mark_all_as_read": "សម្គាល់សារទាំងអស់ (នៅគ្រប់បណ្តាញទាំងអស់) ថាបានអាន",
   "Keyboard_Shortcuts_Move_To_Beginning_Of_Message": "ផ្លាស់ទីទៅដើមនៃសារ",
   "Keyboard_Shortcuts_Move_To_End_Of_Message": "ផ្លាស់ទីទៅចុងបញ្ចប់នៃសារ",
   "Keyboard_Shortcuts_New_Line_In_Message": "បន្ទាត់ថ្មីក្នុងសារបញ្ចូលការបញ្ចូល",
@@ -1491,6 +1557,7 @@
   "Last_login": "ចូល​លើក​មុន",
   "Last_Message_At": "សារចុងក្រោយនៅ",
   "Last_seen": "គេមើលឃើញចុងក្រោយនេះ",
+  "Last_token_part": "ផ្នែកនិមិត្តសញ្ញាចុងក្រោយ",
   "Last_Message": "សារចុងក្រោយ",
   "Launched_successfully": "បានបើកដោយជោគជ័យ",
   "Layout": "ប្លង់",
@@ -1518,7 +1585,7 @@
   "LDAP_CA_Cert": "CA បានវិញ្ញាបនបត្រ",
   "LDAP_Connect_Timeout": "អស់ពេលការតភ្ជាប់ (ms)",
   "LDAP_Default_Domain": "ដែនលំនាំដើម",
-  "LDAP_Default_Domain_Description": "ប្រសិនបើបានផ្តល់ដែនលំនាំដើមនឹងត្រូវបានប្រើដើម្បីបង្កើតអ៊ីមែលតែមួយគត់សម្រាប់អ្នកប្រើដែលអ៊ីមែលមិនត្រូវបាននាំចូលពី LDAP ។ អ៊ីមែលនឹងត្រូវបានភ្ជាប់ជា 'ឈ្មោះអ្នកប្រើ @ default_domain` ឬ `unique_id @ default_domain` ។ ឧទាហរណ៍ <rocket.chat> ។",
+  "LDAP_Default_Domain_Description": "ប្រសិនបើបានបញ្ចូល Default Domain នោះវានឹងត្រូវបានប្រើប្រាស់ ដើម្បីបង្កើតអ៊ីមែលតែ១គត់ សម្រាប់អ្នកប្រើប្រាស់ទាំងអស់ ដែលអ៊ីមែលនោះមិនមែននាំចូលពី LDAP។ អ៊ីមែលនឹងត្រូវបានភ្ជាប់ជា `username@default_domain` or `unique_id@default_domain`។ <br/> ឧទាហរណ៍៖ `rocket.chat`",
   "LDAP_Description": "LDAP គឺជាលំដាប់ក្នុងទូផ្ទុកទិន្នន័យដែលផ្ទុកព័ត៌មានក្រុមហ៊ុនជាច្រើនដែលប្រើប្រាស់ដើម្បីធ្វើការ Authentication ដោយប្រើប្រាស់ Username និង Password រវាង Site ជាច្រើន និងសេវាកម្មផ្សេងៗ។ ព័ត៌មានអំពីការកំណត់កម្រិតខ្ពស់ និងឧទាហរណ៍សូមចូលទៅកាន់វីគី https://rocket.chat/docs/administrator-guides/authentication/ldap/",
   "LDAP_Enable": "អនុញ្ញាតិ LDAP",
   "LDAP_Enable_Description": "ព្យាយាមប្រើប្រាស់ LDAP ក្នុងការផ្ទៀងផ្ទាត់គណនី",
@@ -1605,6 +1672,7 @@
   "Livechat_managers": "អ្នកចាត់ការទូទៅ Livechat",
   "Livechat_offline": "ក្រៅបណ្តាញ Livechat",
   "Livechat_online": "Livechat លើបណ្តាញ",
+  "Livechat_offline_message_sent": "សារ Livechat ក្រៅបណ្តាញបានផ្ញើរ",
   "Livechat_open_inquiery_show_connecting": "បង្ហាញការភ្ជាប់ទំនាក់ទំនងជំនួសឱ្យការបញ្ចូលនៅពេលដែលភ្ញៀវមិនទាន់ភ្ជាប់ទៅភ្នាក់ងារ",
   "Livechat_Queue": "ជួរ Livechat",
   "Livechat_registration_form": "សំណុំបែបបទការចុះឈ្មោះ",
@@ -1613,6 +1681,7 @@
   "Livechat_Take_Confirm": "តើអ្នកចង់យកម៉ាស៊ីនកូននេះទេ?",
   "Livechat_title": "ចំណង​ជើង LiveChat",
   "Livechat_title_color": "ពណ៌ផ្ទៃខាងក្រោយចំណងជើង LiveChat",
+  "Livechat_transcript_sent": "ប្រតិចារិក Livechat ត្រូវបានផ្ញើ",
   "Livechat_Users": "អ្នកប្រើ Livechat",
   "Livestream_close": "បិទការផ្សាយបន្តផ្ទាល់",
   "Livestream_enable_audio_only": "បើកដំណើរការតែរបៀបអូឌីយ៉ូ",
@@ -1645,6 +1714,9 @@
   "Logistics": "ភស្តុភារ",
   "Logout": "ចាក​ចេញ",
   "Logout_Others": "ចេញពីអ្នកផ្សេងទៀតនៅក្នុងទីតាំង",
+  "Longest_chat_duration": "រយៈពេលជជែកវែងបំផុត",
+  "Longest_reaction_time": "ពេលវេលាឆ្លើយតបដ៏វែងបំផុត",
+  "Longest_response_time": "ពេលវេលាឆ្លើយតបដ៏វែងបំផុត",
   "mail-messages": "សារសំបុត្រ",
   "mail-messages_description": "សិទ្ធិដើម្បីប្រើជម្រើសសារសំបុត្រ",
   "Mail_Message_Invalid_emails": "អ្នកបានផ្តល់អ៊ីម៉ែលមួយឬច្រើនជាងនេះមិនត្រឹមត្រូវ: %s បាន",
@@ -1681,6 +1753,7 @@
   "MapView_Enabled_Description": "បើកទិដ្ឋភាពផែនទីនឹងបង្ហាញប៊ូតុងចែករំលែកទីតាំងនៅខាងឆ្វេងនៃវាលបញ្ចូលការជជែក។",
   "MapView_GMapsAPIKey": "កូនសោ API ផែនទី Google Static",
   "MapView_GMapsAPIKey_Description": "នេះអាចទទួលបានពី Google Developers Console ដោយមិនគិតថ្លៃ។",
+  "Mark_all_as_read": "សម្គាល់សារទាំងអស់ (នៅគ្រប់បណ្តាញទាំងអស់) ថាបានអាន",
   "Mark_as_read": "សម្គាល់​ថា​បាន​អាន",
   "Mark_as_unread": "សម្គាល់ថាមិនទាន់អាន",
   "Markdown_Headers": "បឋមកថា Markdown",
@@ -1830,6 +1903,7 @@
   "New_Password_Placeholder": "សូមបញ្ចូលពាក្យសម្ងាត់ថ្មី ...",
   "Confirm_new_password": "បញ្ជាក់​លេខសំងាត់​ថ្មី",
   "Confirm_New_Password_Placeholder": "សូមបញ្ចូលពាក្យសម្ងាត់ថ្មីម្តងទៀត ...",
+  "New_encryption_password": "ពាក្យសម្ងាត់ការបំលែងកូដថ្មី",
   "New_role": "តួនាទីថ្មី",
   "New_Room_Notification": "បន្ទប់ថ្មីលោតបង្ហាញ",
   "New_Trigger": "គន្លឹះថ្មី",
@@ -1915,6 +1989,7 @@
   "Oops_page_not_found": "អូបរកមិនឃើញទំព័រទេ",
   "Open": "បើកទូលាយ",
   "Open_channel_user_search": "`%s` - បើកការស្វែងរកប៉ុស្តិ៍ / អ្នកប្រើ",
+  "Open_conversations": "បើកការសន្ទនា",
   "Open_days_of_the_week": "បើកថ្ងៃនៃសប្តាហ៍",
   "Open_Livechats": "បើក Livechats",
   "Open_your_authentication_app_and_enter_the_code": "បើកកម្មវិធីផ្ទៀងផ្ទាត់របស់អ្នកហើយបញ្ចូលកូដ។ អ្នកក៏អាចប្រើលេខកូដបម្រុងទុកមួយរបស់អ្នកផងដែរ។",
@@ -1957,6 +2032,7 @@
   "People": "មនុស្ស",
   "Permalink": "permalink",
   "Permissions": "សិទ្ធិ",
+  "Personal_Access_Tokens": "និមិត្តសញ្ញាចូលប្រើផ្ទាល់ខ្លួន",
   "pin-message": "ពិន​ព្រះរាជសារ",
   "pin-message_description": "សិទ្ធិក្នុងការភ្ជាប់សារនៅក្នុងឆានែល",
   "Pin_Message": "ខ្ទាស់សារ",
@@ -1986,6 +2062,7 @@
   "Please_fill_a_username": "សូមបំពេញឈ្មោះអ្នកប្រើ",
   "Please_fill_all_the_information": "សូមបំពេញព័ត៌មានទាំងអស់",
   "Please_fill_name_and_email": "សូមបំពេញឈ្មោះនិងអ៊ីម៉ែល",
+  "Please_fill_a_token_name": "សូមបញ្ចូលឈ្មោះធូកខិនដែលត្រឹមត្រូវ",
   "Please_go_to_the_Administration_page_then_Livechat_Facebook": "សូមចូលទៅកាន់ទំព័ររដ្ឋបាលបន្ទាប់មក Livechat> Facebook",
   "Please_select_an_user": "សូមជ្រើសអ្នកប្រើ",
   "Please_select_enabled_yes_or_no": "សូមជ្រើសជម្រើសមួយសម្រាប់ការបើក",
@@ -2004,6 +2081,8 @@
   "Preferences_saved": "ចំណង់​ចំណូល​ចិត្ត​ដែល​បាន​រក្សាទុក",
   "preview-c-room": "មើលប៉ុស្តិ៍សាធារណៈ",
   "preview-c-room_description": "ការអនុញ្ញាតដើម្បីមើលមាតិកានៃប៉ុស្តិ៍សាធារណៈមុនពេលចូលរួម",
+  "Previous_month": "ខែមុន",
+  "Previous_week": "សប្ដាហ៍មុន",
   "Privacy": "ឯកជនភាព",
   "Private": "ឯកជន",
   "Private_Channel": "ឆានែលឯកជន",
@@ -2011,6 +2090,7 @@
   "Private_Groups": "ក្រុម​ឯកជន",
   "Private_Groups_list": "បញ្ជី​នៃ​ក្រុម​ឯកជន",
   "Private_Team": "ក្រុមឯកជន",
+  "Productivity": "ផលិតភាព",
   "Profile": "ព​ត៌​មាន​ផ្ទាល់​ខ្លួន",
   "Profile_details": "ពត៌មានលំអិត",
   "Profile_picture": "រូបភាពពត៌មាន",
@@ -2032,6 +2112,7 @@
   "Public_Community": "សហគមន៍សាធារណៈ",
   "Public_Relations": "ទំនាក់ទំនង​សាធារណៈ",
   "Push": "រុញ",
+  "Push_Setting_Requires_Restart_Alert": "ការកែប្រែទិន្នន័យទាំងនេះត្រូវបើក Rocket.Chat ឡើងវិញ .",
   "Push_apn_cert": "វិញ្ញាបនប័ត្រ APN",
   "Push_apn_dev_cert": "វិញ្ញាបនប័ត្រអ្នក​អភិវឌ្ឍន៍ APN",
   "Push_apn_dev_key": "សោរអ្នក​អភិវឌ្ឍន៍ APN",
@@ -2066,6 +2147,7 @@
   "Read_only_group": "អានតែក្រុម",
   "Real_Estate": "អចលន​ទ្រព្យ",
   "RealName_Change_Disabled": "អ្នកគ្រប់គ្រង Rocket.Chat របស់អ្នកបានបិទការប្តូរឈ្មោះ",
+  "Real_Time_Monitoring": "តាមដានទាន់ពេល",
   "Reason_To_Join": "ហេតុផលដើម្បីចូលរួម",
   "Receive_alerts": "ទទួលការដាស់តឿន",
   "Receive_Group_Mentions": "ទទួលយក @all និង @ mentions",
@@ -2153,8 +2235,9 @@
   "RetentionPolicyRoom_FilesOnly": "លុបឯកសារតែរក្សាសារ",
   "RetentionPolicyRoom_MaxAge": "អាយុសារអតិបរមាក្នុងថ្ងៃ (លំនាំដើម __max__)",
   "RetentionPolicyRoom_OverrideGlobal": "បដិសេធគោលនយោបាយរក្សាពិភពលោក",
-  "RetentionPolicyRoom_ReadTheDocs": "ប្រយ័ត្ន​! ការកែសម្រួលការកំណត់ទាំងនេះដោយគ្មានការថែរក្សាយ៉ាងខ្លាំងអាចបំផ្លាញប្រវត្តិសារទាំងអស់។ សូមអានឯកសារមុនពេលបើកលក្ខណៈពិសេសនៅលើ <a href = 'https: //rocket.chat/docs/administrator-guides/retention-policies/'>នៅទីនេះ</a>។",
+  "RetentionPolicyRoom_ReadTheDocs": "ប្រយ័ត្ន! ការកំណត់លឿនពេក ដោយមិនបានយកចិត្តទុកដាក់អាចលប់ចោលគ្រប់ប្រវត្តិសារទាំងអស់។ សូមអានការណែនាំមុនពេលបើកដំណើរការមុខងារទាំងនេះ  <a href=\"https://rocket.chat/docs/administrator-guides/retention-policies/\">នៅទីនេះ</a>។",
   "Retry_Count": "ព្យាយាមរាប់ឡើងវិញ",
+  "Robot_Instructions_File_Content": "អត្ថបទខាងក្នុងឯកសារ Robots.txt",
   "Role": "តួនាទី",
   "Role_Editing": "តួនាទីការកែសម្រួល",
   "Role_removed": "តួនាទីបានយកចេញ",
@@ -2189,6 +2272,7 @@
   "Room_uploaded_file_list": "បញ្ជី​ឯកសារ",
   "Room_uploaded_file_list_empty": "ពុំមានឯកសារដែលអាចប្រើបាន។",
   "Rooms": "បន្ទប់",
+  "Run_only_once_for_each_visitor": "ដំណើរការតែនៅលើអ្នកទស្សនាម្នាក់ៗ",
   "run-import": "ដំណើរការការនាំចូល",
   "run-import_description": "ការអនុញ្ញាតឱ្យដំណើរការអ្នកនាំចូល",
   "run-migration": "រត់ការធ្វើចំណាកស្រុក",
@@ -2200,6 +2284,7 @@
   "Same_Style_For_Mentions": "រចនាប័ទ្មដូចគ្នាសម្រាប់ការលើកឡើង",
   "SAML": "ប្រើ SAML",
   "SAML_Custom_Cert": "វិញ្ញាបនបត្រ​ផ្ទាល់ខ្លួន",
+  "SAML_Custom_Debug": "បើកបញ្ហាញកំហុស",
   "SAML_Custom_Entry_point": "ចំណុចធាតុផ្ទាល់ខ្លួន",
   "SAML_Custom_Generate_Username": "គណនាឈ្មោះអ្នកប្រើប្រាស់",
   "SAML_Custom_IDP_SLO_Redirect_URL": "IDP SLO ប្តូរទិស URL",
@@ -2218,6 +2303,8 @@
   "Save_changes": "រក្សា​ទុក​ការ​ផ្លាស់​ប្តូ​រ",
   "Save_Mobile_Bandwidth": "រក្សាទុកកម្រិតបញ្ជូនតាមទូរស័ព្ទដៃ",
   "Save_to_enable_this_action": "រក្សាទុកដើម្បីបើកសកម្មភាពនេះ",
+  "Save_To_Webdav": "រក្សាទុកទៅ WebDAV",
+  "Save_your_encryption_password": "រក្សាទុកពាក្យសម្ងាត់សំរាប់បំលែងកូដថ្មីរបស់អ្នក",
   "Saved": "ដែលបានរក្សាទុក",
   "Saving": "កំពុងរក្សាទុក",
   "Scan_QR_code": "ប្រើកម្មវិធីផ្ទៀងផ្ទាត់ដូចជា Google Authenticator, Authy ឬ Duo, ស្កេនកូដ QR ។ វានឹងបង្ហាញលេខកូដ 6 ខ្ទង់ដែលអ្នកត្រូវការបញ្ចូលខាងក្រោម។",
@@ -2422,6 +2509,7 @@
   "Survey_instructions": "អត្រាសំណួរគ្នាយោងទៅតាមការពេញចិត្តរបស់អ្នក, 1 មានន័យថាអ្នកគឺជាអ្នកមិនទាន់បានដោះស្រាយទាំងស្រុងនិង 5 មានន័យថាអ្នកគឺជាអ្នកពេញចិត្តទាំងស្រុង។",
   "Symbols": "និមិត្តសញ្ញា",
   "Sync_in_progress": "ការធ្វើសមកាលកម្មកំពុងដំណើរការ",
+  "Sync_Interval": "ធ្វើសមកាលកម្មចន្លោះពេល",
   "Sync_success": "ការទទួលបានជោគជ័យធ្វើសមកាលកម្ម",
   "Sync_Users": "អ្នកប្រើសមកាលកម្ម",
   "System_messages": "សារប្រព័ន្ធ",
@@ -2429,6 +2517,7 @@
   "Take_it": "យកវាទៅ!",
   "TargetRoom": "បន្ទប់គោលដៅ",
   "TargetRoom_Description": "បន្ទប់ដែលសារនឹងត្រូវបានផ្ញើដែលជាលទ្ធផលនៃព្រឹត្តិការណ៍នេះត្រូវបានបញ្ឈប់។ មានតែបន្ទប់គោលដៅតែមួយប៉ុណ្ណោះដែលត្រូវបានអនុញ្ញាតហើយវាត្រូវតែមាន។",
+  "Target user not allowed to receive messages": "គោលដៅអ្នកប្រើប្រាស់មិនបានអនុញ្ញាតិ ដើម្បីទទួលសារ",
   "Team": "ក្រុម",
   "Technology_Provider": "អ្នកផ្តល់បច្ចេកវិទ្យា",
   "Technology_Services": "សេវាបច្ចេកវិទ្យា",
@@ -2496,19 +2585,24 @@
   "There_are_no_applications": "មិនមានកម្មវិធី oAuth ត្រូវបានបន្ថែមទេ។",
   "There_are_no_applications_installed": "បច្ចុប្បន្នមិនមានកម្មវិធី Rocket.Chat បានដំឡើងឡើយ។",
   "There_are_no_integrations": "មានរួមបញ្ចូលទេ",
+  "There_are_no_personal_access_tokens_created_yet": "និមិត្តសញ្ញាចូលប្រើប្រាស់ផ្ទាល់ខ្លួនមិនទាន់បានបង្កើត។",
   "There_are_no_users_in_this_role": "មានអ្នកប្រើប្រាស់នៅក្នុងតួនាទីនេះទេ។",
   "This_conversation_is_already_closed": "ការសន្ទនានេះត្រូវបានបិទរួចហើយ។",
   "This_email_has_already_been_used_and_has_not_been_verified__Please_change_your_password": "អ៊ីមែលនេះត្រូវបានប្រើរួចទៅហើយហើយមិនត្រូវបានផ្ទៀងផ្ទាត់។ សូមផ្លាស់ប្តូរពាក្យសម្ងាត់របស់អ្នក។",
   "This_is_a_desktop_notification": "នេះគឺជាការជូនដំណឹងផ្ទៃតុ",
   "This_is_a_push_test_messsage": "នេះគឺជាការធ្វើតេស្តការជំរុញ messsage",
+  "This_month": "ខែ​នេះ",
   "This_room_has_been_archived_by__username_": "បន្ទប់នេះត្រូវបានទុកក្នុងប័ណ្ណសារដោយ __username__",
   "This_room_has_been_unarchived_by__username_": "បន្ទប់នេះត្រូវបាន unarchived ដោយ __username__",
+  "This_week": "ស​ប្តា​ហ៍​នេះ",
   "Thursday": "ព្រហស្បតិ៍",
   "Time_in_seconds": "ពេលវេលានៅក្នុងវិនាទី",
   "Title": "ចំណងជើង",
   "Title_bar_color": "ប៍នរបារចំណងជើង",
   "Title_bar_color_offline": "ចំណងជើងណ៍របារក្រៅបណ្តាញ",
   "Title_offline": "ចំណងជើងក្រៅបណ្តាញ",
+  "To": "ទៅ",
+  "Today": "ថ្ងៃនេះ",
   "To_additional_emails": "ទៅកាន់អ៊ីម៉ែលបន្ថែម",
   "To_install_RocketChat_Livechat_in_your_website_copy_paste_this_code_above_the_last_body_tag_on_your_site": "ដើម្បីដំឡើង Rocket.Chat Livechat នៅក្នុងគេហទំព័ររបស់អ្នក, ចម្លងនិងបិទភ្ជាប់កូដខាងលើ <strong>&lt;/body&gt;</strong> tag ចុងក្រោយនៅលើតំបន់បណ្ដាញរបស់អ្នកនេះ។",
   "to_see_more_details_on_how_to_integrate": "ដើម្បីមើលលម្អិតបន្ថែមទៀតលើរបៀបបញ្ចូល។",
@@ -2527,6 +2621,9 @@
   "Tokens_Required_Input_Error": "ថូខឹនដែលបានវាយបញ្ចូលមិនត្រឹមត្រូវ។",
   "Tokens_Required_Input_Placeholder": "ដាក់ឈ្មោះទ្រព្យសម្បត្តិ",
   "Topic": "ប្រធានបទ",
+  "Total_conversations": "ការសន្ទនាសរុប",
+  "Total_messages": "សារ​សរុប",
+  "Total_visitors": "អ្នកទស្សនាសរុប",
   "Tourism": "ទេសចរណ៍",
   "Transcript_Enabled": "សួរអ្នកទស្សនាថាតើពួកគេចង់បានប្រតិចារឹកបន្ទាប់ពីការជជែកបិទ",
   "Transcript_message": "សារដើម្បីបង្ហាញនៅពេលសួរអំពីប្រតិចារិក",
@@ -2582,12 +2679,15 @@
   "Unread_Rooms_Mode": "របៀប​បន្ទប់​ដែល​មិនទាន់​អាន",
   "Unread_Tray_Icon_Alert": "ថាសរូបតំណាងថាសដែលមិនទាន់អាន",
   "Unstar_Message": "ដាកផ្កាយចេញ",
+  "Update_to_version": "ទំនើបកម្មទៅ __version__",
   "Update_your_RocketChat": "ធ្វើបច្ចុប្បន្នភាព Rocket.Chat របស់អ្នក",
   "Updated_at": "ធ្វើបច្ចុប្បន្នភាពនៅ",
   "Upload_file_description": "ការពិពណ៌នាឯកសារ",
   "Upload_file_name": "ឈ្មោះ​ឯកសារ",
   "Upload_file_question": "ផ្ទុក​ឯកសារ​ឡើង​ឬ?",
+  "Upload_Folder_Path": "ផ្ទុកផ្លូវថតឡើង",
   "Upload_user_avatar": "ផ្ទុករូបតំនាង",
+  "Upload_From": "ផ្ទុកឡើងពី __name__",
   "Uploading_file": "ផ្ទុកឯកសារ ...",
   "Uptime": "អាចដំណើរការបានគ្រប់ពេលវេលា",
   "URL": "URL ដែល",
@@ -2598,6 +2698,7 @@
   "Use_initials_avatar": "ប្រើឈ្មោះ​អ្នក​ជា​ពិសេស",
   "Use_minor_colors": "ប្រើក្ដារលាយពណ៌តូចៗ (លំនាំដើមទទួលពណ៌សំខាន់ៗ)",
   "Use_service_avatar": "ប្រើ %s រូប",
+  "Verification_Email": "ចុច <a href=\"[Verification_Url]\" >នៅទីនេះ</a>ដើម្បីផ្ទៀងផ្ទាត់គណនីរបស់អ្នក។",
   "Use_this_username": "ប្រើ​ឈ្មោះ​នេះ",
   "Use_uploaded_avatar": "ប្រើ​រូប​បាន​ផ្ទុក​ឡើង",
   "Use_url_for_avatar": "ប្រើប្រាស់ URL សម្រាប់ Avatar",
@@ -2692,13 +2793,14 @@
   "UTF8_Names_Validation": "ឈ្មោះក្រៅ UTF8 សុពលភាព",
   "UTF8_Names_Validation_Description": "មិនអនុញ្ញាតឱ្យតួអក្សរពិសេសនិងចន្លោះ។ អ្នកអាចប្រើ - _ និង។ ប៉ុន្តែមិននៅចុងបញ្ចប់នៃឈ្មោះនេះ",
   "Validate_email_address": "ធ្វើឱ្យមានអាសយដ្ឋានអ៊ីមែលមានសុពលភាព",
+  "Verification_email_body": "អ្នកបានបង្កើតគណនីមួយដោយជោគជ័យនៅលើ [Site_Name] ។ សូមចុចលើប៊ូតុងខាងក្រោមដើម្បីបញ្ជាក់អាសយដ្ឋានអ៊ីមែលរបស់អ្នកហើយបញ្ចប់ការចុះឈ្មោះ។",
   "Verification": "ការផ្ទៀងផ្ទាត់",
   "Verification_Description": "អ្នកអាចប្រើកន្លែងដាក់ខាងក្រោម: <br/><ul><li>[Verification_Url] សម្រាប់ URL ផ្ទៀងផ្ទាត់។</li><li>[ឈ្មោះ], [fname], [lname] សម្រាប់ឈ្មោះអ្នកប្រើនាមត្រកូលឬនាមត្រកូលរៀងៗខ្លួន។</li><li>[អ៊ីមែល] សម្រាប់អ៊ីម៉ែលរបស់អ្នកប្រើ។</li><li>[Site_Name] និង [Site_URL] សម្រាប់ឈ្មោះកម្មវិធីនិង URL រៀងៗខ្លួន។</li></ul>",
-  "Verification_Email": "ចុច <a href=\"[Verification_Url]\" >នៅទីនេះ</a>ដើម្បីផ្ទៀងផ្ទាត់គណនីរបស់អ្នក។",
   "Verification_email_sent": "ការផ្ទៀងផ្ទាត់អ៊ីមែលផ្ញើ",
   "Verification_Email_Subject": "[Site_Name] - ផ្ទៀងផ្ទាត់គណនីរបស់អ្នក",
   "Verified": "បានផ្ទៀងផ្ទាត់",
   "Verify": "ផ្ទៀង​ផ្ទាត់",
+  "Verify_your_email": "ផ្ទៀងផ្ទាត់អ៊ីមែលរបស់អ្នក",
   "Version": "កំណែ",
   "Video_Chat_Window": "ការជជែកកំសាន្តជាវីដេអូ",
   "Video_Conference": "ស​ន្និ​សិ​ទ​វីដេអូ",
@@ -2745,6 +2847,7 @@
   "Viewing_room_administration": "រដ្ឋបាលកក់",
   "Visibility": "ភាពមើលឃើញ",
   "Visible": "ដែលអាចមើលឃើញ",
+  "Visit_Site_Url_and_try_the_best_open_source_chat_solution_available_today": "ទស្សនា __Site_URL__ ហើយព្យាយាមមើលដំណោះស្រាយផ្នែកជជែកកំសាន្តកូដបើកចំហដ៏ល្អបំផុត ដែលអាចរកបាននៅថ្ងៃនេះ!",
   "Visitor": "ចំនួនអ្នកទស្សនា",
   "Visitor_Info": "ព័តមានអ្នកទស្សនា",
   "Visitor_Navigation": "ចំនួនអ្នកទស្សនារុករក",
@@ -2755,6 +2858,13 @@
   "We_are_offline_Sorry_for_the_inconvenience": "យើងមាននៅក្រៅបណ្ដាញ។ សូមអភ័យទោសចំពោះការរំខាននេះ។",
   "We_have_sent_password_email": "យើងបាន​ផ្ញើរ​អ៊ីមែល​ជាមួយ​លំណែនាំ​ក្នុង​ការ​ប្តូរ​ឃ្លា​សម្ងាត់។ ប្រសិន​បើ​អ្នក​មិន​បាន​ទទួល​អ៊ី​មែល​ទេ​សូម​រួស​រាន់​មក​ទីនេះ​ ដើម្បី​ធ្វើ​វា​ម្តង​ទៀត​។",
   "We_have_sent_registration_email": "យើង​បាន​ផ្ញើរ​អ៊ីមែល​មួយ​ទៅ​អ្នក​ដើម្បី​បញ្ជាក់​ការ​បាន​ចុះ​ឈ្មោះ​។ ប្រសិន​បើ​អ្នក​មិន​បាន​ទទួល​អ៊ី​មែល​ទេ​សូម​រួស​រាន់​មក​ទីនេះ​ ដើម្បី​ធ្វើ​វា​ម្តង​ទៀត​។",
+  "WebDAV_Accounts": "គណនី WebDAV",
+  "Webdav_add_new_account": "បន្ថែមគណនី WebDAV ថ្មី",
+  "webdav-account-saved": "បានរក្សាទុកគណនី WebDAV",
+  "Webdav_Integration_Enabled": "ការរួមបញ្ចូល Webdav បានបើក",
+  "Webdav_Server_URL": "WebDAV ម៉ាស៊ីនមេចូលប្រើ URL",
+  "Webdav_Username": "ឈ្មោះអ្នកប្រើ WebDAV",
+  "Webdav_Password": "ពាក្យសម្ងាត់ WebDAV",
   "Webhook_URL": "URL ដែល Webhook",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "ការហៅអូឌីយ៉ូផ្ទាល់ពី%s",
@@ -2770,12 +2880,14 @@
   "Website": "វេបសាយ",
   "Wednesday": "ថ្ងៃពុធ",
   "Welcome": "ស្វាគមន៍ <em>%s</em>.",
+  "Welcome_to": "សូមស្វាគមន៍មកកាន់ _Site_Name_",
   "Welcome_to_the": "ស្វាគមន៍​មក​កាន់",
   "Why_do_you_want_to_report_question_mark": "ហេតុអ្វីបានជាអ្នកចង់រាយការណ៍?",
   "will_be_able_to": "នឹងអាច",
   "Worldwide": "ទូទាំងពិភពលោក",
   "Would_you_like_to_return_the_inquiry": "តើអ្នកចង់ត្រលប់ទៅសំណួរវិញទេ?",
   "Yes": "បាទ",
+  "Yesterday": "កាលពីម្សិលមិញ",
   "Yes_archive_it": "បាទ / ចាសទុកវាទុក!",
   "Yes_clear_all": "បាទ, សម្អាតចោលទាំងអស់",
   "Yes_delete_it": "បាទ លប់​វា!",
diff --git a/packages/rocketchat-i18n/i18n/ko.i18n.json b/packages/rocketchat-i18n/i18n/ko.i18n.json
index d0838c5a91db8956bd684bacc0ae53efc98da8a2..dd1d31c4d2f7413079e684d6c12a4367eb1341fa 100644
--- a/packages/rocketchat-i18n/i18n/ko.i18n.json
+++ b/packages/rocketchat-i18n/i18n/ko.i18n.json
@@ -1,10 +1,12 @@
 {
+  "403": "금지됨",
+  "500": "내부 서버 오류",
   "#channel": "#채널",
   "0_Errors_Only": "0 - 오류 만",
+  "12_Hour": "12 시간으로 표기",
   "1_Errors_and_Information": "1 - 오류 및 정보",
+  "24_Hour": "24 시간으로 표기",
   "2_Erros_Information_and_Debug": "2 - 오류, 정보 및 디버그",
-  "403": "금지됨",
-  "500": "내부 서버 오류",
   "@username": "@사용자명",
   "@username_message": "@사용자이름 <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__사용자는 더이상  __가설정한  __역할이 없습니다",
@@ -57,13 +59,13 @@
   "Accounts_Email_Approved": "[name]<br/><br/><p>귀하의 계정이 승인되었습니다.</p>",
   "Accounts_Email_Approved_Subject": "계정 승인 됨",
   "Accounts_Email_Deactivated": "[name]<br/><br/><p>계정이 비활성화되었습니다.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>에 오신 것을 환영합니다 <strong>[Site_Name]</strong></h1><p><a href=\"[Site_URL]\">[Site_URL]</a>로 이동하여 오늘날 최고의 오픈 소스 채팅 솔루션을보십시오! </p>",
   "Accounts_Email_Deactivated_Subject": "계정이 비활성화되었습니다.",
   "Accounts_EmailVerification": "이메일 확인",
   "Accounts_EmailVerification_Description": "이 기능을 사용하려면 SMTP설정이 올바르게 되어있는지 확인해주십시오.",
+  "Accounts_Enrollment_Email_Subject_Default": "[Site_Name] 에 오신 것을 환영합니다 ",
   "Accounts_Enrollment_Email": "등록된 이메일",
-  "Accounts_Enrollment_Email_Default": "<h1>에 오신 것을 환영합니다 <strong>[Site_Name]</strong></h1><p><a href=\"[Site_URL]\">[Site_URL]</a>로 이동하여 오늘날 최고의 오픈 소스 채팅 솔루션을보십시오! </p>",
   "Accounts_Enrollment_Email_Description": "다음의 기호를 사용할 수 있습니다:<br/> <ul><li>[lname] - 성, [name] - 이름, [fname] - 전체이름(성+이름)</li><li>[email] - 이메일</li><li>[Site_Name] - 응용프로그램의 이름, [Site_URL] - URL</li></ul>",
-  "Accounts_Enrollment_Email_Subject_Default": "[Site_Name] 에 오신 것을 환영합니다 ",
   "Accounts_ForgetUserSessionOnWindowClose": "창을 닫을때 사용자 세션을 삭제합니다",
   "Accounts_Iframe_api_method": "API 메소드",
   "Accounts_Iframe_api_url": "API URL",
@@ -177,12 +179,12 @@
   "Accounts_ShowFormLogin": "폼방식 로그인 보기",
   "Accounts_TwoFactorAuthentication_Enabled": "두 요소 인증 사용",
   "Accounts_TwoFactorAuthentication_MaxDelta": "최대 델타",
+  "Accounts_UserAddedEmail_Default": "<h1><strong>[Site_Name]</strong> 에 오신 것을 환영합니다</h1><p><a href=\"[Site_URL]\">[Site_URL]</a>로 이동하여 오늘날 최고의 오픈 소스 채팅 솔루션을 경험 해 보십시오! </p>\n<p> 이메일:[email] 과 비밀번호 : [password] 로 로그인 할 수 있습니다. 로그인 후에는 변경하셔야 합니다.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "최대 델타는 주어진 시간에 얼마나 많은 토큰이 유효한지 결정합니다. 토큰은 30 초마다 생성되며 (30 * 최대 델타) 초 동안 유효합니다. <br/>예 : 최대 델타를 10으로 설정하면 각 토큰은 타임 스탬프 전후에 최대 300 초까지 사용할 수 있습니다. 이 기능은 클라이언트의 시계가 서버와 올바르게 동기화되지 않은 경우에 유용합니다.",
   "Accounts_UseDefaultBlockedDomainsList": "기본 차단 도메인리스트 사용",
   "Accounts_UseDNSDomainCheck": "DNS 도메인 확인 사용",
-  "Accounts_UserAddedEmail_Default": "<h1><strong>[Site_Name]</strong> 에 오신 것을 환영합니다</h1><p><a href=\"[Site_URL]\">[Site_URL]</a>로 이동하여 오늘날 최고의 오픈 소스 채팅 솔루션을 경험 해 보십시오! </p>\n<p> 이메일:[email] 과 비밀번호 : [password] 로 로그인 할 수 있습니다. 로그인 후에는 변경하셔야 합니다.",
-  "Accounts_UserAddedEmail_Description": "다음의 기호를 사용할 수 있습니다:<br/><ul><li>[lname] - 성, [name] - 이름, [fname] - 전체이름(성+이름) </li><li>[email] - 사용자 이메일</li><li>[password] - 사용자 암호</li><li>[Site_Name] - 응용프로그램의 이름, [Site_URL] - URL</li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "당신이은 [Site_Name] 에 추가되었습니다",
+  "Accounts_UserAddedEmail_Description": "다음의 기호를 사용할 수 있습니다:<br/><ul><li>[lname] - 성, [name] - 이름, [fname] - 전체이름(성+이름) </li><li>[email] - 사용자 이메일</li><li>[password] - 사용자 암호</li><li>[Site_Name] - 응용프로그램의 이름, [Site_URL] - URL</li></ul>",
   "Activate": "활성화",
   "Activity": "활동",
   "Add": "추가",
@@ -238,6 +240,7 @@
   "Allow_Marketing_Emails": "마케팅 이메일 허용",
   "Alphabetical": "알파벳순",
   "Always_open_in_new_window": "항상 새창에서 열기",
+  "Analytics": "분석(에널리틱스)",
   "Analytics_features_enabled": "기능이 활성화 되었습니다",
   "Analytics_features_messages_Description": "사용자의 메시지에 대해 수행 행동과 관련된 사용자 정의 이벤트를 추적합니다.",
   "Analytics_features_rooms_Description": "채널 또는 그룹에 대한 작업에 관련된 사용자 정의 이벤트를 추적합니다. (생성, 채널나감, 삭제)",
@@ -816,6 +819,7 @@
   "Created_at_s_by_s_triggered_by_s": "<strong>%s</strong> 에 트리거 된 <strong>%s</strong> 에 의해 <strong> %s </strong> 에 생성됨",
   "CRM_Integration": "CRM Integration",
   "CROWD_Reject_Unauthorized": "인증되지않은 것 거부",
+  "Crowd_sync_interval_Description": "동기화 간격. 예를 들어 '매 24 시간마다'또는 '주의 첫날에', [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)에서 더 많은 예제를 볼 수 있습니다.",
   "Current_Chats": "현재 채팅",
   "Current_Status": "현재 상태",
   "Custom": "맞춤",
@@ -1339,8 +1343,10 @@
   "Install_package": "패키지 설치",
   "Installation": "설치",
   "Installed_at": "설치",
+  "Invitation_HTML": "HTML 초대 페이지",
   "Instance_Record": "인스턴스 레코드",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "방문자에 명령 메시지를 전송하는 폼을 채우",
+  "Invitation_HTML_Default": "<h1>당신은에 초대되었습니다 <strong>[Site_Name]</strong></h1><p> [Site_URL]로 이동하여 오늘날 최고의 오픈 소스 채팅 솔루션을보십시오! </p>",
   "Insurance": "ë³´í—˜",
   "Integration_added": "통합이 추가되었습니다",
   "Integration_Advanced_Settings": "고급 설정",
@@ -1406,9 +1412,7 @@
   "invisible": "보이지 않음",
   "Invisible": "보이지 않음",
   "Invitation": "초대",
-  "Invitation_HTML": "HTML 초대 페이지",
-  "Invitation_HTML_Default": "<h1>당신은에 초대되었습니다 <strong>[Site_Name]</strong></h1><p> [Site_URL]로 이동하여 오늘날 최고의 오픈 소스 채팅 솔루션을보십시오! </p>",
-  "Invitation_HTML_Description": "다음과 같은 자리를 사용할 수 있습니다 : <br/><ul><li> 받는 사람의 이메일 [email]. </li><li> [Site_Name]와 [Site_URL] 각각 응용 프로그램 이름 및 URL합니다. </li></ul>",
+  "Invitation_Email_Description": "다음과 같은 자리를 사용할 수 있습니다 : <br/><ul><li> 받는 사람의 이메일 [email]. </li><li> [Site_Name]와 [Site_URL] 각각 응용 프로그램 이름 및 URL합니다. </li></ul>",
   "Invitation_Subject": "초대 제목",
   "Invitation_Subject_Default": "당신이 초대되었다 [Site_Name]",
   "Invite_user_to_join_channel": "이 채널로 초대한 사용자 참여",
@@ -2525,6 +2529,7 @@
   "Tokens_Required_Input_Error": "입력 된 토큰이 잘못되었습니다.",
   "Tokens_Required_Input_Placeholder": "토큰 자산 이름",
   "Topic": "이야기",
+  "Total_messages": "전체 메시지",
   "Tourism": "관광 여행",
   "Transcript_Enabled": "채팅 종료 후 대본을 원하면 방문자에게 물어보십시오.",
   "Transcript_message": "성적 증명서를 요구할 때 표시 할 메시지",
@@ -2585,6 +2590,7 @@
   "Upload_file_description": "파일 설명",
   "Upload_file_name": "파일 이름",
   "Upload_file_question": "파일을 업로드하시겠습니까?",
+  "Upload_Folder_Path": "폴더 경로 업로드",
   "Upload_user_avatar": "아바타 업로드",
   "Uploading_file": "파일 업로드 중...",
   "Uptime": "가동 시간",
@@ -2596,6 +2602,7 @@
   "Use_initials_avatar": "사용자 이름을 이니셜로 사용합니다",
   "Use_minor_colors": "마이너 컬러 팔레트 사용 (기본값은 주요 컬러를 상속 함)",
   "Use_service_avatar": "아바타 %s 사용",
+  "Verification_Email": "계정을 확인하려면 <a href=\"[Verification_Url]\">여기</a>를 클릭하십시오.",
   "Use_this_username": "이 사용자 이름 사용",
   "Use_uploaded_avatar": "업로드된 아바타 사용",
   "Use_url_for_avatar": "아바타 URL 사용",
@@ -2692,7 +2699,6 @@
   "Validate_email_address": "이메일 주소 확인",
   "Verification": "확인",
   "Verification_Description": "확인 URL은 <br/><ul><li>[Verification_Url]과 같은 자리 표시자를 사용할 수 있습니다.</li><li>사용자 이름, 성 또는 이름에 대한 [name], [fname], [lname].</li><li>사용자 이메일 용 [email].</li><li>[Application_Name] 및 [Site_URL]은 각각 Application Name 및 URL입니다.</li></ul>",
-  "Verification_Email": "계정을 확인하려면 <a href=\"[Verification_Url]\">여기</a>를 클릭하십시오.",
   "Verification_email_sent": "확인 이메일이 전송",
   "Verification_Email_Subject": "[Site_Name] - 계정 확인",
   "Verified": "검증",
@@ -2753,6 +2759,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "우리는 오프라인 상태입니다. 불편을 드려 죄송합니다.",
   "We_have_sent_password_email": "암호 재설정 요청 이메일을 보냈습니다. 이메일을 받지 못한 경우, 다시 시도하세요.",
   "We_have_sent_registration_email": "등록확인 이메일을 보냈습니다. 이메일을 받지 못한 경우, 다시 시도하세요.",
+  "Webdav_Server_URL": "WebDAV 서버 액세스 URL",
+  "Webdav_Username": "WebDAV 사용자 이름",
+  "Webdav_Password": "WebDAV 암호",
   "Webhook_URL": "은 webhook URL",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "%s에서 직접 음성 통화",
diff --git a/packages/rocketchat-i18n/i18n/ku.i18n.json b/packages/rocketchat-i18n/i18n/ku.i18n.json
index 6be6dd6b1dbe97896cc363af6956ba032b918633..28f42192ec500af64c7b502f92eac0c043037a70 100644
--- a/packages/rocketchat-i18n/i18n/ku.i18n.json
+++ b/packages/rocketchat-i18n/i18n/ku.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "Qedexekirî",
+  "500": "Xeletiya Pêşkêşkara Herêmî",
   "#channel": "#qenal",
   "0_Errors_Only": "0 - Errors Tenê",
   "1_Errors_and_Information": "1 - Errors û Information",
   "2_Erros_Information_and_Debug": "2 - Erros, Information û Debug",
-  "403": "Qedexekirî",
-  "500": "Xeletiya Pêşkêşkara Herêmî",
   "@username": "@username",
   "@username_message": "@username <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__username__ e êdî __role__, ji aliyê __user_by__",
@@ -57,13 +57,13 @@
   "Accounts_Email_Approved": "[navê] <br/><br/><p>Hesabê we dihêlin.</p>",
   "Accounts_Email_Approved_Subject": "Hesabê pejirandin",
   "Accounts_Email_Deactivated": "[navê] <br/><br/><p>Hesabê we hate qedexekirin.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>bi xêr bên <strong>[Site_Name]</strong></h1><p>Go to <a href=\"[Site_URL]\">[Site_URL]</a> û hewl baştirîn çareserî chat çavkaniya vekirî ya îro tune! </p>",
   "Accounts_Email_Deactivated_Subject": "Hesabê qedexekirin",
   "Accounts_EmailVerification": "Verification E-mail",
   "Accounts_EmailVerification_Description": "Piştrast tu settings SMTP correct ji bo bikaranîna vê funksîyonê",
+  "Accounts_Enrollment_Email_Subject_Default": "Bi xêr hatî [Site_Name]",
   "Accounts_Enrollment_Email": "Kînge E-mail",
-  "Accounts_Enrollment_Email_Default": "<h1>bi xêr bên <strong>[Site_Name]</strong></h1><p>Go to <a href=\"[Site_URL]\">[Site_URL]</a> û hewl baştirîn çareserî chat çavkaniya vekirî ya îro tune! </p>",
   "Accounts_Enrollment_Email_Description": "Dibe ku tu [name], [fname] ji bo navê bikarhêner, nav an paşnav, bi rêzê ve bi kar tînin, [lname]. <br/> Dibe ku tu [email] ji bo email bikarhêner bi kar tînin.",
-  "Accounts_Enrollment_Email_Subject_Default": "Bi xêr hatî [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "Session On User Close Forget",
   "Accounts_Iframe_api_method": "Method Api",
   "Accounts_Iframe_api_url": "Url Api",
@@ -177,12 +177,12 @@
   "Accounts_ShowFormLogin": "Login-bingeha forma nîşan",
   "Accounts_TwoFactorAuthentication_Enabled": "Daxistina Du Factor çalak bike",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Maximum Delta",
+  "Accounts_UserAddedEmail_Default": "<h1>bi xêr bên <strong>[Site_Name]</strong></h1><p>Go to <a href=\"[Site_URL]\">[Site_URL]</a> û hewl baştirîn çareserî chat çavkaniya vekirî ya îro tune! </p><p> [email] û şîfreya:: [password] Hûn dikarin bi bikaranîna email te (login). Te pêwîst be ji bo ku ew piştî yekem login xwe biguherînî.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "Maximum Delta diyar dike ku çiqas li kîjan tikan têne derbas kirin. Tokens di her 30 saetan de têne çêkirin, û ji bo duyemîn (30 * Maximum Delta) derbasdar e. <br/>Vebijêr: Bi bi Maximum Delta ve di 10 de, herkotek dikare 300 saetan berî an jî piştî demjimêra xwe bi kar tîne. Vê gava ku demjimêrê muwekîlê bi rêkûpêk bi rasterast nayê girêdan e.",
   "Accounts_UseDefaultBlockedDomainsList": "Use Default astengkirin Lîsteya Domain",
   "Accounts_UseDNSDomainCheck": "Bi kar bîne Check DNS Domain",
-  "Accounts_UserAddedEmail_Default": "<h1>bi xêr bên <strong>[Site_Name]</strong></h1><p>Go to <a href=\"[Site_URL]\">[Site_URL]</a> û hewl baştirîn çareserî chat çavkaniya vekirî ya îro tune! </p><p> [email] û şîfreya:: [password] Hûn dikarin bi bikaranîna email te (login). Te pêwîst be ji bo ku ew piştî yekem login xwe biguherînî.",
-  "Accounts_UserAddedEmail_Description": "Dibe ku divê tu guhêrbaran li jêr bi kar tînin:<br/><ul><li> [name], [fname], [lname] ji bo navê bikarhêner full, nav an paşnav, bi rêzê ve. </li><li> [email] ji bo email bikarhêner. </li><li> [password] ji bo şîfreya bikarhêner. </li><li> [Site_Name] û [Site_URL] ji bo Name Application û URL rêzê. </li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "Hûn hatine zêdekirin [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "Dibe ku divê tu guhêrbaran li jêr bi kar tînin:<br/><ul><li> [name], [fname], [lname] ji bo navê bikarhêner full, nav an paşnav, bi rêzê ve. </li><li> [email] ji bo email bikarhêner. </li><li> [password] ji bo şîfreya bikarhêner. </li><li> [Site_Name] û [Site_URL] ji bo Name Application û URL rêzê. </li></ul>",
   "Activate": "de çalak bike",
   "Activity": "Çalakî",
   "Add": "Lêzêdekirin",
@@ -238,6 +238,7 @@
   "Allow_Marketing_Emails": "Allow Marketing Email",
   "Alphabetical": "Elfabeyî",
   "Always_open_in_new_window": "Herweha Herweha Li Pencereya New Window veke",
+  "Analytics": "analytics",
   "Analytics_features_enabled": "Dengûbas çalake",
   "Analytics_features_messages_Description": "Tracks bûyerên custom related to çalakiyên a bikarhêner kurmancî nizane li ser mesajên.",
   "Analytics_features_rooms_Description": "Tracks bûyerên custom related to çalakiyên li ser kanala an jî komeke (create, bihêle, delete).",
@@ -816,6 +817,7 @@
   "Created_at_s_by_s_triggered_by_s": "Li <strong>%s</strong ava kiriye> ji hêla <strong>%s</strong> ve hatî destpêkirin <strong>%s</strong>",
   "CRM_Integration": "Integrated CRM",
   "CROWD_Reject_Unauthorized": "Rastkirin",
+  "Crowd_sync_interval_Description": "Navbera navbera synchronîzasyonan. `` Her 24 saetan` an 'roja hefta pêşî``, mînakên din li [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "Chats niha:",
   "Current_Status": "Status Status",
   "Custom": "Hûnbunî",
@@ -1339,8 +1341,10 @@
   "Install_package": "Pakêtê saz bikin",
   "Installation": "Lêkirinî",
   "Installed_at": "sazkirî li",
+  "Invitation_HTML": "Dawetname HTML",
   "Instance_Record": "Record Rec",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Talîmatên ji bo mêvanan formê tije ku peyam bişînin",
+  "Invitation_HTML_Default": "<h1>Tu bo vexwendin <strong>[Site_Name]</strong></h1><p>Go to [Site_URL] û hewl baştirîn çareserî chat çavkaniya vekirî ya îro tune!</p>",
   "Insurance": "Sixorte",
   "Integration_added": "Integration hatiye zêdekirin",
   "Integration_Advanced_Settings": "Settings Settings",
@@ -1406,9 +1410,7 @@
   "invisible": "nedît",
   "Invisible": "Nedît",
   "Invitation": "Ezimanî",
-  "Invitation_HTML": "Dawetname HTML",
-  "Invitation_HTML_Default": "<h1>Tu bo vexwendin <strong>[Site_Name]</strong></h1><p>Go to [Site_URL] û hewl baştirîn çareserî chat çavkaniya vekirî ya îro tune!</p>",
-  "Invitation_HTML_Description": "Dibe ku divê tu guhêrbaran li jêr bi kar tînin: <br/><ul><li>[email] ji bo email emaila kesê wergir.</li><li>[Site_Name] û [Site_URL] ji bo Name Application û URL rêzê.</li></ul>",
+  "Invitation_Email_Description": "Dibe ku divê tu guhêrbaran li jêr bi kar tînin: <br/><ul><li>[email] ji bo email emaila kesê wergir.</li><li>[Site_Name] û [Site_URL] ji bo Name Application û URL rêzê.</li></ul>",
   "Invitation_Subject": "Dawetname Subject",
   "Invitation_Subject_Default": "Tu bo vexwendin [Site_Name]",
   "Invite_user_to_join_channel": "Vexwendina user yek ji bo tevlî vê kanalê",
@@ -2525,6 +2527,7 @@
   "Tokens_Required_Input_Error": "Tokên çewt",
   "Tokens_Required_Input_Placeholder": "Navên hilbijêrin",
   "Topic": "Mijar",
+  "Total_messages": "Total Messages",
   "Tourism": "Seferî",
   "Transcript_Enabled": "Xwendekarek Ask If They Like Trans Transition After Closed Chat",
   "Transcript_message": "Ji bo Pirsgirêka Transcriptê Pêşniyar bikin Peyama Pîroz",
@@ -2585,6 +2588,7 @@
   "Upload_file_description": "Pirtûka pelê",
   "Upload_file_name": "Navê pelê",
   "Upload_file_question": "Pelê bar bike?",
+  "Upload_Folder_Path": "Peldanka Peldanka Hilbijêre",
   "Upload_user_avatar": "Avatar hilbijêre",
   "Uploading_file": "Cîhek file ...",
   "Uptime": "Uptime",
@@ -2596,6 +2600,7 @@
   "Use_initials_avatar": "Bi kar tînin herfên navê te",
   "Use_minor_colors": "Pêlên piçûk ên piçûk bikar bînin (hilberên rengên mezin ên mîras)",
   "Use_service_avatar": "Bi kar tînin %s avatar",
+  "Verification_Email": "Ji bo <a href=\"[Verification_Url]\">li vir</a> binivîse ku hesabê we bigirin.",
   "Use_this_username": "Bi kar tînin, ev bikarhêner",
   "Use_uploaded_avatar": "Bi kar tînin avatar barkirî",
   "Use_url_for_avatar": "Bi kar tînin url bo avatar",
@@ -2692,7 +2697,6 @@
   "Validate_email_address": "Navnîşana Navnîşa Navnîşankirî",
   "Verification": "Tesdîq",
   "Verification_Description": "Hûn dikarin liverên jêrîn bikar bînin: <br/><ul><li>[Verification_Url] ji bo pejirandinê URL.</li><li>navê [[name], [fname], [lname] ji bo navê bikarhênerê, first name an navê paşîn, paşê.</li><li>[email] bo e-nameya bikarhêner.</li><li>[Site_Name] û [Site_URL] ji bo navê navekî û navnîşê ya serî.</li></ul>",
-  "Verification_Email": "Ji bo <a href=\"[Verification_Url]\">li vir</a> binivîse ku hesabê we bigirin.",
   "Verification_email_sent": "email Verification ÅŸandin",
   "Verification_Email_Subject": "[Site_Name] - hesabê xwe bigirin",
   "Verified": "Sîîrtê",
@@ -2753,6 +2757,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Em ne offline. Mixabin ji ber nerihetîya.",
   "We_have_sent_password_email": "ئێمە ئیمەیڵێکمان بۆ ناردی بۆ ئەوەی تێپەڕەوشەکەت دانێیتەوە. ەگەر ئیمەیڵەکە بەم زوانە نەهات، تکایە وەرەوە و دووبارە هەوڵ بدەرەوە.",
   "We_have_sent_registration_email": "ئێمە ئیمەیڵێکمان بۆ ناردی بۆ دڵنیاکردنەوە لە تۆمارکردنەکەت. ئەگەر ئیمەیڵەکە بەم زوانە نەهات، تکایە وەرەوە و دووبارە هەوڵ بدەرەوە.",
+  "Webdav_Server_URL": "WebDAV Server Access URL",
+  "Webdav_Username": "Navê WebDAV",
+  "Webdav_Password": "Nasnameya WebDAV",
   "Webhook_URL": "URL Webhook",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "Telefonê dengê rasterast ji%s",
diff --git a/packages/rocketchat-i18n/i18n/lo.i18n.json b/packages/rocketchat-i18n/i18n/lo.i18n.json
index 8ed3f3066d67761ae7a68c5dcf2e41192e1549a3..f404793dde7f3cd7a246fe5bd600d158f02852a8 100644
--- a/packages/rocketchat-i18n/i18n/lo.i18n.json
+++ b/packages/rocketchat-i18n/i18n/lo.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "ຫ້າມ",
+  "500": "Error Server ພາຍໃນ",
   "#channel": "#channel",
   "0_Errors_Only": "0 - ຄວາມຜິດພາດພຽງແຕ່",
   "1_Errors_and_Information": "1 - ຄວາມຜິດພາດແລະຂໍ້ມູນຂ່າວສານ",
   "2_Erros_Information_and_Debug": "2 - ຜິດພະລາດ, ຂໍ້ມູນຂ່າວສານແລະແກ້ໄຂບັນຫາ",
-  "403": "ຫ້າມ",
-  "500": "Error Server ພາຍໃນ",
   "@username": "@username",
   "@username_message": "@ username <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__username__ ແມ່ນບໍ່ມີຕໍ່ໄປອ​​ີກແລ້ວ __role__, ໂດຍ __user_by__",
@@ -57,13 +57,13 @@
   "Accounts_Email_Approved": "[name]<br/><br/><p>ບັນຊີຂອງທ່ານຖືກອະນຸມັດ.</p>",
   "Accounts_Email_Approved_Subject": "ບັນຊີໄດ້ອະນຸມັດ",
   "Accounts_Email_Deactivated": "[name]<br/><br/><p>ບັນຊີຂອງທ່ານຖືກປິດການໃຊ້ງານ.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>ຍິນດີຕ້ອນຮັບສູ່ <strong>[Site_Name]</strong></h1><p> ໄປທີ່ <a href=\"[Site_URL]\">[Site_URL]</a> ແລະພະຍາຍາມມາເປີດການແກ້ໄຂທີ່ດີທີ່ສຸດສົນທະຢູ່ໃນມື້ນີ້! </p>",
   "Accounts_Email_Deactivated_Subject": "Account deactivated",
   "Accounts_EmailVerification": "ການກວດສອບອີເມລ໌",
   "Accounts_EmailVerification_Description": "ເຮັດໃຫ້ແນ່ໃຈວ່າທ່ານມີການຕັ້ງຄ່າ SMTP ທີ່ຖືກຕ້ອງທີ່ຈະນໍາໃຊ້ຄຸນນະສົມບັດນີ້",
+  "Accounts_Enrollment_Email_Subject_Default": "ຍິນດີຕ້ອນຮັບ [Site_Name]",
   "Accounts_Enrollment_Email": "ການລົງທະບຽນ E-mail",
-  "Accounts_Enrollment_Email_Default": "<h1>ຍິນດີຕ້ອນຮັບສູ່ <strong>[Site_Name]</strong></h1><p> ໄປທີ່ <a href=\"[Site_URL]\">[Site_URL]</a> ແລະພະຍາຍາມມາເປີດການແກ້ໄຂທີ່ດີທີ່ສຸດສົນທະຢູ່ໃນມື້ນີ້! </p>",
   "Accounts_Enrollment_Email_Description": "ທ່ານອາດຈະນໍາໃຊ້ [name], [fname], [lname] ສໍາລັບຊື່ເຕັມຂອງຜູ້ໃຊ້ໄດ້, ຊື່ທໍາອິດຫຼືຊື່ສຸດທ້າຍ, ຕາມລໍາດັບ. <br/> ທ່ານອາດຈະນໍາໃຊ້ [email] ສໍາລັບອີເມລຂອງຜູ້ໃຊ້ໄດ້.",
-  "Accounts_Enrollment_Email_Subject_Default": "ຍິນດີຕ້ອນຮັບ [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "ລືມລະຫັດຜ່ານຂອງຜູ້ໃຊ້ໃນຫນ້າຈໍປິດ",
   "Accounts_Iframe_api_method": "ວິທີການ Api",
   "Accounts_Iframe_api_url": "Url Api",
@@ -177,12 +177,12 @@
   "Accounts_ShowFormLogin": "ສະແດງໃຫ້ເຫັນຮູບແບບທີ່ເຂົ້າສູ່ລະບົບ",
   "Accounts_TwoFactorAuthentication_Enabled": "ອະນຸຍາດໃຫ້ມີການກວດສອບສອງປັດໃຈ",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Maximum Delta",
+  "Accounts_UserAddedEmail_Default": "<h1>ຍິນ​ດີ​ຕ້ອນ​ຮັບ​ສູ່ <strong>[Site_Name]</strong></h1><p> ໄປທີ່ <a href=\"[Site_URL]\">[Site_URL]</a> ແລະພະຍາຍາມມາເປີດການແກ້ໄຂທີ່ດີທີ່ສຸດສົນທະຢູ່ໃນມື້ນີ້! </p><p> ທ່ານອາດຈະເຂົ້າສູ່ລະບົບການນໍາໃຊ້ອີເມວຂອງທ່ານ: [email] ແລະລະຫັດຜ່ານ: [password]. ທ່ານອາດຈະຖືກຮຽກຮ້ອງໃຫ້ມີການປ່ຽນແປງມັນຫຼັງຈາກເຂົ້າສູ່ລະບົບຄັ້ງທໍາອິດຂອງທ່ານ.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "ການ Delta ສູງສຸດກໍານົດວິທີການຈໍານວນຫຼາຍ token ແມ່ນຖືກຕ້ອງໃນເວລາໃດ. ສັນຍາລັກຖືກສ້າງຂຶ້ນທຸກໆ 30 ວິນາທີ, ແລະຖືກຕ້ອງສໍາລັບ (30 * ສູງສຸດ Delta) ວິນາທີ. <br/>ຕົວຢ່າງ: ດ້ວຍ Delta ສູງສຸດທີ່ກໍານົດໄວ້ເປັນ 10, ໂຕ້ຕອບແຕ່ລະສາມາດໃຊ້ໄດ້ເຖິງ 300 ວິນາທີກ່ອນຫຼືຫຼັງຈາກເວລາຂອງມັນ. ນີ້ແມ່ນເປັນປະໂຫຍດເມື່ອໂມງຂອງລູກຄ້າບໍ່ໄດ້ຖືກຊິງໃຫ້ຖືກຕ້ອງກັບເຄື່ອງແມ່ຂ່າຍ.",
   "Accounts_UseDefaultBlockedDomainsList": "ການນໍາໃຊ້ມາດຕະຖານສະກັດຊີ Domains",
   "Accounts_UseDNSDomainCheck": "ການນໍາໃຊ້ Check DNS ໂດເມນ",
-  "Accounts_UserAddedEmail_Default": "<h1>ຍິນ​ດີ​ຕ້ອນ​ຮັບ​ສູ່ <strong>[Site_Name]</strong></h1><p> ໄປທີ່ <a href=\"[Site_URL]\">[Site_URL]</a> ແລະພະຍາຍາມມາເປີດການແກ້ໄຂທີ່ດີທີ່ສຸດສົນທະຢູ່ໃນມື້ນີ້! </p><p> ທ່ານອາດຈະເຂົ້າສູ່ລະບົບການນໍາໃຊ້ອີເມວຂອງທ່ານ: [email] ແລະລະຫັດຜ່ານ: [password]. ທ່ານອາດຈະຖືກຮຽກຮ້ອງໃຫ້ມີການປ່ຽນແປງມັນຫຼັງຈາກເຂົ້າສູ່ລະບົບຄັ້ງທໍາອິດຂອງທ່ານ.",
-  "Accounts_UserAddedEmail_Description": "ທ່ານອາດຈະນໍາໃຊ້ຕົວຍຶດຕໍາແຫນ່ງດັ່ງຕໍ່ໄປນີ້: <br/><ul><li> [name], [fname], [lname] ສໍາລັບຊື່ຜູ້ໃຊ້ຂອງໄດ້ຢ່າງເຕັມທີ່, ຊື່ທໍາອິດຫຼືຊື່ສຸດທ້າຍ, ຕາມລໍາດັບ. </li><li> [email] ສໍາລັບອີເມລຂອງຜູ້ໃຊ້ໄດ້. </li><li> [password] ສໍາລັບການລະຫັດຜ່ານຂອງຜູ້ໃຊ້ໄດ້. </li><li> [Site_Name] ແລະ [Site_URL] ສໍາລັບຄໍາຮ້ອງສະຫມັກຊື່ແລະ URL ຕາມລໍາດັບ. </li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "ທ່ານໄດ້ຮັບການເພີ່ມ [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "ທ່ານອາດຈະນໍາໃຊ້ຕົວຍຶດຕໍາແຫນ່ງດັ່ງຕໍ່ໄປນີ້: <br/><ul><li> [name], [fname], [lname] ສໍາລັບຊື່ຜູ້ໃຊ້ຂອງໄດ້ຢ່າງເຕັມທີ່, ຊື່ທໍາອິດຫຼືຊື່ສຸດທ້າຍ, ຕາມລໍາດັບ. </li><li> [email] ສໍາລັບອີເມລຂອງຜູ້ໃຊ້ໄດ້. </li><li> [password] ສໍາລັບການລະຫັດຜ່ານຂອງຜູ້ໃຊ້ໄດ້. </li><li> [Site_Name] ແລະ [Site_URL] ສໍາລັບຄໍາຮ້ອງສະຫມັກຊື່ແລະ URL ຕາມລໍາດັບ. </li></ul>",
   "Activate": "ກະຕຸ້ນ",
   "Activity": "ກິດຈະກໍາ",
   "Add": "ຕື່ມ",
@@ -238,6 +238,7 @@
   "Allow_Marketing_Emails": "ອະນຸຍາດໃຫ້ Email Marketing",
   "Alphabetical": "ຕາມລໍາດັບອັກສອນສາດ",
   "Always_open_in_new_window": "ເປີດຢູ່ໃນປ່ອງຢ້ຽມໃຫມ່",
+  "Analytics": "ການວິເຄາະ",
   "Analytics_features_enabled": "ຄຸນນະສົມບັດເປີດໃຊ້ວຽກ",
   "Analytics_features_messages_Description": "ຕິດຕາມກິດຈະກໍາຂອງລູກຄ້າທີ່ກ່ຽວຂ້ອງກັບການປະຕິບັດໃຊ້ບໍ່ກ່ຽວກັບຂໍ້ຄວາມ.",
   "Analytics_features_rooms_Description": "ຕິດຕາມກິດຈະກໍາຂອງລູກຄ້າທີ່ກ່ຽວຂ້ອງກັບການປະຕິບັດກ່ຽວກັບຊ່ອງທາງຫຼືກຸ່ມ (ສ້າງ, ອອກຈາກ, ລຶບ).",
@@ -816,6 +817,7 @@
   "Created_at_s_by_s_triggered_by_s": "ສ້າງຢູ່ <strong>%s</strong>ໂດຍ <strong>%s</strong>ຖືກເອີ້ນໂດຍ <strong>%s</strong>",
   "CRM_Integration": "CRM Integration",
   "CROWD_Reject_Unauthorized": "Reject Unauthorized",
+  "Crowd_sync_interval_Description": "ຊ່ວງເວລາລະຫວ່າງ synchronizations. ຕົວຢ່າງ `ທຸກໆ 24 ຊົ່ວໂມງ` ຫຼື `ໃນມື້ທໍາອິດຂອງອາທິດ ', ຕົວຢ່າງເພີ່ມເຕີມທີ່ [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "ສົນໃນປະຈຸບັນ",
   "Current_Status": "ສະຖານະປັດຈຸບັນ",
   "Custom": "Custom",
@@ -1339,8 +1341,10 @@
   "Install_package": "ຕິດຕັ້ງແພກເກດ",
   "Installation": "ການຕິດຕັ້ງ",
   "Installed_at": "ການຕິດຕັ້ງຢູ່",
+  "Invitation_HTML": "ການເຊື້ອເຊີນ HTML",
   "Instance_Record": "Instance Record",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "ຄໍາແນະນໍາກັບຈໍານວນຜູ້ເຂົ້າຂອງທ່ານຕື່ມຂໍ້ມູນໃສ່ໃນແບບຟອມການສົ່ງຂໍ້ຄວາມ",
+  "Invitation_HTML_Default": "<h1>ທ່ານໄດ້ຖືກເຊື້ອເຊີນເພື່ອ <strong>[Site_Name]</strong></h1><p> ໄປທີ່ [Site_URL] ແລະພະຍາຍາມມາເປີດການແກ້ໄຂທີ່ດີທີ່ສຸດສົນທະຢູ່ໃນມື້ນີ້! </p>",
   "Insurance": "ປະກັນໄພ",
   "Integration_added": "ການເຊື່ອມໂຍງໄດ້ຮັບການເພີ່ມ",
   "Integration_Advanced_Settings": "ຕັ້ງ​ຄ່າ​ຂັ້ນ​ສູງ",
@@ -1406,9 +1410,7 @@
   "invisible": "ທີ່ເບິ່ງບໍ່ເຫັນ",
   "Invisible": "ທີ່ເບິ່ງບໍ່ເຫັນ",
   "Invitation": "ການເຊີນ",
-  "Invitation_HTML": "ການເຊື້ອເຊີນ HTML",
-  "Invitation_HTML_Default": "<h1>ທ່ານໄດ້ຖືກເຊື້ອເຊີນເພື່ອ <strong>[Site_Name]</strong></h1><p> ໄປທີ່ [Site_URL] ແລະພະຍາຍາມມາເປີດການແກ້ໄຂທີ່ດີທີ່ສຸດສົນທະຢູ່ໃນມື້ນີ້! </p>",
-  "Invitation_HTML_Description": "ທ່ານອາດຈະນໍາໃຊ້ຕົວຍຶດຕໍາແຫນ່ງດັ່ງຕໍ່ໄປນີ້: <br/><ul><li> [email] ສໍາລັບອີເມລຜູ້ຮັບ. </li><li> [Site_Name] ແລະ [Site_URL] ສໍາລັບຄໍາຮ້ອງສະຫມັກຊື່ແລະ URL ຕາມລໍາດັບ. </li></ul>",
+  "Invitation_Email_Description": "ທ່ານອາດຈະນໍາໃຊ້ຕົວຍຶດຕໍາແຫນ່ງດັ່ງຕໍ່ໄປນີ້: <br/><ul><li> [email] ສໍາລັບອີເມລຜູ້ຮັບ. </li><li> [Site_Name] ແລະ [Site_URL] ສໍາລັບຄໍາຮ້ອງສະຫມັກຊື່ແລະ URL ຕາມລໍາດັບ. </li></ul>",
   "Invitation_Subject": "ການເຊື້ອເຊີນ Subject",
   "Invitation_Subject_Default": "ທ່ານໄດ້ຖືກເຊື້ອເຊີນເພື່ອ [Site_Name]",
   "Invite_user_to_join_channel": "ເຊີນຜູ້ໃຊ້ຄົນຫນຶ່ງເພື່ອເຂົ້າຮ່ວມຊ່ອງທາງນີ້",
@@ -2525,6 +2527,7 @@
   "Tokens_Required_Input_Error": "Token ພິມບໍ່ຖືກຕ້ອງ.",
   "Tokens_Required_Input_Placeholder": "ຊື່ຕາຕະລາງຕົວຕົນ",
   "Topic": "ກະທູ້",
+  "Total_messages": "ຂໍ້ຄວາມທັງຫມົດ",
   "Tourism": "ການ​ທ່ອງ​ທ​ຽ​່​ວ",
   "Transcript_Enabled": "ຂໍໃຫ້ຜູ້ມາຢ້ຽມຢາມຖ້າພວກເຂົາຕ້ອງການລາຍລະອຽດຫຼັງຈາກທີ່ສົນທະນາປິດ",
   "Transcript_message": "ຂໍ້ຄວາມສະແດງໃຫ້ເຫັນເມື່ອຖາມກ່ຽວກັບການສໍາຫຼວດ",
@@ -2585,6 +2588,7 @@
   "Upload_file_description": "ລາຍລະອຽດຂອງໄຟລ໌",
   "Upload_file_name": "ຊື່​ເອ​ກະ​ສານ",
   "Upload_file_question": "ອັບໂຫລດເອກະສານ?",
+  "Upload_Folder_Path": "ອັບໂຫລດໂຟເດີໂຟເດີ",
   "Upload_user_avatar": "ອັບໂຫລດ avatar",
   "Uploading_file": "ອັບໂຫລດໄຟລ໌ ...",
   "Uptime": "Uptime",
@@ -2596,6 +2600,7 @@
   "Use_initials_avatar": "ການນໍາໃຊ້ອັກສອນຫຍໍ້ຊື່ຜູ້ໃຊ້ຂອງທ່ານ",
   "Use_minor_colors": "ໃຊ້ແປ້ນສີຂະຫນາດນ້ອຍ (ຕົ້ນແບບທີ່ສືບທອດສີທີ່ສໍາຄັນ)",
   "Use_service_avatar": "ການນໍາໃຊ້ %s avatar",
+  "Verification_Email": "ໃຫ້ຄລິກໃສ່ <a href=\"[Verification_Url]\" >ທີ່ນີ້</a>ເພື່ອຢືນຢັນບັນຊີຂອງທ່ານ.",
   "Use_this_username": "ການນໍາໃຊ້ຊື່ຜູ້ໃຊ້ນີ້",
   "Use_uploaded_avatar": "ການນໍາໃຊ້ avatar ອັບໂຫຼດ",
   "Use_url_for_avatar": "ການນໍາໃຊ້ url ສໍາລັບ avatar",
@@ -2692,7 +2697,6 @@
   "Validate_email_address": "ຢືນຢັນທີ່ຢູ່ອີເມວ",
   "Verification": "ການຢັ້ງຢືນ",
   "Verification_Description": "ທ່ານອາດຈະນໍາໃຊ້ບ່ອນວາງສະຖານດັ່ງຕໍ່ໄປນີ້: <br/><ul><li>[Verification_Url] ສໍາລັບ URL ການຢືນຢັນ.</li><li>[ຊື່], [fname], [lname] ສໍາລັບຊື່ເຕັມ, ຊື່ຫຼືນາມສະກຸນຂອງຜູ້ໃຊ້.</li><li>[ອີເມວ] ສໍາລັບອີເມວຂອງຜູ້ໃຊ້.</li><li>[Site_Name] ແລະ [Site_URL] ສໍາລັບຊື່ແອັບຯແລະ URL ຕາມລໍາດັບ.</li></ul>",
-  "Verification_Email": "ໃຫ້ຄລິກໃສ່ <a href=\"[Verification_Url]\" >ທີ່ນີ້</a>ເພື່ອຢືນຢັນບັນຊີຂອງທ່ານ.",
   "Verification_email_sent": "ອີເມວຢືນຢັນສົ່ງ",
   "Verification_Email_Subject": "[Site_Name] - ຢືນຢັນບັນຊີຂອງທ່ານ",
   "Verified": "ການກວດສອບ",
@@ -2753,6 +2757,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "ພວກເຮົາມີຄວາມອອຟໄລ. ຂໍ​ອະ​ໄພ​ໃນ​ຄວາມ​ບໍ່​ສະ​ດວກ.",
   "We_have_sent_password_email": "ພວກເຮົາໄດ້ສົ່ງໃຫ້ທ່ານທາງອີເມລ໌ທີ່ມີຄໍາແນະນໍາປ່ຽນລະຫັດຜ່ານ. ຖ້າຫາກວ່າທ່ານບໍ່ໄດ້ຮັບອີເມວບໍ່ດົນ, ກະລຸນາກັບຄືນມາແລະພະຍາຍາມອີກເທື່ອຫນຶ່ງ.",
   "We_have_sent_registration_email": "ພວກເຮົາໄດ້ສົ່ງອີເມວເພື່ອຢືນຢັນການລົງທະບຽນຂອງທ່ານທ່ານ. ຖ້າຫາກວ່າທ່ານບໍ່ໄດ້ຮັບອີເມວບໍ່ດົນ, ກະລຸນາກັບຄືນມາແລະພະຍາຍາມອີກເທື່ອຫນຶ່ງ.",
+  "Webdav_Server_URL": "WebDAV Server Access URL",
+  "Webdav_Username": "WebDAV ຊື່ຜູ້ໃຊ້",
+  "Webdav_Password": "WebDAV Password",
   "Webhook_URL": "URL Webhook",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "ໂທສຽງໂດຍກົງຈາກ%s",
diff --git a/packages/rocketchat-i18n/i18n/lt.i18n.json b/packages/rocketchat-i18n/i18n/lt.i18n.json
index 077ca191ceae93de94dc2500175465c847162d24..1024f9b17f941ae7e5e1198f4bb4c8646d9bf101 100644
--- a/packages/rocketchat-i18n/i18n/lt.i18n.json
+++ b/packages/rocketchat-i18n/i18n/lt.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "Prieiga negalima",
+  "500": "VidinÄ— serverio klaida",
   "#channel": "#kanalas",
   "0_Errors_Only": "0 - Tik klaidos",
   "1_Errors_and_Information": "1 - Klaidos ir informacija",
   "2_Erros_Information_and_Debug": "2 - Klaidos, informacija ir tvarkymas",
-  "403": "Prieiga negalima",
-  "500": "VidinÄ— serverio klaida",
   "@username": "@vartotojovardas",
   "@username_message": "@ user name <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__username__ nebÄ—ra __role__ __user_by__",
@@ -57,13 +57,13 @@
   "Accounts_Email_Approved": "[pavadinimas]<br/><br/><p>Jūsų paskyra buvo patvirtinta.</p>",
   "Accounts_Email_Approved_Subject": "Paskyra patvirtinta",
   "Accounts_Email_Deactivated": "[vardas]<br/><br/><p>Jūsų paskyra buvo išjungta.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>Sveiki <strong>[Site_Name]</strong></h1><p>Eiti į <a href=\"[Site_URL]\">[site_url]</a>ir išbandykite geriausią atvirojo šaltinio pokalbių sprendimą šiandien!</p>",
   "Accounts_Email_Deactivated_Subject": "Paskyra išjungta",
   "Accounts_EmailVerification": "El. pašto patvirtinimas",
   "Accounts_EmailVerification_Description": "Jei norite naudoti šią funkciją, įsitikinkite, kad turite teisingus SMTP nustatymus",
+  "Accounts_Enrollment_Email_Subject_Default": "Sveiki atvykę į [Site_Name]",
   "Accounts_Enrollment_Email": "Registracija el. Paštu",
-  "Accounts_Enrollment_Email_Default": "<h1>Sveiki <strong>[Site_Name]</strong></h1><p>Eiti į <a href=\"[Site_URL]\">[site_url]</a>ir išbandykite geriausią atvirojo šaltinio pokalbių sprendimą šiandien!</p>",
   "Accounts_Enrollment_Email_Description": "Galite atitinkamai nurodyti naudotojo vardą, pavardę ar vardą, naudodami šiuos užpildytojus: <br/><ul><li>[name], [fname], [lname].</li><li>[el. Paštas] naudotojo el. Laiškui.</li><li> [Site_Name] ir [Site_URL] atitinkamai programos pavadinimui ir URL.</li></ul>",
-  "Accounts_Enrollment_Email_Subject_Default": "Sveiki atvykę į [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "Pamirškite naudotojo seansą lango uždaryje",
   "Accounts_Iframe_api_method": "Api metodas",
   "Accounts_Iframe_api_url": "API URL",
@@ -177,12 +177,12 @@
   "Accounts_ShowFormLogin": "Rodyti prisijungimÄ… pagal formÄ…",
   "Accounts_TwoFactorAuthentication_Enabled": "Įgalinti dviejų veiksnių autentifikavimą",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Didžiausia deltė",
+  "Accounts_UserAddedEmail_Default": "<h1>Sveiki <strong>[Site_Name]</strong></h1><p>Eiti į <a href=\"[site_url]\">[site_url]</a>ir bandyti geriausią atviro kodo pokalbiai sprendimą šiandien!</p><p>Galite prisijungti naudodami savo el. Pašto adresą: [el.] Ir slaptažodį: [password]. Jums gali reikėti pakeisti jį po pirmojo prisijungimo.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "Maksimalus deltas nustato, kiek žetonų galioja bet kuriuo metu. Žetonai generuojami kas 30 sekundžių ir galioja (30 * Maksimalus deltos) sekundes. <br/>Pavyzdys: kai maksimali deltos vertė yra 10, kiekvienas raktas gali būti naudojamas iki 300 sekundžių iki arba po laiko žymos. Tai naudinga, kai kliento laikrodis netinkamai sinchronizuojamas su serveriu.",
   "Accounts_UseDefaultBlockedDomainsList": "Naudokite numatytąjį užblokuotų domenų sąrašą",
   "Accounts_UseDNSDomainCheck": "Naudokite DNS domeno patikrinimÄ…",
-  "Accounts_UserAddedEmail_Default": "<h1>Sveiki <strong>[Site_Name]</strong></h1><p>Eiti į <a href=\"[site_url]\">[site_url]</a>ir bandyti geriausią atviro kodo pokalbiai sprendimą šiandien!</p><p>Galite prisijungti naudodami savo el. Pašto adresą: [el.] Ir slaptažodį: [password]. Jums gali reikėti pakeisti jį po pirmojo prisijungimo.",
-  "Accounts_UserAddedEmail_Description": "Galite atitinkamai nurodyti naudotojo vardą, pavardę ar vardą, naudodami šiuos užpildytojus: <br/><ul><li>[name], [fname], [lname].</li><li>[el. Paštas] naudotojo el. Laiškui.</li><li>[slaptažodis] vartotojo slaptažodžiui.</li><li>> [Site_Name] ir [Site_URL] atitinkamai programos pavadinimui ir URL.</li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "Jūs įtraukėte į [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "Galite atitinkamai nurodyti naudotojo vardą, pavardę ar vardą, naudodami šiuos užpildytojus: <br/><ul><li>[name], [fname], [lname].</li><li>[el. Paštas] naudotojo el. Laiškui.</li><li>[slaptažodis] vartotojo slaptažodžiui.</li><li>> [Site_Name] ir [Site_URL] atitinkamai programos pavadinimui ir URL.</li></ul>",
   "Activate": "aktyvinti",
   "Activity": "Veikla",
   "Add": "Pridurti",
@@ -238,6 +238,7 @@
   "Allow_Marketing_Emails": "Leisti rinkodaros el. Laiškus",
   "Alphabetical": "Pagal abÄ—cÄ—lÄ™",
   "Always_open_in_new_window": "Visada atidarykite naujame lange",
+  "Analytics": "\"Analytics\"",
   "Analytics_features_enabled": "Įranga įjungta",
   "Analytics_features_messages_Description": "Stebina pasirinktinius įvykius, susijusius su veiksmais, kuriuos vartotojas atlieka pranešimuose.",
   "Analytics_features_rooms_Description": "Stebina pasirinktinius įvykius, susijusius su kanalo ar grupės veiksmais (kurkite, palikite, ištrinkite).",
@@ -816,6 +817,7 @@
   "Created_at_s_by_s_triggered_by_s": "Sukurta <strong>%s</strong><strong>%s</strong>suaktyvinta <strong>%s</strong>",
   "CRM_Integration": "CRM integracija",
   "CROWD_Reject_Unauthorized": "Atmesti neautorizuotÄ…",
+  "Crowd_sync_interval_Description": "Intervalas tarp sinchronizacijos. Pavyzdys \"kas 24 valandas\" arba \"pirmąją savaitės dieną\", daugiau pavyzdžių pateikiama [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "Dabartiniai pokalbiai",
   "Current_Status": "Dabartinis statusas",
   "Custom": "Tinkintas",
@@ -1339,8 +1341,10 @@
   "Install_package": "Įdiekite paketą",
   "Installation": "Įdiegimas",
   "Installed_at": "Įdiegta",
+  "Invitation_HTML": "Kvietimas HTML",
   "Instance_Record": "Nuosprendis įrašas",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Jūsų lankytojo nurodymai užpildykite formą, kad išsiųstumėte pranešimą",
+  "Invitation_HTML_Default": "<h1>Jus pakvietė į <strong>[Site_Name]</strong></h1><p>Eikite į [Site_URL] ir išbandykite geriausią atviro kodo pokalbių sprendimą šiandien!</p>",
   "Insurance": "Draudimas",
   "Integration_added": "Integracija buvo pridÄ—ta",
   "Integration_Advanced_Settings": "Pažangūs nustatymai",
@@ -1406,9 +1410,7 @@
   "invisible": "nematomas",
   "Invisible": "Nematomas",
   "Invitation": "Kvietimas",
-  "Invitation_HTML": "Kvietimas HTML",
-  "Invitation_HTML_Default": "<h1>Jus pakvietė į <strong>[Site_Name]</strong></h1><p>Eikite į [Site_URL] ir išbandykite geriausią atviro kodo pokalbių sprendimą šiandien!</p>",
-  "Invitation_HTML_Description": "Galite naudoti šiuos užpildytojus: <br/><ul><li> [el.] Gavėjo el. Pašto adresu.</li><li> [Site_Name] ir [Site_URL] atitinkamai programos pavadinimui ir URL.</li></ul>",
+  "Invitation_Email_Description": "Galite naudoti šiuos užpildytojus: <br/><ul><li> [el.] Gavėjo el. Pašto adresu.</li><li> [Site_Name] ir [Site_URL] atitinkamai programos pavadinimui ir URL.</li></ul>",
   "Invitation_Subject": "Kvietimo tema",
   "Invitation_Subject_Default": "Jus pakvietÄ— [Site_Name]",
   "Invite_user_to_join_channel": "Pakvieskite vienÄ… naudotojÄ… prisijungti prie Å¡io kanalo",
@@ -2525,6 +2527,7 @@
   "Tokens_Required_Input_Error": "Neteisingi įvedami žetonai.",
   "Tokens_Required_Input_Placeholder": "Tokenų turto pavadinimai",
   "Topic": "tema",
+  "Total_messages": "Iš viso pranešimų",
   "Tourism": "Turizmas",
   "Transcript_Enabled": "Paklauskite lankytojo, ar jie norėtų, kad pokalbis būtų uždarytas",
   "Transcript_message": "Žinutė rodyti, kai klausia apie transkripciją",
@@ -2585,6 +2588,7 @@
   "Upload_file_description": "Failo aprašymas",
   "Upload_file_name": "Failo pavadinimas",
   "Upload_file_question": "Įkelti failą?",
+  "Upload_Folder_Path": "Įkelti aplanko kelią",
   "Upload_user_avatar": "Įkelti avatarą",
   "Uploading_file": "Įkeliamas failas ...",
   "Uptime": "Uptime",
@@ -2596,6 +2600,7 @@
   "Use_initials_avatar": "Naudokite savo vartotojo vardo inicialus",
   "Use_minor_colors": "Naudokite nedidelę spalvų paletę (nutylėjimą paveldės pagrindines spalvas)",
   "Use_service_avatar": "Naudokite%s avatarÄ…",
+  "Verification_Email": "Spustelėkite <a href=\"[Verification_Url]\">čia</a>, kad patvirtintumėte savo paskyrą.",
   "Use_this_username": "Naudokite šį naudotojo vardą",
   "Use_uploaded_avatar": "Naudoti įkeltą avatarą",
   "Use_url_for_avatar": "Naudokite URL avatarÄ…",
@@ -2692,7 +2697,6 @@
   "Validate_email_address": "Patvirtinkite el. Pašto adresą",
   "Verification": "Patvirtinimas",
   "Verification_Description": "Galite naudoti šiuos užpildytojus: <br/><ul><li>> [Verification_Url], jei norite patvirtinimo URL.</li><li>[vardas], [fname], [lname] atitinkamai vartotojo vardas, pavardė arba vardas.</li><li>[el. Paštas] naudotojo el. Laiškui.</li><li>> [Site_Name] ir [Site_URL] atitinkamai programos pavadinimui ir URL.</li></ul>",
-  "Verification_Email": "Spustelėkite <a href=\"[Verification_Url]\">čia</a>, kad patvirtintumėte savo paskyrą.",
   "Verification_email_sent": "Patvirtinimo el. Laiškas išsiųstas",
   "Verification_Email_Subject": "[Site_Name] - Patikrinkite savo sÄ…skaitÄ…",
   "Verified": "Patvirtinta",
@@ -2753,6 +2757,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Mes neprisijungę. Atsiprašome už nepatogumus.",
   "We_have_sent_password_email": "Mes atsiųsime jums el. Laišką su slaptažodžio atkūrimo instrukcijomis. Jei netrukus negausite el. Laiško, grįžkite ir bandykite dar kartą.",
   "We_have_sent_registration_email": "Mes atsiųsime jums el. Laišką, kad patvirtintume jūsų registraciją. Jei netrukus negausite el. Laiško, grįžkite ir bandykite dar kartą.",
+  "Webdav_Server_URL": "WebDAV serverio prieigos URL",
+  "Webdav_Username": "WebDAV vartotojo vardas",
+  "Webdav_Password": "\"WebDAV\" slaptažodis",
   "Webhook_URL": "Webhok URL",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "Tiesioginis garso skambutis iš%s",
diff --git a/packages/rocketchat-i18n/i18n/lv.i18n.json b/packages/rocketchat-i18n/i18n/lv.i18n.json
index fc3255d8c379c6523353b092080d7cd199de23bf..5b9da99443a97087e88e53a0ac4a2c7fdabfbd6f 100644
--- a/packages/rocketchat-i18n/i18n/lv.i18n.json
+++ b/packages/rocketchat-i18n/i18n/lv.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "Aizliegts",
+  "500": "Iekšējā servera kļūda",
   "#channel": "#kanāls",
   "0_Errors_Only": "0 - Tikai kļūdas",
   "1_Errors_and_Information": "1 - Kļūdas un informācija",
   "2_Erros_Information_and_Debug": "2 - Kļūdas, informācija un atkļūdošana",
-  "403": "Aizliegts",
-  "500": "Iekšējā servera kļūda",
   "@username": "@ lietotājvārds",
   "@username_message": "@ lietotājvārds <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "lietotājvārds vairs nav loma lietotājs",
@@ -57,13 +57,13 @@
   "Accounts_Email_Approved": "[vārds] <br/><br/><p>Jūsu konts ir apstiprināts.</p>",
   "Accounts_Email_Approved_Subject": "Konts ir apstiprināts",
   "Accounts_Email_Deactivated": "[vārds] <br/><br/><p>Jūsu konts ir deaktivizēts.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>Laipni lūdzam <strong>[Site_Name]</strong></h1><p>Iet uz <a href=\"[Site_URL]\">[SITE_URL]</a>un izmēģiniet labāko atvērtā pirmkoda tērzēšanas risinājumu, kas pieejams šodien!</p>",
   "Accounts_Email_Deactivated_Subject": "Konts ir deaktivizēts",
   "Accounts_EmailVerification": "E-pasta apstiprināšana",
   "Accounts_EmailVerification_Description": "Lai izmantotu šo funkciju, pārliecinieties, ka jums ir pareizi SMTP iestatījumi",
+  "Accounts_Enrollment_Email_Subject_Default": "Laipni lūdzam [Site_Name]",
   "Accounts_Enrollment_Email": "Uzņemšanas e-pasts",
-  "Accounts_Enrollment_Email_Default": "<h1>Laipni lūdzam <strong>[Site_Name]</strong></h1><p>Iet uz <a href=\"[Site_URL]\">[SITE_URL]</a>un izmēģiniet labāko atvērtā pirmkoda tērzēšanas risinājumu, kas pieejams šodien!</p>",
   "Accounts_Enrollment_Email_Description": "Varat izmantot šādus vietturus: <br/><ul><li>[vārds], [fname], [lname] lietotāja pilnam vārdam, attiecgi vārdam vai uzvārdam.</li><li>[e-pasts] lietotāja e-pastam.</li><li>[Vietnes nosaukums] un [Site_URL] attiecīgi lietotnes nosaukums un URL.</li></ul>",
-  "Accounts_Enrollment_Email_Subject_Default": "Laipni lūdzam [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "Aizmirst lietotāja sesiju, aizverot logu",
   "Accounts_Iframe_api_method": "Api metode",
   "Accounts_Iframe_api_url": "API URL",
@@ -177,12 +177,12 @@
   "Accounts_ShowFormLogin": "Rādīt noklusējuma pieteikšanās veidlapu",
   "Accounts_TwoFactorAuthentication_Enabled": "Iespējojiet divu faktoru autentifikāciju",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Maximum Delta",
+  "Accounts_UserAddedEmail_Default": "<h1>Laipni lūdzam <strong>[Site_Name]</strong></h1><p>Iet uz <a href=\"[Site_URL]\">[SITE_URL]</a> un izmēģināt labāko atvērtā avota tērzešanas risinājumu kas pieejams šodien!</p><p>Jūs varat pieteikties, izmantojot savu e-pastu: [e-pasts] un paroli: [parole]. Pēc pirmās pieteikšanās Jums var būt nepieciešams to nomainīt.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "Maximum Delta nosaka, cik daudz žetonu ir derīgi jebkurā brīdī. Žetoni tiek ģenerēti ik pēc 30 sekundēm un ir derīgi (30 * MAximum Delta) sekundes. <br/>Piemērs: ja Maximum Delta iestatījums ir 10, katrs žetons var tikt izmantots līdz 300 sekundēm pirms vai pēc tā laika zīmoga. Tas ir noderīgi, ja klienta pulkstenis nav pareizi sinhronizēts ar serveri.",
   "Accounts_UseDefaultBlockedDomainsList": "Izmantojiet noklusējuma Bloķēto domēnu sarakstu",
   "Accounts_UseDNSDomainCheck": "Izmantojiet DNS domēna pārbaudi",
-  "Accounts_UserAddedEmail_Default": "<h1>Laipni lūdzam <strong>[Site_Name]</strong></h1><p>Iet uz <a href=\"[Site_URL]\">[SITE_URL]</a> un izmēģināt labāko atvērtā avota tērzešanas risinājumu kas pieejams šodien!</p><p>Jūs varat pieteikties, izmantojot savu e-pastu: [e-pasts] un paroli: [parole]. Pēc pirmās pieteikšanās Jums var būt nepieciešams to nomainīt.",
-  "Accounts_UserAddedEmail_Description": "Jūs varat izmantot šādus vietturus :<br/><ul><li>[vārds], [fname], [lname] attiecīgi lietotāja pilnam vārdam, vārdam vai uzvārdam.</li><li>[e-pasts] lietotāja e-pastam.</li><li>[parole] lietotāja parolei.</li><li>[Vietnes nosaukums] un [Site_URL] attiecīgi lietotnes nosaukums un URL.</li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "JÅ«s esat pievienots [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "Jūs varat izmantot šādus vietturus :<br/><ul><li>[vārds], [fname], [lname] attiecīgi lietotāja pilnam vārdam, vārdam vai uzvārdam.</li><li>[e-pasts] lietotāja e-pastam.</li><li>[parole] lietotāja parolei.</li><li>[Vietnes nosaukums] un [Site_URL] attiecīgi lietotnes nosaukums un URL.</li></ul>",
   "Activate": "Aktivizēt",
   "Activity": "Aktivitāte",
   "Add": "Pievienot",
@@ -238,6 +238,7 @@
   "Allow_Marketing_Emails": "Atļaut reklāmas e-pasta ziņojumus",
   "Alphabetical": "Alfabētiskā kārtībā",
   "Always_open_in_new_window": "Vienmēr atvērt jaunā logā",
+  "Analytics": "Analītika",
   "Analytics_features_enabled": "Iespējas ir aktivizētas",
   "Analytics_features_messages_Description": "Izseko pielāgotos notikumus, kas saistīti ar darbībām, ko lietotājs veic ziņojumos.",
   "Analytics_features_rooms_Description": "Izseko pielāgotus notikumus, kas saistīti ar darbībām kanālā vai grupā (izveidojiet, atstājiet, izdzēsiet).",
@@ -816,6 +817,7 @@
   "Created_at_s_by_s_triggered_by_s": "Iekš <strong>%s</strong> izveidoja <strong>%s</strong> ko aktivizē <strong>%s</strong>",
   "CRM_Integration": "CRM integrācija",
   "CROWD_Reject_Unauthorized": "Noraidīt nesankcionētu",
+  "Crowd_sync_interval_Description": "Intervāls starp sinhronizācijām. Piemērs \"ik pēc 24 stundām\" vai \"pirmajā nedēļas dienā\", vairāk piemēri [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "Pašreizējās tērzēšanas",
   "Current_Status": "Pašreizējais statuss",
   "Custom": "Pielāgots",
@@ -1339,8 +1341,10 @@
   "Install_package": "Instalējiet pakotni",
   "Installation": "Instalēšana",
   "Installed_at": "Instalēts pie",
+  "Invitation_HTML": "Uzaicinājums HTML",
   "Instance_Record": "Instances reģistrēšana",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Norādījumi jūsu apmeklētājam aizpildīt veidlapu, lai nosūtītu ziņojumu",
+  "Invitation_HTML_Default": "<h1>Jūs esat uzaicināts uz <strong>[Site_Name]</strong></h1><p>Dodieties uz [Site_URL] un izmēģiniet labāko atvērtā pirmkoda tērzēšanas risinājumu, kas pieejams šodien!</p>",
   "Insurance": "Nodrošinājums",
   "Integration_added": "Integrācija ir pievienota",
   "Integration_Advanced_Settings": "Detalizētie iestatījumi",
@@ -1406,9 +1410,7 @@
   "invisible": "neredzams",
   "Invisible": "Neredzams",
   "Invitation": "Uzaicinājums",
-  "Invitation_HTML": "Uzaicinājums HTML",
-  "Invitation_HTML_Default": "<h1>Jūs esat uzaicināts uz <strong>[Site_Name]</strong></h1><p>Dodieties uz [Site_URL] un izmēģiniet labāko atvērtā pirmkoda tērzēšanas risinājumu, kas pieejams šodien!</p>",
-  "Invitation_HTML_Description": "Saņēmēja e-pastam varat izmantot šādus vietturus: <br/><ul><li>[e-pasts].</li><li>[Site_Name] un [Site_URL] attiecīgi lietotnes nosaukumam un URL.</li></ul>",
+  "Invitation_Email_Description": "Saņēmēja e-pastam varat izmantot šādus vietturus: <br/><ul><li>[e-pasts].</li><li>[Site_Name] un [Site_URL] attiecīgi lietotnes nosaukumam un URL.</li></ul>",
   "Invitation_Subject": "Uzaicinājuma tēma",
   "Invitation_Subject_Default": "Jūs esat uzaicināts uz [Site_Name]",
   "Invite_user_to_join_channel": "Uzaicināt vienu lietotāju pievienoties šim kanālam",
@@ -2525,6 +2527,7 @@
   "Tokens_Required_Input_Error": "Nepareizi ievadīti žetoni.",
   "Tokens_Required_Input_Placeholder": "Žetonu aktīvu nosaukumi",
   "Topic": "Temats",
+  "Total_messages": "Kpējais ziņojumu skaits",
   "Tourism": "TÅ«risms",
   "Transcript_Enabled": "Jautāt apmeklētājam, vai viņi pēc transakcijas beigšanas vēlas beigt tērzēšanu",
   "Transcript_message": "Ziņa lai parādtu, kad tiek uzdots jautājums par transkriptu",
@@ -2585,6 +2588,7 @@
   "Upload_file_description": "Faila apraksts",
   "Upload_file_name": "Faila nosaukums",
   "Upload_file_question": "Vai augšupielādēt failu?",
+  "Upload_Folder_Path": "Augšupielādēt mapes ceļu",
   "Upload_user_avatar": "Augšupielādēt avataru",
   "Uploading_file": "Faila augšupielāde ...",
   "Uptime": "Darbības laiks",
@@ -2596,6 +2600,7 @@
   "Use_initials_avatar": "Izmantot sava lietotājvārda iniciāļus",
   "Use_minor_colors": "Izmantot nelielu krāsu paleti (pēc noklusējuma mantos galvenās krāsas)",
   "Use_service_avatar": "Izmantot %s avatar",
+  "Verification_Email": "Lai apstiprinātu savu kontu, noklikšķiniet <a href=\"[Verification_Url]\">šeit</a>.",
   "Use_this_username": "Izmantot šo lietotājvārdu",
   "Use_uploaded_avatar": "Izmantot augšupielādēto avataru",
   "Use_url_for_avatar": "Izmantot URL kā avataru",
@@ -2692,7 +2697,6 @@
   "Validate_email_address": "Apstiprināt e-pasta adresi",
   "Verification": "Pārbaude",
   "Verification_Description": "Jūs varat izmantot šādus vietturus:<br/><ul><li>[Verification_Url] kā apstiprinājuma URL.</li><li>[vārds], [fname], [lname] lietotāja pilnam vārdam, attiecīgi vārds vai uzvārds.</li><li>[e-pasts] lietotāja e-pastam.</li><li>[Vietnes nosaukums] un [Site_URL] attiecīgi lietotnes nosaukums un URL.</li></ul>",
-  "Verification_Email": "Lai apstiprinātu savu kontu, noklikšķiniet <a href=\"[Verification_Url]\">šeit</a>.",
   "Verification_email_sent": "Apstiprināšanas e-pasts ir nosūtīts",
   "Verification_Email_Subject": "[Site_Name] - apstipriniet savu kontu",
   "Verified": "Apstiprināts",
@@ -2753,6 +2757,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Mēs esam bezsaistē. Atvainojamies par sagādātajām neērtībām.",
   "We_have_sent_password_email": "Mēs nosūtījām jums e-pastu ar paroles atiestatīšanas norādījumiem. Ja nesaņemsiet e-pasta ziņojumu, lūdzu, atgriezieties un mēģiniet vēlreiz.",
   "We_have_sent_registration_email": "Mēs esam nosūtījuši jums e-pastu, lai apstiprinātu jūsu reģistrāciju. Ja nesaņemsiet e-pasta ziņojumu, lūdzu, atgriezieties un mēģiniet vēlreiz.",
+  "Webdav_Server_URL": "WebDAV servera piekļuves URL",
+  "Webdav_Username": "WebDAV lietotājvārds",
+  "Webdav_Password": "WebDAV parole",
   "Webhook_URL": "Webhok URL",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "Audio zvans no %s",
diff --git a/packages/rocketchat-i18n/i18n/mn.i18n.json b/packages/rocketchat-i18n/i18n/mn.i18n.json
index 848d17eee08db75d4ee82c4b802e34eebbc077d0..aa1595f8f3702cdb053338007aa4ef01fbf60d6b 100644
--- a/packages/rocketchat-i18n/i18n/mn.i18n.json
+++ b/packages/rocketchat-i18n/i18n/mn.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "Хориотой",
+  "500": "Дотоод серверийн алдаа",
   "#channel": "#cуваг",
   "0_Errors_Only": "0 - Зөвхөн алдаанууд",
   "1_Errors_and_Information": "1 - Алдаа ба мэдээлэл",
   "2_Erros_Information_and_Debug": "2 - Алдаа, мэдээлэл, дибаг",
-  "403": "Хориотой",
-  "500": "Дотоод серверийн алдаа",
   "@username": "@Монголын нэр",
   "@username_message": "@усername <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__усername__ __user_by__ by __role__ байхаа больсон",
@@ -57,13 +57,13 @@
   "Accounts_Email_Approved": "[нэр]<br/><br/><p>Таны бүртгэл батлагдсан.</p>",
   "Accounts_Email_Approved_Subject": "Батлагдсан данс",
   "Accounts_Email_Deactivated": "[нэр]<br/><br/><p>Таны бүртгэл идэвхгүй болсон.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>тавтай морилно уу <strong>[Site_Name]</strong></h1><p>Явж <a href=\"[Site_URL]\">[Site_URL]</a>өнөө үед хамгийн сайн нээлттэй эхийн чатын шийдлүүдийг туршиж үзээрэй!</p>",
   "Accounts_Email_Deactivated_Subject": "Данс идэвхгүй болсон",
   "Accounts_EmailVerification": "Имэйлийн баталгаажуулалт",
   "Accounts_EmailVerification_Description": "Энэ онцлогийг ашиглахын тулд SMTP тохиргоог зөв эсэхийг шалгаарай",
+  "Accounts_Enrollment_Email_Subject_Default": "Та [Site_Name] -д тавтай морилно уу",
   "Accounts_Enrollment_Email": "Элсэлтийн и-мэйл",
-  "Accounts_Enrollment_Email_Default": "<h1>тавтай морилно уу <strong>[Site_Name]</strong></h1><p>Явж <a href=\"[Site_URL]\">[Site_URL]</a>өнөө үед хамгийн сайн нээлттэй эхийн чатын шийдлүүдийг туршиж үзээрэй!</p>",
   "Accounts_Enrollment_Email_Description": "Та дараах байршлыг ашиглаж болно: <br/><ul><li>[нэр], [fname], [lname] хэрэглэгчийн бүтэн нэр, эхний нэр эсвэл овог нэрийг тус тусад нь ашиглаж болно.</li><li>[имэйл] хэрэглэгчийн имэйлийн хувьд.</li><li>[Site_Name] болон [Site_URL] нь Програмын Нэр болон URL-ыг тус тусад нь зааж өгсөн.</li></ul>",
-  "Accounts_Enrollment_Email_Subject_Default": "Та [Site_Name] -д тавтай морилно уу",
   "Accounts_ForgetUserSessionOnWindowClose": "Цонхны хажуугаар хэрэглэгчийн нэг хэсгийг дарна уу",
   "Accounts_Iframe_api_method": "Api арга",
   "Accounts_Iframe_api_url": "API URL",
@@ -177,12 +177,12 @@
   "Accounts_ShowFormLogin": "Маягт дээр суурилсан Нэвтрэхийг харуулах",
   "Accounts_TwoFactorAuthentication_Enabled": "Хоёр хүчин зүйлийг баталгаажуулах боломжтой болгох",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Хамгийн их Дельта",
+  "Accounts_UserAddedEmail_Default": "<h1><strong>[Site_Name]</strong> -д тавтай морилно уу</h1><p>Go to <a href=\"[Site_URL]\">[Site_URL]</a></p><p>Та имэйлээ ашиглан нэвтрэх боломжтой: [имэйл] болон нууц үг: [нууц үг]. Та анх удаа нэвтэрсний дараа үүнийг өөрчлөх шаардлагатай байж магадгүй.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "Хамгийн их Дельта нь тодорхой хугацаанд хэдэн жетоны хүчинтэй болохыг тодорхойлдог. Токенууд 30 секунд тутамд үүсгэгддэг бөгөөд (30 * Maximum Delta) секундэд хүчинтэй. <br/>Жишээ: Maximum Delta нь 10 гэж тохируулагдсан байх ба энэ нь timestamp буюу урдаас хойш 300 секундын хугацаанд бүрийг жетон болгон ашиглаж болно. Үйлчлүүлэгчийн цаг сервертэй зөв синк хийгдээгүй үед энэ нь ашигтай байдаг.",
   "Accounts_UseDefaultBlockedDomainsList": "Стандарт Хаалттай Домэйн жагсаалт ашиглах",
   "Accounts_UseDNSDomainCheck": "DNS домэйны шалгалтыг ашиглах",
-  "Accounts_UserAddedEmail_Default": "<h1><strong>[Site_Name]</strong> -д тавтай морилно уу</h1><p>Go to <a href=\"[Site_URL]\">[Site_URL]</a></p><p>Та имэйлээ ашиглан нэвтрэх боломжтой: [имэйл] болон нууц үг: [нууц үг]. Та анх удаа нэвтэрсний дараа үүнийг өөрчлөх шаардлагатай байж магадгүй.",
-  "Accounts_UserAddedEmail_Description": "Та дараах байршлыг ашиглаж болно: <br/><ul><li>[нэр], [fname], [lname] хэрэглэгчийн бүтэн нэр, эхний нэр эсвэл овог нэрийг тус тусад нь ашиглаж болно.</li><li>[имэйл] хэрэглэгчийн имэйлийн хувьд.</li><li>[нууц үг] хэрэглэгчийн нууц үгийг ашиглана.</li><li>[Site_Name] болон [Site_URL] нь Програмын Нэр болон URL-ыг тус тусад нь зааж өгсөн.</li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "Та [Site_Name] рүү нэмсэн",
+  "Accounts_UserAddedEmail_Description": "Та дараах байршлыг ашиглаж болно: <br/><ul><li>[нэр], [fname], [lname] хэрэглэгчийн бүтэн нэр, эхний нэр эсвэл овог нэрийг тус тусад нь ашиглаж болно.</li><li>[имэйл] хэрэглэгчийн имэйлийн хувьд.</li><li>[нууц үг] хэрэглэгчийн нууц үгийг ашиглана.</li><li>[Site_Name] болон [Site_URL] нь Програмын Нэр болон URL-ыг тус тусад нь зааж өгсөн.</li></ul>",
   "Activate": "Идэвхжүүлэх",
   "Activity": "Үйл ажиллагаа",
   "Add": "Нэмэх",
@@ -238,6 +238,7 @@
   "Allow_Marketing_Emails": "Маркетингийн мэйлийг зөвшөөрөх",
   "Alphabetical": "Алдагдал",
   "Always_open_in_new_window": "Шинэ цонхон дээр үргэлж нээх",
+  "Analytics": "Аналитик",
   "Analytics_features_enabled": "Идэвхжүүлсэн онцлогууд",
   "Analytics_features_messages_Description": "Захидал дээр хэрэглэгчийн үйлдэлтэй холбоотой үйл явдлуудтай холбоотой үйл явдлууд.",
   "Analytics_features_rooms_Description": "Суваг эсвэл бүлгэм дээрх үйл ажиллагаатай холбоотой онцгой үйл явдлуудыг мөрдлөг болгох (үүсгэх, явах, устгах).",
@@ -816,6 +817,7 @@
   "Created_at_s_by_s_triggered_by_s": "<strong>%s</strong><strong>%s</strong>үүсгэсэн <strong>%s</strong>",
   "CRM_Integration": "CRM интеграц",
   "CROWD_Reject_Unauthorized": "Зөвшөөрөөгүй байна",
+  "Crowd_sync_interval_Description": "Синхрончлолуудын хоорондын интервал. Жишээ нь `24 цаг` эсвэл` долоо хоногийн эхний өдөр `, жишээ нь [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "Одоогийн чат",
   "Current_Status": "Одоогийн байдал",
   "Custom": "Custom",
@@ -1339,8 +1341,10 @@
   "Install_package": "Багц суулгах",
   "Installation": "Суурилуулалт",
   "Installed_at": "Дээр суулгагдсан",
+  "Invitation_HTML": "Урилга HTML",
   "Instance_Record": "Жишээ нь",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Таны зочинд тавигдах зааврыг мессеж илгээхийн тулд маягтыг бөглөнө үү",
+  "Invitation_HTML_Default": "<h1>Та <strong>[Site_Name]</strong></h1><p>[Байгууллаа_URL] руу очиж, хамгийн сайн нээлттэй эхийн чатын шийдлээ өнөөдөр ашиглах боломжтой!</p>",
   "Insurance": "Даатгал",
   "Integration_added": "Интеграци нэмэгдсэн",
   "Integration_Advanced_Settings": "Нарийвчилсан тохиргоо",
@@ -1406,9 +1410,7 @@
   "invisible": "үл үзэгдэх",
   "Invisible": "Далд",
   "Invitation": "Урилга",
-  "Invitation_HTML": "Урилга HTML",
-  "Invitation_HTML_Default": "<h1>Та <strong>[Site_Name]</strong></h1><p>[Байгууллаа_URL] руу очиж, хамгийн сайн нээлттэй эхийн чатын шийдлээ өнөөдөр ашиглах боломжтой!</p>",
-  "Invitation_HTML_Description": "Та дараах байршлыг ашиглаж болно: <br/><ul><li>[имэйл] хүлээн авагч имэйлийн хувьд ашиглаж болно.</li><li>[Site_Name] болон [Site_URL] нь Програмын Нэр болон URL-ыг тус тусад нь зааж өгсөн.</li></ul>",
+  "Invitation_Email_Description": "Та дараах байршлыг ашиглаж болно: <br/><ul><li>[имэйл] хүлээн авагч имэйлийн хувьд ашиглаж болно.</li><li>[Site_Name] болон [Site_URL] нь Програмын Нэр болон URL-ыг тус тусад нь зааж өгсөн.</li></ul>",
   "Invitation_Subject": "Урилга Гарчиг",
   "Invitation_Subject_Default": "Та [Site_Name] руу уригдсан байна",
   "Invite_user_to_join_channel": "Энэ сувагт нэг хэрэглэгчийг оруулахыг урь",
@@ -2525,6 +2527,7 @@
   "Tokens_Required_Input_Error": "Буруу бичсэн жетонууд.",
   "Tokens_Required_Input_Placeholder": "Токенс хөрөнгийн нэр",
   "Topic": "Сэдэв",
+  "Total_messages": "Нийт зурвас",
   "Tourism": "Аялал жуулчлал",
   "Transcript_Enabled": "Хэрвээ тэд дараа нь чатлахыг хүсч байвал зочиноос нь асуу",
   "Transcript_message": "Зурвасын талаар асуухад харуулах мессеж",
@@ -2585,6 +2588,7 @@
   "Upload_file_description": "Файлын тайлбар",
   "Upload_file_name": "Файлын нэр",
   "Upload_file_question": "Файл оруулах уу?",
+  "Upload_Folder_Path": "Folder Path-г оруулна уу",
   "Upload_user_avatar": "Зургийг байршуулна уу",
   "Uploading_file": "Файлыг байршуулж байна ...",
   "Uptime": "Дахин цаг хугацаа",
@@ -2596,6 +2600,7 @@
   "Use_initials_avatar": "Хэрэглэгчийн нэрийг оруулна уу",
   "Use_minor_colors": "Бага өнгөт палитрыг ашиглаарай (анхдагч өнгөт тэмдэгтүүдийг өвлөн авах)",
   "Use_service_avatar": "%s avatar ашиглана уу",
+  "Verification_Email": "<a href=\"[Verification_Url]\">энд</a>акаунтаа баталгаажуулна уу.",
   "Use_this_username": "Энэ нэрийг ашиглана уу",
   "Use_uploaded_avatar": "Хуулагдсан байршлыг ашиглана уу",
   "Use_url_for_avatar": "URL ашиглан URL ашиглах",
@@ -2692,7 +2697,6 @@
   "Validate_email_address": "Баталгаажуулсан имэйл хаяг",
   "Verification": "Баталгаажуулалт",
   "Verification_Description": "Та дараах байршлыг ашиглаж болно: <br/><ul><li>[Verification_Url] баталгаажуулах URL-д зориулж болно.</li><li>[нэр], [fname], [lname] хэрэглэгчийн бүтэн нэр, эхний нэр эсвэл овог нэр.</li><li>[имэйл] хэрэглэгчийн имэйлийн хувьд.</li><li>[Site_Name] болон [Site_URL] нь Програмын Нэр болон URL-ыг тус тусад нь зааж өгсөн.</li></ul>",
-  "Verification_Email": "<a href=\"[Verification_Url]\">энд</a>акаунтаа баталгаажуулна уу.",
   "Verification_email_sent": "Баталгаажуулах имэйл илгээсэн",
   "Verification_Email_Subject": "[Site_Name] - Өөрийн акаунтыг баталгаажуулна уу",
   "Verified": "Шалгагдсан байна",
@@ -2753,6 +2757,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Бид офлайн байна. Төвөг удсанд уучлаарай.",
   "We_have_sent_password_email": "Бид танд нууц үг шинэчлэх зааврыг агуулсан имэйл илгээсэн. Хэрэв та имэйлээ удахгүй хүлээж авахгүй бол эргэж ороод дахин оролдоно уу.",
   "We_have_sent_registration_email": "Бид таны бүртгэлийг баталгаажуулах имэйл илгээж байна. Хэрэв та имэйлээ удахгүй хүлээж авахгүй бол эргэж ороод дахин оролдоно уу.",
+  "Webdav_Server_URL": "WebDAV Server Access URL",
+  "Webdav_Username": "WebDAV Хэрэглэгчийн нэр",
+  "Webdav_Password": "WebDAV нууц үг",
   "Webhook_URL": "Webhook URL",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "%s-с шууд аудио дуудлага хийх",
diff --git a/packages/rocketchat-i18n/i18n/ms-MY.i18n.json b/packages/rocketchat-i18n/i18n/ms-MY.i18n.json
index 75270a864f7815a581e27f51e57e0e058c3233c2..a109e092121d2c84dc19c6c82f15891493d97ef6 100644
--- a/packages/rocketchat-i18n/i18n/ms-MY.i18n.json
+++ b/packages/rocketchat-i18n/i18n/ms-MY.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "Larangan",
+  "500": "Ralat Pelayan Dalaman",
   "#channel": "#channel",
   "0_Errors_Only": "0 - Kesilapan Hanya",
   "1_Errors_and_Information": "1 - Kesilapan dan Maklumat",
   "2_Erros_Information_and_Debug": "2 - Erros, Maklumat dan Debug",
-  "403": "Larangan",
-  "500": "Ralat Pelayan Dalaman",
   "@username": "@pengguna",
   "@username_message": "@username <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__nama pengguna__ tidak lagi __role__, dengan __user_by__",
@@ -57,13 +57,13 @@
   "Accounts_Email_Approved": "[nama]<br/><br/><p>Akaun anda telah diluluskan.</p>",
   "Accounts_Email_Approved_Subject": "Akaun diluluskan",
   "Accounts_Email_Deactivated": "[nama]<br/><br/><p>Akaun anda dinyahaktifkan.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>Selamat datang ke <strong>[Site_Name]</strong></h1><p> Pergi ke <a href=\"[Site_URL]\">[Site_URL]</a> dan cuba yang terbaik penyelesaian chat sumber terbuka yang ada hari ini! </p>",
   "Accounts_Email_Deactivated_Subject": "Akaun dinyahaktifkan",
   "Accounts_EmailVerification": "Pengesahan E-mel",
   "Accounts_EmailVerification_Description": "Pastikan anda mempunyai tetapan SMTP betul untuk menggunakan ciri-ciri ini",
+  "Accounts_Enrollment_Email_Subject_Default": "Selamat datang ke [Site_Name]",
   "Accounts_Enrollment_Email": "Pendaftaran E-mel",
-  "Accounts_Enrollment_Email_Default": "<h1>Selamat datang ke <strong>[Site_Name]</strong></h1><p> Pergi ke <a href=\"[Site_URL]\">[Site_URL]</a> dan cuba yang terbaik penyelesaian chat sumber terbuka yang ada hari ini! </p>",
   "Accounts_Enrollment_Email_Description": "Anda boleh menggunakan [nama], [fname], [lname] bagi nama penuh pengguna, nama pertama atau nama akhir, masing-masing. <br/> Anda boleh menggunakan [email] untuk e-mel pengguna.",
-  "Accounts_Enrollment_Email_Subject_Default": "Selamat datang ke [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "Lupakan Sesi Pengguna pada Tutup Tetingkap",
   "Accounts_Iframe_api_method": "Kaedah Api",
   "Accounts_Iframe_api_url": "Api Url",
@@ -177,12 +177,12 @@
   "Accounts_ShowFormLogin": "berasaskan Tunjukkan bentuk Login",
   "Accounts_TwoFactorAuthentication_Enabled": "Dayakan Pengesahan Dua Faktor",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Delta Maksimum",
+  "Accounts_UserAddedEmail_Default": "<h1>Selamat datang ke <strong>[Site_Name]</strong></h1><p> Pergi ke <a href=\"[Site_URL]\">[Site_URL]</a> dan cuba yang terbaik penyelesaian chat sumber terbuka yang ada hari ini! </p><p> Anda boleh log masuk menggunakan e-mel anda: [email] dan kata laluan: [password]. Anda mungkin dikehendaki untuk mengubahnya selepas log masuk pertama anda.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "Delta Maksimum menentukan berapa banyak token yang sah pada bila-bila masa tertentu. Token dijana setiap 30 saat, dan sah untuk (30 * Maksimum Delta) saat. <br/>Contoh: Dengan Delta Maksimum ditetapkan kepada 10, setiap token dapat digunakan hingga 300 saat sebelum atau sesudah cap waktu. Ini berguna apabila jam klien tidak disegerakkan dengan betul dengan pelayan.",
   "Accounts_UseDefaultBlockedDomainsList": "Penggunaan Lalai Disekat Senarai Domain",
   "Accounts_UseDNSDomainCheck": "Gunakan DNS Domain Daftar",
-  "Accounts_UserAddedEmail_Default": "<h1>Selamat datang ke <strong>[Site_Name]</strong></h1><p> Pergi ke <a href=\"[Site_URL]\">[Site_URL]</a> dan cuba yang terbaik penyelesaian chat sumber terbuka yang ada hari ini! </p><p> Anda boleh log masuk menggunakan e-mel anda: [email] dan kata laluan: [password]. Anda mungkin dikehendaki untuk mengubahnya selepas log masuk pertama anda.",
-  "Accounts_UserAddedEmail_Description": "Anda boleh menggunakan pemegang tempat berikut: <br/><ul><li> [name], [fname], [lname] untuk nama pengguna penuh, nama pertama atau nama akhir, masing-masing. </li><li> [email] untuk e-mel pengguna. </li><li> [password] bagi kata laluan pengguna. </li><li> [Site_Name] dan [Site_URL] untuk Nama Permohonan dan URL masing-masing. </li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "Anda telah ditambahkan pada [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "Anda boleh menggunakan pemegang tempat berikut: <br/><ul><li> [name], [fname], [lname] untuk nama pengguna penuh, nama pertama atau nama akhir, masing-masing. </li><li> [email] untuk e-mel pengguna. </li><li> [password] bagi kata laluan pengguna. </li><li> [Site_Name] dan [Site_URL] untuk Nama Permohonan dan URL masing-masing. </li></ul>",
   "Activate": "Aktifkan",
   "Activity": "aktiviti",
   "Add": "Tambah",
@@ -238,6 +238,7 @@
   "Allow_Marketing_Emails": "Benarkan E-mel Pemasaran",
   "Alphabetical": "Abjad",
   "Always_open_in_new_window": "Sentiasa Buka dalam Tetingkap Baru",
+  "Analytics": "Analisis",
   "Analytics_features_enabled": "ciri-ciri Didayakan",
   "Analytics_features_messages_Description": "Trek acara adat yang berkaitan dengan tindakan pengguna yang tidak pada mesej.",
   "Analytics_features_rooms_Description": "Trek acara adat yang berkaitan dengan tindakan pada saluran atau kumpulan (buat, meninggalkan, memadam).",
@@ -816,6 +817,7 @@
   "Created_at_s_by_s_triggered_by_s": "Dicipta di <strong>%s</strong>oleh <strong>%s</strong>dipicu oleh <strong>%s</strong>",
   "CRM_Integration": "Integrasi CRM",
   "CROWD_Reject_Unauthorized": "Tolak Yang Tidak Sah",
+  "Crowd_sync_interval_Description": "Jeda antara penyegerakan. Contoh `setiap 24 jam` atau` pada hari pertama minggu`, lebih banyak contoh di [Pengekalan Teks Cron] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "Sembang Semasa",
   "Current_Status": "Status semasa",
   "Custom": "Custom",
@@ -1339,8 +1341,10 @@
   "Install_package": "Pasang pakej",
   "Installation": "pemasangan",
   "Installed_at": "dipasang di",
+  "Invitation_HTML": " HTML Jemputan",
   "Instance_Record": "Rekod Peristiwa",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Arahan kepada pengunjung anda mengisi borang untuk menghantar mesej",
+  "Invitation_HTML_Default": "<h1>Anda telah dijemput untuk <strong>[Site_Name]</strong></h1><p> Pergi ke [Site_URL] dan cuba yang terbaik penyelesaian chat sumber terbuka yang ada hari ini! </p>",
   "Insurance": "Insurans",
   "Integration_added": "Integrasi telah ditambah",
   "Integration_Advanced_Settings": "Tetapan lanjutan",
@@ -1406,9 +1410,7 @@
   "invisible": "tidak dalam dilihat",
   "Invisible": "Tidak dapat dilihat",
   "Invitation": "Jemputan",
-  "Invitation_HTML": " HTML Jemputan",
-  "Invitation_HTML_Default": "<h1>Anda telah dijemput untuk <strong>[Site_Name]</strong></h1><p> Pergi ke [Site_URL] dan cuba yang terbaik penyelesaian chat sumber terbuka yang ada hari ini! </p>",
-  "Invitation_HTML_Description": "Anda boleh menggunakan pemegang tempat berikut: <br/><ul><li> [email] untuk e-mel penerima. </li><li> [Site_Name] dan [Site_URL] untuk Nama Permohonan dan URL masing-masing. </li></ul>",
+  "Invitation_Email_Description": "Anda boleh menggunakan pemegang tempat berikut: <br/><ul><li> [email] untuk e-mel penerima. </li><li> [Site_Name] dan [Site_URL] untuk Nama Permohonan dan URL masing-masing. </li></ul>",
   "Invitation_Subject": "Subjek Jemputan",
   "Invitation_Subject_Default": "Anda telah dijemput untuk [Site_Name]",
   "Invite_user_to_join_channel": "Jemput satu pengguna untuk menyertai saluran ini",
@@ -2525,6 +2527,7 @@
   "Tokens_Required_Input_Error": "Token yang tidak ketik.",
   "Tokens_Required_Input_Placeholder": "Nama aset token",
   "Topic": "Topic",
+  "Total_messages": "Jumlah Mesej",
   "Tourism": "Pelancongan",
   "Transcript_Enabled": "Tanya Pelawat Jika Mereka Akan Seperti Transkrip Selepas Sembang Ditutup",
   "Transcript_message": "Mesej untuk Menunjukkan Semasa Meminta Perihal Transkrip",
@@ -2585,6 +2588,7 @@
   "Upload_file_description": "Penerangan fail",
   "Upload_file_name": "Nama fail",
   "Upload_file_question": "Muat naik fail?",
+  "Upload_Folder_Path": "Muatkan Laluan Folder",
   "Upload_user_avatar": "Muat naik avatar",
   "Uploading_file": "Memuat naik fail ...",
   "Uptime": "uptime",
@@ -2596,6 +2600,7 @@
   "Use_initials_avatar": "Guna singkatan nama pengguna anda",
   "Use_minor_colors": "Gunakan palet warna kecil (lalai mewarisi warna utama)",
   "Use_service_avatar": "Guna %s avatar",
+  "Verification_Email": "Klik <a href=\"[Verification_Url]\">di sini</a>untuk mengesahkan akaun anda.",
   "Use_this_username": "Guna nama pengguna ini",
   "Use_uploaded_avatar": "Guna avatar yang dimuat naik",
   "Use_url_for_avatar": "Guna url untuk avatar",
@@ -2692,7 +2697,6 @@
   "Validate_email_address": "Mengesahkan Alamat E-mel",
   "Verification": "Pengesahan",
   "Verification_Description": "Anda boleh menggunakan pemegang tempat berikut: <br/><ul><li>[Verification_Url] untuk URL pengesahan.</li><li>[nama], [fname], [lname] untuk nama penuh pengguna, nama pertama atau nama belakangnya masing-masing.</li><li>[email] untuk e-mel pengguna.</li><li>[Site_Name] dan [Site_URL] untuk Nama Aplikasi dan URL masing-masing.</li></ul>",
-  "Verification_Email": "Klik <a href=\"[Verification_Url]\">di sini</a>untuk mengesahkan akaun anda.",
   "Verification_email_sent": "e-mel pengesahan yang dihantar",
   "Verification_Email_Subject": "[Site_Name] - Sahkan akaun anda",
   "Verified": "disahkan",
@@ -2753,6 +2757,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Kami berada di luar talian. Maaf atas kesulitan.",
   "We_have_sent_password_email": "Kami telah menghantar e-mel dengan arahan reset password. Jika anda tidak menerima e-mel tidak lama lagi, sila lawat sekali dan cuba lagi.",
   "We_have_sent_registration_email": "Kami telah menghantar kepada anda e-mel untuk mengesahkan pendaftaran anda. Jika anda tidak menerima e-mel berikut dalam masa terdekat. sila datang kembali dan cuba lagi.",
+  "Webdav_Server_URL": "URL Akses Pelayan WebDAV",
+  "Webdav_Username": "Nama pengguna WebDAV",
+  "Webdav_Password": "Kata Laluan WebDAV",
   "Webhook_URL": "URL Webhook",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "Panggilan audio langsung dari%s",
diff --git a/packages/rocketchat-i18n/i18n/nl.i18n.json b/packages/rocketchat-i18n/i18n/nl.i18n.json
index b5f37b40e961cd585d14ac9f2036c5a130a4ff20..e2065efd1cf7557998ac9f2e2ae7c0b447e91dcb 100644
--- a/packages/rocketchat-i18n/i18n/nl.i18n.json
+++ b/packages/rocketchat-i18n/i18n/nl.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "Verboden",
+  "500": "Interne Server Fout",
   "#channel": "#kanaal",
   "0_Errors_Only": "0 - Alleen fouten",
   "1_Errors_and_Information": "1 - Fouten en infomatie",
   "2_Erros_Information_and_Debug": "2 - Fouten, informatie en debuginformatie",
-  "403": "Verboden",
-  "500": "Interne Server Fout",
   "@username": "@username",
   "@username_message": "@gebruikersnaam <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__username__ is niet langer __role__, door __user_by__",
@@ -57,13 +57,13 @@
   "Accounts_Email_Approved": "[naam]<br/><br/><p>Uw account is goedgekeurd.</p>",
   "Accounts_Email_Approved_Subject": "Account goedgekeurd",
   "Accounts_Email_Deactivated": "[naam]<br/><br/><p>Uw account is gedeactiveerd.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>Welkom bij <strong>[Site_Name]</strong></h1><p>Ga naar <a href=\"[Site_URL]\">[Site_URL]</a> en probeer de beste open source chat-oplossing die vandaag beschikbaar zijn! </p>",
   "Accounts_Email_Deactivated_Subject": "Account gedeactiveerd",
   "Accounts_EmailVerification": "E-mail verificatie",
   "Accounts_EmailVerification_Description": "Zorg ervoor dat u de juiste SMTP-instellingen om deze functie te gebruiken",
+  "Accounts_Enrollment_Email_Subject_Default": "Welkom bij [Site_Name]",
   "Accounts_Enrollment_Email": "Registratie E-mail",
-  "Accounts_Enrollment_Email_Default": "<h1>Welkom bij <strong>[Site_Name]</strong></h1><p>Ga naar <a href=\"[Site_URL]\">[Site_URL]</a> en probeer de beste open source chat-oplossing die vandaag beschikbaar zijn! </p>",
   "Accounts_Enrollment_Email_Description": "You may use [name], [fname], [lname] for the user's full name, first name or last name, respectively.<br/>You may use [email] for the user's e-mail.",
-  "Accounts_Enrollment_Email_Subject_Default": "Welkom bij [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "Gebruikerssessie vergeten bij sluiten van venster",
   "Accounts_Iframe_api_method": "API-methode",
   "Accounts_Iframe_api_url": "Api Url",
@@ -177,12 +177,12 @@
   "Accounts_ShowFormLogin": "Laat formulier-gebaseerd loginscherm zien",
   "Accounts_TwoFactorAuthentication_Enabled": "Schakel twee-factorenauthenticatie in",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Maximale Delta",
+  "Accounts_UserAddedEmail_Default": "<h1>Welkom bij <strong>[Site_Name]</strong></h1><p> Ga naar <a href=\"[Site_URL]\">[Site_URL]</a> en probeer de beste open source chat-oplossing die vandaag beschikbaar zijn! </p><p> U kunt inloggen met uw e-mail: [email] en wachtwoord: [password]. U kan nodig zijn om het te veranderen na uw eerste login.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "De maximale delta bepaalt hoeveel tokens op een bepaald moment geldig zijn. Tokens worden elke 30 seconden gegenereerd en zijn geldig voor (30 * Maximum Delta) seconden. <br/>Voorbeeld: met een Maximum Delta ingesteld op 10, kan elk token maximaal 300 seconden vóór of na de tijdstempel worden gebruikt. Dit is handig als de klok van de client niet correct is gesynchroniseerd met de server.",
   "Accounts_UseDefaultBlockedDomainsList": "Gebruik Default geblokkeerde domeinen List",
   "Accounts_UseDNSDomainCheck": "Gebruik DNS-domein controleren",
-  "Accounts_UserAddedEmail_Default": "<h1>Welkom bij <strong>[Site_Name]</strong></h1><p> Ga naar <a href=\"[Site_URL]\">[Site_URL]</a> en probeer de beste open source chat-oplossing die vandaag beschikbaar zijn! </p><p> U kunt inloggen met uw e-mail: [email] en wachtwoord: [password]. U kan nodig zijn om het te veranderen na uw eerste login.",
-  "Accounts_UserAddedEmail_Description": "U mag de volgende plaatshouders gebruiken: <br/><ul><li> [name], [fname], [lname] voor de volledige naam van de gebruiker, voornaam of achternaam, respectievelijk. </li><li> [email] voor e-mail van de gebruiker. </li><li> [password] voor het wachtwoord van de gebruiker. </li><li> [Site_Name] en [Site_URL] voor de toepassing Naam en URL respectievelijk. </li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "Je hebt toegevoegd aan [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "U mag de volgende plaatshouders gebruiken: <br/><ul><li> [name], [fname], [lname] voor de volledige naam van de gebruiker, voornaam of achternaam, respectievelijk. </li><li> [email] voor e-mail van de gebruiker. </li><li> [password] voor het wachtwoord van de gebruiker. </li><li> [Site_Name] en [Site_URL] voor de toepassing Naam en URL respectievelijk. </li></ul>",
   "Activate": "Activeren",
   "Activity": "Activiteit",
   "Add": "Toevoegen",
@@ -238,6 +238,7 @@
   "Allow_Marketing_Emails": "Marketing-e-mails toestaan",
   "Alphabetical": "Alfabetische",
   "Always_open_in_new_window": "Altijd in een nieuw venster openen",
+  "Analytics": "Analytics",
   "Analytics_features_enabled": "features Ingeschakeld",
   "Analytics_features_messages_Description": "Tracks aangepaste gebeurtenissen die verband houden met acties die een gebruiker doet op berichten.",
   "Analytics_features_rooms_Description": "Tracks aangepaste gebeurtenissen die verband houden met acties op een kanaal of groep (creëren, verlof, verwijderen).",
@@ -816,6 +817,7 @@
   "Created_at_s_by_s_triggered_by_s": "Gemaakt op <strong>%s</strong>door <strong>%s</strong>getriggerd door <strong>%s</strong>",
   "CRM_Integration": "CRM-integratie",
   "CROWD_Reject_Unauthorized": "Weigeren ongeautoriseerd",
+  "Crowd_sync_interval_Description": "Het interval tussen synchronisaties. Voorbeeld `elke 24 uur 'of' op de eerste dag van de week ', meer voorbeelden op [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "huidige Chats",
   "Current_Status": "Huidige status",
   "Custom": "gewoonte",
@@ -1339,8 +1341,10 @@
   "Install_package": "Installeer pakket",
   "Installation": "Installatie",
   "Installed_at": "geïnstalleerd",
+  "Invitation_HTML": "Uitnodiging HTML",
   "Instance_Record": "Exemplaar",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Instructies om uw bezoeker vul het formulier in om een ​​bericht te sturen",
+  "Invitation_HTML_Default": "<h1>Je bent uitgenodigd voor <strong>[Site_Name]</strong></h1><p> Ga naar [Site_URL] en probeer de beste open source chat-oplossing die vandaag beschikbaar zijn! </p>",
   "Insurance": "Verzekering",
   "Integration_added": "Integratie is toegevoegd",
   "Integration_Advanced_Settings": "Geavanceerde instellingen",
@@ -1406,9 +1410,7 @@
   "invisible": "onzichtbaar",
   "Invisible": "Onzichtbaar",
   "Invitation": "Uitnodiging",
-  "Invitation_HTML": "Uitnodiging HTML",
-  "Invitation_HTML_Default": "<h1>Je bent uitgenodigd voor <strong>[Site_Name]</strong></h1><p> Ga naar [Site_URL] en probeer de beste open source chat-oplossing die vandaag beschikbaar zijn! </p>",
-  "Invitation_HTML_Description": "U mag de volgende plaatshouders gebruiken: <br/><ul><li> [email] voor de ontvanger e-mail. </li><li> [Site_Name] en [Site_URL] voor de toepassing Naam en URL respectievelijk. </li></ul>",
+  "Invitation_Email_Description": "U mag de volgende plaatshouders gebruiken: <br/><ul><li> [email] voor de ontvanger e-mail. </li><li> [Site_Name] en [Site_URL] voor de toepassing Naam en URL respectievelijk. </li></ul>",
   "Invitation_Subject": "Uitnodiging Onderwerp",
   "Invitation_Subject_Default": "Je bent uitgenodigd om [Site_Name]",
   "Invite_user_to_join_channel": "Nodig een gebruiker uit voor om dit kanaal",
@@ -2525,6 +2527,7 @@
   "Tokens_Required_Input_Error": "Ongeldige getypte tokens.",
   "Tokens_Required_Input_Placeholder": "Tokens namen van activa",
   "Topic": "Onderwerp",
+  "Total_messages": "Totaal aantal berichten",
   "Tourism": "Toerisme",
   "Transcript_Enabled": "Vraag de bezoeker of ze een transcript willen nadat de chat is gesloten",
   "Transcript_message": "Te tonen bericht bij vragen over transcript",
@@ -2585,6 +2588,7 @@
   "Upload_file_description": "Bestandsomschrijving",
   "Upload_file_name": "Bestandsnaam",
   "Upload_file_question": "Bestand uploaden?",
+  "Upload_Folder_Path": "Mappad uploaden",
   "Upload_user_avatar": "Upload avatar",
   "Uploading_file": "Bestand uploaden...",
   "Uptime": "Uptime",
@@ -2596,6 +2600,7 @@
   "Use_initials_avatar": "Gebruik de initialen van uw gebruikersnaam",
   "Use_minor_colors": "Gebruik een klein kleurenpalet (standaardwaarden nemen de belangrijkste kleuren over)",
   "Use_service_avatar": "Gebruik %s afbeelding",
+  "Verification_Email": "Klik op <a href=\"[Verification_Url]\">hier</a>om uw account te verifiëren.",
   "Use_this_username": "Gebruik deze gebruikersnaam",
   "Use_uploaded_avatar": "Gebruik geüploade afbeelding",
   "Use_url_for_avatar": "Gebruik url voor avatar",
@@ -2692,7 +2697,6 @@
   "Validate_email_address": "E-mailadres valideren",
   "Verification": "Verificatie",
   "Verification_Description": "U kunt de volgende tijdelijke aanduidingen gebruiken:<br/><ul><li>[Verification_Url] voor de verificatie-URL.</li><li>[naam], [fname], [lname] voor de volledige naam, voornaam of achternaam van de gebruiker.</li><li>[email] voor het e-mailadres van de gebruiker.</li><li>[Site_Name] en [Site_URL] voor respectievelijk de toepassingsnaam en URL.</li></ul>",
-  "Verification_Email": "Klik op <a href=\"[Verification_Url]\">hier</a>om uw account te verifiëren.",
   "Verification_email_sent": "Verificatie e-mail verzonden",
   "Verification_Email_Subject": "[Site_Name] - Verifieer uw account",
   "Verified": "geverifieerd",
@@ -2753,6 +2757,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "We zijn offline. Excuses voor het ongemak.",
   "We_have_sent_password_email": "Wij hebben u een e-mail gestuurd met herstel instructies voor uw wachtwoord. Als u deze e-mail niet snel ontvangt, ook niet in uw spam-folder, kom dan terug en probeer het opnieuw.",
   "We_have_sent_registration_email": "Wij hebben een e-mail gestuurd om uw registratie te bevestigen. Als u deze e-mail niet snel ontvangt, ook niet in uw spam-folder, kom dan terug en probeer het opnieuw.",
+  "Webdav_Server_URL": "WebDAV Server Access-URL",
+  "Webdav_Username": "WebDAV-gebruikersnaam",
+  "Webdav_Password": "WebDAV-wachtwoord",
   "Webhook_URL": "webhook URL",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "Directe audio-oproep van%s",
diff --git a/packages/rocketchat-i18n/i18n/no.i18n.json b/packages/rocketchat-i18n/i18n/no.i18n.json
index 644cb2c5ff96a66a22b1019fdb9835de6fe841bd..c6993b4cdb1ed4664b162ee84a291617d4e74ae3 100644
--- a/packages/rocketchat-i18n/i18n/no.i18n.json
+++ b/packages/rocketchat-i18n/i18n/no.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "Forbudt",
+  "500": "Intern server feil",
   "#channel": "#kanal",
   "0_Errors_Only": "0 - Kun Feil",
   "1_Errors_and_Information": "1 - Feil og informasjon",
   "2_Erros_Information_and_Debug": "2 - Feil, Informasjon og Feilsøking",
-  "403": "Forbudt",
-  "500": "Intern server feil",
   "@username": "@brukernavn",
   "@username_message": "@brukernavn <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__username__ er ikke lenger __role__ av __user_by__",
@@ -35,6 +35,7 @@
   "Accounts_AllowUserAvatarChange": "Tillat brukervennlige endringer",
   "Accounts_AllowUsernameChange": "Tillat endring av brukernavn",
   "Accounts_AllowUserProfileChange": "Tillat endring av brukerprofil",
+  "Accounts_AvatarBlockUnauthenticatedAccess": "Blokker ikke autentisert tilgang til avatarer",
   "Accounts_AvatarCacheTime": "Avatar cache tid",
   "Accounts_AvatarCacheTime_description": "Antall sekunder http-protokollen blir fortalt å cache avatabildene.",
   "Accounts_AvatarResize": "Endre størrelsen på avatarer",
@@ -57,13 +58,13 @@
   "Accounts_Email_Approved": "[navn]<br/><br/><p>Kontoen din ble godkjent.</p>",
   "Accounts_Email_Approved_Subject": "Konto godkjent",
   "Accounts_Email_Deactivated": "[navn]<br/><br/><p>Kontoen din ble deaktivert.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>Velkommen til <strong>[Site_Name]</strong></h1><p>Gå til <a href=\"[Site_URL]\">[site_url]</a>og prøv den beste open source chat-løsningen tilgjengelig i dag!</p>",
   "Accounts_Email_Deactivated_Subject": "Konto deaktivert",
   "Accounts_EmailVerification": "epostbekreftelse",
   "Accounts_EmailVerification_Description": "Kontroller at du har riktige SMTP-innstillinger for å bruke denne funksjonen",
+  "Accounts_Enrollment_Email_Subject_Default": "Velkommen til [Site_Name]",
   "Accounts_Enrollment_Email": "Innmelding e-post",
-  "Accounts_Enrollment_Email_Default": "<h1>Velkommen til <strong>[Site_Name]</strong></h1><p>Gå til <a href=\"[Site_URL]\">[site_url]</a>og prøv den beste open source chat-løsningen tilgjengelig i dag!</p>",
   "Accounts_Enrollment_Email_Description": "Du kan bruke følgende plassholdere:<br/><ul><li>[navn], [fname], [lname] for brukerens fulle navn, fornavn eller etternavn.</li><li>[email] for brukerens e-postadresse.</li><li>[Site_Name] og [Site_URL] for henholdsvis programnavnet og nettadressen.</li></ul>",
-  "Accounts_Enrollment_Email_Subject_Default": "Velkommen til [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "Glem brukersesjon på Vindu Lukk",
   "Accounts_Iframe_api_method": "Api Metode",
   "Accounts_Iframe_api_url": "API-nettadressen",
@@ -177,12 +178,12 @@
   "Accounts_ShowFormLogin": "Vis skjemabasert pålogging",
   "Accounts_TwoFactorAuthentication_Enabled": "Aktiver to faktorautentiseringer",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Maksimal Delta",
+  "Accounts_UserAddedEmail_Default": "<h1>Velkommen til <strong>[Site_Name]</strong></h1><p>Gå til <a href=\"[Site_URL]\">site_url]</a> og prøve det beste åpen kildekode chat-løsning tilgjengelig i dag!</p><p>Du kan logge inn ved hjelp av e-postadressen din: [email] og passord: [passord]. Det kan hende du må endre det etter første innlogging.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "Maksimum Delta bestemmer hvor mange tokens er gyldige til enhver tid. Tokene genereres hvert 30. sekund, og gjelder for (30 * Maks. Delta) sekunder. <br/>Eksempel: Med et maksimalt Delta-sett på 10, kan hver token brukes opptil 300 sekunder før eller etter tidsstempel. Dette er nyttig når klientens klokke ikke er riktig synkronisert med serveren.",
   "Accounts_UseDefaultBlockedDomainsList": "Bruk standard blokkert domener liste",
   "Accounts_UseDNSDomainCheck": "Bruk DNS Domain Check",
-  "Accounts_UserAddedEmail_Default": "<h1>Velkommen til <strong>[Site_Name]</strong></h1><p>Gå til <a href=\"[site_url]\">[site_url]</a>og prøve det beste åpen kildekode chat-løsning tilgjengelig i dag!</p><p>Du kan logge inn ved hjelp av e-postadressen din: [email] og passord: [passord]. Det kan hende du må endre det etter første innlogging.",
-  "Accounts_UserAddedEmail_Description": "Du kan bruke følgende plassholdere: <br/><ul><li>[navn], [fname], [lname] for brukerens fulle navn, fornavn eller etternavn.</li><li>[email] for brukerens e-postadresse.</li><li>[passord] for brukerens passord.</li><li>[Site_Name] og [Site_URL] for henholdsvis programnavnet og nettadressen.</li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "Du har blitt lagt til i [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "Du kan bruke følgende plassholdere: <br/><ul><li>[navn], [fname], [lname] for brukerens fulle navn, fornavn eller etternavn.</li><li>[email] for brukerens e-postadresse.</li><li>[passord] for brukerens passord.</li><li>[Site_Name] og [Site_URL] for henholdsvis programnavnet og nettadressen.</li></ul>",
   "Activate": "Aktiver",
   "Activity": "Aktivitet",
   "Add": "Legg til",
@@ -238,6 +239,7 @@
   "Allow_Marketing_Emails": "Tillat markedsføring e-post",
   "Alphabetical": "Alfabetisk",
   "Always_open_in_new_window": "Alltid åpne i nytt vindu",
+  "Analytics": "Analytics",
   "Analytics_features_enabled": "Funksjoner aktivert",
   "Analytics_features_messages_Description": "Sporer tilpassede hendelser relatert til handlinger en bruker gjør på meldinger.",
   "Analytics_features_rooms_Description": "Sporer tilpassede hendelser relatert til handlinger på en kanal eller gruppe (opprett, forlatt, slett).",
@@ -460,7 +462,7 @@
   "Chatpal_AdminPage": "Chatpal Admin Page",
   "Chatpal_All_Results": "Alle",
   "Chatpal_API_Key": "API-nøkkel",
-  "Chatpal_API_Key_Description": "Du har ennå ikke en <strong>API-nøkkel</strong>? <a class=\"chatpal-admin-link\" href=\". / Admin / chatpal\" >Få en!</a>",
+  "Chatpal_API_Key_Description": "Du har ennå ikke en <strong>API-nøkkel</strong>? <a class=\"chatpal-admin-link\" href=\"./admin/chatpal\">Få en!</a>",
   "Chatpal_Backend": "Backend Type",
   "Chatpal_Backend_Description": "Velg om du vil bruke Chatpal som en tjeneste eller som installasjon på stedet",
   "Chatpal_Base_URL": "Base Url",
@@ -816,6 +818,7 @@
   "Created_at_s_by_s_triggered_by_s": "Laget til <strong>%s</strong>etter <strong>%s</strong>utløst av <strong>%s</strong>",
   "CRM_Integration": "CRM Integrasjon",
   "CROWD_Reject_Unauthorized": "Avvis Uautorisert",
+  "Crowd_sync_interval_Description": "Intervallet mellom synkroniseringer. Eksempel \"hver 24. time\" eller \"på den første dagen i uken\", flere eksempler på [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "Nåværende Chatter",
   "Current_Status": "Nåværende status",
   "Custom": "Tilpasset",
@@ -1339,8 +1342,10 @@
   "Install_package": "Installer pakken",
   "Installation": "Installasjon",
   "Installed_at": "Installert på",
+  "Invitation_HTML": "Invitasjon HTML",
   "Instance_Record": "Instans Record",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Instruksjoner til din besøkende fyller skjemaet for å sende en melding",
+  "Invitation_HTML_Default": "<h1>Du har blitt invitert til <strong>[Site_Name]</strong></h1><p>Gå til [Site_URL] og prøv den beste open source chat-løsningen tilgjengelig i dag!</p>",
   "Insurance": "Forsikring",
   "Integration_added": "Integrasjon er lagt til",
   "Integration_Advanced_Settings": "Avanserte innstillinger",
@@ -1406,9 +1411,7 @@
   "invisible": "usynlig",
   "Invisible": "Usynlig",
   "Invitation": "Invitasjon",
-  "Invitation_HTML": "Invitasjon HTML",
-  "Invitation_HTML_Default": "<h1>Du har blitt invitert til <strong>[Site_Name]</strong></h1><p>Gå til [Site_URL] og prøv den beste open source chat-løsningen tilgjengelig i dag!</p>",
-  "Invitation_HTML_Description": "Du kan bruke følgende plassholdere:<br/><ul><li>[email] for mottakerens e-postadresse.</li><li>[Site_Name] og [Site_URL] for henholdsvis programnavnet og nettadressen.</li></ul>",
+  "Invitation_Email_Description": "Du kan bruke følgende plassholdere:<br/><ul><li>[email] for mottakerens e-postadresse.</li><li>[Site_Name] og [Site_URL] for henholdsvis programnavnet og nettadressen.</li></ul>",
   "Invitation_Subject": "Invitasjonsfag",
   "Invitation_Subject_Default": "Du har blitt invitert til [Site_Name]",
   "Invite_user_to_join_channel": "Be en bruker til å bli med på denne kanalen",
@@ -2525,6 +2528,7 @@
   "Tokens_Required_Input_Error": "Ugyldige skrevet tokens.",
   "Tokens_Required_Input_Placeholder": "Tokens aktiva navn",
   "Topic": "Emne",
+  "Total_messages": "Totalt antall meldinger",
   "Tourism": "Turisme",
   "Transcript_Enabled": "Spør besøkende hvis de vil ha en transkripsjon etter at Chat er lukket",
   "Transcript_message": "Melding til å vise når du spør om transkripsjon",
@@ -2585,6 +2589,7 @@
   "Upload_file_description": "Filbeskrivelse",
   "Upload_file_name": "Filnavn",
   "Upload_file_question": "Last opp fil?",
+  "Upload_Folder_Path": "Last opp mappebane",
   "Upload_user_avatar": "Last opp avatar",
   "Uploading_file": "Laster opp fil ...",
   "Uptime": "oppetid",
@@ -2596,6 +2601,7 @@
   "Use_initials_avatar": "Bruk ditt brukernavn initialer",
   "Use_minor_colors": "Bruk mindre fargepalett (standard arve store farger)",
   "Use_service_avatar": "Bruk%s avatar",
+  "Verification_Email": "Klikk <a href=\"[Verification_Url]\">her</a>for å bekrefte kontoen din.",
   "Use_this_username": "Bruk dette brukernavnet",
   "Use_uploaded_avatar": "Bruk opplastet avatar",
   "Use_url_for_avatar": "Bruk URL for avatar",
@@ -2692,7 +2698,6 @@
   "Validate_email_address": "Bekreft e-postadresse",
   "Verification": "Bekreftelse",
   "Verification_Description": "Du kan bruke følgende plassholdere: <br/><ul><li>[Verification_Url] for verifikasjonsadressen.</li><li>[navn], [fname], [lname] for brukerens fulle navn, fornavn eller etternavn.</li><li>[email] for brukerens e-postadresse.</li><li>[Site_Name] og [Site_URL] for henholdsvis programnavnet og nettadressen.</li></ul>",
-  "Verification_Email": "Klikk <a href=\"[Verification_Url]\">her</a>for å bekrefte kontoen din.",
   "Verification_email_sent": "Verifikasjons e-post sendt",
   "Verification_Email_Subject": "[Site_Name] - Bekreft kontoen din",
   "Verified": "Verified",
@@ -2753,6 +2758,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Vi er frakoblet. Beklager bryet.",
   "We_have_sent_password_email": "Vi har sendt deg en epost med instruksjoner for tilbakestilling av passord. Hvis du ikke mottar en epost, vennligst kom tilbake og prøv igjen.",
   "We_have_sent_registration_email": "Vi har sendt deg en e-post for å bekrefte din registrering. Hvis du ikke mottar en epost, vennligst kom tilbake og prøv igjen.",
+  "Webdav_Server_URL": "WebDAV Server Access URL",
+  "Webdav_Username": "WebDAV Brukernavn",
+  "Webdav_Password": "WebDAV-passord",
   "Webhook_URL": "Webhook URL",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "Direkte lydanrop fra%s",
diff --git a/packages/rocketchat-i18n/i18n/pl.i18n.json b/packages/rocketchat-i18n/i18n/pl.i18n.json
index 24a6a29b9ad00cb0336839350fdaae658039cf33..a0b741614d484aabc5ea986409e06f09b8d02013 100644
--- a/packages/rocketchat-i18n/i18n/pl.i18n.json
+++ b/packages/rocketchat-i18n/i18n/pl.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "Zabronione",
+  "500": "Wewnętrzny błąd serwera",
   "#channel": "#kanał",
   "0_Errors_Only": "0 - Tylko błędy",
   "1_Errors_and_Information": "1 - Błędy i informacje",
   "2_Erros_Information_and_Debug": "2 - Błędy, Informacje i debugowanie",
-  "403": "Zabronione",
-  "500": "Wewnętrzny błąd serwera",
   "@username": "@nazwa użytkownika",
   "@username_message": "@nazwa użytkownika <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__username__ nie jest już __role__ przez __user_by__",
@@ -57,13 +57,13 @@
   "Accounts_Email_Approved": "[name]<br/><br/><p>Twoje konto zostało zatwierdzone.</p>",
   "Accounts_Email_Approved_Subject": "Konto zatwierdzone",
   "Accounts_Email_Deactivated": "[name]<br/><br/><p>Twoje konto zostało dezaktywowane.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>Witamy w <strong>[Site_Name]</strong></h1><p>Przejdź do <a href=\"[Site_URL]\">[Site_URL]</a> i spróbuj najlepszego rozwiązanie czat open source dostępne już dziś! </p>",
   "Accounts_Email_Deactivated_Subject": "Konto zostało wyłączone",
   "Accounts_EmailVerification": "Weryfikacja adresu email",
   "Accounts_EmailVerification_Description": "Upewnij się, że masz odpowiednie ustawienia SMTP by korzystać z tej funkcji",
+  "Accounts_Enrollment_Email_Subject_Default": "Witamy w [Site_Name]",
   "Accounts_Enrollment_Email": "Adres e-mail do rekrutacji",
-  "Accounts_Enrollment_Email_Default": "<h1>Witamy w <strong>[Site_Name]</strong></h1><p>Przejdź do <a href=\"[Site_URL]\">[Site_URL]</a> i spróbuj najlepszego rozwiązanie czat open source dostępne już dziś! </p>",
   "Accounts_Enrollment_Email_Description": "Możesz użyć znaczników [name], [fname], [lname] by wstawić odpowiednio pełną nazwę użytkownika, jego imię, nazwisko.<br/>\nMożesz użyć znacznika [email] by wstawić adres email użytkownika.",
-  "Accounts_Enrollment_Email_Subject_Default": "Witamy w [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "Zapomnij o sesji użytkownika w oknie Zamknij",
   "Accounts_Iframe_api_method": "Metoda Api",
   "Accounts_Iframe_api_url": "API Url",
@@ -177,12 +177,12 @@
   "Accounts_ShowFormLogin": "Pokaż formularz logowania",
   "Accounts_TwoFactorAuthentication_Enabled": "WÅ‚Ä…cz uwierzytelnianie dwuetapowe",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Maksymalna Delta",
+  "Accounts_UserAddedEmail_Default": "<h1>Witamy w <strong>[Site_Name]</strong></h1><p>Przejdź do <a href=\"[Site_URL]\">[Site_URL]</a> i spróbuj najlepsze rozwiązanie czat open source dostępne już dziś! </p><p> Możesz zalogować się przy użyciu adresu e-mail: [email] i hasło: [hasło]. Może być konieczne, aby go zmienić po pierwszym logowaniu.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "Maksymalna Delta określa, ile żetonów jest ważnych w danym momencie. Tokeny są generowane co 30 sekund i są ważne dla (30 * maksymalnej delty) sekund. <br/>Przykład: Przy maksymalnej wartości delta ustawionej na 10, każdy token może być użyty do 300 sekund przed lub po sygnaturze czasowej. Jest to przydatne, gdy zegar klienta nie jest prawidłowo zsynchronizowany z serwerem.",
   "Accounts_UseDefaultBlockedDomainsList": "Użyj domyślnego Lista zablokowanych domen",
   "Accounts_UseDNSDomainCheck": "Użyj DNS domeny Check",
-  "Accounts_UserAddedEmail_Default": "<h1>Witamy w <strong>[Site_Name]</strong></h1><p>Przejdź do <a href=\"[Site_URL]\">[Site_URL]</a> i spróbuj najlepsze rozwiązanie czat open source dostępne już dziś! </p><p> Możesz zalogować się przy użyciu adresu e-mail: [email] i hasło: [hasło]. Może być konieczne, aby go zmienić po pierwszym logowaniu.",
-  "Accounts_UserAddedEmail_Description": "Możesz użyć następujących symboli zastępczych: <br/><ul><li> [name], [fname] [lname] dla pełnej nazwy użytkownika, imienia lub nazwiska, odpowiednio. </li><li> [email] przez e-mail użytkownika. </li><li> [password] o hasło użytkownika. </li><li> [Site_Name] i [Site_URL] dla nazwy aplikacji i zawartości odpowiednio. </li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "Zostałeś dodany do [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "Możesz użyć następujących symboli zastępczych: <br/><ul><li> [name], [fname] [lname] dla pełnej nazwy użytkownika, imienia lub nazwiska, odpowiednio. </li><li> [email] przez e-mail użytkownika. </li><li> [password] o hasło użytkownika. </li><li> [Site_Name] i [Site_URL] dla nazwy aplikacji i zawartości odpowiednio. </li></ul>",
   "Activate": "Aktywuj",
   "Activity": "Aktywność",
   "Add": "Dodaj",
@@ -238,6 +238,7 @@
   "Allow_Marketing_Emails": "Zezwalaj na wiadomości marketingowe",
   "Alphabetical": "Alfabetycznie",
   "Always_open_in_new_window": "Zawsze otwieraj w nowym oknie",
+  "Analytics": "Analytics",
   "Analytics_features_enabled": "Opis WÅ‚Ä…czone",
   "Analytics_features_messages_Description": "Śledź ",
   "Analytics_features_rooms_Description": "Utwory niestandardowych zdarzeń związanych z działaniami na kanale lub grupy (tworzenie, zostawić, usuwanie).",
@@ -816,6 +817,7 @@
   "Created_at_s_by_s_triggered_by_s": "Utworzony w <strong>%s</strong> przez <strong>%s</strong> wywołany przez <strong>%s</strong>",
   "CRM_Integration": "Integracja CRM",
   "CROWD_Reject_Unauthorized": "Odrzuć bezauktoryzacji",
+  "Crowd_sync_interval_Description": "Odstęp między synchronizacjami. Przykład \"co 24 godziny\" lub \"pierwszego dnia tygodnia\", więcej przykładów w [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "Aktualne Czaty",
   "Current_Status": "Aktualny stan",
   "Custom": "Zwyczaj",
@@ -1339,8 +1341,10 @@
   "Install_package": "Zainstaluj pakiet",
   "Installation": "Instalacja",
   "Installed_at": "Zainstalowany o",
+  "Invitation_HTML": "Kod HTML zaproszenia",
   "Instance_Record": "Instancja Record",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Instrukcje dla odwiedzającego wypełnić formularz, aby wysłać wiadomość",
+  "Invitation_HTML_Default": "<h1>Zostaliście zaproszeni do <strong>[Site_Name]</strong></h1><p>Przejdź do [Site_URL] i spróbuj najlepsze rozwiązanie czat open source dostępne już dziś! </p>",
   "Insurance": "Ubezpieczenie",
   "Integration_added": "Integracja została dodana",
   "Integration_Advanced_Settings": "Zaawansowane ustawienia",
@@ -1406,9 +1410,7 @@
   "invisible": "niewidoczny",
   "Invisible": "Niewidoczny",
   "Invitation": "Zaproszenie",
-  "Invitation_HTML": "Kod HTML zaproszenia",
-  "Invitation_HTML_Default": "<h1>Zostaliście zaproszeni do <strong>[Site_Name]</strong></h1><p>Przejdź do [Site_URL] i spróbuj najlepsze rozwiązanie czat open source dostępne już dziś! </p>",
-  "Invitation_HTML_Description": "Możesz użyć następujących symboli zastępczych: <br/><ul><li> [email] na e-mail odbiorcy. </li><li> [Site_Name] i [Site_URL] dla nazwy aplikacji i zawartości odpowiednio. </li></ul>",
+  "Invitation_Email_Description": "Możesz użyć następujących symboli zastępczych: <br/><ul><li> [email] na e-mail odbiorcy. </li><li> [Site_Name] i [Site_URL] dla nazwy aplikacji i zawartości odpowiednio. </li></ul>",
   "Invitation_Subject": "Temat zaproszenia",
   "Invitation_Subject_Default": "Zostałeś zaproszony do [Site_Name]",
   "Invite_user_to_join_channel": "Zaproś użytkownika by dołączył do kanału",
@@ -2525,6 +2527,7 @@
   "Tokens_Required_Input_Error": "Nieprawidłowe pisane żetony.",
   "Tokens_Required_Input_Placeholder": "Nazwy zasobów tokenów",
   "Topic": "Temat",
+  "Total_messages": "Liczba wiadomości",
   "Tourism": "Turystyka",
   "Transcript_Enabled": "Zapytaj odwiedzających czy potrzebują transkryptu rozmowy po jej zakończeniu.",
   "Transcript_message": "Wiadomość do wyświetlenia przy zapytaniu o transkrypt.",
@@ -2585,6 +2588,7 @@
   "Upload_file_description": "Opis pliku",
   "Upload_file_name": "Nazwa pliku",
   "Upload_file_question": "Przesłać plik?",
+  "Upload_Folder_Path": "Prześlij ścieżkę folderu",
   "Upload_user_avatar": "Załaduj awatar",
   "Uploading_file": "Przesyłanie pliku ...",
   "Uptime": "Uptime",
@@ -2596,6 +2600,7 @@
   "Use_initials_avatar": "Użyj inicjałów",
   "Use_minor_colors": "Użyj mniejszej palety kolorów (domyślnie dziedziczą główne kolory)",
   "Use_service_avatar": "Użyj avatar z %s",
+  "Verification_Email": "Kliknij <a href=\"[Verification_Url]\">tutaj</a>, aby zweryfikować swoje konto.",
   "Use_this_username": "Użyj tej nazwy użytkownika",
   "Use_uploaded_avatar": "Użyj dodany awatar",
   "Use_url_for_avatar": "Użyj adresu URL",
@@ -2692,7 +2697,6 @@
   "Validate_email_address": "Sprawdź poprawność adresu e-mail",
   "Verification": "Weryfikacja",
   "Verification_Description": "Możesz użyć następujących symboli zastępczych: <br/><ul><li>[Verification_Url] dla weryfikacyjnego adresu URL.</li><li>[nazwa], [fname], [lname] dla pełnego imienia i nazwiska użytkownika, imienia lub nazwiska.</li><li>[email] dla adresu e-mail użytkownika.</li><li>[Nazwa witryny] i [Site_URL] odpowiednio dla nazwy aplikacji i adresu URL.</li></ul>",
-  "Verification_Email": "Kliknij <a href=\"[Verification_Url]\">tutaj</a>, aby zweryfikować swoje konto.",
   "Verification_email_sent": "E-mail weryfikacyjny został wysłany",
   "Verification_Email_Subject": "[Nazwa witryny] - Zweryfikuj swoje konto",
   "Verified": "Zweryfikowany",
@@ -2753,6 +2757,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Jesteśmy offline. Przepraszamy za niedogodności.",
   "We_have_sent_password_email": "Wysłaliśmy Ci e-mail z instrukcjami resetowania hasła. Jeśli nie dostaniesz wiadomości, prosimy spróbować ponownie.",
   "We_have_sent_registration_email": "Wysłaliśmy e-mail w celu potwierdzenie Twojej rejestracji. Jeśli nie dostaniesz wiadomości, prosimy spróbować ponownie.",
+  "Webdav_Server_URL": "Adres URL dostępu do serwera WebDAV",
+  "Webdav_Username": "Nazwa użytkownika WebDAV",
+  "Webdav_Password": "Hasło WebDAV",
   "Webhook_URL": "Webhook URL",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "Bezpośrednie połączenie audio z%s",
diff --git a/packages/rocketchat-i18n/i18n/pt-BR.i18n.json b/packages/rocketchat-i18n/i18n/pt-BR.i18n.json
old mode 100755
new mode 100644
index e0d1600af257b7a7667527316c195e6cee31c0a5..9ebf31c2f14da52984e2d3b76d90d47eae72fd63
--- a/packages/rocketchat-i18n/i18n/pt-BR.i18n.json
+++ b/packages/rocketchat-i18n/i18n/pt-BR.i18n.json
@@ -1,10 +1,12 @@
 {
+  "403": "Proibido",
+  "500": "Erro Interno do Servidor",
   "#channel": "#canal",
   "0_Errors_Only": "0 - Apenas erros",
+  "12_Hour": "12 horas",
   "1_Errors_and_Information": "1 - Erros e Informações",
+  "24_Hour": "24 horas",
   "2_Erros_Information_and_Debug": "2 - Erros, Informação e Debug",
-  "403": "Proibido",
-  "500": "Erro Interno do Servidor",
   "@username": "@username",
   "@username_message": "@usuario <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__username__ não pertence mais à __role__, por __user_by__",
@@ -58,13 +60,13 @@
   "Accounts_Email_Approved": "[name]<br/><br/><p>Sua conta foi aprovada.</p>",
   "Accounts_Email_Approved_Subject": "Conta aprovada",
   "Accounts_Email_Deactivated": "[name]<br/><br/><p>Sua conta foi desativada.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>Bem-vindo ao <strong>[Site_Name]</strong></h1><p>Vá para <a href=\"[Site_URL]\">[Site_URL]</a> e teste a melhor solução de bate-papo open source disponível! </p>",
   "Accounts_Email_Deactivated_Subject": "Conta desativada",
   "Accounts_EmailVerification": "Verificação de E-mail",
   "Accounts_EmailVerification_Description": "Certifique-se de que possui definições SMTP corretas para usar este recurso",
+  "Accounts_Enrollment_Email_Subject_Default": "Bem-vindo ao [Site_Name]",
   "Accounts_Enrollment_Email": "E-mail de Inscrição",
-  "Accounts_Enrollment_Email_Default": "<h1>Bem-vindo ao <strong>[Site_Name]</strong></h1><p>Vá para <a href=\"[Site_URL]\">[Site_URL]</a> e teste a melhor solução de bate-papo open source disponível! </p>",
   "Accounts_Enrollment_Email_Description": "Você pode usar os seguintes placeholders: <br/><ul><li> [name], [fname], [lname] para o nome completo do usuário, primeiro nome ou sobrenome, respectivamente. </li><li>[email] para o e-mail do usuário. </li><li>[Site_Name] e [Site_URL] para o Nome da Aplicação e URL, respectivamente.</li></ul>",
-  "Accounts_Enrollment_Email_Subject_Default": "Bem-vindo ao [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "Esqueça a sessão do usuário ao fechar a janela",
   "Accounts_Iframe_api_method": "Método Api",
   "Accounts_Iframe_api_url": "URL da API",
@@ -173,17 +175,18 @@
   "Accounts_RequireNameForSignUp": "Nome é obrigatório para cadastro",
   "Accounts_RequirePasswordConfirmation": "Requer Confirmação de Senha",
   "Accounts_SearchFields": "Campos a considerar na busca",
+  "Accounts_Directory_DefaultView": "Lista de directoria por defeito",
   "Accounts_SetDefaultAvatar": "Definir Avatar Padrão",
   "Accounts_SetDefaultAvatar_Description": "Tenta determinar o avatar padrão com base em OAuth Account ou Gravatar",
   "Accounts_ShowFormLogin": "Mostrar formulário de login",
   "Accounts_TwoFactorAuthentication_Enabled": "Ativar autenticação de dois fatores",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Delta máximo",
+  "Accounts_UserAddedEmail_Default": "<h1>Bem-vindo ao <strong>[Site_Name]</strong></h1><p> Vá para <a href=\"[Site_URL]\">[Site_URL]</a> e tente a melhor solução de bate-papo aberta fonte disponível hoje! </p><p> Você pode fazer o login usando seu e-mail: [email] e password: [password]. Você pode ser obrigado a mudá-lo após o seu primeiro login.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "O Delta máximo determina quantos tokens são válidos em qualquer momento. Os tokens são gerados a cada 30 segundos e são válidos para (30 * Delta máximo) segundos. <br/>Exemplo: com um Delta máximo configurado para 10, cada token pode ser usado até 300 segundos antes ou depois do timestamp. Isso é útil quando o relógio do cliente não está corretamente sincronizado com o servidor.",
   "Accounts_UseDefaultBlockedDomainsList": "Use Lista Padrão de Domínios Bloqueados",
   "Accounts_UseDNSDomainCheck": "Use verificação de Domínio DNS",
-  "Accounts_UserAddedEmail_Default": "<h1>Bem-vindo ao <strong>[Site_Name]</strong></h1><p> Vá para <a href=\"[Site_URL]\">[Site_URL]</a> e tente a melhor solução de bate-papo aberta fonte disponível hoje! </p><p> Você pode fazer o login usando seu e-mail: [email] e password: [password]. Você pode ser obrigado a mudá-lo após o seu primeiro login.",
-  "Accounts_UserAddedEmail_Description": "Você pode usar os seguintes espaços reservados: <br/><ul><li> [name], [fname], [lname] para o nome do usuário completo, primeiro nome ou sobrenome, respectivamente. </li><li> [email] para e-mail do usuário. </li><li> [Senha] para a senha do usuário. </li><li> [Site_Name] e [Site_URL] para o nome do aplicativo e URL, respectivamente. </li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "Você foi adicionado para [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "Você pode usar os seguintes espaços reservados: <br/><ul><li> [name], [fname], [lname] para o nome do usuário completo, primeiro nome ou sobrenome, respectivamente. </li><li> [email] para e-mail do usuário. </li><li> [Senha] para a senha do usuário. </li><li> [Site_Name] e [Site_URL] para o nome do aplicativo e URL, respectivamente. </li></ul>",
   "Activate": "Ativar",
   "Activity": "Atividade",
   "Add": "Adicionar",
@@ -239,6 +242,7 @@
   "Allow_Marketing_Emails": "Permitir emails de marketing",
   "Alphabetical": "Alfabética",
   "Always_open_in_new_window": "Sempra Abrir em Janela Nova",
+  "Analytics": "Analytics",
   "Analytics_features_enabled": "Funcionalidades habilitadas",
   "Analytics_features_messages_Description": "Rastreia eventos personalizados relacionados a ações que um usuário faz em mensagens.",
   "Analytics_features_rooms_Description": "Rastreia eventos personalizados relacionados com ações em um canal ou grupo (criar, sair, apague).",
@@ -397,6 +401,9 @@
   "Beta_feature_Depends_on_Video_Conference_to_be_enabled": "Funcionalidade Beta! Depende que Vídeo Conferência esteja habilitado",
   "Block_User": "Bloquear usuário",
   "Blockchain": "Blockchain",
+  "Blockstack_Auth_Description": "Descrição de autorização",
+  "Blockstack_ButtonLabelText": "Texto do rótulo do botão",
+  "Blockstack_Generate_Username": "Gerar nome de utilizador",
   "Body": "Corpo",
   "bold": "negrito",
   "bot_request": "Requisição de Bot",
@@ -833,6 +840,7 @@
   "Created_at_s_by_s_triggered_by_s": "Criado em <strong>%s</strong>por <strong>%s</strong>desencadeado por <strong>%s</strong>",
   "CRM_Integration": "Integração de CRM",
   "CROWD_Reject_Unauthorized": "Rejeitar não autorizado",
+  "Crowd_sync_interval_Description": "O intervalo entre as sincronizações. Exemplo de \"todas as 24 horas\" ou \"no primeiro dia da semana\", mais exemplos em [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "Bate-papos atuais",
   "Current_Status": "Status atual",
   "Custom": "Personalizado",
@@ -1364,8 +1372,10 @@
   "Install_package": "Instalar pacote",
   "Installation": "Instalação",
   "Installed_at": "Instalado em",
+  "Invitation_HTML": "HTML do Convite",
   "Instance_Record": "Registro de instância",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Instruções para o visitante preencher o formulário para enviar uma mensagem",
+  "Invitation_HTML_Default": "<h1>Você foi convidado para <strong>[Site_Name]</strong></h1><p> Vá para [Site_URL] e tente a melhor solução de bate-papo aberta fonte disponível hoje! </p>",
   "Insurance": "Seguro",
   "Integration_added": "A integração foi adicionada",
   "Integration_Advanced_Settings": "Configurações avançadas",
@@ -1431,9 +1441,7 @@
   "invisible": "invisível",
   "Invisible": "Invisível",
   "Invitation": "Convite",
-  "Invitation_HTML": "HTML do Convite",
-  "Invitation_HTML_Default": "<h1>Você foi convidado para <strong>[Site_Name]</strong></h1><p> Vá para [Site_URL] e tente a melhor solução de bate-papo aberta fonte disponível hoje! </p>",
-  "Invitation_HTML_Description": "Você pode usar os seguintes espaços reservados: <br/><ul><li> [email] para o e-mail do destinatário. </li><li> [Site_Name] e [Site_URL] para o nome do aplicativo e URL, respectivamente. </li></ul>",
+  "Invitation_Email_Description": "Você pode usar os seguintes espaços reservados: <br/><ul><li> [email] para o e-mail do destinatário. </li><li> [Site_Name] e [Site_URL] para o nome do aplicativo e URL, respectivamente. </li></ul>",
   "Invitation_Subject": "Assunto do Convite",
   "Invitation_Subject_Default": "Você foi convidado para [Site_Name]",
   "Invite_user_to_join_channel": "Convidar um usuário para este canal",
@@ -1628,8 +1636,8 @@
   "Livechat_Inquiry_Already_Taken": "Inquérito Livechat já realizado",
   "Livechat_managers": "Gerentes do Livechat",
   "Livechat_offline": "Livechat offline",
-  "Livechat_offline_message_sent": "Mensagem offline de Livechat enviada",
   "Livechat_online": "Livechat on-line",
+  "Livechat_offline_message_sent": "Mensagem offline de Livechat enviada",
   "Livechat_open_inquiery_show_connecting": "Mostrar conexão de mensagem em vez de entrada quando o visitante ainda não está conectado a um agente",
   "Livechat_Queue": "Roleta Livechat",
   "Livechat_registration_form": "Formulário de Registro",
@@ -2217,8 +2225,8 @@
   "Room_unarchived": "Sala desarquivada",
   "Room_uploaded_file_list": "Lista de arquivos",
   "Room_uploaded_file_list_empty": "Nenhum arquivo disponível",
-	"Rooms": "Salas",
-	"Run_only_once_for_each_visitor": "Rodar apenas uma vez por visitante",
+  "Rooms": "Salas",
+  "Run_only_once_for_each_visitor": "Rodar apenas uma vez por visitante",
   "run-import": "Executar importação",
   "run-import_description": "Permissão para executar os importadores",
   "run-migration": "Executar migração",
@@ -2425,7 +2433,7 @@
   "Stats_Online_Users": "Usuários Online",
   "Stats_Total_Channels": "Quantidade de Canais",
   "Stats_Total_Direct_Messages": "Total de Salas de Mensagem Direta",
-  "Stats_Total_Livechat_Rooms": "Total de quartos Livechat",
+  "Stats_Total_Livechat_Rooms": "Total de Salas Livechat",
   "Stats_Total_Messages": "Quantidade de Mensagens",
   "Stats_Total_Messages_Channel": "Total de mensagens nos canais",
   "Stats_Total_Messages_Direct": "Total de mensagens em mensagens diretas",
@@ -2560,6 +2568,7 @@
   "Tokens_Required_Input_Error": "Tokens digitados inválidos.",
   "Tokens_Required_Input_Placeholder": "Tokens asset names",
   "Topic": "Tópico",
+  "Total_messages": "Quantidade de Mensagens",
   "Tourism": "Turismo",
   "Transcript_Enabled": "Pergunte ao visitante se eles gostariam de uma transcrição após o bate-papo fechado",
   "Transcript_message": "Mensagem para mostrar ao perguntar sobre Transcrição",
@@ -2621,6 +2630,7 @@
   "Upload_file_description": "Descrição do arquivo",
   "Upload_file_name": "Nome do arquivo",
   "Upload_file_question": "Enviar arquivo?",
+  "Upload_Folder_Path": "Carregar caminho da pasta",
   "Upload_user_avatar": "Upload avatar",
   "Uploading_file": "Subindo arquivo...",
   "Uptime": "Tempo online",
@@ -2632,6 +2642,7 @@
   "Use_initials_avatar": "Usar as iniciais do seu nome de usuário",
   "Use_minor_colors": "Use uma paleta de cores menor (os padrões herdam cores principais)",
   "Use_service_avatar": "Use o avatar de %s",
+  "Verification_Email": "Clique em <a href=\"[Verification_Url]\">aqui</a>para verificar sua conta.",
   "Use_this_username": "Usar este nome de usuário",
   "Use_uploaded_avatar": "Use o avatar de upload",
   "Use_url_for_avatar": "Use url para o avatar",
@@ -2728,7 +2739,6 @@
   "Validate_email_address": "Validar endereço de e-mail",
   "Verification": "Verificação",
   "Verification_Description": "Você pode usar os seguintes placeholders:<br/><ul><li>[Verification_Url] para o URL de verificação.</li><li>[nome], [fname], [lname] para o nome completo, primeiro nome ou sobrenome do usuário, respectivamente.</li><li>[email] para o email do usuário.</li><li>[Site_Name] e [Site_URL] para o Nome da Aplicação e o URL, respectivamente.</li></ul>",
-  "Verification_Email": "Clique em <a href=\"[Verification_Url]\">aqui</a>para verificar sua conta.",
   "Verification_email_sent": "E-mail de verificação enviado",
   "Verification_Email_Subject": "[Site_Name] - Verifique sua conta",
   "Verified": "Verificado",
@@ -2756,7 +2766,7 @@
   "view-l-room_description": "Permissão para ver canais de Livechat",
   "view-livechat-manager": "Ver o Gerente Livechat",
   "view-livechat-manager_description": "Permissão para ver outros gerentes de Livechat",
-  "view-livechat-rooms": "Ver Salões Livechat",
+  "view-livechat-rooms": "Ver Salas Livechat",
   "view-livechat-rooms_description": "Permissão para ver outros canais de Livechat",
   "view-logs": "Ver registros",
   "view-logs_description": "Permissão para visualizar os logs do servidor",
@@ -2789,6 +2799,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Estamos offline. Desculpe pela inconveniência.",
   "We_have_sent_password_email": "Nós lhe enviamos um e-mail com instruções para redefinir sua senha. Se você não receber um e-mail em breve, por favor retorne e tente novamente.",
   "We_have_sent_registration_email": "Nós lhe enviamos um e-mail para confirmar o seu registro. Se você não receber um e-mail em breve, por favor retorne e tente novamente.",
+  "Webdav_Server_URL": "URL de acesso ao servidor WebDAV",
+  "Webdav_Username": "Nome de usuário do WebDAV",
+  "Webdav_Password": "Senha do WebDAV",
   "Webhook_URL": "URL do webhook",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "Chamada de áudio direta de%s",
diff --git a/packages/rocketchat-i18n/i18n/pt.i18n.json b/packages/rocketchat-i18n/i18n/pt.i18n.json
old mode 100755
new mode 100644
index fba14556277907a18b1cb275b991471f8d9b5a84..3ecbb806b8f7f1d7eb58cf870111ff4e54a1e550
--- a/packages/rocketchat-i18n/i18n/pt.i18n.json
+++ b/packages/rocketchat-i18n/i18n/pt.i18n.json
@@ -1,10 +1,12 @@
 {
+  "403": "Proibido",
+  "500": "Erro Interno do Servidor",
   "#channel": "#canal",
   "0_Errors_Only": "0 - Apenas erros",
+  "12_Hour": "sistema horário de 12 horas",
   "1_Errors_and_Information": "1 - Erros e Informações",
+  "24_Hour": "Relógio 24-horas",
   "2_Erros_Information_and_Debug": "2 - Erros, Informação e Debug",
-  "403": "Proibido",
-  "500": "Erro Interno do Servidor",
   "@username": "@username",
   "@username_message": "@username <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__username__ já não pertence a __role__, por __user_by__",
@@ -35,7 +37,7 @@
   "Accounts_AllowUserAvatarChange": "Permitir que o utilizador troque o avatar",
   "Accounts_AllowUsernameChange": "Permitir alterar nome de utilizador",
   "Accounts_AllowUserProfileChange": "Permitir que o utilizador altere o perfil",
-  "Accounts_AvatarBlockUnauthenticatedAccess": "Bloquear o acesso aos Avatares não autenticado ",
+  "Accounts_AvatarBlockUnauthenticatedAccess": "Bloquear o acesso não autenticado aos avatares",
   "Accounts_AvatarCacheTime": "Tempo de cache do avatar",
   "Accounts_AvatarCacheTime_description": "Número de segundos que o protocolo http recebe para armazenar em cache as imagens do avatar.",
   "Accounts_AvatarResize": "Redimensionar Avatares",
@@ -58,13 +60,13 @@
   "Accounts_Email_Approved": "[name]<br/><br/><p>A sua conta foi aprovada.</p>",
   "Accounts_Email_Approved_Subject": "Conta aprovada",
   "Accounts_Email_Deactivated": "[name]<br/><br/><p>Sua conta foi desactivada.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>Bem-vindo ao <strong>[Site_Name]</strong></h1><p> Vá para <a href=\"[Site_URL]\">[Site_URL]</a> e tente a melhor solução de chat em código aberto disponível neste momento! </p>",
   "Accounts_Email_Deactivated_Subject": "Conta desactivada",
   "Accounts_EmailVerification": "Verificação de E-mail",
   "Accounts_EmailVerification_Description": "Certifique-se de que as configurações de SMTP estão corretas para usar este recurso",
+  "Accounts_Enrollment_Email_Subject_Default": "Bem-vindo ao [Site_Name]",
   "Accounts_Enrollment_Email": "E-mail de inscrição",
-  "Accounts_Enrollment_Email_Default": "<h1>Bem-vindo ao <strong>[Site_Name]</strong></h1><p> Vá para <a href=\"[Site_URL]\">[Site_URL]</a> e tente a melhor solução de chat em código aberto disponível neste momento! </p>",
   "Accounts_Enrollment_Email_Description": "Pode usar os seguintes espaços reservados: <br/><ul><li>[Verification_Url] para o URL de verificação.</li><li>[name], [fname], [lname] para o nome completo, primeiro nome ou sobrenome do utilizador, respectivamente.</li>[email] para o email do utilizador.<li>[Site_Name] e [Site_URL] para o Nome do Aplicativo e o URL, respetivamente.</li></ul>",
-  "Accounts_Enrollment_Email_Subject_Default": "Bem-vindo ao [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "Limpar a sessão de utilizador ao fechar a janela",
   "Accounts_Iframe_api_method": "Método Api",
   "Accounts_Iframe_api_url": "URL da API",
@@ -84,7 +86,7 @@
   "Accounts_OAuth_Custom_Merge_Users": "Unir utilizadores",
   "Accounts_OAuth_Custom_Scope": "Âmbito",
   "Accounts_OAuth_Custom_Secret": "Segredo",
-  "Accounts_OAuth_Custom_Token_Path": "Caminho do Código",
+  "Accounts_OAuth_Custom_Token_Path": "Caminho do Token",
   "Accounts_OAuth_Custom_Token_Sent_Via": "Token Enviado Por",
   "Accounts_OAuth_Custom_Username_Field": "Campo de Utilizador",
   "Accounts_OAuth_Drupal": "Login do Drupal habilitado",
@@ -173,17 +175,18 @@
   "Accounts_RequireNameForSignUp": "O nome é obrigatório para registo",
   "Accounts_RequirePasswordConfirmation": "Requer Confirmação de Senha",
   "Accounts_SearchFields": "Campos a considerar na busca",
+  "Accounts_Directory_DefaultView": "Lista de directoria por defeito",
   "Accounts_SetDefaultAvatar": "Definir Avatar Padrão",
   "Accounts_SetDefaultAvatar_Description": "Tenta determinar o avatar padrão com base em OAuth Account ou Gravatar",
   "Accounts_ShowFormLogin": "Mostrar formulário de login",
   "Accounts_TwoFactorAuthentication_Enabled": "Activar autenticação com dois parâmetros",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Delta máximo",
+  "Accounts_UserAddedEmail_Default": "<h1>Bem-vindo ao <strong>[Site_Name]</strong></h1><p> Vá para <a href=\"[Site_URL]\">[Site_URL]</a> e tente a melhor solução de chat com código fonte aberto disponível hoje! </p><p> Pode fazer o login usando seu e-mail: [email] e password: [password]. Pode ser obrigado a mudá-lo após o seu primeiro login.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "O Delta máximo determina quantos tokens são válidos em qualquer momento. Os tokens são gerados a cada 30 segundos e são válidos para (30 * Delta máximo) segundos. <br/>Exemplo: com um Delta máximo configurado para 10, cada token pode ser usado até 300 segundos antes ou depois do timestamp. Isso é útil quando o relógio do cliente não está corretamente sincronizado com o servidor.",
   "Accounts_UseDefaultBlockedDomainsList": "Use Lista Padrão de Domínios Bloqueados",
   "Accounts_UseDNSDomainCheck": "Use verificação de Domínio DNS",
-  "Accounts_UserAddedEmail_Default": "<h1>Bem-vindo ao <strong>[Site_Name]</strong></h1><p> Vá para <a href=\"[Site_URL]\">[Site_URL]</a> e tente a melhor solução de chat com código fonte aberto disponível hoje! </p><p> Pode fazer o login usando seu e-mail: [email] e password: [password]. Pode ser obrigado a mudá-lo após o seu primeiro login.",
-  "Accounts_UserAddedEmail_Description": "Pode usar os seguintes espaços reservados: <br/><ul><li> [name], [fname], [lname] para o nome do utilizador completo, primeiro nome ou sobrenome, respectivamente. </li><li> [email] para e-mail do utilizador. </li><li> [Senha] para a senha do utilizador. </li><li> [Site_Name] e [Site_URL] para o nome da aplicação e URL, respectivamente. </li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "Foi adicionado ao [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "Pode usar os seguintes espaços reservados: <br/><ul><li> [name], [fname], [lname] para o nome do utilizador completo, primeiro nome ou sobrenome, respectivamente. </li><li> [email] para e-mail do utilizador. </li><li> [Senha] para a senha do utilizador. </li><li> [Site_Name] e [Site_URL] para o nome da aplicação e URL, respectivamente. </li></ul>",
   "Activate": "Ativar",
   "Activity": "Atividade",
   "Add": "Adicionar",
@@ -239,6 +242,7 @@
   "Allow_Marketing_Emails": "Permitir e-mail de publicidade",
   "Alphabetical": "Alfabética",
   "Always_open_in_new_window": "Abrir sempre em nova janela",
+  "Analytics": "Analytics",
   "Analytics_features_enabled": "Funcionalidades habilitadas",
   "Analytics_features_messages_Description": "Rastreia eventos personalizados relacionados com acções que um utilizador faz em mensagens.",
   "Analytics_features_rooms_Description": "Rastreia eventos personalizados relacionados com acções num canal ou grupo (criar, sair, apagar).",
@@ -397,6 +401,9 @@
   "Beta_feature_Depends_on_Video_Conference_to_be_enabled": "Funcionalidade Beta! Depende que a Vídeo Conferência esteja habilitada",
   "Block_User": "Bloquear Utilizador",
   "Blockchain": "Blockchain",
+  "Blockstack_Auth_Description": "Descrição de autorização",
+  "Blockstack_ButtonLabelText": "Texto do rótulo do botão",
+  "Blockstack_Generate_Username": "Gerar nome de utilizador",
   "Body": "Corpo",
   "bold": "negrito",
   "bot_request": "Requisição de Bot",
@@ -833,6 +840,7 @@
   "Created_at_s_by_s_triggered_by_s": "Criado em <strong>%s</strong>por <strong>%s</strong>desencadeado por <strong>%s</strong>",
   "CRM_Integration": "Integração CRM",
   "CROWD_Reject_Unauthorized": "Rejeitar não autorizado",
+  "Crowd_sync_interval_Description": "O intervalo entre as sincronizações. Exemplo de \"todas as 24 horas\" ou \"no primeiro dia da semana\", mais exemplos em [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "Chats atuais",
   "Current_Status": "Estado Actual",
   "Custom": "Personalizado",
@@ -1115,6 +1123,8 @@
   "Error_404": "Erro:404",
   "Error_changing_password": "Erro ao alterar palavra-passe",
   "Error_loading_pages": "Erro ao carregar páginas",
+  "Error_sending_livechat_transcript": "Erro ao enviar transcript do Livechat",
+  "Error_sending_livechat_offline_message": "Erro ao enviar mensagem offline do Livechat",
   "Esc_to": "Prima Esc para",
   "Event_Trigger": "Gerador de Eventos",
   "Event_Trigger_Description": "Seleccione qual tipo de evento irá desencadear essa Integração de WebHook de Saída",
@@ -1299,7 +1309,7 @@
   "How_long_to_wait_after_agent_goes_offline": "Quanto tempo esperar após agente ficar offline",
   "How_responsive_was_the_chat_agent": "Quão responsivo foi o agente de chat?",
   "How_satisfied_were_you_with_this_chat": "Ficou satisfeito com este chat?",
-  "How_to_handle_open_sessions_when_agent_goes_offline": "O que fazer com sessões abertas quando agente ficar offline",
+  "How_to_handle_open_sessions_when_agent_goes_offline": "O que fazer com sessões abertas quando o utilizador ficar off-line",
   "Idle_Time_Limit": "Tempo limite de ausência",
   "Idle_Time_Limit_Description": "Período de tempo até que o status mude para longe. O valor precisa estar em segundos.",
   "if_they_are_from": "(se eles são de% s)",
@@ -1362,8 +1372,10 @@
   "Install_package": "Instalar pacote",
   "Installation": "Instalação",
   "Installed_at": "Instalado em",
+  "Invitation_HTML": "HTML do Convite",
   "Instance_Record": "Registo de instância",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Instruções para o visitante preencher o formulário e enviar uma mensagem",
+  "Invitation_HTML_Default": "<h1>Foi convidado para <strong>[Site_Name]</strong></h1><p> Vá para [Site_URL] e tente a melhor solução de chat com código fonte aberto disponível hoje! </p>",
   "Insurance": "Seguro",
   "Integration_added": "A integração foi adicionada",
   "Integration_Advanced_Settings": "Configurações avançadas",
@@ -1429,9 +1441,7 @@
   "invisible": "Oculto",
   "Invisible": "Oculto",
   "Invitation": "Convite",
-  "Invitation_HTML": "HTML do Convite",
-  "Invitation_HTML_Default": "<h1>Foi convidado para <strong>[Site_Name]</strong></h1><p> Vá para [Site_URL] e tente a melhor solução de chat com código fonte aberto disponível hoje! </p>",
-  "Invitation_HTML_Description": "Pode usar os seguintes espaços reservados: <br/><ul><li> [email] para o e-mail do destinatário. </li><li> [Site_Name] e [Site_URL] para o nome da aplicação e URL, respectivamente. </li></ul>",
+  "Invitation_Email_Description": "Pode usar os seguintes espaços reservados: <br/><ul><li> [email] para o e-mail do destinatário. </li><li> [Site_Name] e [Site_URL] para o nome da aplicação e URL, respectivamente. </li></ul>",
   "Invitation_Subject": "Assunto do Convite",
   "Invitation_Subject_Default": "Foi convidado para [Site_Name]",
   "Invite_user_to_join_channel": "Convidar um utilizador para juntar-se a este canal",
@@ -1533,7 +1543,7 @@
   "LDAP_Background_Sync_Import_New_Users_Description": "Importará todos os usuários (com base em seus critérios de filtro) que existem no LDAP e não existe em Rocket.Chat",
   "LDAP_Background_Sync_Interval": "Intervalo de sincronização de fundo",
   "LDAP_Background_Sync_Interval_Description": "O intervalo entre as sincronizações. Exemplo de \"todas as 24 horas\" ou \"no primeiro dia da semana\", mais exemplos em [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)",
-  "LDAP_Background_Sync_Keep_Existant_Users_Updated": "Atualização de sincronização de plano de fundo Usuários existentes",
+  "LDAP_Background_Sync_Keep_Existant_Users_Updated": "Actualização da sincronização do plano de fundo dos Utilizadores existentes",
   "LDAP_Background_Sync_Keep_Existant_Users_Updated_Description": "Sincronizarão o avatar, os campos, o nome de utilizador, etc. (com base na sua configuração) de todos os utilizadores já importados do LDAP em cada ** Intervalo de sincronização **",
   "LDAP_BaseDN": "DN base",
   "LDAP_BaseDN_Description": "O nome distinto (DN) de uma sub-árvore LDAP em que deseja procurar por utilizadores e grupos. Pode adicionar tantos quantos quiser; no entanto, cada grupo deve ser definido na mesma base de domínio que os utilizadores que pertencem a ele. Se especificar grupos de utilizadores restritos, apenas os utilizadores que pertencem a esses grupos estarão no escopo. Recomendamos que especifique o nível mais alto de seu diretório LDAP como a sua base de domínio e use o filtro de pesquisa para controlar o acesso.",
@@ -1627,6 +1637,7 @@
   "Livechat_managers": "Gerentes do Livechat",
   "Livechat_offline": "Livechat offline",
   "Livechat_online": "Livechat on-line",
+  "Livechat_offline_message_sent": "Mensagem offline de Livechat enviada",
   "Livechat_open_inquiery_show_connecting": "Mostrar conexão de mensagem em vez de entrada quando o visitante ainda não está conectado a um agente",
   "Livechat_Queue": "Roleta Livechat",
   "Livechat_registration_form": "Formulário de Registo",
@@ -1635,6 +1646,7 @@
   "Livechat_Take_Confirm": "Quer levar este cliente?",
   "Livechat_title": "Título Livechat",
   "Livechat_title_color": "Cor de fundo do título do Livechat",
+  "Livechat_transcript_sent": "Transcrição de Livechat enviada",
   "Livechat_Users": "Utilizadores Livechat",
   "Livestream_close": "Fechar Livestream",
   "Livestream_enable_audio_only": "Habilitar apenas o modo de áudio",
@@ -2197,6 +2209,7 @@
   "Room_description_changed_successfully": "A descrição da sala mudou com sucesso",
   "Room_has_been_archived": "A sala foi arquivada",
   "Room_has_been_deleted": "A sala foi removida",
+  "Room_has_been_unarchived": "O quarto não foi arquivado",
   "Room_Info": "Informações da sala",
   "room_is_blocked": "Esta sala está bloqueada",
   "room_is_read_only": "Esta sala é apenas para leitura",
@@ -2213,6 +2226,7 @@
   "Room_uploaded_file_list": "Lista de ficheiros",
   "Room_uploaded_file_list_empty": "Nenhum ficheiro disponível",
   "Rooms": "Salas",
+  "Run_only_once_for_each_visitor": "Rodar apenas uma vez por visitante",
   "run-import": "Executar importação",
   "run-import_description": "Permissão para executar os importadores",
   "run-migration": "Executar migração",
@@ -2554,6 +2568,7 @@
   "Tokens_Required_Input_Error": "Tokens digitados inválidos.",
   "Tokens_Required_Input_Placeholder": "Tokens asset names",
   "Topic": "Tópico",
+  "Total_messages": "Total de mensagens",
   "Tourism": "Turismo",
   "Transcript_Enabled": "Pergunte ao visitante se eles gostariam de uma transcrição após o chat fechado",
   "Transcript_message": "Mensagem para mostrar ao perguntar sobre Transcrição",
@@ -2615,6 +2630,7 @@
   "Upload_file_description": "Descrição do ficheiro",
   "Upload_file_name": "Nome do ficheiro",
   "Upload_file_question": "Carregar ficheiro?",
+  "Upload_Folder_Path": "Carregar caminho da pasta",
   "Upload_user_avatar": "Carregar Avatar",
   "Uploading_file": "Carregando ficheiro...",
   "Uptime": "Tempo conectado",
@@ -2626,6 +2642,7 @@
   "Use_initials_avatar": "Utilizar iniciais do nome de utilizador",
   "Use_minor_colors": "Use uma paleta de cores menor (os padrões herdam cores principais)",
   "Use_service_avatar": "Utilizar o Avatar de %s",
+  "Verification_Email": "Clique em <a href=\"[Verification_Url]\">aqui</a>para verificar sua conta.",
   "Use_this_username": "Utilizar este nome de utilizador",
   "Use_uploaded_avatar": "Utilizar o Avatar carregado",
   "Use_url_for_avatar": "Utilizar URL para o Avatar",
@@ -2722,7 +2739,6 @@
   "Validate_email_address": "Validar endereço de e-mail",
   "Verification": "Validação",
   "Verification_Description": "Pode usar os seguintes espaços reservados: <br/><ul><li>[Verification_Url] para o URL de verificação.</li><li>[name], [fname], [lname] para o nome completo, primeiro nome ou sobrenome do utilizador, respetivamente.</li><li>[email] para o email do usuário.</li><li>[Site_Name] e [Site_URL] para o Nome da aplicação e o URL, respetivamente.</li></ul>",
-  "Verification_Email": "Clique em <a href=\"[Verification_Url]\">aqui</a>para verificar sua conta.",
   "Verification_email_sent": "Email de verificação enviado",
   "Verification_Email_Subject": "[Site_Name] - Valide sua conta",
   "Verified": "Validado",
@@ -2783,6 +2799,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Estamos offline. Pedimos desculpa pela inconveniência.",
   "We_have_sent_password_email": "Nós  enviamos-lhe um e-mail com instruções, para redefinir a sua senha. Se  não receber um e-mail em breve, por favor retorne e tente novamente.",
   "We_have_sent_registration_email": "Nós enviamos-lhe um e-mail para confirmar o seu registo. Se não receber um e-mail em breve, por favor volte e tente novamente.",
+  "Webdav_Server_URL": "URL de acesso ao servidor WebDAV",
+  "Webdav_Username": "Nome de utilizador do WebDAV",
+  "Webdav_Password": "Senha do WebDAV",
   "Webhook_URL": "URL do webhook",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "Chamada de áudio directa de %s",
diff --git a/packages/rocketchat-i18n/i18n/ro.i18n.json b/packages/rocketchat-i18n/i18n/ro.i18n.json
index 95b33f249866959f7888e844578aaac809f7721e..1a6694eff2519b7975e2de01fd6c5027ca7e7ac4 100644
--- a/packages/rocketchat-i18n/i18n/ro.i18n.json
+++ b/packages/rocketchat-i18n/i18n/ro.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "Interzis",
+  "500": "eroare interna a serverului",
   "#channel": "#canal",
   "0_Errors_Only": "0 - Doar erori.",
   "1_Errors_and_Information": "1 - Erori și informații",
   "2_Erros_Information_and_Debug": "2- Erori, informații și debug",
-  "403": "Interzis",
-  "500": "eroare interna a serverului",
   "@username": "@nume de utilizator",
   "@username_message": "@ nume <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__username__ nu mai este __role__, prin __user_by__",
@@ -57,13 +57,13 @@
   "Accounts_Email_Approved": "[name]<br/><br/><p>Contul dvs. a fost aprobat.</p>",
   "Accounts_Email_Approved_Subject": "Contul a fost aprobat",
   "Accounts_Email_Deactivated": "[name]<br/><br/><p>Contul dvs. a fost dezactivat.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>Bun venit la <strong>[Site_Name]</strong></h1><p> Du-te la <a href=\"[Site_URL]\">[Site_URL]</a> și să încercați cea mai bună soluție de chat open source disponibile astăzi! </p>",
   "Accounts_Email_Deactivated_Subject": "Contul dezactivat",
   "Accounts_EmailVerification": "Verificarea email-ului",
   "Accounts_EmailVerification_Description": "Asigurați-vă că aveți setările SMT corecte pentru a utiliza această funcționalitate",
+  "Accounts_Enrollment_Email_Subject_Default": "Bine ati venit la [Site_Name]",
   "Accounts_Enrollment_Email": "E-mail de înscriere ",
-  "Accounts_Enrollment_Email_Default": "<h1>Bun venit la <strong>[Site_Name]</strong></h1><p> Du-te la <a href=\"[Site_URL]\">[Site_URL]</a> și să încercați cea mai bună soluție de chat open source disponibile astăzi! </p>",
   "Accounts_Enrollment_Email_Description": "Puteți utiliza [name], [fname], [lname] pentru numele complet al utilizatorului, prenumele respectiv numele de familie.<br/>Puteți folosi [email] pentru e-mailul utilizatorului.",
-  "Accounts_Enrollment_Email_Subject_Default": "Bine ati venit la [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "Închideți sesiunea de utilizatori în fereastra închisă",
   "Accounts_Iframe_api_method": "Metodă API",
   "Accounts_Iframe_api_url": "API URL",
@@ -177,12 +177,12 @@
   "Accounts_ShowFormLogin": "Arată formularul pentru autentificare",
   "Accounts_TwoFactorAuthentication_Enabled": "Activați autentificarea cu doi factori",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Delta maximă",
+  "Accounts_UserAddedEmail_Default": "<h1>Bun venit la <strong>[Site_Name]</strong></h1><p> Du-te la <a href=\"[Site_URL]\">[Site_URL]</a> și să încercați cea mai bună soluție de chat open source disponibile astăzi! </p><p> Te poți loga utilizând un e-mail: [email] și parola: [password]. Vi se poate cere să-l schimbe după prima conectare.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "Delta maximă determină câte jetoane sunt valide la un moment dat. Jetoanele se generează la fiecare 30 de secunde și sunt valabile pentru secunde (30 * Delta maximă). <br/>Exemplu: Cu Delta maximă setată la 10, fiecare jeton poate fi folosit până la 300 de secunde înainte sau după marcarea timpului. Acest lucru este util când ceasul clientului nu este sincronizat corespunzător cu serverul.",
   "Accounts_UseDefaultBlockedDomainsList": "Implicit utilizare blocate Listă Domenii",
   "Accounts_UseDNSDomainCheck": "DNS Verificați domeniu utilizați",
-  "Accounts_UserAddedEmail_Default": "<h1>Bun venit la <strong>[Site_Name]</strong></h1><p> Du-te la <a href=\"[Site_URL]\">[Site_URL]</a> și să încercați cea mai bună soluție de chat open source disponibile astăzi! </p><p> Te poți loga utilizând un e-mail: [email] și parola: [password]. Vi se poate cere să-l schimbe după prima conectare.",
-  "Accounts_UserAddedEmail_Description": "Aveți dreptul să utilizați următoarele Placeholder: <br/><ul><li> [name], [fname], [lname] pentru numele utilizatorului completă, prenumele sau numele de familie, respectiv. </li><li> [email] pentru e-mail a utilizatorului. </li><li> [password] pentru parola utilizatorului. </li><li> [Site_Name] și [Site_URL] pentru Nume aplicație și, respectiv, URL-ul. </li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "Ați fost adăugat la [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "Aveți dreptul să utilizați următoarele Placeholder: <br/><ul><li> [name], [fname], [lname] pentru numele utilizatorului completă, prenumele sau numele de familie, respectiv. </li><li> [email] pentru e-mail a utilizatorului. </li><li> [password] pentru parola utilizatorului. </li><li> [Site_Name] și [Site_URL] pentru Nume aplicație și, respectiv, URL-ul. </li></ul>",
   "Activate": "Activează",
   "Activity": "Activitate",
   "Add": "Adăugă",
@@ -238,6 +238,7 @@
   "Allow_Marketing_Emails": "Permiteți e-mailurile de marketing",
   "Alphabetical": "Alfabetic",
   "Always_open_in_new_window": "Deschideți întotdeauna în Fereastră nouă",
+  "Analytics": "Analytics",
   "Analytics_features_enabled": "caracteristici activat",
   "Analytics_features_messages_Description": "Circuite evenimente personalizate legate de acțiunile unui utilizator le face pe mesajele.",
   "Analytics_features_rooms_Description": "Circuite evenimente personalizate legate de acțiuni de pe un canal sau un grup (creați, lăsați, șterge).",
@@ -816,6 +817,7 @@
   "Created_at_s_by_s_triggered_by_s": "Creat la <strong>%s</strong>de către <strong>%s</strong>declanșat de <strong>%s</strong>",
   "CRM_Integration": "Integrarea CRM",
   "CROWD_Reject_Unauthorized": "Respingere neautorizată",
+  "Crowd_sync_interval_Description": "Intervalul dintre sincronizări. Exemplu \"la fiecare 24 de ore\" sau \"în prima zi a săptămânii\", mai multe exemple la [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "Chaturi curente",
   "Current_Status": "Statusul curent",
   "Custom": "Personalizat",
@@ -1339,8 +1341,10 @@
   "Install_package": "Instalați pachetul",
   "Installation": "Instalare",
   "Installed_at": "instalate la",
+  "Invitation_HTML": " HTML Invitație",
   "Instance_Record": "Înregistrarea instanțelor",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Instrucțiunile pentru vizitatorul umple formularul pentru a trimite un mesaj",
+  "Invitation_HTML_Default": "<h1>Ați fost invitat să <strong>[Site_Name]</strong></h1><p> Du-te la [Site_URL] și să încercați cea mai bună soluție de chat open source disponibile astăzi! </p>",
   "Insurance": "Asigurare",
   "Integration_added": "Integrarea a fost adăugată",
   "Integration_Advanced_Settings": "Setari avansate",
@@ -1406,9 +1410,7 @@
   "invisible": "invizibil",
   "Invisible": "Invizibil",
   "Invitation": "Invitație",
-  "Invitation_HTML": " HTML Invitație",
-  "Invitation_HTML_Default": "<h1>Ați fost invitat să <strong>[Site_Name]</strong></h1><p> Du-te la [Site_URL] și să încercați cea mai bună soluție de chat open source disponibile astăzi! </p>",
-  "Invitation_HTML_Description": "Aveți dreptul să utilizați următoarele Placeholder: <br/><ul><li> [email] pentru e-mail destinatar. </li><li> [Site_Name] și [Site_URL] pentru Nume aplicație și, respectiv, URL-ul. </li></ul>",
+  "Invitation_Email_Description": "Aveți dreptul să utilizați următoarele Placeholder: <br/><ul><li> [email] pentru e-mail destinatar. </li><li> [Site_Name] și [Site_URL] pentru Nume aplicație și, respectiv, URL-ul. </li></ul>",
   "Invitation_Subject": "Subiect Invitație ",
   "Invitation_Subject_Default": "Ați fost invitat la [Site_Name]",
   "Invite_user_to_join_channel": "Invitați un utilizator să se alăture acestui canal",
@@ -2525,6 +2527,7 @@
   "Tokens_Required_Input_Error": "Jetoane nevalide tipărite.",
   "Tokens_Required_Input_Placeholder": "Denumiri de active Tokens",
   "Topic": "Subiect",
+  "Total_messages": "Numărul total de mesaje",
   "Tourism": "Turism",
   "Transcript_Enabled": "Întrebați vizitatorul dacă ar dori o transcriere după închiderea convorbirilor",
   "Transcript_message": "Mesaj pentru a afișa atunci când solicită transcriere",
@@ -2585,6 +2588,7 @@
   "Upload_file_description": "Descrierea fisierului",
   "Upload_file_name": "Nume de fișier",
   "Upload_file_question": "Încarcă fișier?",
+  "Upload_Folder_Path": "Încărcați calea folderelor",
   "Upload_user_avatar": "Încărcați avatar",
   "Uploading_file": "Încărcare de fișiere ...",
   "Uptime": "uptime",
@@ -2596,6 +2600,7 @@
   "Use_initials_avatar": "Folosiți inițialele numelui de utilizator",
   "Use_minor_colors": "Utilizați o paletă de culori minore (valorile implicite moștenesc culori majore)",
   "Use_service_avatar": "Utilizați avatarul %s",
+  "Verification_Email": "Faceți clic pe <a href=\"[Verification_Url]\">aici</a> pentru a vă confirma contul.",
   "Use_this_username": "Folosiți acest nume de utilizator",
   "Use_uploaded_avatar": "Utilizați avatar încărcat",
   "Use_url_for_avatar": "Utilizați URL pentru avatar",
@@ -2692,7 +2697,6 @@
   "Validate_email_address": "Validați adresa de e-mail",
   "Verification": "Verificare",
   "Verification_Description": "Puteți utiliza următorii substituenți: <br/><ul><li>[Verification_Url] pentru adresa URL de verificare.</li><li>[name], [fname], [lname] pentru numele complet al utilizatorului, prenumele sau numele de familie.</li><li>[e-mail] pentru e-mailul utilizatorului.</li><li>[Site_Name] și [Site_URL] pentru numele aplicației și respectiv adresa URL.</li></ul>",
-  "Verification_Email": "Faceți clic pe <a href=\"[Verification_Url]\">aici</a> pentru a vă confirma contul.",
   "Verification_email_sent": "e-mail de verificare trimis",
   "Verification_Email_Subject": "[Site_Name] - Verificați-vă contul",
   "Verified": "verificate",
@@ -2753,6 +2757,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Suntem offline. Scuze pentru neplăcerile provocate.",
   "We_have_sent_password_email": "V-am trimis un e-mail cu instrucțiuni de resetare a parolei. Dacă nu primiți un e-mail în scurt timp, va rugăm să reveniti și să încercați din nou.",
   "We_have_sent_registration_email": "V-am trimis un e-mail pentru a confirma înregistrarea dumneavoastră. Dacă nu primiți un e-mail în scurt timp, vă rugăm să reveniți și să încercați din nou.",
+  "Webdav_Server_URL": "Web URL pentru acces la server",
+  "Webdav_Username": "Numele de utilizator WebDAV",
+  "Webdav_Password": "Parola WebDAV",
   "Webhook_URL": "Webhook URL-ul",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "Apel audio direct de la%s",
diff --git a/packages/rocketchat-i18n/i18n/ru.i18n.json b/packages/rocketchat-i18n/i18n/ru.i18n.json
index ee76cfa5232a348bc57f44688c5bed563bab7463..856fd8abd39c2167b140a8a945ca360686c2fd90 100644
--- a/packages/rocketchat-i18n/i18n/ru.i18n.json
+++ b/packages/rocketchat-i18n/i18n/ru.i18n.json
@@ -1,14 +1,17 @@
 {
+  "403": "Запрещено",
+  "500": "Внутренняя ошибка сервера",
   "#channel": "#канал",
   "0_Errors_Only": "0 - Только ошибки",
+  "12_Hour": "12-часовой формат времени",
   "1_Errors_and_Information": "1 - Ошибки и информация",
+  "24_Hour": "24-часовой формат времени",
   "2_Erros_Information_and_Debug": "2 - Ошибки, информация и отладка",
-  "403": "Запрещено",
-  "500": "Внутренняя ошибка сервера",
   "@username": "@логин",
   "@username_message": "@логин <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__username__ больше не __role__ по решению __user_by__",
   "__username__was_set__role__by__user_by_": "__username__ был установлен __role__ по решению __user_by__",
+  "%_of_conversations": "% конверсии",
   "Accept": "Принять",
   "Accept_incoming_livechat_requests_even_if_there_are_no_online_agents": "Принимать входящие запросы с livechat, даже если нет подключенных сотрудников",
   "Accept_with_no_online_agents": "Принимать с неподключенными сотрудниками",
@@ -58,13 +61,13 @@
   "Accounts_Email_Approved": "[name]<br/><br/><p>Ваша учетная запись была одобрена.</p>",
   "Accounts_Email_Approved_Subject": "Аккаунт одобрен",
   "Accounts_Email_Deactivated": "[name]<br/><br/><p>Ваша учетная запись была деактивирована.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>Добро пожаловать на <strong>[Site_Name]</strong></h1> <p>Посетите <a href=\"[Site_URL]\">[Site_URL]</a> и попробуйте лучший чат с открытым исходным кодом на сегодняшний день!</p>",
   "Accounts_Email_Deactivated_Subject": "Аккаунт заблокирован",
   "Accounts_EmailVerification": "Подтверждение адреса электронной почты",
   "Accounts_EmailVerification_Description": "Убедитесь, что у вас верные настройки SMTP для использования этой функции",
+  "Accounts_Enrollment_Email_Subject_Default": "Добро пожаловать на [Site_Name]",
   "Accounts_Enrollment_Email": "Электронное сообщение при регистрации",
-  "Accounts_Enrollment_Email_Default": "<h1>Добро пожаловать на <strong>[Site_Name]</strong></h1> <p>Посетите <a href=\"[Site_URL]\">[Site_URL]</a> и попробуйте лучший чат с открытым исходным кодом на сегодняшний день!</p>",
   "Accounts_Enrollment_Email_Description": "Вы можете использовать следующие подстановки: <br/><ul><li>[name], [fname] и [lname] для полного имени пользователя, только имени или только фамилии.</li><li>[email] - для email адреса пользователя</li><li>[Site_Name] и [Site_URL] - для название вашего приложения и его URL</li></ul>",
-  "Accounts_Enrollment_Email_Subject_Default": "Добро пожаловать на [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "Забыть сессию пользователя при закрытии окна",
   "Accounts_Iframe_api_method": "Метод API",
   "Accounts_Iframe_api_url": "API URL",
@@ -173,17 +176,18 @@
   "Accounts_RequireNameForSignUp": "Требуется имя для регистрации",
   "Accounts_RequirePasswordConfirmation": "Запрашивать подтверждение пароля",
   "Accounts_SearchFields": "Поля, которые следует учитывать при поиске",
+  "Accounts_Directory_DefaultView": "Список каталогов по умолчанию",
   "Accounts_SetDefaultAvatar": "Установить аватар по-умолчанию",
   "Accounts_SetDefaultAvatar_Description": "Пытаться найти аватар по-умолчанию через аккаунт OAuth или Gravatar",
   "Accounts_ShowFormLogin": "Показать логин на основе формы",
   "Accounts_TwoFactorAuthentication_Enabled": "Включить двухфакторную аутентификацию",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Максимальная дельта",
+  "Accounts_UserAddedEmail_Default": "<h1>Добро пожаловать в <strong>[Site_Name]</strong></h1><p>Посетите <a href=\"[Site_URL]\">[Site_URL]</a> и попробуйте лучшее решение для чатов с открытым исходным кодом на сегодняшний день!</p> <p>Вы можете войти в систему, используя адрес электронной почты: [email] и пароль: [password]. Возможно, вам потребуется сменить его после первого входа в систему.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "Максимальная дельта определяет, сколько токенов действительны в любой момент времени. Токены генерируются каждые 30 секунд и действительны в течение (30 * максимальная дельта) секунд. <br/> Пример: с максимальной дельтой, установленной в 10, каждый токен может использоваться до 300 секунд до или после отметки времени. Это полезно, когда часы клиента не синхронизируются с сервером.",
   "Accounts_UseDefaultBlockedDomainsList": "Использовать список запрещённых доменов по умолчанию",
   "Accounts_UseDNSDomainCheck": "Использовать DNS проверку доменов",
-  "Accounts_UserAddedEmail_Default": "<h1>Добро пожаловать в <strong>[Site_Name]</strong></h1><p>Посетите <a href=\"[Site_URL]\">[Site_URL]</a> и попробуйте лучшее решение для чатов с открытым исходным кодом на сегодняшний день!</p> <p>Вы можете войти в систему, используя адрес электронной почты: [email] и пароль: [password]. Возможно, вам потребуется сменить его после первого входа в систему.",
-  "Accounts_UserAddedEmail_Description": "Вы можете использовать следующие подстановки: <br/><ul><li> [name], [fname], [lname] для полного имени пользователя, только имени или только фамилии  соответственно). </li><li> [email] -  для email адреса пользователя. </li><li> [password] - для пароля пользователя. </li><li>[Site_Name] и [Site_URL] - название вашего приложения и его URL. </li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "Вы были добавлены в [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "Вы можете использовать следующие подстановки: <br/><ul><li> [name], [fname], [lname] для полного имени пользователя, только имени или только фамилии  соответственно). </li><li> [email] -  для email адреса пользователя. </li><li> [password] - для пароля пользователя. </li><li>[Site_Name] и [Site_URL] - название вашего приложения и его URL. </li></ul>",
   "Activate": "Активировать",
   "Activity": "Активность",
   "Add": "Добавить",
@@ -213,6 +217,7 @@
   "Additional_Feedback": "Дополнительная обратная связь",
   "additional_integrations_Bots": "Если вы ищете, как интегрировать собственного бота, посмотрите наш адаптер Hubot. <a href=\"https://github.com/RocketChat/hubot-rocketchat\" target=\"_blank\">https://github.com/RocketChat/hubot-rocketchat</a>",
   "additional_integrations_Zapier": "Вы хотите интегрировать другое программное обеспечение или приложения с Rocket.Chat, но у вас нет времени, чтобы сделать это вручную? Мы предлагаем вам использовать Zapier, который мы полностью поддерживаем. Подробнее об этом читайте в нашей документации. <a href=\"https://rocket.chat/docs/administrator-guides/integrations/zapier/using-zaps/\" target=\"_blank\">https://rocket.chat/docs/administrator-guides/integrations/zapier/using-zaps/ </a>",
+  "Admin_disabled_encryption": "Ваш администратор не включил шифрование E2E.",
   "Admin_Info": "Информация Администратора",
   "Administration": "Администрирование",
   "Adult_images_are_not_allowed": "Изображения для взрослых запрещены",
@@ -239,6 +244,7 @@
   "Allow_Marketing_Emails": "Разрешить маркетинговые E-mail",
   "Alphabetical": "По алфавиту",
   "Always_open_in_new_window": "Всегда открывать в новом окне",
+  "Analytics": "Аналитика",
   "Analytics_features_enabled": "Включенные функции",
   "Analytics_features_messages_Description": "Отслеживать пользовательские события, связанные с сообщениями.",
   "Analytics_features_rooms_Description": "Отслеживает пользовательские события, связанные с действиями в публичных и закрытых каналах (создать, покинуть, удалить).",
@@ -377,6 +383,10 @@
   "Avatar_changed_successfully": "Аватар успешно изменен",
   "Avatar_URL": "URL-адрес Аватара",
   "Avatar_url_invalid_or_error": "Предоставленный URL-адрес недействителен или недоступен. Пожалуйста, повторите попытку с другим URL-адресом.",
+  "Avg_chat_duration": "В среднем продолжительность беседы",
+  "Avg_first_response_time": "В среднем первое время отклика",
+  "Avg_response_time": "В среднем время отклика",
+  "Avg_reaction_time": "Среднее время реакции",
   "away": "отошёл",
   "Away": "Отошёл",
   "away_female": "отошла",
@@ -395,8 +405,12 @@
   "ban-user": "Забанить пользователя",
   "ban-user_description": "Разрешение на бан пользователей на канале",
   "Beta_feature_Depends_on_Video_Conference_to_be_enabled": "Функция в бета тестировании. Зависит от Video Conference.",
+  "Best_first_response_time": "Лучшее время первого ответа",
   "Block_User": "Заблокировать пользователя",
   "Blockchain": "Блокчейн",
+  "Blockstack_Auth_Description": "Описание Auth",
+  "Blockstack_ButtonLabelText": "Текст ярлыка кнопки",
+  "Blockstack_Generate_Username": "Сгенерировать логин",
   "Body": "Body",
   "bold": "жирный",
   "bot_request": "Запрос бота",
@@ -413,6 +427,8 @@
   "bulk-create-c_description": "Разрешение на массовое создание каналов",
   "bulk-register-user": "Массовое создание каналов",
   "bulk-register-user_description": "Разрешение на массовое создание каналов",
+  "Busiest_day": "Занятый день",
+  "Busiest_time": "Занятое время",
   "busy": "занят",
   "Busy": "Занят",
   "busy_female": "занята",
@@ -526,12 +542,15 @@
   "Choose_the_username_that_this_integration_will_post_as": "Выберите имя пользователя, от которого будет отправлять сообщения эта интеграция.",
   "clean-channel-history": "Очистить историю канала",
   "clean-channel-history_description": "Разрешение удалять историю на каналах",
+  "Clean_Usernames": "Очистить имена пользователей",
   "clear": "Очистить",
   "Clear_all_unreads_question": "Удалить все непрочитанные?",
   "clear_cache_now": "Очистить кэш сейчас",
   "clear_history": "Очистить историю",
   "Click_here": "кликните сюда",
   "Click_here_for_more_info": "Больше информации здесь",
+  "Click_here_to_enter_your_encryption_password": "Нажмите здесь, чтобы ввести пароль для шифрования.",
+  "Click_here_to_view_and_copy_your_password": "Нажмите здесь, чтобы просмотреть и скопировать пароль.",
   "Click_the_messages_you_would_like_to_send_by_email": "Выберите сообщения, которые вы хотите отправить по email.",
   "Click_to_join": "Нажмите, чтобы присоединиться!",
   "Client_ID": "Идентификатор клиента",
@@ -555,6 +574,7 @@
   "Compact": "Компактный",
   "Condensed": "Компактный",
   "Computer": "Компьютер",
+  "Confirm_new_encryption_password": "Подтвердить новый пароль для шифрования",
   "Confirm_password": "Подтвердить пароль",
   "Connection_Closed": "Соединение закрыто",
   "Connection_Reset": "Сброс соединения",
@@ -566,14 +586,17 @@
   "Continue": "Продолжить",
   "Continuous_sound_notifications_for_new_livechat_room": "Непрерывные звуковые уведомления для новой комнаты livechat",
   "Conversation": "Беседа",
+  "Conversations": "Сеансы чата",
   "Conversation_closed": "Беседа закрыта: __comment__.",
   "Conversation_finished_message": "Сообщение при завершении беседы",
+  "Conversations_per_day": "Сеансы чата за день",
   "conversation_with_s": "разговор с% s",
   "Convert_Ascii_Emojis": "Конвертировать ASCII в эмодзи",
   "Copied": "Скопировано",
   "Copy": "Копировать",
   "Copy_to_clipboard": "Копировать в буфер обмена",
   "COPY_TO_CLIPBOARD": "Скопировать в буфер обмена",
+  "could-not-access-webdav": "Не удалось получить доступ к WebDAV",
   "Count": "Количество",
   "Country": "Страна",
   "Country_Afghanistan": "Афганистан",
@@ -833,10 +856,12 @@
   "Created_at_s_by_s_triggered_by_s": "Создано в <strong>%s</strong> пользователем <strong>%s</strong> сработало на <strong>%s</strong>",
   "CRM_Integration": "Интеграция с CRM",
   "CROWD_Reject_Unauthorized": "Отклонить неавторизованных",
+  "Crowd_sync_interval_Description": "Интервал между синхронизациями. Пример: `каждые 24 часа` или `в первый день недели`, больше примеров в [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "Текущие чаты",
   "Current_Status": "Текущий статус",
   "Custom": "Пользовательские ",
   "Custom_agent": "Пользовательский агент",
+  "Custom_dates": "Пользовательская дата",
   "Custom_Emoji": "Пользовательские эмодзи",
   "Custom_Emoji_Add": "Добавить новый смайл",
   "Custom_Emoji_Added_Successfully": "Пользовательский эмодзи успешно добавлен",
@@ -873,6 +898,7 @@
   "DB_Migration_Date": "Дата миграции базы данных",
   "Deactivate": "Деактивировать",
   "Decline": "Отклонить",
+  "Decode_Key": "Код декодирования",
   "Default": "По умолчанию",
   "Delete": "Удалить",
   "delete-c": "Удалить публичные каналы",
@@ -911,6 +937,7 @@
   "Direct_message_someone": "Личная переписка с кем-нибудь",
   "Direct_Messages": "Личная переписка",
   "Direct_Reply": "Прямой ответ",
+  "Direct_Reply_Advice": "Вы можете напрямую ответить на это письмо. Не изменяйте предыдущие сообщения в потоке.",
   "Direct_Reply_Debug": "Отладка прямого ответа",
   "Direct_Reply_Debug_Description": "[ВНИМАНИЕ] Режим отладки будет отображать ваш пароль в открытом виде в консоли администратора",
   "Direct_Reply_Delete": "Удалить перехваченную электронную почту",
@@ -952,11 +979,15 @@
   "Drop_to_upload_file": "Переместите сюда для загрузки файла",
   "Dry_run": "Пробный запуск",
   "Dry_run_description": "Мы отправим только одно электронное сообщение на адрес, указанный в поле \"От\". Адрес электронной почты должен принадлежать реальному пользователю.",
+  "duplicated-account": "Дублированный аккаунт",
   "Duplicate_archived_channel_name": "Архивный канал с именем \"#%s\" уже существует",
   "Duplicate_archived_private_group_name": "Архивная приватная группа с именем \"%s\" уже существует",
   "Duplicate_channel_name": "Канал с именем \"%s\" уже существует",
   "Duplicate_private_group_name": "Приватная группа с именем \"%s\" уже существует",
   "Duration": "Длительность",
+  "E2E_Enable_alert": "Эта функция в настоящее время находится в бета-версии! Сообщайте об ошибках в github.com/RocketChat/Rocket.Chat/issues и будьте в курсе: <br/>- Зашифрованные сообщения зашифрованных комнат не будут найдены в результате операций поиска. <br/>- мобильные приложения могут не поддерживать кодированные сообщения (они будут реализованы позже). <br/>- Боты могут не видеть зашифрованные сообщения до тех пор, пока они не реализуют поддержку кодированных сообщений. <br/>- Загрузка не будет зашифрована в этой версии.",
+  "E2E_Enable_description": "Включить возможность создания зашифрованных групп и возможность изменять группы и прямые сообщения для шифрования",
+  "E2E_password_request_text": "Чтобы получить доступ к вашим зашифрованным частным группам и прямым сообщениям, введите пароль шифрования. <br/>Вам необходимо ввести этот пароль для кодирования / декодирования ваших сообщений на каждом используемом вами клиенте, поскольку ключ не хранится на сервере.",
   "Edit": "Редактировать",
   "edit-message": "Редактировать сообщение",
   "edit-message_description": "Разрешение на редактирование сообщений в чатах",
@@ -995,6 +1026,8 @@
   "Email_Placeholder": "Пожалуйста, введите ваш email адрес...",
   "Email_Placeholder_any": "Пожалуйста, введите e-mail адреса...",
   "Email_subject": "Тема",
+  "email_style_label": "Стиль электронной почты",
+  "email_style_description": "Избегать вложенных селекторов",
   "Email_verified": "Адрес электронной почты подтверждён",
   "Emoji": "Эмодзи ",
   "EmojiCustomFilesystem": "Хранилище пользовательских эмодзи",
@@ -1005,7 +1038,12 @@
   "Enable_Svg_Favicon": "Включить векторную иконку (SVG favicon)",
   "Enable_two-factor_authentication": "Включить двухфакторную авторизацию",
   "Enabled": "Включено",
+  "Encrypted": "Зашифрованный",
+  "Encrypted_channel_Description": "Полностью зашифрованный канал. Поиск не будет работать с зашифрованными каналами, и уведомления могут не показать содержание сообщений.",
   "Encrypted_message": "Зашифрованное сообщение",
+  "Encrypted_setting_changed_successfully": "Зашифрованный параметр успешно изменен",
+  "EncryptionKey_Change_Disabled": "Вы не можете установить пароль для своего ключа шифрования, потому что ваш закрытый ключ отсутствует на этом клиенте. Чтобы установить новый пароль, вам необходимо загрузить свой секретный ключ с использованием существующего пароля или использовать клиент, где ключ уже загружен.",
+  "Encryption_key_saved_successfully": "Ваш ключ шифрования был успешно сохранен.",
   "End_OTR": "Завершить конфиденциальную беседу",
   "Enter_a_name": "Введите имя",
   "Enter_a_regex": "Введите регулярное выражение",
@@ -1015,9 +1053,11 @@
   "Enter_authentication_code": "Введите код аутентификации",
   "Enter_Behaviour": "Поведение клавиши Enter",
   "Enter_Behaviour_Description": "Эта настройка определяет, будет Enter отправлять сообщение или добавлять новую строку",
+  "Enter_E2E_password_to_decode_your_key": "Введите пароль E2E для декодирования вашего ключа",
   "Enter_name_here": "Введите название",
   "Enter_Normal": "Обычный режим (отправка по Enter)",
   "Enter_to": "Войти в",
+  "Enter_your_E2E_password": "Введите пароль E2E",
   "Enterprise": "Корпорация",
   "Entertainment": "Развлечения",
   "Error": "Ошибка",
@@ -1044,6 +1084,7 @@
   "error-importer-not-defined": "Импортер не был определен правильно, отсутствует класс импорта.",
   "error-input-is-not-a-valid-field": "__input__ недопустимое __field__",
   "error-invalid-actionlink": "Недействительная ссылка",
+  "error-invalid-account": "Неверный аккаунт",
   "error-invalid-arguments": "Недопустимые аргументы",
   "error-invalid-asset": "Недействительный ресурс",
   "error-invalid-channel": "Недопустимый канал.",
@@ -1115,6 +1156,8 @@
   "Error_404": "Ошибка 404",
   "Error_changing_password": "Ошибка при изменении пароля",
   "Error_loading_pages": "Ошибка загрузки страниц",
+  "Error_sending_livechat_transcript": "Ошибка отправки протокола Livechat",
+  "Error_sending_livechat_offline_message": "Ошибка отправки сообщения Livechat в автономном режиме",
   "Esc_to": "Выйти в",
   "Event_Trigger": "Event Trigger",
   "Event_Trigger_Description": "Выберите тип события, который будет запускать этот исходящий WebHook",
@@ -1205,6 +1248,7 @@
   "Files_only": "Удалять только прикрепленные файлы, сохранять сообщения",
   "Financial_Services": "Финансовые услуги",
   "First_Channel_After_Login": "Открыть канал после авторизации",
+  "First_response_time": "Время первого ответа",
   "Flags": "Флаги",
   "Follow_social_profiles": "Добавляйте нас в друзья в социальных сетях, форкайте на github и пишите свои отзывы о нашем приложении у нас в trello.",
   "Fonts": "Шрифты",
@@ -1275,6 +1319,7 @@
   "Help_Center": "Справочный центр",
   "Helpers": "Хелперы",
   "Hex_Color_Preview": "Превью для Hex-цветов",
+  "Hi_username": "Привет __name__",
   "Hidden": "Скрытый",
   "Hide_Avatars": "Скрывать аватары",
   "Hide_counter": "Скрыть счетчик",
@@ -1300,6 +1345,8 @@
   "How_responsive_was_the_chat_agent": "Насколько отзывчив был представитель ?",
   "How_satisfied_were_you_with_this_chat": "Насколько вы удовлетворены использованием этого чата?",
   "How_to_handle_open_sessions_when_agent_goes_offline": "Как долго держать сессию открытой после того как представитель отключился ",
+  "I_ll_do_it_later": "I'll do it later",
+  "I_saved_my_password_close_this_message": "Я сохранил пароль, закройте это сообщение",
   "Idle_Time_Limit": "Предел времени ожидания",
   "Idle_Time_Limit_Description": "Период времени, пока статус не изменится. Значение должно быть в секундах.",
   "if_they_are_from": "(если они из% s)",
@@ -1307,6 +1354,7 @@
   "If_you_are_sure_type_in_your_password": "Если вы уверены, введите пароль:",
   "If_you_are_sure_type_in_your_username": "Если вы уверены, введите ваш логин:",
   "If_you_dont_have_one_send_an_email_to_omni_rocketchat_to_get_yours": "Если у вас нет одного, отправьте электронное сообщение на адрес [omni@rocket.chat] (mailto: omni@rocket.chat), чтобы получить свой.",
+  "If_you_didnt_ask_for_reset_ignore_this_email": "Если вы не просили сбросить пароль, вы можете проигнорировать это письмо.",
   "Iframe_Integration": "Интеграция Iframe ",
   "Iframe_Integration_receive_enable": "Разрешить получение",
   "Iframe_Integration_receive_enable_Description": "Разрешить основному окну отправлять команды в Rocket.Chat.",
@@ -1362,8 +1410,10 @@
   "Install_package": "Установить пакет",
   "Installation": "Установка",
   "Installed_at": "Установленно",
+  "Invitation_HTML": "Приглашение в формате HTML",
   "Instance_Record": "Быстрая запись",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Инструкции для вашего посетителя заполнить форму, чтобы отправить сообщение",
+  "Invitation_HTML_Default": "<h1>Вы были приглашены на <strong>[Site_Name]</strong></h1><p>Посетите [Site_URL] и попробуйте лучшее решение с открытым исходным кодом для общения на сегодняшний день!</p>",
   "Insurance": "Страхование",
   "Integration_added": "Интеграция была добавлена",
   "Integration_Advanced_Settings": "Дополнительные настройки",
@@ -1429,9 +1479,7 @@
   "invisible": "невидимый",
   "Invisible": "Невидимый",
   "Invitation": "Приглашение",
-  "Invitation_HTML": "Приглашение в формате HTML",
-  "Invitation_HTML_Default": "<h1>Вы были приглашены на <strong>[Site_Name]</strong></h1><p>Посетите [Site_URL] и попробуйте лучшее решение с открытым исходным кодом для общения на сегодняшний день!</p>",
-  "Invitation_HTML_Description": "Вы можете использовать следующие подстановки: <br/><ul><li>[email] для электронной почты получателя.</li><li>[Site_Name] и [Site_URL] для названия приложения и его URL.</li></ul>",
+  "Invitation_Email_Description": "Вы можете использовать следующие подстановки: <br/><ul><li>[email] для электронной почты получателя.</li><li>[Site_Name] и [Site_URL] для названия приложения и его URL.</li></ul>",
   "Invitation_Subject": "Тема приглашения",
   "Invitation_Subject_Default": "Вы были приглашены на [Site_Name]",
   "Invite_user_to_join_channel": "Пригласить пользователя в канал",
@@ -1492,13 +1540,15 @@
   "Katex_Parenthesis_Syntax_Description": "Разрешить использование синтаксисов \\[katex block\\]  и \\(inline katex\\)",
   "Keep_default_user_settings": "Хранить настройки по умолчанию",
   "Keyboard_Shortcuts_Edit_Previous_Message": "Редактировать предыдущее сообщение",
-  "Keyboard_Shortcuts_Keys_1": "<kbd>Ctrl</kbd>>+<kbd>p</kbd>",
+  "Keyboard_Shortcuts_Keys_1": "<kbd>Команда </kbd>(или <kbd>CTRL </kbd>) + <kbd>p </kbd>ИЛИ <kbd>Команда </kbd>(или <kbd>CTRL </kbd>) + <kbd>k </kbd>",
   "Keyboard_Shortcuts_Keys_2": "<kbd>Клавиша ↑</kbd>",
   "Keyboard_Shortcuts_Keys_3": "<kbd>Command</kbd> (или <kbd>Alt</kbd>) + <kbd>клавиша ←</kbd>",
   "Keyboard_Shortcuts_Keys_4": "<kbd>Command</kbd> (или <kbd>Alt</kbd>) + <kbd>клавиша ↑</kbd>",
   "Keyboard_Shortcuts_Keys_5": "<kbd>Command</kbd> (или <kbd>Alt</kbd>) + <kbd>клавиша →</kbd>",
   "Keyboard_Shortcuts_Keys_6": "<kbd>Command</kbd> (или <kbd>Alt</kbd>) + <kbd>клавиша ↓</kbd>",
   "Keyboard_Shortcuts_Keys_7": "<kbd>Shift</kbd> + <kbd>Enter</kbd>",
+  "Keyboard_Shortcuts_Keys_8": "<kbd>Shift (или Ctrl) + ESC </kbd>",
+  "Keyboard_Shortcuts_Mark_all_as_read": "Отметить все сообщения как прочитанные",
   "Keyboard_Shortcuts_Move_To_Beginning_Of_Message": "Перейти в начало сообщения",
   "Keyboard_Shortcuts_Move_To_End_Of_Message": "Перейти в конец сообщения",
   "Keyboard_Shortcuts_New_Line_In_Message": "Ввод новой строки в сообщении",
@@ -1610,6 +1660,7 @@
   "Leave_room": "Покинуть комнату",
   "Leave_Room_Warning": "Вы уверены, что хотите покинуть комнату \"%s\"?",
   "Leave_the_current_channel": "Покинуть текущий канал",
+  "Lets_get_you_new_one": "Давайте получим новый!",
   "line": "строк",
   "List_of_Channels": "Список чатов",
   "List_of_Direct_Messages": "Список личных переписок",
@@ -1627,6 +1678,7 @@
   "Livechat_managers": "Менеджеры Livechat",
   "Livechat_offline": "Livechat выключен",
   "Livechat_online": "Livechat работает",
+  "Livechat_offline_message_sent": "Отправка сообщения Livechat в автономном режиме",
   "Livechat_open_inquiery_show_connecting": "Показывать сообщение вместо окна ввода, когда к чату посетителя еще не подключился представитель.",
   "Livechat_Queue": "Очередь Livechat",
   "Livechat_registration_form": "Регистрационная форма",
@@ -1635,6 +1687,7 @@
   "Livechat_Take_Confirm": "Вы хотите взять этого клиента?",
   "Livechat_title": "Название Livechat",
   "Livechat_title_color": "Цвет фона заголовка Livechat",
+  "Livechat_transcript_sent": "Переписка LiveChat отправлена",
   "Livechat_Users": "Пользователи Livechat",
   "Livestream_close": "Закрыть Livestream",
   "Livestream_enable_audio_only": "Включить только аудиорежим",
@@ -1667,6 +1720,9 @@
   "Logistics": "Транспорт",
   "Logout": "Выйти",
   "Logout_Others": "Выйти со всех устройств",
+  "Longest_chat_duration": "Длительность продолжительности чата",
+  "Longest_reaction_time": "Наибольшее время реакции",
+  "Longest_response_time": "Наибольшее время отклика",
   "mail-messages": "Посылать электронные сообщения",
   "mail-messages_description": "Разрешение на использование функции отправки сообщений через email",
   "Mail_Message_Invalid_emails": "Вы предоставили один или более недействительных адресов электронной почты: %s",
@@ -1703,6 +1759,7 @@
   "MapView_Enabled_Description": "Включение просмотра карта будет отображать кнопку поделиться местоположением в левой части поля ввода чата.",
   "MapView_GMapsAPIKey": "Ключ Google Static Map API",
   "MapView_GMapsAPIKey_Description": "Это можно получить в Google Developers Console бесплатно.",
+  "Mark_all_as_read": "Отметить все сообщения как прочитанные",
   "Mark_as_read": "Пометить как прочитанное",
   "Mark_as_unread": "Пометить как непрочитанное",
   "Markdown_Headers": "Разрешить заголовки Markdown в сообщениях",
@@ -1852,6 +1909,7 @@
   "New_Password_Placeholder": "Пожалуйста, введите новый пароль...",
   "Confirm_new_password": "Подтвердите новый пароль",
   "Confirm_New_Password_Placeholder": "Повторно введите новый пароль ...",
+  "New_encryption_password": "Новый пароль для шифрования",
   "New_role": "Новая роль",
   "New_Room_Notification": "Уведомление о новой публичной комнате",
   "New_Trigger": "Новый триггер",
@@ -1937,6 +1995,7 @@
   "Oops_page_not_found": "К сожалению, страница не найдена",
   "Open": "Открыть",
   "Open_channel_user_search": "\"%s\" - открыть канал / поиск пользователей",
+  "Open_conversations": "Открытые беседы",
   "Open_days_of_the_week": "Рабочие дни",
   "Open_Livechats": "Открыть Livechat",
   "Open_your_authentication_app_and_enter_the_code": "Откройте ваше приложение аутентификации и введите код. Вы также можете использовать один из кодов восстановления (backup codes).",
@@ -2028,6 +2087,8 @@
   "Preferences_saved": "Настройки сохранены",
   "preview-c-room": "Предварительный просмотр публичного канала",
   "preview-c-room_description": "Разрешение на просмотр содержимого публичного канала перед присоединением",
+  "Previous_month": "Предыдущий месяц",
+  "Previous_week": "Предыдущая неделя",
   "Privacy": "Приватность",
   "Private": "Закрытый канал",
   "Private_Channel": "Закрытый канал",
@@ -2035,6 +2096,7 @@
   "Private_Groups": "Приватные группы",
   "Private_Groups_list": "Список приватных групп",
   "Private_Team": "Закрытое сообщество",
+  "Productivity": "Продуктив",
   "Profile": "Профиль",
   "Profile_details": "Детали профиля",
   "Profile_picture": "Изображение профиля",
@@ -2091,6 +2153,7 @@
   "Read_only_group": "Группа только для чтения",
   "Real_Estate": "Недвижимость",
   "RealName_Change_Disabled": "Ваш администратор отключил возможность смены имени",
+  "Real_Time_Monitoring": "Мониторинг в режиме реального времени",
   "Reason_To_Join": "Причина присоединения",
   "Receive_alerts": "Получать уведомления",
   "Receive_Group_Mentions": "Получать упоминания @all и @here",
@@ -2180,6 +2243,7 @@
   "RetentionPolicyRoom_OverrideGlobal": "Отменить глобальную политику хранения",
   "RetentionPolicyRoom_ReadTheDocs": "Осторожно! Тщательная настройка этих настроек без особой тщательности может уничтожить всю историю сообщений. Прежде чем включать эту функцию, пожалуйста, прочтите документацию <a href=\"https://rocket.chat/docs/administrator-guides/retention-policies/\">здесь</a>.",
   "Retry_Count": "Число повторных попыток",
+  "Robot_Instructions_File_Content": "Содержание файла Robots.txt",
   "Role": "Роль",
   "Role_Editing": "Редактировать роль",
   "Role_removed": "Роль удалена",
@@ -2214,6 +2278,7 @@
   "Room_uploaded_file_list": "Список файлов канала",
   "Room_uploaded_file_list_empty": "Нет доступных файлов",
   "Rooms": "Комнаты",
+  "Run_only_once_for_each_visitor": "Запускать только один раз для каждого посетителя",
   "run-import": "Запустить импорт",
   "run-import_description": "Разрешение на запуск импортеров",
   "run-migration": "Запустить миграцию",
@@ -2244,6 +2309,8 @@
   "Save_changes": "Применить",
   "Save_Mobile_Bandwidth": "Включить режим экономии трафика для мобильных устройств",
   "Save_to_enable_this_action": "Сохраните, чтобы активировать это действие",
+  "Save_To_Webdav": "Сохранить в WebDAV",
+  "Save_your_encryption_password": "Сохраните пароль для шифрования",
   "Saved": "Сохранено",
   "Saving": "Сохранение",
   "Scan_QR_code": "Используйте приложения авторизаторы, такие как Google Authenticator, Authy или Duo, для того, чтобы отсканировать QR-код. Вам будет показан 6-значный код, который вы должны ввести ниже.",
@@ -2448,6 +2515,7 @@
   "Survey_instructions": "Оценивайте каждый вопрос по 5-балльной шкале, где 1 означает, что вы совсем недовольны, и 5 - полностью довольны.",
   "Symbols": "Символы",
   "Sync_in_progress": "Выполняется синхронизация",
+  "Sync_Interval": "Интервал синхронизации",
   "Sync_success": "Синхронизация прошла успешно",
   "Sync_Users": "Синхронизация пользователей",
   "System_messages": "Системные сообщения",
@@ -2529,14 +2597,18 @@
   "This_email_has_already_been_used_and_has_not_been_verified__Please_change_your_password": "Такой адрес электронной почты уже использовался и не был подтверждён. Пожалуйста, смените ваш пароль.",
   "This_is_a_desktop_notification": "Это уведомление компьютера",
   "This_is_a_push_test_messsage": "Это тестовое push-уведомление",
+  "This_month": "Этот месяц",
   "This_room_has_been_archived_by__username_": "Комната была архивирована __username__",
   "This_room_has_been_unarchived_by__username_": "__username__ вернул этот чат из архива",
+  "This_week": "На этой неделе",
   "Thursday": "Четверг",
   "Time_in_seconds": "Время в секундах",
   "Title": "Заголовок",
   "Title_bar_color": "Цвет строки заголовка",
   "Title_bar_color_offline": "Цвет строки заголовка при отсутствии подключения",
   "Title_offline": "Заголовок при отсутствии подключения",
+  "To": "от",
+  "Today": "Сегодня",
   "To_additional_emails": "Дополнительные email адресаты",
   "To_install_RocketChat_Livechat_in_your_website_copy_paste_this_code_above_the_last_body_tag_on_your_site": "Для того, чтобы установить Rocket.Chat Livechat на вашем сайте, скопируйте и вставьте этот код выше последнего <strong>&lt;/body&gt;</strong> тега на вашем сайте.",
   "to_see_more_details_on_how_to_integrate": "чтобы увидеть более подробную информацию о том, как интегрировать.",
@@ -2555,6 +2627,9 @@
   "Tokens_Required_Input_Error": "Неверные введенные токены.",
   "Tokens_Required_Input_Placeholder": "Имена объектов токенов",
   "Topic": "Тема",
+  "Total_conversations": "Всего разговоров",
+  "Total_messages": "Всего сообщений",
+  "Total_visitors": "Всего посетителей",
   "Tourism": "Туризм",
   "Transcript_Enabled": "Спросить у посетителя хочет ли он получить переписку после окончания чата",
   "Transcript_message": "Показать это сообщение, когда спрашиваем про получение переписке",
@@ -2616,7 +2691,9 @@
   "Upload_file_description": "Описание файла",
   "Upload_file_name": "Имя файла",
   "Upload_file_question": "Загрузить файл?",
+  "Upload_Folder_Path": "Путь к папке загрузки",
   "Upload_user_avatar": "Загруженный аватар",
+  "Upload_From": "Загрузить с __name__",
   "Uploading_file": "Загрузка файла...",
   "Uptime": "Время работы",
   "URL": "URL",
@@ -2627,6 +2704,7 @@
   "Use_initials_avatar": "Использовать инициалы имени пользователя",
   "Use_minor_colors": "Используйте малую цветовую палитру (по умолчанию наследует основные цвета)",
   "Use_service_avatar": "Использовать %s аватар",
+  "Verification_Email": "Нажмите <a href=\"[Verification_Url]\">сюда</a>, чтобы подтвердить ваш аккаунт.",
   "Use_this_username": "Использовать этот логин",
   "Use_uploaded_avatar": "Использовать загруженный аватар",
   "Use_url_for_avatar": "Использовать URL для аватара",
@@ -2721,13 +2799,14 @@
   "UTF8_Names_Validation": "Проверка имён UTF8",
   "UTF8_Names_Validation_Description": "Регулярное выражение, которое будет использоваться для проверки логина или канала",
   "Validate_email_address": "Подтвердите адрес электронной почты",
+  "Verification_email_body": "Вы успешно создали учетную запись в [Site_Name]. Пожалуйста, нажмите кнопку ниже, чтобы подтвердить свой адрес электронной почты и завершить регистрацию.",
   "Verification": "Подтверждение",
   "Verification_Description": "Вы можете использовать следующие подстановки: <br/><ul><li>[Verification_Url] для URL верификации.</li><li>[name], [fname], [lname] для полного имени, имени или фамилии пользователя.</li><li>[email] для адреса электронной почты пользователя.</li><li>[Site_Name] и [Site_URL] для имени приложения и его URL.</li></ul>",
-  "Verification_Email": "Нажмите <a href=\"[Verification_Url]\">сюда</a>, чтобы подтвердить ваш аккаунт.",
   "Verification_email_sent": "Проверочное электронное письмо отправлено",
   "Verification_Email_Subject": "[Site_Name] - Подтвердите ваш аккаунт",
   "Verified": "Подтверждён",
   "Verify": "Подтверждение",
+  "Verify_your_email": "Подтвердите Ваш электронный адрес",
   "Version": "Версия",
   "Video_Chat_Window": "Видеочат",
   "Video_Conference": "Видеоконференция",
@@ -2784,6 +2863,13 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Мы не в сети. Извините за доставленные неудобства.",
   "We_have_sent_password_email": "На вашу электронную почту было отправлено письмо с инструкциями. Если по каким-то причинам письмо не пришло, попробуйте еще раз и/или напишите нам.",
   "We_have_sent_registration_email": "Чтобы подтвердить вашу регистрацию, мы отправили вам электронное сообщение. Пожалуйста, следуйте инструкциям в этом сообщении. Если вы не получили электронное сообщение, попробуйте ещё раз позже.",
+  "WebDAV_Accounts": "Учетная запись WebDAV",
+  "Webdav_add_new_account": "Добавить новую учетную запись WebDAV",
+  "webdav-account-saved": "Учетная запись WebDAV сохранена",
+  "Webdav_Integration_Enabled": "Интеграция Webdav включена",
+  "Webdav_Server_URL": "URL сервера WebDAV",
+  "Webdav_Username": "Имя пользователя WebDAV",
+  "Webdav_Password": "Пароль WebDAV",
   "Webhook_URL": "URL Webhook",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "Входящий аудио вызов от %s",
@@ -2799,12 +2885,14 @@
   "Website": "Веб-сайт",
   "Wednesday": "Среда",
   "Welcome": "Добро пожаловать, <em>%s</em>.",
+  "Welcome_to": "Добро пожаловать на __Site_Name__",
   "Welcome_to_the": "Добро пожаловать в",
   "Why_do_you_want_to_report_question_mark": "Почему вы хотите сообщить?",
   "will_be_able_to": "сможет",
   "Worldwide": "Мировой",
   "Would_you_like_to_return_the_inquiry": "Вы хотите вернуть запрос?",
   "Yes": "Да",
+  "Yesterday": "Вчера",
   "Yes_archive_it": "Да, архивировать!",
   "Yes_clear_all": "Да, удалить все!",
   "Yes_delete_it": "Да, удалить!",
diff --git a/packages/rocketchat-i18n/i18n/sk-SK.i18n.json b/packages/rocketchat-i18n/i18n/sk-SK.i18n.json
index 6993c0675ca561a0b3ffa744c4b033ef040b9719..1decb491a5ae9719bca1f13fedf7dee2c0178cac 100644
--- a/packages/rocketchat-i18n/i18n/sk-SK.i18n.json
+++ b/packages/rocketchat-i18n/i18n/sk-SK.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "Zakázané",
+  "500": "Interná chyba servera",
   "#channel": "#kanál",
   "0_Errors_Only": "0 - Len chyby",
   "1_Errors_and_Information": "1 - Chyby a informácie",
   "2_Erros_Information_and_Debug": "2 - Chyby, informácie a ladenie",
-  "403": "Zakázané",
-  "500": "Interná chyba servera",
   "@username": "@používateľ",
   "@username_message": "@používateľ <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "používateľovi __username__ bola zrušená funkcia __role__ používateľom __user_by__",
@@ -57,13 +57,13 @@
   "Accounts_Email_Approved": "[name]<br/><br/><p>Váš účet bol schválený.</p>",
   "Accounts_Email_Approved_Subject": "Účet je schválený",
   "Accounts_Email_Deactivated": "[name]<br/><br/><p>Váš účet bol deaktivovaný.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>Vitajte na lokalite <strong>[Site_Name]</strong></h1><p>Choďťe na adresu <a href=\"[Site_URL]\">[SITE_URL]</a>a vyskúšajte najlepšie diskusné a komunikačné open source riešenie, aké je dnes k dispozícii!</p>",
   "Accounts_Email_Deactivated_Subject": "Účet je deaktivovaný",
   "Accounts_EmailVerification": "Overenie e-mailu",
   "Accounts_EmailVerification_Description": "Uistite sa, že máte správne nastavenia SMTP na používanie tejto funkcie",
+  "Accounts_Enrollment_Email_Subject_Default": "Vitajte na lokalite [Site_Name]",
   "Accounts_Enrollment_Email": "Registračný e-mail",
-  "Accounts_Enrollment_Email_Default": "<h1>Vitajte na lokalite <strong>[Site_Name]</strong></h1><p>Choďťe na adresu <a href=\"[Site_URL]\">[SITE_URL]</a>a vyskúšajte najlepšie diskusné a komunikačné open source riešenie, aké je dnes k dispozícii!</p>",
   "Accounts_Enrollment_Email_Description": "Môžete použiť nasledujúce zástupné symboly: <br/><ul><li>[name], [fname], [lname] pre celé meno používateľa, krstné meno alebo priezvisko.</li><li>[email] pre e-mail používateľa.</li><li>[Site_Name] a [Site_URL] pre názov a adresu URL.</li></ul>",
-  "Accounts_Enrollment_Email_Subject_Default": "Vitajte na lokalite [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "Zabudnúť používateľskú reláciu pri zatvorení okna",
   "Accounts_Iframe_api_method": "Metóda API",
   "Accounts_Iframe_api_url": "Adresa URL rozhrania API",
@@ -177,12 +177,12 @@
   "Accounts_ShowFormLogin": "Zobraziť prednastavený formulár prihlásenia",
   "Accounts_TwoFactorAuthentication_Enabled": "Povoliť dvoj-faktorovú autentifikáciu",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Maximálna Delta",
+  "Accounts_UserAddedEmail_Default": "<h1>Vitajte na lokalite <strong>[Site_Name]</strong></h1><p>Choďte na adresu <a href=\"[Site_URL]\">[SITE_URL]</a> a vyskúšajte najlepšie diskusné open source riešenie, aké je dnes k dispozícii!</p><p>Môžete sa prihlásiť pomocou e-mailu: [email] a hesla: [heslo]. Pri prvom prihlásení môže systém vyžadovať zmenu hesla.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "Maximálna Delta určuje, koľko Známok je platných v danom čase. Známky sa generujú každých 30 sekúnd a platia pre (30 * maximálna Delta) sekúnd. <br/>Príklad: Ak je maximálna Delta nastavená na 10, každá Známka môže byť použitá až 300 sekúnd pred alebo po jeho časovej pečiatke. Je to užitočné, keď nie sú správne synchronizované hodiny klienta so serverom.",
   "Accounts_UseDefaultBlockedDomainsList": "Použiť predvolený zoznam blokovaných domén",
   "Accounts_UseDNSDomainCheck": "Použiť kontrolu domény DNS",
-  "Accounts_UserAddedEmail_Default": "<h1>Vitajte na lokalite <strong>[Site_Name]</strong></h1><p>Choďte na adresu <a href=\"[Site_URL]\">[SITE_URL]</a> a vyskúšajte najlepšie diskusné open source riešenie, aké je dnes k dispozícii!</p><p>Môžete sa prihlásiť pomocou e-mailu: [email] a hesla: [heslo]. Pri prvom prihlásení môže systém vyžadovať zmenu hesla.",
-  "Accounts_UserAddedEmail_Description": "Môžete použiť nasledujúce zástupné symboly: <br/><ul><li>[meno], [fname], [lname] pre celé meno používateľa, krstné meno alebo priezvisko.</li><li>[email] pre e-mail používateľa.</li><li>[password] pre heslo používateľa.</li><li>[Site_Name] a [Site_URL] pre názov a adresu URL.</li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "Boli ste pridaný na lokalitu [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "Môžete použiť nasledujúce zástupné symboly: <br/><ul><li>[meno], [fname], [lname] pre celé meno používateľa, krstné meno alebo priezvisko.</li><li>[email] pre e-mail používateľa.</li><li>[password] pre heslo používateľa.</li><li>[Site_Name] a [Site_URL] pre názov a adresu URL.</li></ul>",
   "Activate": "Aktivovať",
   "Activity": "Aktivita",
   "Add": "Pridať",
@@ -238,6 +238,7 @@
   "Allow_Marketing_Emails": "Povoliť marketingové e-maily",
   "Alphabetical": "Abecedný",
   "Always_open_in_new_window": "Otvoriť vždy v novom okne",
+  "Analytics": "Analytika",
   "Analytics_features_enabled": "Funkcie povolené",
   "Analytics_features_messages_Description": "Sleduje vlastné udalosti týkajúce sa akcií, ktoré používateľ robí v správach.",
   "Analytics_features_rooms_Description": "Sleduje vlastné udalosti týkajúce sa akcií v kanáli alebo skupine (Vytvorenie, odchod, odstránenie).",
@@ -816,6 +817,7 @@
   "Created_at_s_by_s_triggered_by_s": "Vytvorené <strong>%s</strong> od <strong>%s</strong> vyvolané od <strong>%s</strong>",
   "CRM_Integration": "Integrácia CRM",
   "CROWD_Reject_Unauthorized": "Odmietnuť neautorizované",
+  "Crowd_sync_interval_Description": "Interval medzi synchronizáciami. Príklad \"každých 24 hodín\" alebo \"prvý deň v týždni\", ďalšie príklady v systéme [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "Aktuálne konverzácie",
   "Current_Status": "Aktuálny status",
   "Custom": "Vlastné",
@@ -1339,8 +1341,10 @@
   "Install_package": "Nainštalujte balík",
   "Installation": "inštalácia",
   "Installed_at": "Inštalované na",
+  "Invitation_HTML": "Pozvánka HTML",
   "Instance_Record": "Nahrávanie inštancií",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Pokyny pre vášho návštevníka vyplňte formulár na odoslanie správy",
+  "Invitation_HTML_Default": "<h1>Boli ste pozvaní na <strong>[Site_Name]</strong></h1><p>Navštívte stránky [Site_URL] a vyskúšajte najlepšie riešenie pre chat s otvoreným zdrojom, ktoré je k dispozícii dnes!</p>",
   "Insurance": "poistenie",
   "Integration_added": "Integrácia bola pridaná",
   "Integration_Advanced_Settings": "Pokročilé nastavenia",
@@ -1406,9 +1410,7 @@
   "invisible": "neviditeľný",
   "Invisible": "neviditeľný",
   "Invitation": "Pozvánka",
-  "Invitation_HTML": "Pozvánka HTML",
-  "Invitation_HTML_Default": "<h1>Boli ste pozvaní na <strong>[Site_Name]</strong></h1><p>Navštívte stránky [Site_URL] a vyskúšajte najlepšie riešenie pre chat s otvoreným zdrojom, ktoré je k dispozícii dnes!</p>",
-  "Invitation_HTML_Description": "Môžete použiť nasledujúce zástupné symboly: <br/><ul><li>[email] pre e-mail príjemcu.</li><li>[Site_Name] a [Site_URL] pre názov aplikácie a adresu URL.</li></ul>",
+  "Invitation_Email_Description": "Môžete použiť nasledujúce zástupné symboly: <br/><ul><li>[email] pre e-mail príjemcu.</li><li>[Site_Name] a [Site_URL] pre názov aplikácie a adresu URL.</li></ul>",
   "Invitation_Subject": "Predmet pozvania",
   "Invitation_Subject_Default": "Boli ste pozvaní na stránku [Site_Name]",
   "Invite_user_to_join_channel": "Pozvite jedného používateľa, aby sa pripojil k tomuto kanálu",
@@ -2525,6 +2527,7 @@
   "Tokens_Required_Input_Error": "Neplatné písané žetóny.",
   "Tokens_Required_Input_Placeholder": "Token názvy aktív",
   "Topic": "téma",
+  "Total_messages": "Celkom správ",
   "Tourism": "cestovný ruch",
   "Transcript_Enabled": "Spýtajte sa návštevníka, či by sa chcel prepisovať po ukončení chatu",
   "Transcript_message": "Správa na zobrazenie pri žiadaní o prepis",
@@ -2585,6 +2588,7 @@
   "Upload_file_description": "Popis súboru",
   "Upload_file_name": "Názov súboru",
   "Upload_file_question": "Nahrajte súbor?",
+  "Upload_Folder_Path": "Nahrať cestu priečinka",
   "Upload_user_avatar": "Nahrať avatar",
   "Uploading_file": "Nahrávať súbor ...",
   "Uptime": "uptime",
@@ -2596,6 +2600,7 @@
   "Use_initials_avatar": "Použite svoje iniciály používateľského mena",
   "Use_minor_colors": "Použite menšiu farebnú paletu (predvolené hodnoty zdedia hlavné farby)",
   "Use_service_avatar": "Použite%s avatar",
+  "Verification_Email": "Kliknutím na tlačidlo <a href=\"[Verification_Url]\" LH_HTML_END> tu</a>overte svoj účet.",
   "Use_this_username": "Použite toto používateľské meno",
   "Use_uploaded_avatar": "Použiť odovzdaný avatar",
   "Use_url_for_avatar": "Použite adresu URL pre avatar",
@@ -2692,7 +2697,6 @@
   "Validate_email_address": "Overiť e-mailovú adresu",
   "Verification": "overenie",
   "Verification_Description": "Môžete použiť nasledujúce zástupné symboly: <br/><ul><li>[Verification_Url] pre verifikačnú adresu URL.</li><li>[meno], [fname], [lname] pre celé meno používateľa, krstné meno alebo priezvisko.</li><li>[email] pre e-mail používateľa.</li><li>[Site_Name] a [Site_URL] pre názov aplikácie a adresu URL.</li></ul>",
-  "Verification_Email": "Kliknutím na tlačidlo <a href=\"[Verification_Url]\" LH_HTML_END> tu</a>overte svoj účet.",
   "Verification_email_sent": "Verifikačný e-mail bol odoslaný",
   "Verification_Email_Subject": "[Site_Name] - Overte svoj účet",
   "Verified": "overená",
@@ -2753,6 +2757,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Sme offline. Ospravedlňujem sa za nepríjemnosť.",
   "We_have_sent_password_email": "Poslali sme vám e-mail s pokynmi na obnovenie hesla. Ak v krátkom čase nedostanete e-mail, vráťte sa a skúste to znova.",
   "We_have_sent_registration_email": "Poslali sme vám e-mail na potvrdenie vašej registrácie. Ak v krátkom čase nedostanete e-mail, vráťte sa a skúste to znova.",
+  "Webdav_Server_URL": "Webová adresa pre prístup na server WebDAV",
+  "Webdav_Username": "WebDAV používateľské meno",
+  "Webdav_Password": "WebDAV heslo",
   "Webhook_URL": "Webhook URL",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "Priamy zvuk z%s",
diff --git a/packages/rocketchat-i18n/i18n/sl-SI.i18n.json b/packages/rocketchat-i18n/i18n/sl-SI.i18n.json
index b15574ab395483b8da6169fe54faab88ddc953a3..95fa93b53d444f8c850812ec693f416e86f2b0a2 100644
--- a/packages/rocketchat-i18n/i18n/sl-SI.i18n.json
+++ b/packages/rocketchat-i18n/i18n/sl-SI.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "Prepovedano",
+  "500": "Notranja napaka strežnika",
   "#channel": "#kanal",
   "0_Errors_Only": "0 - Samo napake",
   "1_Errors_and_Information": "1 - Napake in informacije",
   "2_Erros_Information_and_Debug": "2 – Napake, informacije in odpravljanje napak",
-  "403": "Prepovedano",
-  "500": "Notranja napaka strežnika",
   "@username": "@uporabnik",
   "@username_message": "@uporabnik <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__username__ ni več __role__ by __user_by__",
@@ -57,13 +57,13 @@
   "Accounts_Email_Approved": "[name] <br/><br/><p>Vaš račun je odobren.</p>",
   "Accounts_Email_Approved_Subject": "Račun je odobren",
   "Accounts_Email_Deactivated": "[name]<br/><br/><p>Vaš račun je deaktiviran.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>Dobrodošli na <strong>[Site_Name]</strong></h1><p>Pojdite na <a href=\"[Site_URL]\">[Site_URL]</a> in preizkusite  najboljše odprtokodne klepetalnice, ki so sedaj na voljo!</p>",
   "Accounts_Email_Deactivated_Subject": "Račun je deaktiviran",
   "Accounts_EmailVerification": "Potrditev e-poštnega naslova",
   "Accounts_EmailVerification_Description": "Prepričajte se, da imate pravilno namestitev SMTP za uporabo te funkcije",
+  "Accounts_Enrollment_Email_Subject_Default": "Dobrodošli na [Site_Name]",
   "Accounts_Enrollment_Email": "E-poštni naslov za vpis",
-  "Accounts_Enrollment_Email_Default": "<h1>Dobrodošli na <strong>[Site_Name]</strong></h1><p>Pojdite na <a href=\"[Site_URL]\">[Site_URL]</a> in preizkusite  najboljše odprtokodne klepetalnice, ki so sedaj na voljo!</p>",
   "Accounts_Enrollment_Email_Description": "Uporabite lahko naslednje označbe mesta: <br/><ul><li>[name], [fname], [lname] za uporabnikovo polno ime, ime ali priimek.</li><li>[email] za uporabnikov e-poštni naslov.</li><li>[Site_Name] in [Site_URL] za ime aplikacije in URL.</li></ul>",
-  "Accounts_Enrollment_Email_Subject_Default": "Dobrodošli na [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "Pozabi uporabniško sejo na oknu Zapri",
   "Accounts_Iframe_api_method": "Metoda Api",
   "Accounts_Iframe_api_url": "API URL",
@@ -177,12 +177,12 @@
   "Accounts_ShowFormLogin": "Prikaži prijavo, ki temelji na obrazcu",
   "Accounts_TwoFactorAuthentication_Enabled": "Omogoči dve avtentifikaciji faktorja",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Največji delta",
+  "Accounts_UserAddedEmail_Default": "<h1>Dobrodošli <strong>[Site_Name]</strong></h1><p>Pojdite na <a href=\"[SITE_URL]\">[SITE_URL]</a>in preizkusite najboljše odprtokodne rešitve klepet, ki so danes na voljo!</p><p>Lahko se prijavite z vašim e-poštnim naslovom: [email] in geslom: [password]. Po prvi prijavi ga boste morda morali spremeniti.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "Največji delta določa, koliko žetonov je veljavnih v določenem trenutku. Žetoni se ustvarijo vsakih 30 sekund in veljajo za (30 * največji delta) sekunde. <br/>Primer: z maksimalno vrednostjo delte, nastavljene na 10, lahko vsak žeton uporabite do 300 sekund pred ali po časovnem žigu. To je uporabno, če  je ura uporabnika nepravilno sinhronizirana\n s strežnikom.",
   "Accounts_UseDefaultBlockedDomainsList": "Uporabi privzeti seznam blokiranih domen",
   "Accounts_UseDNSDomainCheck": "Uporabi preverjanje za domeno DNS",
-  "Accounts_UserAddedEmail_Default": "<h1>Dobrodošli <strong>[Site_Name]</strong></h1><p>Pojdite na <a href=\"[SITE_URL]\">[SITE_URL]</a>in preizkusite najboljše odprtokodne rešitve klepet, ki so danes na voljo!</p><p>Lahko se prijavite z vašim e-poštnim naslovom: [email] in geslom: [password]. Po prvi prijavi ga boste morda morali spremeniti.",
-  "Accounts_UserAddedEmail_Description": "Uporabite lahko naslednje oznake mesta: <br/><ul><li>[name], [fname], [lname] za polno ime, ime ali priimek uporabnika.</li><li>[email] za uporabniški e-poštni naslov.</li><li>[password] za uporabniško geslo.</li><li>[Site_Name] in [Site_URL] za ime aplikacije in URL.</li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "Dodani ste bili na [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "Uporabite lahko naslednje oznake mesta: <br/><ul><li>[name], [fname], [lname] za polno ime, ime ali priimek uporabnika.</li><li>[email] za uporabniški e-poštni naslov.</li><li>[password] za uporabniško geslo.</li><li>[Site_Name] in [Site_URL] za ime aplikacije in URL.</li></ul>",
   "Activate": "Sproži",
   "Activity": "Aktivnost",
   "Add": "Dodaj",
@@ -237,6 +237,7 @@
   "Allow_Marketing_Emails": "Dovoli trženjske e-pošte",
   "Alphabetical": "Po abecednem vrstnem redu",
   "Always_open_in_new_window": "Vedno odpri v novem oknu",
+  "Analytics": "Analiza",
   "Analytics_features_enabled": "Funkcije so omogočene",
   "Analytics_features_messages_Description": "Sledi dogodkom po meri, ki so povezani z uporabnikovo aktivnostjo pri sporočilih.",
   "Analytics_features_rooms_Description": "Sledi dogodkom po meri, ki so povezani z aktivnostjo v kanalu ali skupini (ustvari, zapusti, izbriši).",
@@ -815,6 +816,7 @@
   "Created_at_s_by_s_triggered_by_s": "Ustvarjeno na <strong>%s</strong>s strani <strong>%s</strong>, ki ga je sprožil <strong>%s</strong>",
   "CRM_Integration": "Integracija CRM",
   "CROWD_Reject_Unauthorized": "Zavrni nepooblaščeno",
+  "Crowd_sync_interval_Description": "Interval med sinhronizacijami. Primer \"vsakih 24 ur\" ali \"prvi dan v tednu\", več primerov na [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "Trenutni pogovori",
   "Current_Status": "Trenutno stanje",
   "Custom": "Po meri",
@@ -1338,8 +1340,10 @@
   "Install_package": "Namestite paket",
   "Installation": "Namestitev",
   "Installed_at": "Nameščeno dne",
+  "Invitation_HTML": "Povabilo HTML",
   "Instance_Record": "Primerek zapisa",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Če želite poslati sporočilo, izpolnite navodila za vašega obiskovalca",
+  "Invitation_HTML_Default": "<h1>Povabljeni se na <strong>[Site_Name]</strong></h1><p>Pojdite na [Site_URL] in preizkusite najboljše odprtokodne klepetalnice, ki so sedaj na voljo!</p>",
   "Insurance": "Zavarovanje",
   "Integration_added": "Integracija je bila dodana",
   "Integration_Advanced_Settings": "Napredne nastavitve",
@@ -1404,9 +1408,7 @@
   "invisible": "neviden",
   "Invisible": "Neviden",
   "Invitation": "Povabilo",
-  "Invitation_HTML": "Povabilo HTML",
-  "Invitation_HTML_Default": "<h1>Povabljeni se na <strong>[Site_Name]</strong></h1><p>Pojdite na [Site_URL] in preizkusite najboljše odprtokodne klepetalnice, ki so sedaj na voljo!</p>",
-  "Invitation_HTML_Description": "Za e-poštni naslov prejemnika lahko uporabite naslednje označbe mest:<br/> <ul><li>[email].</li><li>[Site_Name] in [Site_URL] za ime aplikacije in URL.</li></ul>",
+  "Invitation_Email_Description": "Za e-poštni naslov prejemnika lahko uporabite naslednje označbe mest:<br/> <ul><li>[email].</li><li>[Site_Name] in [Site_URL] za ime aplikacije in URL.</li></ul>",
   "Invitation_Subject": "Zadeva povabila",
   "Invitation_Subject_Default": "Povabljeni ste bili na [Site_Name]",
   "Invite_user_to_join_channel": "Povabi uporabnika, da se pridruži kanalu",
@@ -2523,6 +2525,7 @@
   "Tokens_Required_Input_Error": "Neveljavni vpisani žetoni.",
   "Tokens_Required_Input_Placeholder": "Imena žetonov osnovnih sredstev",
   "Topic": "Tema",
+  "Total_messages": "Skupno število sporočil",
   "Tourism": "Turizem",
   "Transcript_Enabled": "Vprašajte obiskovalca, če bi želeli transkripcijo po tem, ko zaprejo klepet",
   "Transcript_message": "Sporočilo, ki se prikaže pri vprašanju o transkripciji",
@@ -2583,6 +2586,7 @@
   "Upload_file_description": "Opis datoteke",
   "Upload_file_name": "Ime datoteke",
   "Upload_file_question": "Želite naložiti datoteko?",
+  "Upload_Folder_Path": "Naloži pot do mape",
   "Upload_user_avatar": "Naloži avatar",
   "Uploading_file": "Nalaganje datoteke ...",
   "Uptime": "Neprekinjeno delovanje (uptime)",
@@ -2594,6 +2598,7 @@
   "Use_initials_avatar": "Uporabite začetnice svojega uporabniškega imena",
   "Use_minor_colors": "Uporabite manjšo barvno paleto (privzeto prevzame večje barve)",
   "Use_service_avatar": "Uporabi %s avatar",
+  "Verification_Email": "Kliknite <a href=\"[Verification_Url]\">tukaj</a>, če želite potrditi vaš račun.",
   "Use_this_username": "Uporabi to uporabniško ime",
   "Use_uploaded_avatar": "Uporabi naloženi avatar",
   "Use_url_for_avatar": "Za avatar uporabi URL",
@@ -2690,7 +2695,6 @@
   "Validate_email_address": "Potrdite e-poštni naslov",
   "Verification": "Preverjanje",
   "Verification_Description": "Za URL za preverjanje lahko uporabite naslednje označbe: <br/><ul><li>[Verification_Url].</li><li>[name], [fname], [lname] za polno ime, ime ali priimek uporabnika.</li><li>[email] za uporabnikov e-poštni naslov.</li><li>[Site_Name] in [Site_URL] za ime aplikacije in URL.</li></ul>",
-  "Verification_Email": "Kliknite <a href=\"[Verification_Url]\">tukaj</a>, če želite potrditi vaš račun.",
   "Verification_email_sent": "Poslano je bilo e-poštno sporočilo za potrditev",
   "Verification_Email_Subject": "[Site_Name] - potrdite vaš račun",
   "Verified": "Preverjeno",
@@ -2751,6 +2755,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Brez povezave. Oprostite za nevšečnosti.",
   "We_have_sent_password_email": "Poslali smo vam e-poštno sporočilo z navodili za ponastavitev gesla. Če v kratkem ne prejmete e-pošte, se vrnite in poskusite znova.",
   "We_have_sent_registration_email": "Poslali smo vam e-poštno sporočilo, da potrdite svojo registracijo. Če v kratkem ne prejmete e-pošte, se vrnite in poskusite znova.",
+  "Webdav_Server_URL": "URL dostopa do strežnika WebDAV",
+  "Webdav_Username": "Uporabniško ime za spletno mesto",
+  "Webdav_Password": "Geslo za WebDAV",
   "Webhook_URL": "Webhook URL",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "Neposredni avdio klic iz %s",
diff --git a/packages/rocketchat-i18n/i18n/sq.i18n.json b/packages/rocketchat-i18n/i18n/sq.i18n.json
index a12a85cde68d50972817354607ecfd8a568d63f1..fb40fa5e5615e2f2bf5bce6a4e3a585eb2fd6ae8 100644
--- a/packages/rocketchat-i18n/i18n/sq.i18n.json
+++ b/packages/rocketchat-i18n/i18n/sq.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "i ndaluar",
+  "500": "Server Error brendshme",
   "#channel": "#kanali",
   "0_Errors_Only": "0 - Gabimet Vetëm",
   "1_Errors_and_Information": "1 - Gabimet dhe Informacione",
   "2_Erros_Information_and_Debug": "2 - Erros, Informacion dhe Debug",
-  "403": "i ndaluar",
-  "500": "Server Error brendshme",
   "@username": "@username",
   "@username_message": "@ username <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__username__ nuk është më __role__, duke __user_by__",
@@ -57,13 +57,13 @@
   "Accounts_Email_Approved": "[name] <br/><br/><p>Llogaria jote u miratua.</p>",
   "Accounts_Email_Approved_Subject": "Llogaria e miratuar",
   "Accounts_Email_Deactivated": "[name]<br/><br/><p>Llogaria jote u çaktivizua.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>Mire se erdhet ne <strong>[Site_Name]</strong></h1><p> Shko tek <a href=\"[Site_URL]\">[Site_URL]</a> dhe të përpiqet të mirë të burimit të hapur chat zgjidhje në dispozicion sot! </p>",
   "Accounts_Email_Deactivated_Subject": "Llogaria është çaktivizuar",
   "Accounts_EmailVerification": "E-mail Verifikimi",
   "Accounts_EmailVerification_Description": "Sigurohuni që keni cilësimet e duhura SMTP për të përdorur këtë funksion",
+  "Accounts_Enrollment_Email_Subject_Default": "Mirë se vini në [Site_Name]",
   "Accounts_Enrollment_Email": "Regjistrimi E-mail",
-  "Accounts_Enrollment_Email_Default": "<h1>Mire se erdhet ne <strong>[Site_Name]</strong></h1><p> Shko tek <a href=\"[Site_URL]\">[Site_URL]</a> dhe të përpiqet të mirë të burimit të hapur chat zgjidhje në dispozicion sot! </p>",
   "Accounts_Enrollment_Email_Description": "Mund të përdorësh vendin e mëposhtëm: <br/><ul><li>[name], [fname], [lname] për emrin e plotë, emrin ose mbiemrin e përdoruesit.</li><li>[email] për emailin e përdoruesit.</li><li>[Site_Name] dhe [Site_URL] për emrin e aplikacionit dhe URL përkatësisht.</li></ul>",
-  "Accounts_Enrollment_Email_Subject_Default": "Mirë se vini në [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "Harrojeni Sesionin e Përdoruesit në Mbylljen e Dritares",
   "Accounts_Iframe_api_method": "Metoda api",
   "Accounts_Iframe_api_url": "api Url",
@@ -177,12 +177,12 @@
   "Accounts_ShowFormLogin": "Tregojnë formë të bazuar Login",
   "Accounts_TwoFactorAuthentication_Enabled": "Aktivizo Authentication Dy Factor",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Delta maksimale",
+  "Accounts_UserAddedEmail_Default": "<h1>Mire se erdhet ne <strong>[Site_Name]</strong></h1><p> Shko tek <a href=\"[Site_URL]\">[Site_URL]</a> dhe të përpiqet të mirë të burimit të hapur chat zgjidhje në dispozicion sot! </p><p> Ju mund të identifikoheni duke përdorur email: [email] dhe fjalëkalimin: [password]. Ju mund të kërkohet për të ndryshuar atë pas hyrjes tuaj të parë.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "Delta maksimale përcakton se sa argumentet janë të vlefshme në çdo kohë të caktuar. Token gjenerohen çdo 30 sekonda dhe janë të vlefshme për (30 * Delta maksimale) sekonda. <br/>Shembull: Me një Delta maksimale të caktuar në 10, çdo shenjë mund të përdoret deri në 300 sekonda para ose pas kohës së tij. Kjo është e dobishme kur ora e klientit nuk është sinkronizuar siç duhet me serverin.",
   "Accounts_UseDefaultBlockedDomainsList": "Përdorimi Default Blocked Lista Domains",
   "Accounts_UseDNSDomainCheck": "Përdorni DNS Domain Kontrollo",
-  "Accounts_UserAddedEmail_Default": "<h1>Mire se erdhet ne <strong>[Site_Name]</strong></h1><p> Shko tek <a href=\"[Site_URL]\">[Site_URL]</a> dhe të përpiqet të mirë të burimit të hapur chat zgjidhje në dispozicion sot! </p><p> Ju mund të identifikoheni duke përdorur email: [email] dhe fjalëkalimin: [password]. Ju mund të kërkohet për të ndryshuar atë pas hyrjes tuaj të parë.",
-  "Accounts_UserAddedEmail_Description": "Ju mund të përdorni placeholders e mëposhtme: <br/><ul><li> [name], [fname], [lname] për emrin e përdoruesit të plotë, emrin e parë ose emrin e fundit, respektivisht. </li><li> [email] për email të përdoruesit. </li><li> [password] për fjalëkalimin e përdoruesit. </li><li> [Site_Name] dhe [Site_URL] në emër Aplikimit dhe URL respektivisht. </li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "Ju janë shtuar në [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "Ju mund të përdorni placeholders e mëposhtme: <br/><ul><li> [name], [fname], [lname] për emrin e përdoruesit të plotë, emrin e parë ose emrin e fundit, respektivisht. </li><li> [email] për email të përdoruesit. </li><li> [password] për fjalëkalimin e përdoruesit. </li><li> [Site_Name] dhe [Site_URL] në emër Aplikimit dhe URL respektivisht. </li></ul>",
   "Activate": "Aktivizoj",
   "Activity": "aktivitet",
   "Add": "shtoj",
@@ -238,6 +238,7 @@
   "Allow_Marketing_Emails": "Lejo Marketing Email",
   "Alphabetical": "alfabetik",
   "Always_open_in_new_window": "Hapni Gjithmonë në Dritare të Reja",
+  "Analytics": "Analitikë",
   "Analytics_features_enabled": "Features Enabled",
   "Analytics_features_messages_Description": "Tracks ngjarjet me porosi në lidhje me veprimet e një përdorues bën në mesazhe.",
   "Analytics_features_rooms_Description": "Tracks ngjarjet me porosi lidhur me veprimet në një kanal ose grup (të krijojë, të lënë, fshini).",
@@ -816,6 +817,7 @@
   "Created_at_s_by_s_triggered_by_s": "Krijuar në <strong>%s</strong> nga <strong>%s</strong> të aktivizuara nga <strong>%s</strong>",
   "CRM_Integration": "Integrimi i CRM",
   "CROWD_Reject_Unauthorized": "Refuzo të paautorizuar",
+  "Crowd_sync_interval_Description": "Intervali midis sinkronizimeve. Shembull \"çdo 24 orë\" ose \"ditën e parë të javës\", më shumë shembuj në [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "Chats tanishme",
   "Current_Status": "Statusi aktual",
   "Custom": "me porosi",
@@ -1339,8 +1341,10 @@
   "Install_package": "Instalo paketën",
   "Installation": "instalim",
   "Installed_at": "instaluar në",
+  "Invitation_HTML": "ftesë HTML",
   "Instance_Record": "Regjistrim i Shkallës",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Udhëzime për mysafirin tuaj plotësoni formularin për të dërguar një mesazh",
+  "Invitation_HTML_Default": "<h1>Ju keni qenë të ftuar për <strong>[Site_Name]</strong></h1><p> Shko tek [Site_URL] dhe të përpiqet të mirë të burimit të hapur chat zgjidhje në dispozicion sot! </p>",
   "Insurance": "sigurim",
   "Integration_added": "Integrimi është shtuar",
   "Integration_Advanced_Settings": "Cilësimet e avancuara",
@@ -1406,9 +1410,7 @@
   "invisible": "i padukshëm",
   "Invisible": "I padukshëm",
   "Invitation": "ftesë",
-  "Invitation_HTML": "ftesë HTML",
-  "Invitation_HTML_Default": "<h1>Ju keni qenë të ftuar për <strong>[Site_Name]</strong></h1><p> Shko tek [Site_URL] dhe të përpiqet të mirë të burimit të hapur chat zgjidhje në dispozicion sot! </p>",
-  "Invitation_HTML_Description": "Ju mund të përdorni placeholders e mëposhtme: <br/><ul><li> [email] për e-mail marrësit. </li><li> [Site_Name] dhe [Site_URL] në emër Aplikimit dhe URL respektivisht. </li></ul>",
+  "Invitation_Email_Description": "Ju mund të përdorni placeholders e mëposhtme: <br/><ul><li> [email] për e-mail marrësit. </li><li> [Site_Name] dhe [Site_URL] në emër Aplikimit dhe URL respektivisht. </li></ul>",
   "Invitation_Subject": "ftesë Subject",
   "Invitation_Subject_Default": "Ju keni qenë të ftuar për [Site_Name]",
   "Invite_user_to_join_channel": "Fto një përdorues për t'u bashkuar me këtë kanal",
@@ -2525,6 +2527,7 @@
   "Tokens_Required_Input_Error": "Argumentet e pavlefshme të shtypura.",
   "Tokens_Required_Input_Placeholder": "Emrat e pasurive të xhepit",
   "Topic": "temë",
+  "Total_messages": "Gjithë mesazhet",
   "Tourism": "turizëm",
   "Transcript_Enabled": "Pyetni vizitorin nëse do të donin një transkript pas bisedës së mbyllur",
   "Transcript_message": "Mesazhi për të treguar kur pyet për transkriptin",
@@ -2585,6 +2588,7 @@
   "Upload_file_description": "Përshkrimi i skedarit",
   "Upload_file_name": "Emri i skedarit",
   "Upload_file_question": "Ngarko skedar?",
+  "Upload_Folder_Path": "Ngarko dosjen e dosjes",
   "Upload_user_avatar": "Ngarko avatar",
   "Uploading_file": "Ngarkimi fotografi ...",
   "Uptime": "uptime",
@@ -2596,6 +2600,7 @@
   "Use_initials_avatar": "Përdorni inicialet e emrit tuaj",
   "Use_minor_colors": "Përdorni paleta të vogla të ngjyrave (defaults trashëgojnë ngjyrat kryesore)",
   "Use_service_avatar": "Përdorni %s avatar",
+  "Verification_Email": "Kliko <a href=\"[Verification_Url]\">këtu</a>për të verifikuar llogarinë tuaj.",
   "Use_this_username": "Përdoreni emrin e këtij përdoruesi",
   "Use_uploaded_avatar": "Përdorni avatarët e ngarkuar",
   "Use_url_for_avatar": "Përdorni url për avatar",
@@ -2692,7 +2697,6 @@
   "Validate_email_address": "Validoni adresën e emailit",
   "Verification": "verifikim",
   "Verification_Description": "Mund të përdorësh vendin e mëposhtëm: <br/><ul><li>[Verification_Url] për URL-në e verifikimit.</li><li>[emër], [fname], [lname] për emrin e plotë, emrin ose mbiemrin e përdoruesit.</li><li>[email] për emailin e përdoruesit.</li><li>[Site_Name] dhe [Site_URL] për emrin e aplikacionit dhe URL përkatësisht.</li></ul>",
-  "Verification_Email": "Kliko <a href=\"[Verification_Url]\">këtu</a>për të verifikuar llogarinë tuaj.",
   "Verification_email_sent": "email Verifikimi dërguar",
   "Verification_Email_Subject": "[Site_Name] - Verifikoni llogarinë tuaj",
   "Verified": "verifikuar",
@@ -2753,6 +2757,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Ne jemi offline. Na vjen keq për bezdisjen.",
   "We_have_sent_password_email": "Ne të dërguam ty një e-mail me udhëzime të rivendosur fjalëkalimin. Nëse ju nuk merrni një e-mail shpejti, ju lutem të ktheheni dhe provoni përsëri.",
   "We_have_sent_registration_email": "Ne të dërguam ty një e-mail për të konfirmuar regjistrimin tuaj. Nëse ju nuk merrni një e-mail shpejti, ju lutem të ktheheni dhe provoni përsëri.",
+  "Webdav_Server_URL": "URL-ja e qasjes në serverin WebDAV",
+  "Webdav_Username": "Emri i përdoruesit WebDAV",
+  "Webdav_Password": "Fjalëkalimi WebDAV",
   "Webhook_URL": "Webhook URL",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "Thirrje direkte audio nga%s",
diff --git a/packages/rocketchat-i18n/i18n/sr.i18n.json b/packages/rocketchat-i18n/i18n/sr.i18n.json
index 362a05235f7c6a83b0b3e0a295030c932b2e9316..18635b12adcc240438e77711476c807cff4edba5 100644
--- a/packages/rocketchat-i18n/i18n/sr.i18n.json
+++ b/packages/rocketchat-i18n/i18n/sr.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "забрањен",
+  "500": "Интернал Сервер Еррор",
   "#channel": "#канал",
   "0_Errors_Only": "0 - Грешке Само",
   "1_Errors_and_Information": "1 - Грешке и информације",
   "2_Erros_Information_and_Debug": "2 - Еррос, информације и отклањање грешака",
-  "403": "забрањен",
-  "500": "Интернал Сервер Еррор",
   "@username": "@корисничко име",
   "@username_message": "@ корисничко име <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__усернаме__ више није __роле__, од __усер_би__",
@@ -57,13 +57,13 @@
   "Accounts_Email_Approved": "[име]<br/><br/><p>Ваш налог је одобрен.</p>",
   "Accounts_Email_Approved_Subject": "Рачун одобрен",
   "Accounts_Email_Deactivated": "[име]<br/><br/><p>  Ваш налог је деактивиран. </p>",
+  "Accounts_Enrollment_Email_Default": "<h1>Добродошли у <strong>[Site_Name]</strong></h1><p> Иди на <a href=\"[Site_URL]\">[Site_URL]</a> и покушати решење најбољи опен соурце цхат доступан данас! </p>",
   "Accounts_Email_Deactivated_Subject": "Рачун је деактивиран",
   "Accounts_EmailVerification": "Е-маил Верификација",
   "Accounts_EmailVerification_Description": "Направи сте сигурни имали исправне поставке СМТП да користе ову функцију",
+  "Accounts_Enrollment_Email_Subject_Default": "Велцоме то [Site_Name]",
   "Accounts_Enrollment_Email": "Упис е-маил",
-  "Accounts_Enrollment_Email_Default": "<h1>Добродошли у <strong>[Site_Name]</strong></h1><p> Иди на <a href=\"[Site_URL]\">[Site_URL]</a> и покушати решење најбољи опен соурце цхат доступан данас! </p>",
   "Accounts_Enrollment_Email_Description": "Можете користити [name], [fname], [lname] за пуно име корисника, имену или презимену, респективно. <br/> Можете користити [email] е-поште корисника.",
-  "Accounts_Enrollment_Email_Subject_Default": "Велцоме то [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "Заборавите корисничко сесије на прозору Затвори",
   "Accounts_Iframe_api_method": "апи Метод",
   "Accounts_Iframe_api_url": "АПИ УРЛ",
@@ -177,12 +177,12 @@
   "Accounts_ShowFormLogin": "Схов образац заснован Пријава",
   "Accounts_TwoFactorAuthentication_Enabled": "Омогућите Два аутентификацију фактора",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Максимална Делта",
+  "Accounts_UserAddedEmail_Default": "<h1>Добродошли у <strong>[Site_Name]</strong></h1><p> Иди на <a href=\"[Site_URL]\">[Site_URL]</a> и покушати решење најбољи опен соурце цхат доступан данас! </p><p> Можете да се пријавите користећи свој емаил: [email] и лозинку: [password]. Можда ће бити потребно да га променимо после прве пријаве.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "Максимална Делта одређује колико токена важи у било ком тренутку. Токенс се генеришу сваких 30 секунди и важе за (30 * Макимум Делта) секунде. <ЛХ_ХТМЛ_ОПЕН_бр / _ЛХ_ХТМЛ_ЕНД> Пример: Ако је максимална вредност Делта подешена на 10, сваки токен може се користити до 300 секунди пре или након временске ознаке. Ово је корисно када сат клијента није исправно синхронизован са сервером.",
   "Accounts_UseDefaultBlockedDomainsList": "Употреба Уобичајено блокираних домена Листа",
   "Accounts_UseDNSDomainCheck": "Користи ДНС Домаин Цхецк",
-  "Accounts_UserAddedEmail_Default": "<h1>Добродошли у <strong>[Site_Name]</strong></h1><p> Иди на <a href=\"[Site_URL]\">[Site_URL]</a> и покушати решење најбољи опен соурце цхат доступан данас! </p><p> Можете да се пријавите користећи свој емаил: [email] и лозинку: [password]. Можда ће бити потребно да га променимо после прве пријаве.",
-  "Accounts_UserAddedEmail_Description": "Можете користити следеће симболе: <br/><ul><li> [name], [fname], [lname] за пуно име корисника, имену или презимену, респективно. </li><li> [email] е-поште корисника. </li><li> [password] за лозинку корисника. </li><li> [Site_Name] и [Site_URL] за апликације Име и УРЛ респективно. </li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "Додати сте у [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "Можете користити следеће симболе: <br/><ul><li> [name], [fname], [lname] за пуно име корисника, имену или презимену, респективно. </li><li> [email] е-поште корисника. </li><li> [password] за лозинку корисника. </li><li> [Site_Name] и [Site_URL] за апликације Име и УРЛ респективно. </li></ul>",
   "Activate": "Активирати",
   "Activity": "Активност",
   "Add": "додати",
@@ -238,6 +238,7 @@
   "Allow_Marketing_Emails": "Дозволи маркетинг емаилс",
   "Alphabetical": "Абецедно",
   "Always_open_in_new_window": "Увек отворите у новом прозору",
+  "Analytics": "аналитика",
   "Analytics_features_enabled": "karakteristike Омогућено",
   "Analytics_features_messages_Description": "Треки прилагођене догађаје који се односе на акције корисник нема на порукама.",
   "Analytics_features_rooms_Description": "Треки прилагођене догађаје у вези са акцијама на каналу или са групом (створити, остави, брисање).",
@@ -816,6 +817,7 @@
   "Created_at_s_by_s_triggered_by_s": "Креиран је на <strong>%s</strong> од стране <strong>%s</strong> покренут од стране <strong>%s</strong>",
   "CRM_Integration": "ЦРМ интеграција",
   "CROWD_Reject_Unauthorized": "Одбијте неовлашћено",
+  "Crowd_sync_interval_Description": "Интервал између синхронизације. Пример \"сваких 24 сата\" или \"првог дана у недељи\", више примјера у [Црон Тект Парсер] (хттп://бункат.гитхуб.ио/латер/парсерс.хтмл#тект)",
   "Current_Chats": "Тренутни Цхатс",
   "Current_Status": "Тренутни статус",
   "Custom": "Обичај",
@@ -1339,8 +1341,10 @@
   "Install_package": "Инсталирајте пакет",
   "Installation": "инсталација",
   "Installed_at": "инсталиран у",
+  "Invitation_HTML": "poziv ХТМЛ-",
   "Instance_Record": "Инстанца Рецорд",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Упутство то иоур посетиоцу попуните формулар да пошаљете поруку",
+  "Invitation_HTML_Default": "<h1>Позвани сте да <strong>[Site_Name]</strong></h1><p> Иди на [Site_URL] и покушати решење најбољи опен соурце цхат доступан данас! </p>",
   "Insurance": "Осигурање",
   "Integration_added": "Интеграција је додао",
   "Integration_Advanced_Settings": "Напредна подешавања",
@@ -1406,9 +1410,7 @@
   "invisible": "невидљив(а)",
   "Invisible": "Невидљив(а)",
   "Invitation": "Позив",
-  "Invitation_HTML": "poziv ХТМЛ-",
-  "Invitation_HTML_Default": "<h1>Позвани сте да <strong>[Site_Name]</strong></h1><p> Иди на [Site_URL] и покушати решење најбољи опен соурце цхат доступан данас! </p>",
-  "Invitation_HTML_Description": "Можете користити следеће симболе: <br/><ul><li> [email] за примаоца е-поште. </li><li> [Site_Name] и [Site_URL] за апликације Име и УРЛ респективно. </li></ul>",
+  "Invitation_Email_Description": "Можете користити следеће симболе: <br/><ul><li> [email] за примаоца е-поште. </li><li> [Site_Name] и [Site_URL] за апликације Име и УРЛ респективно. </li></ul>",
   "Invitation_Subject": "poziv Предмет",
   "Invitation_Subject_Default": "Позвани сте да [Site_Name]",
   "Invite_user_to_join_channel": "Позови једног корисника да се прикључе овој канал",
@@ -2525,6 +2527,7 @@
   "Tokens_Required_Input_Error": "Неважећи откуцани жетони.",
   "Tokens_Required_Input_Placeholder": "Имена токова жетона",
   "Topic": "тема",
+  "Total_messages": "Укупно порука",
   "Tourism": "Туризам",
   "Transcript_Enabled": "Питајте посетиоца да ли би желели транскрипт после затварања ћаскања",
   "Transcript_message": "Порука која се прикаже приликом тражења транскрипта",
@@ -2585,6 +2588,7 @@
   "Upload_file_description": "Опис фајла",
   "Upload_file_name": "Назив документа",
   "Upload_file_question": "Отпреми датотеку?",
+  "Upload_Folder_Path": "Путања фолдера",
   "Upload_user_avatar": "Уплоад аватар",
   "Uploading_file": "Отпремање датотеке ...",
   "Uptime": "уптиме",
@@ -2596,6 +2600,7 @@
   "Use_initials_avatar": "Користи иницијале корисничког",
   "Use_minor_colors": "Користите мању палету боја (подразумеване вредности наследити главне боје)",
   "Use_service_avatar": "Користи аватар %s ",
+  "Verification_Email": "Кликните на <a href=\"[Verification_Url]\"> овде </a> да бисте потврдили свој налог.",
   "Use_this_username": "Користи ово корисничко име",
   "Use_uploaded_avatar": "Користи отпремљеног аватара",
   "Use_url_for_avatar": "Користи УРЛ за аватар",
@@ -2692,7 +2697,6 @@
   "Validate_email_address": "Потврдите е-адресу",
   "Verification": "Верификација",
   "Verification_Description": "Можете користити следеће држаче: <br/><ul><li>[Верифицатион_Урл] за УРЛ за верификацију. </li><li> [име], [фнаме], [лнаме] за пуно име, презиме или презиме корисника. </li><li> [емаил] за е-пошту корисника. </li><li> [Сите_Наме] и [Сите_УРЛ] за име апликације и УРЛ адресу респективно.</li></ul>",
-  "Verification_Email": "Кликните на <a href=\"[Verification_Url]\"> овде </a> да бисте потврдили свој налог.",
   "Verification_email_sent": "Верификацију послат",
   "Verification_Email_Subject": "[Сите_Наме] - Проверите свој налог",
   "Verified": "verified",
@@ -2753,6 +2757,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Ми смо онлине. Жао због непријатности.",
   "We_have_sent_password_email": "Послали смо вам поруку на вашу е-адресу са упутством за поновно постављање лозинке. Ако не добијете поруку ускоро, вратите се и пробајте поново.",
   "We_have_sent_registration_email": "Послали смо вам поруку на вашу е-адресу да бисте потврдили налог. Ако не добијете поруку ускоро, вратите се и пробајте поново.",
+  "Webdav_Server_URL": "ВебДАВ Сервер Аццесс УРЛ",
+  "Webdav_Username": "ВебДАВ корисничко име",
+  "Webdav_Password": "ВебДАВ лозинка",
   "Webhook_URL": "Вебхоок УРЛ адреса",
   "Webhooks": "Вебхоокс",
   "WebRTC_direct_audio_call_from_%s": "Директни аудио позив из% с",
diff --git a/packages/rocketchat-i18n/i18n/sv.i18n.json b/packages/rocketchat-i18n/i18n/sv.i18n.json
index fbe8e22977bcf789e0e889db2cb828b269dcf049..33bb248a19450940049df7e72d67a62f54b4d501 100644
--- a/packages/rocketchat-i18n/i18n/sv.i18n.json
+++ b/packages/rocketchat-i18n/i18n/sv.i18n.json
@@ -1,14 +1,17 @@
 {
+  "403": "Förbjuden",
+  "500": "Internt serverfel",
   "#channel": "#kanal",
   "0_Errors_Only": "0 - Endast fel",
+  "12_Hour": "12-timmarsklocka",
   "1_Errors_and_Information": "1 - Fel och information",
+  "24_Hour": "24-timmarsklocka",
   "2_Erros_Information_and_Debug": "2 - Fel, information och felsökning",
-  "403": "Förbjuden",
-  "500": "Internt serverfel",
   "@username": "@användarnamn",
   "@username_message": "@användarnamn <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__username__ är inte längre __role__, av __user_by__",
   "__username__was_set__role__by__user_by_": "__username__ sattes __role__ av __user_by__",
+  "%_of_conversations": "% konversationer",
   "Accept": "Acceptera",
   "Accept_incoming_livechat_requests_even_if_there_are_no_online_agents": "Acceptera förfrågan om inkommande livechatt även om ingen agent är online",
   "Accept_with_no_online_agents": "Acceptera utan agenter online",
@@ -58,13 +61,13 @@
   "Accounts_Email_Approved": "[name]<br/><br/><p>Ditt konto godkändes.</p>",
   "Accounts_Email_Approved_Subject": "Kontot godkänt",
   "Accounts_Email_Deactivated": "[name]<br/><br/><p>Ditt konto inaktiverades.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>Välkommen till <strong>[Site_Name]</strong></h1><p> Gå till <a href=\"[Site_URL]\">[Site_URL]</a> och prova den bästa chattlösningen som finns idag! </p>",
   "Accounts_Email_Deactivated_Subject": "Konto inaktiverat",
   "Accounts_EmailVerification": "E-postverifiering",
   "Accounts_EmailVerification_Description": "Se till att du har korrekta SMTP-inställningar för att använda denna funktion",
+  "Accounts_Enrollment_Email_Subject_Default": "Välkommen till [Site_Name]",
   "Accounts_Enrollment_Email": "E-post för inskrivning",
-  "Accounts_Enrollment_Email_Default": "<h1>Välkommen till <strong>[Site_Name]</strong></h1><p> Gå till <a href=\"[Site_URL]\">[Site_URL]</a> och prova den bästa chattlösningen som finns idag! </p>",
   "Accounts_Enrollment_Email_Description": "Du kan använda följande platshållare:. <br/><ul><li>[name], [fname] [lname] för användarens fullständiga namn, förnamn eller efternamn. </li><li>[email] för användarens email. </li><li>[Site_Name] och [Site_URL] för programnamn och URL. </li></ul>",
-  "Accounts_Enrollment_Email_Subject_Default": "Välkommen till [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "Glöm bort användarsession när fönstret stängs",
   "Accounts_Iframe_api_method": "Api-metod",
   "Accounts_Iframe_api_url": "API URL",
@@ -178,12 +181,12 @@
   "Accounts_ShowFormLogin": "Visa formulärinloggning",
   "Accounts_TwoFactorAuthentication_Enabled": "Aktivera tvåfaktorautentisering",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Maximal Delta",
+  "Accounts_UserAddedEmail_Default": "<h1>Välkommen till <strong>[Site_Name]</strong></h1><p> Gå till <a href=\"[Site_URL]\">[Site_URL]</a> och prova den bästa öppen källkod chattlösningen som finns idag! </p><p> Du kan logga in med din e-post: [email] och lösenord: [password]. Du kan bli tvungen att ändra den vid första inloggningen.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "Max delta bestämmer hur många symboler som är giltiga vid varje givet tillfälle. Token genereras var 30: e sekund och gäller för (30 * Maximum Delta) sekunder. <br/>Exempel: Med max delta satt till 10 kan varje symbol användas upp till 300 sekunder före eller efter tidsstämpeln. Detta är användbart när klientens klocka inte är synkroniserad korrekt med servern.",
   "Accounts_UseDefaultBlockedDomainsList": "Använd standardlista för blockerade domäner",
   "Accounts_UseDNSDomainCheck": "Använd DNS Domain Check",
-  "Accounts_UserAddedEmail_Default": "<h1>Välkommen till <strong>[Site_Name]</strong></h1><p> Gå till <a href=\"[Site_URL]\">[Site_URL]</a> och prova den bästa öppen källkod chattlösningen som finns idag! </p><p> Du kan logga in med din e-post: [email] och lösenord: [password]. Du kan bli tvungen att ändra den vid första inloggningen.",
-  "Accounts_UserAddedEmail_Description": "Du kan använda följande platsmarkörer: <br/><ul><li> [name], [fname], [lname] för användarens fullständiga namn, förnamn eller efternamn. </li><li> [email] för användarens e-post. </li><li> [password] för användarens lösenord. </li><li> [Site_Name] och [Site_URL] för Programnamn och webbadress. </li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "Du har lagts till [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "Du kan använda följande platsmarkörer: <br/><ul><li> [name], [fname], [lname] för användarens fullständiga namn, förnamn eller efternamn. </li><li> [email] för användarens e-post. </li><li> [password] för användarens lösenord. </li><li> [Site_Name] och [Site_URL] för Programnamn och webbadress. </li></ul>",
   "Activate": "Aktivera",
   "Activity": "Aktivitet",
   "Add": "Skapa",
@@ -213,6 +216,7 @@
   "Additional_Feedback": "Ytterligare feedback",
   "additional_integrations_Bots": "Om du letar efter hur du integrerar din egen bot, kika på vår Hubot-adapter. <a href=\"https://github.com/RocketChat/hubot-rocketchat\" target=\"_blank\">https://github.com/RocketChat/hubot-rocketchat</a>",
   "additional_integrations_Zapier": "Vill du integrera andra program och applikationer med Rocket.Chat, men du har inte tid att göra det för hand? Då föreslår vi att du använder Zapier som har fullt stöd. Läs mer om det i dokumentationen. <a href=\"https://rocket.chat/docs/administrator-guides/integrations/zapier/using-zaps/\" target=\"_blank\">https://rocket.chat/docs/administrator-guides/integrations/zapier/using-zaps/</a>",
+  "Admin_disabled_encryption": "Administratören har inte aktiverat E2E-kryptering.",
   "Admin_Info": "Admin Info",
   "Administration": "Administrering",
   "Adult_images_are_not_allowed": "Pornografiskt material är inte tillåtet",
@@ -239,6 +243,7 @@
   "Allow_Marketing_Emails": "Tillåt e-post med marknadsföring",
   "Alphabetical": "Alfabetisk",
   "Always_open_in_new_window": "Öppna alltid i nytt fönster",
+  "Analytics": "Analytics",
   "Analytics_features_enabled": "Aktiverade funktioner",
   "Analytics_features_messages_Description": "Spårar anpassade händelser i samband med åtgärder en användare gör med meddelanden.",
   "Analytics_features_rooms_Description": "Spårar anpassade händelser i samband med åtgärder på en kanal eller grupp (skapa, lämna, ta bort).",
@@ -250,6 +255,7 @@
   "Animals_and_Nature": "Djur & Natur",
   "Announcement": "Meddelande",
   "API": "API",
+  "API_Add_Personal_Access_Token": "Lägg till ny personlig åtkomsttoken",
   "API_Allow_Infinite_Count": "Tillåt att få allt",
   "API_Allow_Infinite_Count_Description": "Skall anrop till REST API:et tillåtas att skicka allt i samma svar?",
   "API_Analytics": "Analytics",
@@ -271,11 +277,19 @@
   "API_Enable_CORS": "Aktivera CORS",
   "API_Enable_Direct_Message_History_EndPoint": "Aktivera ändpunkt för direktmeddelandens historik",
   "API_Enable_Direct_Message_History_EndPoint_Description": "Detta möjliggör `/api/v1/im.history.others` som tillåter visning av direktmeddelanden som skickats av andra användare som den som ringer inte är en del av.",
+  "API_Enable_Personal_Access_Tokens": "Aktivera personliga åtkomsttokens till REST API",
+  "API_Enable_Personal_Access_Tokens_Description": "Slå på personliga åtkomsttokens för REST API:et",
   "API_Enable_Shields": "Aktivera Sköldar",
   "API_Enable_Shields_Description": "Aktivera sköldar som är tillgängliga på `/api/v1/shield.svg`",
   "API_GitHub_Enterprise_URL": "Serveradress",
   "API_GitHub_Enterprise_URL_Description": "Exempel: http://domain.com (exklusive snedstreck)",
   "API_Gitlab_URL": "GitLab URL",
+  "API_Personal_Access_Token_Name": "Personal Access Token namn",
+  "API_Personal_Access_Tokens_To_REST_API": "Personlig åtkomsttoken till REST API",
+  "API_Personal_Access_Tokens_Remove_Modal": "Är du säker på att du vill ta bort denna personliga åtkomsttoken?",
+  "API_Personal_Access_Token_Generated_Text_Token_s_UserId_s": "Spara din token ordentligt eftersom den inte kan ses senare. <br/>Token: <strong>__token__</strong><br/>Ditt användar-id: <strong>__userId__</strong>",
+  "API_Personal_Access_Tokens_Regenerate_Modal": "Om du tappar bort din token kan du återskapa en ny. Men kom ihåg att du måste byta ut den i samtliga klienter som använt den.",
+  "API_Personal_Access_Tokens_Regenerate_It": "Ã…terskapa token",
   "API_Shield_Types": "Sköldtyper",
   "API_Shield_Types_Description": "Typer av sköldar för att aktivera som en kommaseparerad lista, välj från `online`,` channel` eller `*` för alla",
   "API_Token": "API Token",
@@ -288,6 +302,7 @@
   "Apiai_Key": "Api.ai Key",
   "Apiai_Language": "Api.ai Språk",
   "App_author_homepage": "författarens hemsida",
+  "App_Details": "Appdetaljer",
   "App_Information": "Appinformation",
   "App_Installation": "Appinstallation",
   "App_status_auto_enabled": "Aktiverad",
@@ -355,6 +370,7 @@
   "AutoLinker_Urls_www": "AutoLinker \"www\" webbadresser",
   "AutoLinker_UrlsRegExp": "AutoLinker URL reguljärt uttryck",
   "Automatic_Translation": "Automatisk översättning",
+  "Author_Site": "Utvecklarens webbplats",
   "AutoTranslate_Change_Language_Description": "Att byta språk för automatisk översättning översätter inte tidigare meddelanden.",
   "AutoTranslate_Enabled": "Aktivera automatisk översättning",
   "AutoTranslate_Enabled_Description": "Aktivera automatisk översättning tillåter personer med <code class=\"inline\">behörigheter för automatiskt översättning</code>att få alla meddelanden automatiskt översätta till sitt valda språk. Avgifter kan finnas, se <a target=\"_blank\" href=\"https://cloud.google.com/translate/pricing\">Googles dokumentation</a>",
@@ -385,6 +401,8 @@
   "Beta_feature_Depends_on_Video_Conference_to_be_enabled": "Betafunktion. Kräver att videokonferens är aktiverad.",
   "Block_User": "Blockera användare",
   "Blockchain": "Blockkedja",
+  "Blockstack_ButtonLabelText": "Knapptext",
+  "Blockstack_Generate_Username": "Skapa användarnamn",
   "Body": "Meddelandetext",
   "bold": "fetstil",
   "bot_request": "Botbegäran",
@@ -431,6 +449,7 @@
   "CAS_Sync_User_Data_FieldMap_Description": "Använd denna JSON-ingång för att skapa interna attribut (nyckel) från externa attribut (värde). Externa attributnamn som bifogas '%' kommer att interpoleras i värdesträngar.<br/>Exempel, `{\" email \":\"% email% \",\" name \":\"% firstname%,% efternamn% \"}`<br/><br/>Attributskartan är alltid interpolerad. I CAS 1.0 är endast attributet `användarnamn 'tillgängligt. Tillgängliga interna attribut är: användarnamn, namn, email, rum; rum är en kommaseparerad lista över rum för att delta i användarskapande, till exempel: {\"rum\": \"% team%,% avdelning%\"} skulle ansluta till CAS-användare vid skapandet till deras team- och avdelningskanal.",
   "CAS_version": "CAS Version",
   "CAS_version_Description": "Använd endast en CAS-version som stöds av din CAS SSO-tjänst.",
+  "Categories": "Kategorier",
   "CDN_PREFIX": "CDN Prefix",
   "CDN_PREFIX_ALL": "Använd CDN-prefix för alla tillgångar",
   "CDN_JSCSS_PREFIX": "CDN-prefix för JS / CSS",
@@ -548,18 +567,22 @@
   "Consulting": "Consulting",
   "Consumer_Goods": "Konsumtionsvaror",
   "Contains_Security_Fixes": "Innehåller säkerhetsfixar",
+  "Contact": "Kontakt",
   "Content": "Innehåll",
   "Continue": "Fortsätt",
   "Continuous_sound_notifications_for_new_livechat_room": "Kontinuerliga ljudmeddelanden för nytt livechat-rum",
   "Conversation": "Konversation",
+  "Conversations": "Konversationer",
   "Conversation_closed": "Konversation stängd: __comment__.",
   "Conversation_finished_message": "Konversation Slutfört meddelande",
+  "Conversations_per_day": "Konversationer per dag",
   "conversation_with_s": "konversationen med %s",
   "Convert_Ascii_Emojis": "Konvertera ASCII till Emoji",
   "Copied": "Kopierad",
   "Copy": "Kopiera",
   "Copy_to_clipboard": "Kopiera till urklipp",
   "COPY_TO_CLIPBOARD": "KOPIERA TILL URKLIPP",
+  "could-not-access-webdav": "Kunde inte anlita till WebDAV",
   "Count": "Räkna",
   "Country": "Land",
   "Country_Afghanistan": "Afghanistan",
@@ -819,6 +842,7 @@
   "Created_at_s_by_s_triggered_by_s": "Skapad den <strong>%s</strong> av <strong>%s</strong> triggad av <strong>%s</strong>",
   "CRM_Integration": "CRM integrering",
   "CROWD_Reject_Unauthorized": "Avvisa obehöriga",
+  "Crowd_sync_interval_Description": "Intervallet mellan synkroniseringar. Exempel \"var 24: e timme\" eller \"på veckans första dag\", fler exempel på [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "Nuvarande Chattar",
   "Current_Status": "Nuvarande Status",
   "Custom": "Anpassad",
@@ -892,6 +916,7 @@
   "Desktop_Notifications_Duration": "Varaktighet aviseringar",
   "Desktop_Notifications_Duration_Description": "Sekunder för att visa aviseringar. Detta kan påverka OS X Notiscenter. Ange 0 för att använda webbläsarens standardinställningar och inte påverka OS X Notiscenter.",
   "Desktop_Notifications_Enabled": "Skrivbordsnotifieringar är aktiverade.",
+  "Details": "Detaljer",
   "Different_Style_For_User_Mentions": "Olika stil för användaromnämnanden",
   "Direct_message_someone": "Skicka direktmeddelande till någon",
   "Direct_Messages": "Direktmeddelanden",
@@ -966,13 +991,13 @@
   "Editing_user": "redigera användare",
   "Education": "Utbildning",
   "Email": "E-post",
-  "Email_address_to_send_offline_messages": "E-postadress att skicka offline-meddelanden",
+  "Email_address_to_send_offline_messages": "E-postadress för offline-meddelanden",
   "Email_already_exists": "E-postadressen finns redan",
   "Email_body": "E-post text",
   "Email_Change_Disabled": "Din Rocket.Chatadministratör har inaktiverat möjligheten att byta e-postadress",
-  "Email_Footer_Description": "Du kan använda följande platsmarkörer: <br/><ul><li> [Site_Name] och [Site_URL] för Programnamn och webbadress respektive. </li></ul>",
+  "Email_Footer_Description": "Du kan använda följande platsmarkörer: <br/><ul><li> [Site_Name] och [Site_URL] för programnamn och webbadress. </li></ul>",
   "Email_from": "Från",
-  "Email_Header_Description": "Du kan använda följande platsmarkörer: <br/><ul><li> [Site_Name] och [Site_URL] för Programnamn och webbadress respektive. </li></ul>",
+  "Email_Header_Description": "Du kan använda följande platsmarkörer: <br/><ul><li> [Site_Name] och [Site_URL] för programnamn och webbadress. </li></ul>",
   "Email_Notification_Mode": "Offline e-postnotifieringar",
   "Email_Notification_Mode_All": "Alla Omnämningar/Direktmeddelanden ",
   "Email_Notification_Mode_Disabled": "Inaktiverad",
@@ -990,8 +1015,11 @@
   "Enable_Svg_Favicon": "Aktivera SVG favicon",
   "Enable_two-factor_authentication": "Aktivera tvåfaktors autentisering",
   "Enabled": "Aktiverad",
+  "Encrypted": "Krypterad",
   "Encrypted_message": "Krypterat meddelande",
+  "Encryption_key_saved_successfully": "Din krypteringsnyckel sparades.",
   "End_OTR": "Avsluta OTR",
+  "Enter_a_name": "Ange ett namn",
   "Enter_a_regex": "Ange ett regex",
   "Enter_a_room_name": "Ange ett namn för rummet",
   "Enter_a_username": "Ange ett användarnamn",
@@ -1084,6 +1112,7 @@
   "error-room-is-not-closed": "Room är inte stängt",
   "error-the-field-is-required": "Fältet __field__ krävs.",
   "error-this-is-not-a-livechat-room": "Detta är inte ett Livechat-rum",
+  "error-token-does-not-exists": "Token finns inte",
   "error-too-many-requests": "Fel, alltför många förfrågningar. Snälla sakta ner. Du måste vänta __seconds__ sekunder innan du försöker igen.",
   "error-user-has-no-roles": "Användaren har inga roller",
   "error-user-is-not-activated": "Användaren är inte aktiverad",
@@ -1202,7 +1231,7 @@
   "Force_SSL_Description": "* OBS! * _Force SSL_ ska aldrig användas med reverse proxy. Om du har en omvänd proxy, bör du göra omdirigeringen DET. Det här alternativet finns för installationer som Heroku, som inte tillåter konfiguration omdirigeringen på den omvända proxyservern.",
   "Forgot_password": "Glömt ditt lösenord?",
   "Forgot_Password_Description": "Du kan använda följande platsinnehavare: <br/><ul><li>[Forgot_Password_Url] för URL-återställningsadressen.</li><li>[namn], [fname], [lname] för användarens fullständiga namn, förnamn eller efternamn.</li><li>[email] för användarens email.</li><li>[Site_Name] och [Site_URL] för respektive programnamn och URL.</li></ul>",
-  "Forgot_Password_Email": "Klicka på <a href=\"[Forgot_Password_Url]\">här</a>för att återställa ditt lösenord.",
+  "Forgot_Password_Email": "Klicka på <a href=\"[Forgot_Password_Url]\">här</a> för att återställa ditt lösenord.",
   "Forgot_Password_Email_Subject": "[Site_Name] - Återställning av lösenord",
   "Forgot_password_section": "Glömt lösenord",
   "Forward": "Vidarebefodra",
@@ -1216,8 +1245,8 @@
   "From_email_warning": "<b>Varning:</b> Fältet <b>Från</b> är föremål för e-postserverinställningar.",
   "Gaming": "Gaming",
   "General": "Allmänt",
-  "github_no_public_email": "Du har inte någon publik epost i ditt GitHub-konto",
-  "Give_a_unique_name_for_the_custom_oauth": "Ge ett unikt namn för den anpassade oauth",
+  "github_no_public_email": "Du har inte någon publik epostadress i ditt GitHub-konto",
+  "Give_a_unique_name_for_the_custom_oauth": "Ge ett unikt namn för anpassad oauth",
   "Give_the_application_a_name_This_will_be_seen_by_your_users": "Ge applikationen ett namn. Detta kommer att ses av dina användare.",
   "Global": "Global",
   "Global_purge_override_warning": "En global retention policy är på plats. Om du lämnar \"Åsidosätt global retention policy\", kan du bara tillämpa en politik som är strängare än den globala politiken.",
@@ -1256,6 +1285,7 @@
   "Help_Center": "Hjälpcenter",
   "Helpers": "hjälpare",
   "Hex_Color_Preview": "Hex-färgförhandsgranskning",
+  "Hi_username": "Hej __name__",
   "Hidden": "Dold",
   "Hide_Avatars": "Göm Avatarer",
   "Hide_counter": "Dölj räknare",
@@ -1278,15 +1308,17 @@
   "How_friendly_was_the_chat_agent": "Hur vänlig var chattagenten?",
   "How_knowledgeable_was_the_chat_agent": "Hur kunnig var chattagenten?",
   "How_long_to_wait_after_agent_goes_offline": "Hur lång tid att vänta efter agent går offline",
-  "How_responsive_was_the_chat_agent": "Hur reagerar var chatten agent?",
+  "How_responsive_was_the_chat_agent": "Hur snabbt svarade chattagenten?",
   "How_satisfied_were_you_with_this_chat": "Hur nöjd var du med chatten?",
   "How_to_handle_open_sessions_when_agent_goes_offline": "Hur hanteras öppna sessioner när agent går offline",
+  "I_ll_do_it_later": "Jag gör det senare",
+  "I_saved_my_password_close_this_message": "Jag har sparat mitt lösenord. Stäng detta meddelande.",
   "Idle_Time_Limit": "Idle Time Limit",
   "Idle_Time_Limit_Description": "Perioden tills status ändras till bort. Värdet måste vara i sekunder.",
   "if_they_are_from": "(om de är från% s)",
   "If_this_email_is_registered": "Om det här e-postmeddelandet är registrerat skickar vi instruktioner om hur du återställer ditt lösenord. Om du inte får ett mail inom kort, vänligen kom tillbaka och försök igen.",
   "If_you_are_sure_type_in_your_password": "Skriv in ditt lösenord om du är säker:",
-  "If_you_are_sure_type_in_your_username": "Om du är säker på typ i ditt användarnamn:",
+  "If_you_are_sure_type_in_your_username": "Om du är säker, skriv in ditt användarnamn:",
   "If_you_dont_have_one_send_an_email_to_omni_rocketchat_to_get_yours": "Om du inte har en skicka ett mail till [omni@rocket.chat] (mailto: omni@rocket.chat) för att få din.",
   "Iframe_Integration": "Iframe Integration",
   "Iframe_Integration_receive_enable": "Aktivera mottagning",
@@ -1305,27 +1337,26 @@
   "Impersonate_user": "Impersonate User",
   "Impersonate_user_description": "När aktiverat integreras inlägg som den användare som utlöste integrationen",
   "Import": "Import",
-  "Importer_Archived": "arkiveras",
+  "Importer_Archived": "Arkiverad",
   "Importer_CSV_Information": "CSV-importören kräver ett visst format, läs dokumentationen för hur du strukturerar zip-filen:",
-  "Importer_done": "Importering färdig!",
+  "Importer_done": "Import färdig!",
   "Importer_finishing": "Avslutar importen.",
-  "Importer_From_Description": "Import __from __ 's data till Rocket.Chat.",
+  "Importer_From_Description": "Importera __from __s  data till Rocket.Chat.",
   "Importer_HipChatEnterprise_BetaWarning": "Var vänlig medveten om att denna import fortfarande är ett pågående arbete, var god rapportera eventuella fel som uppstår i GitHub:",
   "Importer_HipChatEnterprise_Information": "Den uppladdade filen måste vara en dekrypterad tar.gz, läs dokumentationen för ytterligare information:",
-  "Importer_import_cancelled": "Importering avbruten.",
+  "Importer_import_cancelled": "Import avbruten.",
   "Importer_import_failed": "Ett fel uppstod under importen.",
   "Importer_importing_channels": "Importerar kanalerna.",
   "Importer_importing_messages": "Importerar meddelandena.",
   "Importer_importing_started": "Startar importen.",
   "Importer_importing_users": "Importerar användarna.",
-  "Importer_not_in_progress": "Importören närvarande inte är igång.",
+  "Importer_not_in_progress": "Importeraren körs inte just nu.",
   "Importer_not_setup": "Importören är inte korrekt inställd, eftersom det inte returnerade några data.",
   "Importer_Prepare_Restart_Import": "Starta om import",
   "Importer_Prepare_Start_Import": "Börja importera",
-  "Importer_Prepare_Uncheck_Archived_Channels": "Avmarkera Arkiverade Kanaler",
-  "Importer_Prepare_Uncheck_Deleted_Users": "Avmarkera Borttagna Användare",
-  "Importer_progress_error": "Det gick inte att få framsteg för import.",
-  "Importer_setup_error": "Ett fel uppstod när inrätta importören.",
+  "Importer_Prepare_Uncheck_Deleted_Users": "Avmarkera borttagna användare",
+  "Importer_progress_error": "Det gick inte att få information importstatus.",
+  "Importer_setup_error": "Ett fel uppstod när importeraren skulle skapas.",
   "Importer_Slack_Users_CSV_Information": "Filen som laddas upp måste vara Slack's Users exportfil, som är en CSV-fil. Se här för mer information:",
   "Importer_Source_File": "Källfilsval",
   "Inclusive": "inklusive",
@@ -1333,19 +1364,22 @@
   "Incoming_WebHook": "Inkommande WebHook",
   "Industry": "Industri",
   "initials_avatar": "Initials Avatar",
-  "inline_code": "inline_kod",
+  "inline_code": "inline-kod",
+  "Install": "Installera",
   "Install_Extension": "Installera tillägg",
   "Install_FxOs": "Installera Rocket.Chat i Firefox",
   "Install_FxOs_done": "Bra! Nu kan du använda Rocket.Chat via ikonen på startskärmen. Ha så kul med Rocket.Chat!",
-  "Install_FxOs_error": "Tyvärr, det där fungerade inte som det var tänkt! Följande fel dök upp:",
+  "Install_FxOs_error": "Tyvärr, det där fungerade inte som tänkt! Följande fel dök upp:",
   "Install_FxOs_follow_instructions": "Vänligen bekräfta appinstallationen på din enhet (klicka på \"Installera\" när det efterfrågas).",
   "Install_package": "Installera paketet",
   "Installation": "Installation",
-  "Installed_at": "installerad vid",
+  "Installed_at": "Installerad",
+  "Invitation_HTML": "Inbjudan HTML",
   "Instance_Record": "Instans Record",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Instruktioner till besökaren fylla i formuläret för att skicka ett meddelande",
+  "Invitation_HTML_Default": "<h1>Du har blivit inbjuden till <strong>[Site_Name]</strong></h1><p> Gå till [Site_URL] och prova bäst öppen källkod chatt lösning som finns idag! </p>",
   "Insurance": "Försäkring",
-  "Integration_added": "Integrationen har lagts",
+  "Integration_added": "Integrationen har lagts till",
   "Integration_Advanced_Settings": "Avancerade inställningar",
   "Integration_disabled": "Integration inaktiverad",
   "Integration_History_Cleared": "Integrationshistorik avklaras framgångsrikt",
@@ -1375,7 +1409,7 @@
   "Integration_updated": "Integrationen har uppdaterats",
   "Integration_Word_Trigger_Placement": "Ordplacering någonstans",
   "Integration_Word_Trigger_Placement_Description": "Skulle ordet bli utlöst när det placeras någonstans i meningen annat än början?",
-  "Integrations": "Integreringar",
+  "Integrations": "Integrationer",
   "Integrations_for_all_channels": "Ange <strong>all_public_channels</strong>för att lyssna på alla offentliga kanaler, <strong>all_private_groups</strong>för att lyssna på alla privata grupper och <strong>all_direct_messages</strong>för att lyssna på alla direkta meddelanden.",
   "Integrations_Outgoing_Type_FileUploaded": "Uppladdad fil",
   "Integrations_Outgoing_Type_RoomArchived": "Rum arkiverat",
@@ -1384,35 +1418,33 @@
   "Integrations_Outgoing_Type_RoomLeft": "Användare lämnade rummet",
   "Integrations_Outgoing_Type_SendMessage": "Meddelande skickat",
   "Integrations_Outgoing_Type_UserCreated": "Användare skapad",
-  "InternalHubot": "intern Hubot",
+  "InternalHubot": "Intern Hubot",
   "InternalHubot_EnableForChannels": "Aktivera för offentliga kanaler",
   "InternalHubot_EnableForDirectMessages": "Aktivera direktmeddelanden",
   "InternalHubot_EnableForPrivateGroups": "Aktivera för privata kanaler",
   "InternalHubot_PathToLoadCustomScripts": "Mapp för att ladda skript",
   "InternalHubot_reload": "Ladda om skript",
-  "InternalHubot_ScriptsToLoad": "Skript för att ladda",
-  "InternalHubot_ScriptsToLoad_Description": "Ange en kommaseparerad lista med skript för att ladda från https://github.com/github/hubot-scripts/tree/master/src/scripts",
-  "InternalHubot_Username_Description": "Detta måste vara ett giltigt användarnamn av en bot är registrerad på din server.",
-  "Invalid_confirm_pass": "Bekräftelsen matchar inte lösenordet",
+  "InternalHubot_ScriptsToLoad": "Skript att ladda",
+  "InternalHubot_ScriptsToLoad_Description": "Ange en kommaseparerad lista med skript för att ladda från din mapp",
+  "InternalHubot_Username_Description": "Detta måste vara ett giltigt användarnamn för en bot som är registrerad på din server.",
+  "Invalid_confirm_pass": "Lösenorden matchar inte varandra",
   "Invalid_email": "Den angivna epostadressen är ogiltig",
   "Invalid_username": "Inloggningsnamnet är ogiltigt",
   "Invalid_Export_File": "Filen laddas upp är inte en giltig %s exportfilen.",
-  "Invalid_Import_File_Type": "Ogiltig Import filtyp.",
+  "Invalid_Import_File_Type": "Ogiltig filtyp för import.",
   "Invalid_name": "Namnet får inte vara tomt",
-  "Invalid_notification_setting_s": "Felaktiga notifierings inställningar: %s",
+  "Invalid_notification_setting_s": "Felaktiga notifieringsinställningar: %s",
   "Invalid_pass": "Lösenordet får inte vara tomt",
   "Invalid_reason": "Anledningen till att bli medlem måste inte vara tom",
   "Invalid_room_name": "<strong>%s</strong> är inte ett giltigt rumsnamn",
   "Invalid_secret_URL_message": "Den angivna webbadressen är felaktig.",
-  "Invalid_setting_s": "Ogiltig inställning:%s",
+  "Invalid_setting_s": "Ogiltig inställning: %s",
   "Invalid_two_factor_code": "Ogiltig tvåfaktorkod",
   "invisible": "osynlig",
   "Invisible": "Osynlig",
   "Invitation": "Inbjudan",
-  "Invitation_HTML": "inbjudan HTML",
-  "Invitation_HTML_Default": "<h1>Du har blivit inbjuden till <strong>[Site_Name]</strong></h1><p> Gå till [Site_URL] och prova bäst öppen källkod chatt lösning som finns idag! </p>",
-  "Invitation_HTML_Description": "Du kan använda följande platsmarkörer: <br/><ul><li> [email] för mottagarens e. </li><li> [Site_Name] och [Site_URL] för Programnamn och webbadress respektive. </li></ul>",
-  "Invitation_Subject": "inbjudan Ämne",
+  "Invitation_Email_Description": "Du kan använda följande platsmarkörer: <br/><ul><li> [email] för mottagarens e. </li><li> [Site_Name] och [Site_URL] för Programnamn och webbadress respektive. </li></ul>",
+  "Invitation_Subject": "Inbjudan ämne",
   "Invitation_Subject_Default": "Du har blivit inbjuden till [Site_Name]",
   "Invite_user_to_join_channel": "Bjud in en användare till att ansluta till denna kanal.",
   "Invite_user_to_join_channel_all_from": "Bjud in alla användare från [#kanalen] för att gå med i den här kanalen",
@@ -1464,11 +1496,11 @@
   "Jump_to_message": "Hoppa till meddelande",
   "Jump_to_recent_messages": "Hoppa till senaste meddelanden",
   "Just_invited_people_can_access_this_channel": "Bara inbjudna personer kan komma åt den här kanalen.",
-  "Katex_Dollar_Syntax": "Tillåt Dollar Syntax",
-  "Katex_Dollar_Syntax_Description": "Möjligt att använda $$ katex blocket $$ och $ inline katex $ syntaxer",
-  "Katex_Enabled": "Katex Enabled",
-  "Katex_Enabled_Description": "Möjligt att använda <a target=\"_blank\" href=\"http://khan.github.io/KaTeX/\">katex</a> för matematik sättning i meddelanden",
-  "Katex_Parenthesis_Syntax": "Tillåt Parentes Syntax",
+  "Katex_Dollar_Syntax": "Tillåt dollarsyntax",
+  "Katex_Dollar_Syntax_Description": "Tillåt syntax $$katex block$$ och $inline katex$",
+  "Katex_Enabled": "Katex aktiverat",
+  "Katex_Enabled_Description": "Möjligt att använda <a target=\"_blank\" href=\"http://khan.github.io/KaTeX/\">katex</a> för matematisk syntax i meddelanden",
+  "Katex_Parenthesis_Syntax": "Tillåt parentessyntax",
   "Katex_Parenthesis_Syntax_Description": "Möjligt att använda \\ [katex blockera \\] och \\ (inline katex \\) syntax",
   "Keep_default_user_settings": "Håll standardinställningarna",
   "Keyboard_Shortcuts_Edit_Previous_Message": "Redigera tidigare meddelande",
@@ -1485,7 +1517,7 @@
   "Keyboard_Shortcuts_Open_Channel_Slash_User_Search": "Öppna kanal / användarsökning",
   "Keyboard_Shortcuts_Title": "Tangentbordsgenvägar",
   "Knowledge_Base": "Kunskapsbas",
-  "Label": "Märka",
+  "Label": "Etikett",
   "Language": "Språk",
   "Language_Not_set": "Inget specifikt",
   "Language_Version": "Svensk Version",
@@ -1520,7 +1552,7 @@
   "LDAP_Connect_Timeout": "Connection Timeout (ms)",
   "LDAP_Default_Domain": "Standarddomän",
   "LDAP_Default_Domain_Description": "Om det tillhandahålls kommer Default Domain att användas för att skapa ett unikt e-postmeddelande för användare där e-post inte importerades från LDAP. E-postmeddelandet kommer att monteras som `användarnamn @ default_domain` eller` unique_id @ default_domain`.<br/>Exempel: `rocket.chat`",
-  "LDAP_Description": "LDAP är en hierarkisk databas som många företag använder för att tillhandahålla enkel inloggning - en anläggning för att dela ett lösenord mellan flera webbplatser och tjänster. För avancerad konfiguration. information och exempel, kontakta vår wiki: https://rocket.chat/docs/administrator-guides/authentication/ldap/.",
+  "LDAP_Description": "LDAP är en hierarkisk databas som många företag använder för att tillhandahålla enkel inloggning - ett sätt att dela ett lösenord mellan flera webbplatser och tjänster. För avancerad konfiguration. information och exempel, titta i vår wiki: https://rocket.chat/docs/administrator-guides/authentication/ldap/.",
   "LDAP_Enable": "Aktivera",
   "LDAP_Enable_Description": "Försök att använda LDAP för autentisering.",
   "LDAP_Encryption": "kryptering",
@@ -1583,9 +1615,9 @@
   "Least_Amount": "Minsta mängden",
   "leave-c": "Lämna kanaler",
   "leave-p": "Lämna privata grupper",
-  "Leave_Group_Warning": "Är du säker att du vill lämna gruppen \"%s\"?",
-  "Leave_Livechat_Warning": "Är du säker på att du vill lämna livechat med \"%s\"?",
-  "Leave_Private_Warning": "Är du säker att du vill lämna diskussionen med \"%s\"?",
+  "Leave_Group_Warning": "Är du säker att du vill lämna gruppen \"%s\"?",
+  "Leave_Livechat_Warning": "Är du säker på att du vill lämna livechatt med \"%s\"?",
+  "Leave_Private_Warning": "Är du säker att du vill lämna diskussionen med \"%s\"?",
   "Leave_room": "Lämna rum",
   "Leave_Room_Warning": "Är du säker att du vill lämna rummet \"%s\"?",
   "Leave_the_current_channel": "Lämna den nuvarande kanalen",
@@ -1612,9 +1644,9 @@
   "Livechat_room_count": "Livechat room count",
   "Livechat_Routing_Method": "Livechat Routing Method",
   "Livechat_Take_Confirm": "Vill du ta den här klienten?",
-  "Livechat_title": "livechat Titel",
+  "Livechat_title": "Livechatt-titel",
   "Livechat_title_color": "Livechat Titel bakgrundsfärg",
-  "Livechat_Users": "Livechatt Användare",
+  "Livechat_Users": "Livechattanvändare",
   "Livestream_close": "Stäng Livestream",
   "Livestream_enable_audio_only": "Aktivera endast ljudläge",
   "Livestream_not_found": "Livströmmen är inte tillgänglig",
@@ -1632,7 +1664,7 @@
   "Log_Exceptions_to_Channel": "Logga undantag till kanal",
   "Log_File": "Visa Arkiv och Linje",
   "Log_Level": "Loggnivå",
-  "Log_Package": "Visa Package",
+  "Log_Package": "Visa paket",
   "Log_Trace_Methods_Filter": "Spårningsmetod filter",
   "Log_Trace_Methods_Filter_Description": "Texten här kommer att utvärderas som RegExp (`ny RegExp ('text')`). Håll det tomt för att visa spår av alla samtal.",
   "Log_Trace_Methods": "Spårningsmetod samtal",
@@ -1654,7 +1686,7 @@
   "Mail_Messages": "E-posta meddelanden",
   "Mail_Messages_Instructions": "Välj vilka meddelanden du vill skicka via e-post genom att klicka på dem",
   "Mail_Messages_Subject": "Här är en utvald del av %s meddelanden",
-  "Mailer": "mailer",
+  "Mailer": "E-postskickare",
   "Mailer_body_tags": "Du <b>måste</b> använda [unsubscribe] för prenumeration länken. <br/> Du kan använda [name], [fname], [lname] för användarens fullständiga namn, förnamn eller efternamn, respektive. <br/> Du kan använda [email] för användarens e-post.",
   "Mailing": "Mailing",
   "Make_Admin": "Gör till administratör",
@@ -1673,8 +1705,8 @@
   "manage-sounds_description": "Tillstånd att hantera serverns ljud",
   "Manage_Apps": "Hantera Apps",
   "Manage_the_App": "Hantera appen",
-  "Manager_added": "manager sattes",
-  "Manager_removed": "manager avlägsnades",
+  "Manager_added": "Manager lades till",
+  "Manager_removed": "Manager togs bort",
   "Managing_assets": "hantera tillgångar",
   "Managing_integrations": "Hantera integrationer",
   "Manufacturing": "Tillverkning",
@@ -1720,7 +1752,7 @@
   "Message_AllowSnippeting": "Tillåt meddelandeutklippning",
   "Message_AllowStarring": "Tillåt stjärnmarkering av meddelanden.",
   "Message_AllowUnrecognizedSlashCommand": "Tillåt okända slashkommandon",
-  "Message_AlwaysSearchRegExp": "sök alltid använder RegExp",
+  "Message_AlwaysSearchRegExp": "Sök alltid med RegExp",
   "Message_AlwaysSearchRegExp_Description": "Vi rekommenderar att ställa in TRUE om ditt språk inte stöds på <a target=\"_blank\" href=\"https://docs.mongodb.org/manual/reference/text-search-languages/#text-search-languages\">MongoDB textsökning</a> .",
   "Message_Attachments": "Meddelande bilagor",
   "Message_Attachments_GroupAttach": "Knappar för grupptillägg",
@@ -1734,7 +1766,7 @@
   "Message_DateFormat": "Datumformat",
   "Message_DateFormat_Description": "Se även: <a href=\"http://momentjs.com/docs/#/displaying/format/\" target=\"momemt\">Moment.js</a>",
   "Message_deleting_blocked": "Detta meddelande kan inte tas bort längre",
-  "Message_editing": "meddelande redigering",
+  "Message_editing": "Redigera meddelande",
   "Message_ErasureType": "Meddelande Erasure Type",
   "Message_ErasureType_Delete": "Ta bort alla meddelanden",
   "Message_ErasureType_Description": "Bestäm vad som ska göras med meddelanden av användare som tar bort sitt konto.",
@@ -1764,8 +1796,8 @@
   "Message_SetNameToAliasEnabled_Description": "Endast om inte redan angivet alias. De gamla meddelandena alias ändras inte om användaren har ändrat namnet.",
   "Message_ShowDeletedStatus": "Visa borttagen status",
   "Message_ShowEditedStatus": "Visa Redigerad status",
-  "Message_ShowFormattingTips": "Visa Formatera Tips",
-  "Message_starring": "meddelande starring",
+  "Message_ShowFormattingTips": "Visa formateringstips",
+  "Message_starring": "Stjärnmarkera meddelanden",
   "Message_TimeAndDateFormat": "Tid och datumformat",
   "Message_TimeAndDateFormat_Description": "Se även: <a href=\"http://momentjs.com/docs/#/displaying/format/\" target=\"momemt\" >Moment.js</a>",
   "Message_TimeFormat": "Tidsformat",
@@ -1773,10 +1805,10 @@
   "Message_too_long": "Meddelandet är för långt",
   "Message_VideoRecorderEnabled": "Videobandspelare aktiverad",
   "Message_VideoRecorderEnabledDescription": "Kräver \"video / webm\" -filer för att vara en accepterad medietyp inom inställningarna \"Filuppladdning\".",
-  "Message_view_mode_info": "Detta ändrar mängden rymd meddelanden tar upp på skärmen.",
+  "Message_view_mode_info": "Detta ändrar mängden utrymme meddelanden tar upp på skärmen.",
   "Messages": "Meddelanden",
   "Mmessages": "meddelanden",
-  "Messages_that_are_sent_to_the_Incoming_WebHook_will_be_posted_here": "Meddelanden som skickas till den inkommande WebHook kommer att publiceras här.",
+  "Messages_that_are_sent_to_the_Incoming_WebHook_will_be_posted_here": "Meddelanden som skickas till inkommande WebHook kommer att publiceras här.",
   "Meta": "Meta",
   "Meta_custom": "Anpassade metataggar",
   "Meta_fb_app_id": "Facebook App-ID",
@@ -1784,7 +1816,7 @@
   "Meta_language": "Språk",
   "Meta_msvalidate01": "MSValidate.01",
   "Meta_robots": "Robots",
-  "Min_length_is": "Min längd är%s",
+  "Min_length_is": "Min längd är %s",
   "Minimum_balance": "Minsta balans",
   "minutes": "minuter",
   "Mobile": "Mobil",
@@ -1798,7 +1830,7 @@
   "More_unreads": "Fler olästa",
   "Move_beginning_message": "`%s` - Gå till början av meddelande",
   "Move_end_message": "`%s` - GÃ¥ till slutet av meddelande",
-  "Msgs": "Meddelanden ",
+  "Msgs": "Meddelanden ",
   "multi": "mång",
   "multi_line": "multi line",
   "mute-user": "Stäng användaren",
@@ -1807,9 +1839,9 @@
   "Mute_Focused_Conversations": "Mute Focused Conversations",
   "Mute_Group_Mentions": "Mute @all och @here nämner",
   "Mute_someone_in_room": "Tysta någon i rummet",
-  "Mute_user": "mute användaren",
-  "Muted": "dämpad",
-  "My_Account": "Mitt Konto",
+  "Mute_user": "Tysta användaren",
+  "Muted": "Tystad",
+  "My_Account": "Mitt konto",
   "My_location": "Min position",
   "n_messages": "%s meddelanden",
   "N_new_messages": "%s nya meddelanden",
@@ -1818,14 +1850,14 @@
   "Name_of_agent": "Namn på agent",
   "Name_optional": "Namn (valfritt)",
   "Name_Placeholder": "Vänligen fyll i ditt namn...",
-  "Navigation_History": "navigering Historia",
+  "Navigation_History": "Navigeringshistorik",
   "New_Application": "Ny applikation",
-  "New_Custom_Field": "New anpassat fält",
+  "New_Custom_Field": "Nytt anpassat fält",
   "New_Department": "Ny avdelning",
   "New_integration": "Ny integrering",
   "New_line_message_compose_input": "`%s` - Ny rad i meddelande komponera inmatning",
   "New_logs": "Nya loggar",
-  "New_Message_Notification": "Nytt Meddelande Notifikation",
+  "New_Message_Notification": "Nytt meddelande-notifiering",
   "New_messages": "Nya meddelanden",
   "New_password": "Nytt lösenord",
   "New_Password_Placeholder": "Vänligen ange nytt lösenord ...",
@@ -1925,7 +1957,7 @@
   "optional": "valfritt",
   "or": "eller",
   "Or_talk_as_anonymous": "Eller prata som anonym",
-  "Order": "Beställa",
+  "Order": "Beställ",
   "Organization_Email": "Organisations Email",
   "Organization_Info": "Organisationsinfo",
   "Organization_Name": "organisations namn",
@@ -1958,6 +1990,7 @@
   "People": "Folk",
   "Permalink": "Länka meddelande",
   "Permissions": "Tillstånd",
+  "Personal_Access_Tokens": "Personliga åtkomsttokens",
   "pin-message": "Pinna Meddelande",
   "pin-message_description": "Tillstång att pinna ett meddelande i en kanal",
   "Pin_Message": "Pinna Meddelande",
@@ -2012,6 +2045,7 @@
   "Private_Groups": "Privata Grupper",
   "Private_Groups_list": "Lista över privata grupper",
   "Private_Team": "Privat lag",
+  "Productivity": "Produktivitet",
   "Profile": "Profil",
   "Profile_details": "Profildetaljer",
   "Profile_picture": "Profilbild",
@@ -2072,7 +2106,7 @@
   "Receive_alerts": "Ta emot varningar",
   "Receive_Group_Mentions": "Ta emot @all och @här nämner",
   "Record": "Spela in",
-  "Redirect_URI": "omdirigera URI",
+  "Redirect_URI": "Omdirigerings-URI",
   "Refresh_keys": "refresh nycklar",
   "Refresh_oauth_services": "Uppdatera OAuth-tjänster",
   "Refresh_your_page_after_install_to_enable_screen_sharing": "Uppdatera sidan efter installationen för att aktivera skärmdelning",
@@ -2115,7 +2149,7 @@
   "ReplyTo": "Svara till",
   "Report_Abuse": "Anmäl inlägg",
   "Report_exclamation_mark": "Anmäl!",
-  "Report_sent": "rapport skickas",
+  "Report_sent": "Rapport skickad",
   "Report_this_message_question_mark": "Rapportera det här meddelandet?",
   "Reporting": "Rapportering",
   "Require_all_tokens": "Kräver alla tokens",
@@ -2191,17 +2225,18 @@
   "Room_uploaded_file_list": "Fillista",
   "Room_uploaded_file_list_empty": "Inga filer tillgängliga.",
   "Rooms": "Rum",
+  "Run_only_once_for_each_visitor": "Kör endast en gång per besökare",
   "run-import": "Kör Import",
   "run-import_description": "Tillstånd att driva importörerna",
   "run-migration": "Kör Migrering",
   "run-migration_description": "Tillstånd att köra migreringarna",
-  "Running_Instances": "kör instanser",
+  "Running_Instances": "Antal instanser som körs",
   "Runtime_Environment": "Runtime Environment",
   "S_new_messages_since_s": "%s nya meddelanden sedan %s",
   "Same_As_Token_Sent_Via": "Samma som \"Token Send Via\"",
   "Same_Style_For_Mentions": "Samma stil för nämnder",
   "SAML": "SAML",
-  "SAML_Custom_Cert": "beställnings Certificate",
+  "SAML_Custom_Cert": "Anpassat certifikat",
   "SAML_Custom_Debug": "Aktivera debugläge",
   "SAML_Custom_Entry_point": "Custom Entry Point",
   "SAML_Custom_Generate_Username": "Generera Användarnamn",
@@ -2221,6 +2256,7 @@
   "Save_changes": "Spara ändringar",
   "Save_Mobile_Bandwidth": "Spara bandbredd i mobilen",
   "Save_to_enable_this_action": "Spara så att denna åtgärd",
+  "Save_To_Webdav": "Spara till WebDAV",
   "Saved": "Sparad",
   "Saving": "Sparar",
   "Scan_QR_code": "Använd en autentiseringsapp som Google Authenticator, Authy eller Duo, skanna QR-koden. Det kommer att visa en 6-siffrig kod som du måste ange nedan.",
@@ -2255,7 +2291,7 @@
   "Send": "Skicka",
   "Send_a_message": "Skicka ett meddelande",
   "Send_a_test_mail_to_my_user": "Skicka ett testmail till min användare",
-  "Send_a_test_push_to_my_user": "Skicka ett testpushmeddelande till min användare",
+  "Send_a_test_push_to_my_user": "Skicka ett testpushmeddelande till min användare",
   "Send_confirmation_email": "Skicka e-postbekräftelse",
   "Send_data_into_RocketChat_in_realtime": "Skicka data till Rocket.Chat i realtid.",
   "Send_email": "Skicka e-post",
@@ -2264,7 +2300,7 @@
   "Send_invitation_email_info": "Du kan skicka flera e-postinbjudningar samtidigt.",
   "Send_invitation_email_success": "Du har lyckats skicka en e-postinbjudan till följande adresser:",
   "Send_request_on_agent_message": "Skicka förfrågan om agentmeddelanden",
-  "Send_request_on_chat_close": "Skicka förfrågan om chatt nära",
+  "Send_request_on_chat_close": "Skicka förfrågan om chatt avslutas",
   "Send_request_on_lead_capture": "Skicka förfrågan om ledning",
   "Send_request_on_offline_messages": "Skicka förfrågan på offline-meddelanden",
   "Send_request_on_visitor_message": "Skicka begäran om besökarmeddelanden",
@@ -2383,14 +2419,14 @@
   "Start_video_conference": "Starta videokonferens?",
   "Start_with_s_for_user_or_s_for_channel_Eg_s_or_s": "Starta med <code class=\"inline\">%s</code> för användare eller <code class=\"inline\">%s</code> för kanal. Ex: <code class=\"inline\">%s</code> eller <code class=\"inline\">%s</code>",
   "Started_a_video_call": "Startade ett videosamtal",
-  "Started_At": "började på",
+  "Started_At": "Började",
   "Statistics": "Statistik",
-  "Statistics_reporting": "Skicka statistik Rocket.Chat",
+  "Statistics_reporting": "Skicka statistik till Rocket.Chat",
   "Statistics_reporting_Description": "Genom att skicka din statistik, kommer du hjälpa oss att identifiera hur många instanser av Rocket.Chat distribueras, samt hur bra systemet beter sig, så att vi kan ytterligare förbättra den. Oroa dig inte, eftersom ingen användarinformation skickas och all den information vi får är konfidentiellt.",
   "Stats_Active_Users": "Aktiva användare",
   "Stats_Avg_Channel_Users": "Kanalens genomsnitt Användare",
   "Stats_Avg_Private_Group_Users": "Genomsnittliga Privata Gruppen Användare",
-  "Stats_Away_Users": "bort Användare",
+  "Stats_Away_Users": "Frånvarande användare",
   "Stats_Max_Room_Users": "Max Rum Användare",
   "Stats_Non_Active_Users": "Inaktiva användare",
   "Stats_Offline_Users": "Användare offline",
@@ -2403,9 +2439,8 @@
   "Stats_Total_Messages_Direct": "Totala meddelanden i direktmeddelanden",
   "Stats_Total_Messages_Livechat": "Totala meddelanden i Livechats",
   "Stats_Total_Messages_PrivateGroup": "Totala meddelanden i privata grupper",
-  "Stats_Total_Private_Groups": "Totala Privata Grupper",
-  "Stats_Total_Rooms": "Totala Rum",
-  "Stats_Total_Users": "Totala användare",
+  "Stats_Total_Private_Groups": "Totalt antal privata grupper",
+  "Stats_Total_Users": "Totalt antal användare",
   "Status": "Status",
   "Step": "Steg",
   "Stop_Recording": "Sluta spela in",
@@ -2498,7 +2533,7 @@
   "There_are_no_agents_added_to_this_department_yet": "Inga agenter har lagts till i denna avdelning än.",
   "There_are_no_applications": "Inga oAuth-program har ännu lagts till.",
   "There_are_no_applications_installed": "Det finns för tillfället inga Rocket.Chat-program installerade.",
-  "There_are_no_integrations": "Det finns inga integreringar",
+  "There_are_no_integrations": "Det finns inga integrationer",
   "There_are_no_users_in_this_role": "Det finns inga användare med den rollen.",
   "This_conversation_is_already_closed": "Samtalet är redan stängt.",
   "This_email_has_already_been_used_and_has_not_been_verified__Please_change_your_password": "Denna e-postadress har redan använts och har inte blivit verifierad. Vänligen ändra ditt lösenord.",
@@ -2512,6 +2547,8 @@
   "Title_bar_color": "Titelbar färg",
   "Title_bar_color_offline": "Titelbar färg offline",
   "Title_offline": "Titel offline",
+  "To": "Till",
+  "Today": "Idag",
   "To_additional_emails": "Till ytterligare e-postmeddelanden",
   "To_install_RocketChat_Livechat_in_your_website_copy_paste_this_code_above_the_last_body_tag_on_your_site": "För att installera Rocket.Chat Livechat på din webbplats, kopiera och koden ovanför den sista <strong>&lt;/body&gt;</strong> på din webbplats klistra.",
   "to_see_more_details_on_how_to_integrate": "att se mer information om hur man kan integrera.",
@@ -2530,6 +2567,7 @@
   "Tokens_Required_Input_Error": "Ogiltiga typade tokens.",
   "Tokens_Required_Input_Placeholder": "Tokens tillgångsnamn",
   "Topic": "Ämne",
+  "Total_messages": "Totala meddelanden",
   "Tourism": "Turism",
   "Transcript_Enabled": "Fråga besökare om de skulle vilja ha ett transkript efter chatt stängt",
   "Transcript_message": "Meddelande att visa när du frågar om transkript",
@@ -2562,7 +2600,7 @@
   "UI_Click_Direct_Message_Description": "Hoppa över öppningsprofilfliken, istället gå direkt till konversation",
   "UI_DisplayRoles": "Visa roller",
   "UI_Group_Channels_By_Type": "Gruppkanaler efter typ",
-  "UI_Merge_Channels_Groups": "Merge privata grupper med kanaler",
+  "UI_Merge_Channels_Groups": "Slå ihop privata grupper med kanaler",
   "UI_Unread_Counter_Style": "Oläst Counter Style",
   "UI_Use_Name_Avatar": "Använd fullständiga namninitialer för att generera standard Avatar",
   "UI_Use_Real_Name": "Använd riktigt namn",
@@ -2585,11 +2623,13 @@
   "Unread_Rooms_Mode": "Olästa Rum Läge",
   "Unread_Tray_Icon_Alert": "Oread Tray Icon Alert",
   "Unstar_Message": "Ta bort stjärnmarkering",
+  "Update_to_version": "Uppdatera till __version__",
   "Update_your_RocketChat": "Uppdatera din Rocket.Chat",
   "Updated_at": "Uppdaterad den",
   "Upload_file_description": "Filbeskrivning",
   "Upload_file_name": "Filnamn",
   "Upload_file_question": "Ladda upp fil?",
+  "Upload_Folder_Path": "Ladda upp mappväg",
   "Upload_user_avatar": "Ladda upp avatar",
   "Uploading_file": "Laddar upp fil...",
   "Uptime": "Upptid",
@@ -2601,6 +2641,7 @@
   "Use_initials_avatar": "Använd ditt användarnamns initialer",
   "Use_minor_colors": "Använd mindre färgpalett (standardvärden arva stora färger)",
   "Use_service_avatar": "Använd %s avatar",
+  "Verification_Email": "Klicka på <a href=\"[Verification_Url]\">här</a>för att verifiera ditt konto.",
   "Use_this_username": "Använd det här användarnamnet",
   "Use_uploaded_avatar": "Använd uppladdad avatar",
   "Use_url_for_avatar": "Använd webbadress för avatar",
@@ -2656,7 +2697,7 @@
   "User_Settings": "Användarinställningar",
   "User_unmuted_by": "Användare <em>__user_unmuted__</em> tystade av <em>__user_by__.</em>",
   "User_unmuted_in_room": "Användar tystade i rummet",
-  "User_updated_successfully": "Användare framgångsrikt uppdaterad",
+  "User_updated_successfully": "Användare uppdaterad",
   "User_uploaded_a_file_on_channel": "<strong>__username__</strong>laddade upp en fil på <strong>__channel__</strong>:",
   "User_uploaded_a_file_to_you": "<strong>__username__</strong>skickade dig en fil:",
   "User_uploaded_file": "Laddade upp en fil",
@@ -2697,11 +2738,11 @@
   "Validate_email_address": "Validera e-postadress",
   "Verification": "Verifikation",
   "Verification_Description": "Du kan använda följande platsinnehavare:<br/><ul><li>[Verification_Url] för verifieringsadressen.</li><li>[namn], [fname], [lname] för användarens fullständiga namn, förnamn eller efternamn.</li><li>[email] för användarens email.</li><li>[Site_Name] och [Site_URL] för respektive programnamn och URL.</li></ul>",
-  "Verification_Email": "Klicka på <a href=\"[Verification_Url]\">här</a>för att verifiera ditt konto.",
   "Verification_email_sent": "Verifieringsmeddelande har skickats",
   "Verification_Email_Subject": "[Site_Name] - Verifiera ditt konto",
   "Verified": "Verifierad",
   "Verify": "Verifiera",
+  "Verify_your_email": "Verifiera din epost",
   "Version": "Version",
   "Video_Chat_Window": "Videochatt",
   "Video_Conference": "Videokonferens",
@@ -2743,7 +2784,7 @@
   "view-user-administration": "Visa användaradministration",
   "view-user-administration_description": "Tillstånd till delvis, skrivskyddad listvy över andra användarkonton som för närvarande är inloggade i systemet. Ingen användarkontoinformation är tillgänglig med detta tillstånd",
   "View_All": "Visa Alla",
-  "View_Logs": "Visa Loggar",
+  "View_Logs": "Visa loggar",
   "View_mode": "Visningsläge",
   "Viewing_room_administration": "Visning rum administration",
   "Visibility": "Synlighet",
@@ -2758,6 +2799,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Vi är offline. Vi beklagar olägenheten. ",
   "We_have_sent_password_email": "Vi har skickat ett mail med instruktioner för återställande av lösenord. Om du inte får ett mail inom kort, kom tillbaka och försök igen.",
   "We_have_sent_registration_email": "Vi har skickat ett mail för att bekräfta din registrering. Om du inte får ett mail inom kort, kom tillbaka och försök igen.",
+  "Webdav_Server_URL": "WebDAV Server Access URL",
+  "Webdav_Username": "WebDAV användarnamn",
+  "Webdav_Password": "WebDAV lösenord",
   "Webhook_URL": "Webhook URL",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "Direkt ljudsamtal från%s",
@@ -2773,12 +2817,14 @@
   "Website": "Webbplats",
   "Wednesday": "Onsdag",
   "Welcome": "Välkommen <em>%s</em>.",
+  "Welcome_to": "Välkommen till __Site_Name__",
   "Welcome_to_the": "Välkommen till",
   "Why_do_you_want_to_report_question_mark": "Varför vill du anmäla?",
   "will_be_able_to": "kommer att kunna",
   "Worldwide": "Runt om i världen",
   "Would_you_like_to_return_the_inquiry": "Vill du skicka tillbaka förfrågan?",
   "Yes": "Ja",
+  "Yesterday": "Igår",
   "Yes_archive_it": "Ja, arkivera!",
   "Yes_clear_all": "Ja, rensa alla!",
   "Yes_delete_it": "Ja, ta bort det!",
diff --git a/packages/rocketchat-i18n/i18n/ta-IN.i18n.json b/packages/rocketchat-i18n/i18n/ta-IN.i18n.json
index ce0cff07bc15fd532432811c42170f2583aeaaf7..7828da508021622a090af6f1d9be49f8865892f3 100644
--- a/packages/rocketchat-i18n/i18n/ta-IN.i18n.json
+++ b/packages/rocketchat-i18n/i18n/ta-IN.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "விலக்கப்பட்டவர்கள்",
+  "500": "உள்ளக சர்வர் பிழை",
   "#channel": "#channel",
   "0_Errors_Only": "0 - பிழைகளை மட்டும்",
   "1_Errors_and_Information": "1 - பிழைகள் மற்றும் தகவல்",
   "2_Erros_Information_and_Debug": "2 - Erros, தகவல் மற்றும் பிழை",
-  "403": "விலக்கப்பட்டவர்கள்",
-  "500": "உள்ளக சர்வர் பிழை",
   "@username": "@ பயனர் பெயர்",
   "@username_message": "@ பயனர்பெயர் <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__username__ __user_by__ மூலம், __role__ இனி ஆகிறது",
@@ -57,13 +57,13 @@
   "Accounts_Email_Approved": "[பெயர்]<br/><br/><p>உங்கள் கணக்கு அங்கீகரிக்கப்பட்டது.</p>",
   "Accounts_Email_Approved_Subject": "கணக்கு அங்கீகரிக்கப்பட்ட",
   "Accounts_Email_Deactivated": "[பெயர்]<br/><br/><p>உங்கள் கணக்கு முடக்கப்பட்டது.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>வரவேற்கிறோம் <strong>[Site_Name]</strong></h1><p> <a href=\"[Site_URL]\">[Site_URL]</a> போய், இன்றைக்கும் கிடைக்க சிறந்த திறந்த மூல அரட்டை தீர்வு முயற்சி! </p>",
   "Accounts_Email_Deactivated_Subject": "கணக்கு முடக்கப்பட்டது",
   "Accounts_EmailVerification": "மின்னஞ்சல் சரிபார்ப்பு",
   "Accounts_EmailVerification_Description": "நிச்சயமாக நீங்கள் இந்த வசதியை பயன்படுத்த சரியான SMTP அமைப்புகளை வைத்து கொள்ளுங்கள்",
+  "Accounts_Enrollment_Email_Subject_Default": "வரவேற்கிறோம் [Site_Name]",
   "Accounts_Enrollment_Email": "பதிவு மின்னஞ்சல்",
-  "Accounts_Enrollment_Email_Default": "<h1>வரவேற்கிறோம் <strong>[Site_Name]</strong></h1><p> <a href=\"[Site_URL]\">[Site_URL]</a> போய், இன்றைக்கும் கிடைக்க சிறந்த திறந்த மூல அரட்டை தீர்வு முயற்சி! </p>",
   "Accounts_Enrollment_Email_Description": "முறையே பயனர் முழு பெயர், முதல் பெயர் அல்லது கடைசி பெயரை நீங்கள் [name], [fname], பயன்படுத்தலாம் [lname]. <br/> நீங்கள் பயனர் மின்னஞ்சல் ஐந்து [email] பயன்படுத்தலாம்.",
-  "Accounts_Enrollment_Email_Subject_Default": "வரவேற்கிறோம் [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "சாளரத்தை மூடுகையில் பயனர் அமர்வுகளை மற",
   "Accounts_Iframe_api_method": "API முறை",
   "Accounts_Iframe_api_url": "API URL",
@@ -177,12 +177,12 @@
   "Accounts_ShowFormLogin": "காட்டு-சார்ந்த தேதி",
   "Accounts_TwoFactorAuthentication_Enabled": "இரு காரணி அங்கீகாரத்தை இயக்கவும்",
   "Accounts_TwoFactorAuthentication_MaxDelta": "அதிகபட்ச டெல்டா",
+  "Accounts_UserAddedEmail_Default": "<h1>வரவேற்கிறோம் <strong>[Site_Name]</strong></h1><p> <a href=\"[Site_URL]\">[Site_URL]</a> போய், இன்றைக்கும் கிடைக்க சிறந்த திறந்த மூல அரட்டை தீர்வு முயற்சி! </p><p> [email] மற்றும் கடவுச்சொல்லை: [password] நீங்கள் உங்கள் மின்னஞ்சல் பயன்படுத்தி உள்நுழையலாம் இருக்கலாம். நீங்கள் உங்கள் முதல் உள்நுழைவு பின்னர் அதை மாற்ற தேவைப்படலாம்.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "Maximum Delta எந்த நேரத்திலும் எத்தனை டோக்கன்கள் செல்லுபடியாகும் என்பதை தீர்மானிக்கிறது. டோக்கன்கள் ஒவ்வொரு 30 வினாடிகளிலும் உருவாக்கப்படுகின்றன, மேலும் அவை (30 * அதிகபட்ச டெல்டா) விநாடிகள் செல்லுபடியாகும். <br/>எடுத்துக்காட்டு: அதிகபட்ச டெல்டா 10 ஐ அமைத்தால், ஒவ்வொரு டோக்கன் நேரமும் 300 வினாடிகள் வரை பயன்படுத்தலாம். கிளையன் கடிகாரம் சரியாக சர்வரில் ஒத்திசைக்கப்படும்போது இது பயனுள்ளதாக இருக்கும்.",
   "Accounts_UseDefaultBlockedDomainsList": "பயன்பாட்டு இயல்புநிலை தடுக்கப்பட்ட களங்கள் பட்டியல்",
   "Accounts_UseDNSDomainCheck": "டிஎன்எஸ் இணைய சோதனை பயன்படுத்தவும்",
-  "Accounts_UserAddedEmail_Default": "<h1>வரவேற்கிறோம் <strong>[Site_Name]</strong></h1><p> <a href=\"[Site_URL]\">[Site_URL]</a> போய், இன்றைக்கும் கிடைக்க சிறந்த திறந்த மூல அரட்டை தீர்வு முயற்சி! </p><p> [email] மற்றும் கடவுச்சொல்லை: [password] நீங்கள் உங்கள் மின்னஞ்சல் பயன்படுத்தி உள்நுழையலாம் இருக்கலாம். நீங்கள் உங்கள் முதல் உள்நுழைவு பின்னர் அதை மாற்ற தேவைப்படலாம்.",
-  "Accounts_UserAddedEmail_Description": "நீங்கள் கீழ்கண்ட இடப்பயனர்கள் பயன்படுத்தலாம்: <br/><ul><li> [name], [fname], [lname] முறையே பயனர் முழு பெயர், முதல் பெயர் அல்லது கடைசி பெயர், ஐந்து. </li><li> பயனர் மின்னஞ்சல் ஐந்து [email]. </li><li> பயனரின் கடவுச்சொல்லை [password]. </li><li> [Site_Name] மற்றும் [Site_URL] முறையே விண்ணப்ப பெயர் மற்றும் URL க்கான. </li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "நீங்கள் சேர்க்கப் பட்டுள்ளது [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "நீங்கள் கீழ்கண்ட இடப்பயனர்கள் பயன்படுத்தலாம்: <br/><ul><li> [name], [fname], [lname] முறையே பயனர் முழு பெயர், முதல் பெயர் அல்லது கடைசி பெயர், ஐந்து. </li><li> பயனர் மின்னஞ்சல் ஐந்து [email]. </li><li> பயனரின் கடவுச்சொல்லை [password]. </li><li> [Site_Name] மற்றும் [Site_URL] முறையே விண்ணப்ப பெயர் மற்றும் URL க்கான. </li></ul>",
   "Activate": "செயல்படுத்த",
   "Activity": "செயல்பாடு",
   "Add": "கூட்டு",
@@ -238,6 +238,7 @@
   "Allow_Marketing_Emails": "சந்தைப்படுத்தல் மின்னஞ்சல்களை அனுமதி",
   "Alphabetical": "அகரவரிசை",
   "Always_open_in_new_window": "எப்போதும் புதிய சாளரத்தில் திறக்க",
+  "Analytics": "அனலிட்டிக்ஸ்",
   "Analytics_features_enabled": "அம்சங்கள் இயக்கப்பட்டன",
   "Analytics_features_messages_Description": "செயல்கள் ஒரு பயனர் செய்திகளை செய்கிறது தொடர்பான விருப்ப நிகழ்வுகள் கண்காணிக்கிறது.",
   "Analytics_features_rooms_Description": "ஒரு சேனல் அல்லது குழு (, உருவாக்க, நீக்க விட்டு) மீதான செயல்களை தொடர்பான விருப்ப நிகழ்வுகள் கண்காணிக்கிறது.",
@@ -816,6 +817,7 @@
   "Created_at_s_by_s_triggered_by_s": "<strong>%s</strong><strong>%s </strong><strong>%s</strong>தூண்டுதலாக %sஇல் உருவாக்கப்பட்டது",
   "CRM_Integration": "CRM ஒருங்கிணைப்பு",
   "CROWD_Reject_Unauthorized": "அங்கீகரிக்கப்படாததை நிராகரிக்கவும்",
+  "Crowd_sync_interval_Description": "ஒத்திசைவுகளுக்கு இடையில் இடைவெளி. எடுத்துக்காட்டு `ஒவ்வொரு 24 மணிநேரமும்` அல்லது` வாரத்தின் முதல் நாளில்`, [கிரான் உரைப் பார்சர்] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "தற்போதைய அரட்டைகள்",
   "Current_Status": "தற்போதைய நிலை",
   "Custom": "விருப்ப",
@@ -1339,8 +1341,10 @@
   "Install_package": "தொகுப்பு நிறுவவும்",
   "Installation": "நிறுவல்",
   "Installed_at": "நிறுவப்பட்ட",
+  "Invitation_HTML": "அழைப்பிதழ், HTML",
   "Instance_Record": "உடனடி பதிவு",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "உங்கள் பார்வையாளர் வழிமுறைகள் ஒரு செய்தியை அனுப்ப படிவத்தை பூர்த்தி",
+  "Invitation_HTML_Default": "<h1>நீங்கள் அழைப்பு வந்திருக்கிறது <strong>[Site_Name]</strong></h1><p> [Site_URL] போய், இன்றைக்கும் கிடைக்க சிறந்த திறந்த மூல அரட்டை தீர்வு முயற்சி! </p>",
   "Insurance": "காப்பீடு",
   "Integration_added": "ஒருங்கிணைப்பு சேர்க்கப்பட்டுள்ளது",
   "Integration_Advanced_Settings": "மேம்பட்ட அமைப்புகள்",
@@ -1406,9 +1410,7 @@
   "invisible": "கண்ணுக்கு தெரியாத",
   "Invisible": "கண்ணுக்கு தெரியாத",
   "Invitation": "அழைப்பிதழ்",
-  "Invitation_HTML": "அழைப்பிதழ், HTML",
-  "Invitation_HTML_Default": "<h1>நீங்கள் அழைப்பு வந்திருக்கிறது <strong>[Site_Name]</strong></h1><p> [Site_URL] போய், இன்றைக்கும் கிடைக்க சிறந்த திறந்த மூல அரட்டை தீர்வு முயற்சி! </p>",
-  "Invitation_HTML_Description": "நீங்கள் கீழ்கண்ட இடப்பயனர்கள் பயன்படுத்தலாம்: <br/><ul><li> பெறுநர் மின்னஞ்சல் ஐந்து [email]. </li><li> [Site_Name] மற்றும் [Site_URL] முறையே விண்ணப்ப பெயர் மற்றும் URL க்கான. </li></ul>",
+  "Invitation_Email_Description": "நீங்கள் கீழ்கண்ட இடப்பயனர்கள் பயன்படுத்தலாம்: <br/><ul><li> பெறுநர் மின்னஞ்சல் ஐந்து [email]. </li><li> [Site_Name] மற்றும் [Site_URL] முறையே விண்ணப்ப பெயர் மற்றும் URL க்கான. </li></ul>",
   "Invitation_Subject": "அழைப்பிதழ் பொருள்",
   "Invitation_Subject_Default": "நீங்கள் அழைப்பு வந்திருக்கிறது [Site_Name]",
   "Invite_user_to_join_channel": "இந்த சேனல் சேர ஒரு அழை",
@@ -2525,6 +2527,7 @@
   "Tokens_Required_Input_Error": "தவறான தட்டச்சு டோக்கன்கள்.",
   "Tokens_Required_Input_Placeholder": "டோக்கன்கள் சொத்து பெயர்கள்",
   "Topic": "தலைப்பு",
+  "Total_messages": "மொத்த செய்திகள்",
   "Tourism": "சுற்றுலா",
   "Transcript_Enabled": "சேட் மூடப்பட்ட பிறகு அவர்கள் ஒரு டிரான்ஸ்கிரிப்ட் விரும்பியிருந்தால் பார்வையாளரைக் கேள்",
   "Transcript_message": "டிரான்ஸ்கிரிப்டைப் பற்றி கேட்கும் போது செய்தி காட்டு",
@@ -2585,6 +2588,7 @@
   "Upload_file_description": "கோப்பு விளக்கம்",
   "Upload_file_name": "கோப்பு பெயர்",
   "Upload_file_question": "கோப்பை பதிவேற்ற?",
+  "Upload_Folder_Path": "கோப்புறை பாதை பதிவேற்றவும்",
   "Upload_user_avatar": "பதிவைப் பதிவேற்று",
   "Uploading_file": "கோப்பு ஏற்றுகிறது ...",
   "Uptime": "இயக்க",
@@ -2596,6 +2600,7 @@
   "Use_initials_avatar": "உங்கள் பயனர் பெயர் முதலெழுத்துகள் பயன்படுத்தவும்",
   "Use_minor_colors": "சிறிய வண்ண தட்டு (இயல்புநிலைக்கு முக்கிய வண்ணங்களைப் பெறுதல்) பயன்படுத்தவும்",
   "Use_service_avatar": " %s Avatar பயன்படுத்தவும்",
+  "Verification_Email": "உங்கள் கணக்கைச் சரிபார்க்க <a href=\"[Verification_Url]\">இங்கே</a>என்பதைக் கிளிக் செய்க.",
   "Use_this_username": "இந்த பயனர் பெயரை பயன்படுத்தவும்",
   "Use_uploaded_avatar": "பதிவேற்றிய சின்னம் பயன்படுத்த",
   "Use_url_for_avatar": "சின்னம் URL ஐ பயன்படுத்த",
@@ -2692,7 +2697,6 @@
   "Validate_email_address": "மின்னஞ்சல் முகவரி சரிபார்க்கவும்",
   "Verification": "சரிபார்ப்பு",
   "Verification_Description": "நீங்கள் பின்வரும் பெட்டிகளைப் பயன்படுத்தலாம்: சரிபார்ப்பு URL க்கான <br/><ul><li>[சரிபார்ப்பு_உருல்]. முறையே பயனரின் முழுப்பெயர், முதல் பெயர் அல்லது கடைசி பெயர்</li><li>[name], [fname], [lname]. பயனர் மின்னஞ்சலுக்கான</li><li>[மின்னஞ்சல்]. விண்ணப்பம் பெயர் மற்றும் URL ஆகியவற்றை முறையே</li><li>[Site_Name] மற்றும் [Site_URL].</li></ul>",
-  "Verification_Email": "உங்கள் கணக்கைச் சரிபார்க்க <a href=\"[Verification_Url]\">இங்கே</a>என்பதைக் கிளிக் செய்க.",
   "Verification_email_sent": "சரிபார்ப்பு மின்னஞ்சல் அனுப்பப்பட்டது",
   "Verification_Email_Subject": "[Site_Name] - உங்கள் கணக்கை சரிபார்",
   "Verified": "சரிபார்க்கப்பட்டது",
@@ -2753,6 +2757,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "நாம் லைனில் உள்ளனர். சிரமத்திற்கு வருந்துகிறோம்.",
   "We_have_sent_password_email": "நாம் பாஸ்வேர்ட் ரீசெட் வழிமுறைகளை நீங்கள் ஒரு மின்னஞ்சலை அனுப்பி விட்டோம். நீங்கள் ஒரு மின்னஞ்சலை விரைவில் பெறுவீர்கள் இல்லை என்றால், தயவு செய்து திரும்பி வந்து மீண்டும் முயற்சிக்கவும்.",
   "We_have_sent_registration_email": "நாம் நீங்கள் உங்கள் பதிவை உறுதி ஒரு மின்னஞ்சல் அனுப்பினேன். நீங்கள் ஒரு மின்னஞ்சலை விரைவில் பெறுவீர்கள் இல்லை என்றால், தயவு செய்து திரும்பி வந்து மீண்டும் முயற்சிக்கவும்.",
+  "Webdav_Server_URL": "WebDAV சர்வர் அணுகல் URL",
+  "Webdav_Username": "WebDAV பயனர்பெயர்",
+  "Webdav_Password": "WebDAV கடவுச்சொல்",
   "Webhook_URL": "Webhook URL ஐ",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "%s இலிருந்து நேரடி ஆடியோ அழைப்பு",
diff --git a/packages/rocketchat-i18n/i18n/th-TH.i18n.json b/packages/rocketchat-i18n/i18n/th-TH.i18n.json
index e29f4a430d511a4a0295b63dab2627ea869a5072..fa155b2ae78df1b14f6f04a2f45fdc0a8f7774ed 100644
--- a/packages/rocketchat-i18n/i18n/th-TH.i18n.json
+++ b/packages/rocketchat-i18n/i18n/th-TH.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "ไม่อนุญาต",
+  "500": "เกิดข้อผิดพลาดภายในเซิร์ฟเวอร์",
   "#channel": "ช่องทาง",
   "0_Errors_Only": "0 - แสดงข้อผิดพลาดเท่านั้น",
   "1_Errors_and_Information": "1 - แสดงข้อผิดพลาดและข้อมูล",
   "2_Erros_Information_and_Debug": "2 - แสดงข้อผิดพลาด, ข้อมูลและการแก้ปัญหา",
-  "403": "ไม่อนุญาต",
-  "500": "เกิดข้อผิดพลาดภายในเซิร์ฟเวอร์",
   "@username": "@ชื่อผู้ใช้",
   "@username_message": "@ชื่อผู้ใช้ <ข้อความ0>",
   "__username__is_no_longer__role__defined_by__user_by_": "_username_ ไม่ไช่ _role_by_user_by_",
@@ -57,13 +57,13 @@
   "Accounts_Email_Approved": "[name]<br/><br/><p>บัญชีของคุณได้รับการอนุมัติแล้ว</p>",
   "Accounts_Email_Approved_Subject": "อนุมัติบัญชีแล้ว",
   "Accounts_Email_Deactivated": "[name]<br/><br/><p>บัญชีของคุณถูกปิดการใช้งาน</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>ยินดีต้อนรับสูง <strong>[Site_Name]</strong></h1><p>ไปที่ <a href=\"[Site_URL]\">[Site_URL]</a> และทดลองใช้งานโปรแกรมแชทที่ดีที่สุดที่มี ณ ปัจจุบัน</p>",
   "Accounts_Email_Deactivated_Subject": "ปิดใช้งานบัญชีแล้ว",
   "Accounts_EmailVerification": "การตรวจสอบอีเมล์",
   "Accounts_EmailVerification_Description": "ต้องตั้งค่า SMTP เพื่อใช้งานฟีเจอร์นี้",
+  "Accounts_Enrollment_Email_Subject_Default": "ยินดีต้อนรับสูง [Site_Name]",
   "Accounts_Enrollment_Email": "การลงทะเบียนอีเมล์",
-  "Accounts_Enrollment_Email_Default": "<h1>ยินดีต้อนรับสูง <strong>[Site_Name]</strong></h1><p>ไปที่ <a href=\"[Site_URL]\">[Site_URL]</a> และทดลองใช้งานโปรแกรมแชทที่ดีที่สุดที่มี ณ ปัจจุบัน</p>",
   "Accounts_Enrollment_Email_Description": "คุณสามารถใช้ตัวยึดตำแหน่งต่อไปนี้: <br/><ul><li>[name], [fname], [lname] สำหรับชื่อเต็มของผู้ใช้ชื่อหรือนามสกุลตามลำดับ</li><li>[email] สำหรับอีเมลของผู้ใช้</li><li>[Site_Name] และ [Site_URL] สำหรับชื่อแอ็พพลิเคชันและ URL ตามลำดับ</li></ul>",
-  "Accounts_Enrollment_Email_Subject_Default": "ยินดีต้อนรับสูง [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "ลืม session เมื่อปิดหน้าต่าง",
   "Accounts_Iframe_api_method": "Api Method",
   "Accounts_Iframe_api_url": "API URL",
@@ -177,12 +177,12 @@
   "Accounts_ShowFormLogin": "แสดงการเข้าสู่ระบบแบบฟอร์ม",
   "Accounts_TwoFactorAuthentication_Enabled": "เปิดใช้งานการพิสูจน์ตัวตนสององค์ประกอบ",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Delta สูงสุด",
+  "Accounts_UserAddedEmail_Default": "<h1><strong>[Site_Name]</strong></h1><p>ไปที่ <a href=\"[Site_URL]\">[Site_URL]</a>และลองใช้โซลูชันแชทโอเพนซอร์สที่ดีที่สุดที่มีในปัจจุบัน!</p><p>คุณสามารถเข้าสู่ระบบโดยใช้อีเมลของคุณ: [email] และรหัสผ่าน: [password] คุณอาจต้องเปลี่ยนข้อมูลดังกล่าวหลังจากการเข้าสู่ระบบครั้งแรกของคุณ",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "Delta สูงสุดจะกำหนดจำนวนโทเค็นที่ถูกต้องในเวลาใดก็ตาม โทเค็นถูกสร้างขึ้นทุกๆ 30 วินาทีและใช้ได้สำหรับ (30 * สูงสุด Delta) วินาที <br/>ตัวอย่าง: ด้วยการตั้ง Delta สูงสุดเป็น 10 แต่ละโทเค็นสามารถใช้งานได้ไม่เกิน 300 วินาทีก่อนหรือหลังเวลาที่กำหนด ซึ่งจะเป็นประโยชน์เมื่อนาฬิกาของลูกค้าไม่ได้เชื่อมข้อมูลกับเซิร์ฟเวอร์อย่างถูกต้อง",
   "Accounts_UseDefaultBlockedDomainsList": "ใช้รายการโดเมนที่ถูกบล็อกเริ่มต้น",
   "Accounts_UseDNSDomainCheck": "ใช้การตรวจสอบโดเมน DNS",
-  "Accounts_UserAddedEmail_Default": "<h1><strong>[Site_Name]</strong></h1><p>ไปที่ <a href=\"[Site_URL]\">[Site_URL]</a>และลองใช้โซลูชันแชทโอเพนซอร์สที่ดีที่สุดที่มีในปัจจุบัน!</p><p>คุณสามารถเข้าสู่ระบบโดยใช้อีเมลของคุณ: [email] และรหัสผ่าน: [password] คุณอาจต้องเปลี่ยนข้อมูลดังกล่าวหลังจากการเข้าสู่ระบบครั้งแรกของคุณ",
-  "Accounts_UserAddedEmail_Description": "คุณสามารถใช้ตัวยึดตำแหน่งต่อไปนี้: <br/><ul><li>[name], [fname], [lname] สำหรับชื่อเต็มของผู้ใช้ชื่อหรือนามสกุลตามลำดับ</li><li>[email] สำหรับอีเมลของผู้ใช้</li><li>[รหัสผ่าน] สำหรับรหัสผ่านของผู้ใช้</li><li>[Site_Name] และ [Site_URL] สำหรับชื่อแอ็พพลิเคชันและ URL ตามลำดับ</li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "คุณได้รับการเพิ่มใน [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "คุณสามารถใช้ตัวยึดตำแหน่งต่อไปนี้: <br/><ul><li>[name], [fname], [lname] สำหรับชื่อเต็มของผู้ใช้ชื่อหรือนามสกุลตามลำดับ</li><li>[email] สำหรับอีเมลของผู้ใช้</li><li>[รหัสผ่าน] สำหรับรหัสผ่านของผู้ใช้</li><li>[Site_Name] และ [Site_URL] สำหรับชื่อแอ็พพลิเคชันและ URL ตามลำดับ</li></ul>",
   "Activate": "กระตุ้น",
   "Activity": "กิจกรรม",
   "Add": "เพิ่ม",
@@ -238,6 +238,7 @@
   "Allow_Marketing_Emails": "อนุญาตให้ใช้อีเมลทางการตลาด",
   "Alphabetical": "ตามตัวอักษร",
   "Always_open_in_new_window": "เปิดอยู่เสมอในหน้าต่างใหม่",
+  "Analytics": "Analytics",
   "Analytics_features_enabled": "คุณลักษณะที่เปิดใช้งาน",
   "Analytics_features_messages_Description": "ติดตามกิจกรรมแบบกำหนดเองที่เกี่ยวข้องกับการดำเนินการของผู้ใช้ในข้อความ",
   "Analytics_features_rooms_Description": "ติดตามกิจกรรมที่กำหนดเองเกี่ยวกับการดำเนินการในช่องหรือกลุ่ม (สร้าง, ออก, ลบ)",
@@ -816,6 +817,7 @@
   "Created_at_s_by_s_triggered_by_s": "สร้างเมื่อ <strong>%s</strong>โดย <strong>%s</strong>เรียกใช้โดย <strong>%s</strong>",
   "CRM_Integration": "บูรณาการ CRM",
   "CROWD_Reject_Unauthorized": "ปฏิเสธไม่ได้รับอนุญาต",
+  "Crowd_sync_interval_Description": "ช่วงเวลาระหว่างการซิงโครไนซ์ ตัวอย่าง \"ทุกๆ 24 ชั่วโมง\" หรือ \"ในวันแรกของสัปดาห์\" ตัวอย่างเพิ่มเติมที่ [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "การแชทปัจจุบัน",
   "Current_Status": "สถานะปัจจุบัน",
   "Custom": "กำหนดเอง",
@@ -1339,8 +1341,10 @@
   "Install_package": "ติดตั้งแพ็คเกจ",
   "Installation": "การติดตั้ง",
   "Installed_at": "ติดตั้งที่",
+  "Invitation_HTML": "ข้อความเชิญ HTML",
   "Instance_Record": "บันทึกตัวอย่าง",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "คำแนะนำสำหรับผู้เข้าชมกรอกแบบฟอร์มเพื่อส่งข้อความ",
+  "Invitation_HTML_Default": "<h1>คุณได้รับเชิญให้ <strong>[Site_Name]</strong></h1><p>ไปที่ [Site_URL] และลองใช้โซลูชันแชทโอเพนซอร์สที่ดีที่สุดที่มีในปัจจุบัน!</p>",
   "Insurance": "ประกันภัย",
   "Integration_added": "รวมเข้าด้วยกันแล้ว",
   "Integration_Advanced_Settings": "ตั้งค่าขั้นสูง",
@@ -1406,9 +1410,7 @@
   "invisible": "มองไม่เห็น",
   "Invisible": "มองไม่เห็น",
   "Invitation": "คำเชิญ",
-  "Invitation_HTML": "ข้อความเชิญ HTML",
-  "Invitation_HTML_Default": "<h1>คุณได้รับเชิญให้ <strong>[Site_Name]</strong></h1><p>ไปที่ [Site_URL] และลองใช้โซลูชันแชทโอเพนซอร์สที่ดีที่สุดที่มีในปัจจุบัน!</p>",
-  "Invitation_HTML_Description": "คุณสามารถใช้ตัวยึดตำแหน่งต่อไปนี้: <br/><ul><li>[email] สำหรับอีเมลผู้รับ</li><li>[Site_Name] และ [Site_URL] สำหรับชื่อแอ็พพลิเคชันและ URL ตามลำดับ</li></ul>",
+  "Invitation_Email_Description": "คุณสามารถใช้ตัวยึดตำแหน่งต่อไปนี้: <br/><ul><li>[email] สำหรับอีเมลผู้รับ</li><li>[Site_Name] และ [Site_URL] สำหรับชื่อแอ็พพลิเคชันและ URL ตามลำดับ</li></ul>",
   "Invitation_Subject": "หัวเรื่องเชิญ",
   "Invitation_Subject_Default": "คุณได้รับเชิญให้เข้าร่วม [Site_Name]",
   "Invite_user_to_join_channel": "เชิญผู้ใช้รายหนึ่งเข้าร่วมช่องนี้",
@@ -2525,6 +2527,7 @@
   "Tokens_Required_Input_Error": "โทเค็นที่พิมพ์ไม่ถูกต้อง",
   "Tokens_Required_Input_Placeholder": "ชื่อสินทรัพย์ Tokens",
   "Topic": "หัวข้อเรื่อง",
+  "Total_messages": "ข้อความทั้งหมด",
   "Tourism": "การท่องเที่ยว",
   "Transcript_Enabled": "ถามผู้เข้าชมว่าพวกเขาต้องการการถอดเสียงหลังจากปิดแชท",
   "Transcript_message": "ข้อความที่แสดงเมื่อถามเกี่ยวกับการถอดเสียง",
@@ -2585,6 +2588,7 @@
   "Upload_file_description": "คำอธิบายไฟล์",
   "Upload_file_name": "ชื่อไฟล์",
   "Upload_file_question": "อัปโหลดไฟล์หรือไม่?",
+  "Upload_Folder_Path": "อัปโหลดเส้นทางโฟลเดอร์",
   "Upload_user_avatar": "อัปโหลดภาพอวตาร",
   "Uploading_file": "กำลังอัปโหลดไฟล์ ...",
   "Uptime": "uptime",
@@ -2596,6 +2600,7 @@
   "Use_initials_avatar": "ใช้ชื่อย่อของชื่อผู้ใช้ของคุณ",
   "Use_minor_colors": "ใช้จานสีย่อย (ค่าเริ่มต้นจะสืบทอดสีหลัก ๆ )",
   "Use_service_avatar": "ใช้ Avatar ของ%s",
+  "Verification_Email": "คลิก <a href=\"[Verification_Url]\">ที่นี่</a>เพื่อยืนยันบัญชีของคุณ",
   "Use_this_username": "ใช้ชื่อผู้ใช้นี้",
   "Use_uploaded_avatar": "ใช้ Avatar ที่อัปโหลดแล้ว",
   "Use_url_for_avatar": "ใช้ URL สำหรับ avatar",
@@ -2692,7 +2697,6 @@
   "Validate_email_address": "ยืนยันที่อยู่อีเมล",
   "Verification": "การตรวจสอบ",
   "Verification_Description": "คุณสามารถใช้ตัวยึดตำแหน่งต่อไปนี้: <br/><ul><li>[Verification_Url] สำหรับ URL การยืนยัน</li><li>[name], [fname], [lname] สำหรับชื่อเต็มของผู้ใช้ชื่อหรือนามสกุลตามลำดับ</li><li>[email] สำหรับอีเมลของผู้ใช้</li><li>[Site_Name] และ [Site_URL] สำหรับชื่อแอ็พพลิเคชันและ URL ตามลำดับ</li></ul>",
-  "Verification_Email": "คลิก <a href=\"[Verification_Url]\">ที่นี่</a>เพื่อยืนยันบัญชีของคุณ",
   "Verification_email_sent": "ส่งอีเมลยืนยันแล้ว",
   "Verification_Email_Subject": "[Site_Name] - ยืนยันบัญชีของคุณ",
   "Verified": "ได้รับการยืนยัน",
@@ -2753,6 +2757,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "เราออฟไลน์ ขออภัยในความไม่สะดวก.",
   "We_have_sent_password_email": "เราได้ส่งอีเมลพร้อมคำแนะนำในการรีเซ็ตรหัสผ่านของคุณแล้ว หากคุณไม่ได้รับอีเมลในไม่ช้าโปรดกลับมาลองอีกครั้ง",
   "We_have_sent_registration_email": "เราได้ส่งอีเมลถึงคุณเพื่อยืนยันการลงทะเบียนของคุณ หากคุณไม่ได้รับอีเมลในไม่ช้าโปรดกลับมาลองอีกครั้ง",
+  "Webdav_Server_URL": "URL การเข้าถึงเซิร์ฟเวอร์ WebDAV",
+  "Webdav_Username": "ชื่อผู้ใช้ WebDAV",
+  "Webdav_Password": "รหัสผ่าน WebDAV",
   "Webhook_URL": "Webhook URL",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "สายเสียงโดยตรงจาก%s",
diff --git a/packages/rocketchat-i18n/i18n/tr.i18n.json b/packages/rocketchat-i18n/i18n/tr.i18n.json
index 8a85b577700f88f03853f5abb206aaeb0b49d2a9..587bd41c3338acba6c345791de02ad9c9a6a52d4 100644
--- a/packages/rocketchat-i18n/i18n/tr.i18n.json
+++ b/packages/rocketchat-i18n/i18n/tr.i18n.json
@@ -1,10 +1,12 @@
 {
+  "403": "Yasak",
+  "500": "İç Sunucu Hatası",
   "#channel": "#kanal",
   "0_Errors_Only": "0 - Sadece Hatalar",
+  "12_Hour": "12 Saat",
   "1_Errors_and_Information": "1 - Hatalar ve Bilgi",
+  "24_Hour": "24 saat",
   "2_Erros_Information_and_Debug": "2 - Hatalar, Bilgi ve Hata Ayıklama",
-  "403": "Yasak",
-  "500": "İç Sunucu Hatası",
   "@username": "@kullanıcıadı",
   "@username_message": "@kullanıcıadı <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__username__ adlı kullanıcı __user_by__ tarafından __role__ rolünden çıkarıldı.",
@@ -35,6 +37,7 @@
   "Accounts_AllowUserAvatarChange": "Kullanıcının Avatar Değiştirmesine İzin Ver",
   "Accounts_AllowUsernameChange": "Kullanıcı Adı Değişimine İzin Ver",
   "Accounts_AllowUserProfileChange": "Kullanıcının Profilini Değiştirmesine izin ver",
+  "Accounts_AvatarBlockUnauthenticatedAccess": "Avatarlara Kimliği Doğrulanmamış Erişimi Engelle",
   "Accounts_AvatarCacheTime": "Avatar önbellek zamanı",
   "Accounts_AvatarCacheTime_description": "Http protokolünün avatar görüntülerini önbelleğe alması için söylendiği saniye sayısı.",
   "Accounts_AvatarResize": "Profil Resimlerini yeniden boyutlandır",
@@ -57,13 +60,13 @@
   "Accounts_Email_Approved": "[name]<br/><br/><p>Hesabınız onaylandı.</p>",
   "Accounts_Email_Approved_Subject": "Hesap onaylandı",
   "Accounts_Email_Deactivated": "[name]<br/><br/><p>Hesabınız devre dışı bırakıldı.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1><strong>[Site_Name]</strong> sitesine hoşgeldiniz!</h1><p><a href=\"[Site_URL]\">[Site_URL]</a> 'a gidin ve şu an mevcut en iyi açık kaynak sohbet çözümünü deneyin! </p>",
   "Accounts_Email_Deactivated_Subject": "Hesap devre dışı",
   "Accounts_EmailVerification": "E-Posta DoÄŸrulama",
   "Accounts_EmailVerification_Description": "Bu özelliği kullanmak için doğru SMTP ayarlarına sahip olduğunuza emin olun",
+  "Accounts_Enrollment_Email_Subject_Default": "[Site_Name] sitesine hoÅŸgeldiniz!",
   "Accounts_Enrollment_Email": "Kayıt E-Postası",
-  "Accounts_Enrollment_Email_Default": "<h1><strong>[Site_Name]</strong> sitesine hoşgeldiniz!</h1><p><a href=\"[Site_URL]\">[Site_URL]</a> 'a gidin ve şu an mevcut en iyi açık kaynak sohbet çözümünü deneyin! </p>",
   "Accounts_Enrollment_Email_Description": "Kullanıcının tam adı, ad veya soyadı için sırayla,  [lname], [name], [fname] kullanabilirsiniz. <br/> Kullanıcının e-postası için [email] kullanabilirsiniz.",
-  "Accounts_Enrollment_Email_Subject_Default": "[Site_Name] sitesine hoÅŸgeldiniz!",
   "Accounts_ForgetUserSessionOnWindowClose": "Pencere kapandığında kullanıcı oturumunu unut",
   "Accounts_Iframe_api_method": "Api Yöntemi",
   "Accounts_Iframe_api_url": "Api URL",
@@ -172,17 +175,18 @@
   "Accounts_RequireNameForSignUp": "Üye Olmak İçin Ad İste",
   "Accounts_RequirePasswordConfirmation": "Şifre Doğrulaması Gerektir",
   "Accounts_SearchFields": "Arama sırasında kullanılacak alanlar",
+  "Accounts_Directory_DefaultView": "Varsayılan Dizin Listeleme",
   "Accounts_SetDefaultAvatar": "Varsayılanı Avatar Seç",
   "Accounts_SetDefaultAvatar_Description": "Varsayılan avatarın OAuth Hesabı'na veya Gravatar'a dayalı olarak belirlenmeye çalışılması",
   "Accounts_ShowFormLogin": "Form-tabanlı Girişi Göster",
   "Accounts_TwoFactorAuthentication_Enabled": "İki Faktörlü Kimlik Doğrulamayı Etkinleştir",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Maksimum delta",
+  "Accounts_UserAddedEmail_Default": "<h1><strong>[Site_Name]</strong> sitesine hoşgeldiniz!</h1><p><a href=\"[Site_URL]\">[Site_URL]</a> 'a gidin ve şu an mevcut en iyi açık kaynak sohbet çözümünü deneyin! </p> <p> E-mail [email] ve Şifre: [password] 'nizi kullanarak giriş yapabilirsiniz. İlk girişinizden sonra bunları değiştirmeniz gerekebilir.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "Maksimum Delta, herhangi bir zamanda kaç jetonun geçerli olduğunu belirler. Jetonlar her 30 saniyede bir üretilir ve (30 * Maksimum Delta) saniye için geçerlidir. <br/>Örnek: Maksimum Delta değeri 10'a ayarlandığında, her simge zaman damgasından 300 saniye önce veya sonra kullanılabilir. Bu, istemcinin saati sunucuyla düzgün bir şekilde senkronize edilmediğinde kullanışlıdır.",
   "Accounts_UseDefaultBlockedDomainsList": "Standart Engelli Domain Listesini Kullan",
   "Accounts_UseDNSDomainCheck": "DNS Alan Adı Kontrolü'nü Kullan",
-  "Accounts_UserAddedEmail_Default": "<h1><strong>[Site_Name]</strong> sitesine hoşgeldiniz!</h1><p><a href=\"[Site_URL]\">[Site_URL]</a> 'a gidin ve şu an mevcut en iyi açık kaynak sohbet çözümünü deneyin! </p> <p> E-mail [email] ve Şifre: [password] 'nizi kullanarak giriş yapabilirsiniz. İlk girişinizden sonra bunları değiştirmeniz gerekebilir.",
-  "Accounts_UserAddedEmail_Description": "<br/><ul><li> Kullanıcının tam adı, ad veya soyadı için sırasıyla [name], [fname], [lname] kullanabilirsiniz. </li><li> Kullanıcının e-posta'sı için [email]. </li><li> Kullanıcının parolası için [password]. </li><li> Site adı ve Site URL'si için de [Site_Name] ve [Site_URL] kullanabilirsiniz.  </li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "[Site_Name] Sitesine Eklendiniz",
+  "Accounts_UserAddedEmail_Description": "<br/><ul><li> Kullanıcının tam adı, ad veya soyadı için sırasıyla [name], [fname], [lname] kullanabilirsiniz. </li><li> Kullanıcının e-posta'sı için [email]. </li><li> Kullanıcının parolası için [password]. </li><li> Site adı ve Site URL'si için de [Site_Name] ve [Site_URL] kullanabilirsiniz.  </li></ul>",
   "Activate": "EtkinleÅŸtir",
   "Activity": "Etkinlik",
   "Add": "Ekle",
@@ -238,6 +242,7 @@
   "Allow_Marketing_Emails": "Pazarlama E-postalarına İzin Ver",
   "Alphabetical": "Alfabetik",
   "Always_open_in_new_window": "Her zaman yeni sekmede aç",
+  "Analytics": "Mantıksal Analiz",
   "Analytics_features_enabled": "Özellikler Etkin",
   "Analytics_features_messages_Description": "Bir kullanıcının iletilerde yaptığı eylemlerle bağlantılı özel olayları izler.",
   "Analytics_features_rooms_Description": "Bir kanal veya grup (silme, ayrılma, oluşturma) üzerindeki eylemlerle bağlantılı özel olayları izler.",
@@ -249,6 +254,7 @@
   "Animals_and_Nature": "Hayvanlar ve DoÄŸa",
   "Announcement": "Duyuru",
   "API": "API",
+  "API_Add_Personal_Access_Token": "Yeni KiÅŸisel EriÅŸim Simgesi ekle",
   "API_Allow_Infinite_Count": "HerÅŸeye UlaÅŸmaya Ä°zin Ver",
   "API_Allow_Infinite_Count_Description": "REST API çağrılarının her şeyi tek bir çağrıya geri döndürmesine izin verilmesi gerekir mi?",
   "API_Analytics": "Mantıksal Analiz",
@@ -270,11 +276,20 @@
   "API_Enable_CORS": "CORS'u etkinleÅŸtir",
   "API_Enable_Direct_Message_History_EndPoint": "Doğrudan Mesaj Geçmişi Son Nokta'nı Etkinleştir",
   "API_Enable_Direct_Message_History_EndPoint_Description": "Bu, `/ api / v1 / im.history.others` aygıtının, diğer kullanıcıların gönderdikleri ve doğrudan arayan kişinin parçası olmadığı doğrudan iletileri görüntülemesini sağlar.",
+  "API_Enable_Personal_Access_Tokens": "Kişisel Erişim belirteçlerini  REST API'sine etkinleştir",
+  "API_Enable_Personal_Access_Tokens_Description": "REST API'sı ile kullanmak için kişisel erişim belirteçlerini etkinleştirin",
   "API_Enable_Shields": "Kalkanları Etkinleştir",
   "API_Enable_Shields_Description": "`/ Api / v1 / shield.svg` alanındaki kalkanları etkinleştir",
   "API_GitHub_Enterprise_URL": "Sunucu URL'si",
   "API_GitHub_Enterprise_URL_Description": "Örnek: http://domain.com (sondaki eğik çizgiyi dahil etmeyin)",
   "API_Gitlab_URL": "GitLab URL",
+  "API_Personal_Access_Token_Name": "Kişisel Erişim Belirteçi Adı",
+  "API_Personal_Access_Tokens_To_REST_API": "REST API'sine kişisel erişim belirteçleri",
+  "API_Personal_Access_Tokens_Remove_Modal": "Bu kişisel erişim kodunu kaldırmak istediğinizden emin misiniz?",
+  "API_Personal_Access_Token_Generated": "Kişisel Erişim belirteçi başarıyla oluşturuldu",
+  "API_Personal_Access_Token_Generated_Text_Token_s_UserId_s": "Lütfen daha sonra görüntüleyemeyeceğiniz için belirtecinizi dikkatli bir şekilde kaydedin. <br/>Simgesi: <strong>__token __ </strong><br/>Kullanıcı kimliği: <strong>__userId __ </strong>",
+  "API_Personal_Access_Tokens_Regenerate_Modal": "Belirtecinizi kaybettiyseniz veya unuttuysanız yeniden oluşturabilirsiniz, ancak bu belirteci kullanan tüm uygulamaların güncellenmesi gerektiğini unutmayın.",
+  "API_Personal_Access_Tokens_Regenerate_It": "Belirteçi yeniden oluştur",
   "API_Shield_Types": "Kalkan Tipleri",
   "API_Shield_Types_Description": "Virgülle ayrılmış bir liste olarak etkinleştirilecek kalkan türleri, hepsi için `online`,` channel` veya `*` seçeneklerinden birini seçin",
   "API_Token": "API Jetonu",
@@ -287,6 +302,7 @@
   "Apiai_Key": "Api.ai Anahtar",
   "Apiai_Language": "Api.ai Dili",
   "App_author_homepage": "yazar anasayfa",
+  "App_Details": "Uygulama detayları",
   "App_Information": "Uygulama Bilgileri",
   "App_Installation": "Uygulama Yükleme",
   "App_status_auto_enabled": "Etkin",
@@ -347,20 +363,21 @@
   "AutoLinker_Email": "AutoLinker E-posta",
   "AutoLinker_Phone": "AutoLinker Telefon",
   "AutoLinker_Phone_Description": "Otomatik olarak Telefon numaraları için bağlantılı. örneğin '(123) 456-7890`",
-  "AutoLinker_StripPrefix": "AutoLinker Şerit Önek",
+  "AutoLinker_StripPrefix": "Otomatik Bağlantı Şeridi Öneki",
   "AutoLinker_StripPrefix_Description": "Kısa ekran. örneğin https://rocket.chat => rocket.chat",
   "AutoLinker_Urls_Scheme": "AutoLinker Şeması: // URL'leri",
   "AutoLinker_Urls_TLD": "AutoLinker TLD URL'ler",
   "AutoLinker_Urls_www": "AutoLinker 'www' URL'ler",
   "AutoLinker_UrlsRegExp": "AutoLinker URL Düzenli İfade",
   "Automatic_Translation": "Otomatik Çeviri",
+  "Author_Site": "Yazar sitesi",
   "AutoTranslate_Change_Language_Description": "Otomatik tercüme dilinin değiştirilmesi önceki iletileri çevirmez.",
   "AutoTranslate_Enabled": "Otomatik Çeviriyi etkinleştir",
   "AutoTranslate_Enabled_Description": "Otomatik çeviri özelliğini etkinleştirmek, <code class=\"inline\"></code>otomatik olarak tercüme ettiren kişilerin tüm iletilerin otomatik olarak seçilen dile çevrilmesini sağlar. Ücretler geçerli olabilir, bkz. <a target=\"_blank\" href=\"https://cloud.google.com/translate/pricing\">Google'ın Belgeleri</a>",
   "AutoTranslate_GoogleAPIKey": "Google API Anahtarı",
-  "Available": "Mevcut",
-  "Available_agents": "mevcut maddeler",
-  "Avatar": "Avatarı değiştir",
+  "Available": "Uygun",
+  "Available_agents": "Mevcut ajanlar",
+  "Avatar": "Avatar",
   "Avatar_changed_successfully": "Avatar başarıyla değiştirildi",
   "Avatar_URL": "Avatar URL",
   "Avatar_url_invalid_or_error": "Sağlanan URL geçersiz veya erişilebilir değil. Lütfen farklı bir URL ile tekrar deneyin.",
@@ -371,26 +388,29 @@
   "away_male": "uzakta",
   "Away_male": "Uzakta",
   "Back": "Geri",
-  "Back_to_applications": "Geri uygulamalara",
+  "Back_to_applications": "Uygulamalara geri dön",
   "Back_to_chat": "Sohbete Dön ",
   "Back_to_integration_detail": "Entegrasyon detayına geri dönün",
-  "Back_to_integrations": "Geri entegrasyonlar için",
+  "Back_to_integrations": "Entegrasyonlara dön",
   "Back_to_login": "Giriş sayfasına geri dön",
   "Back_to_Manage_Apps": "Apps'ı Yönetme'ye dön",
-  "Back_to_permissions": "Geri izinleri",
+  "Back_to_permissions": "İzinlere geri dön",
   "Backup_codes": "Yedek kodlar",
   "ban-user": "Kullanıcıyı Engelle",
   "ban-user_description": "Kanaldan bir kullanıcıyı engelleme izni",
   "Beta_feature_Depends_on_Video_Conference_to_be_enabled": "Beta özellik. Görüntülü konferans görüşmesinin aktif olmasını gerektirir.",
   "Block_User": "Kullanıcıyı engelle",
   "Blockchain": "Blockchain",
+  "Blockstack_Auth_Description": "Kimlik açıklaması",
+  "Blockstack_ButtonLabelText": "Buton etiket metni",
+  "Blockstack_Generate_Username": "Kullanıcı adı üret",
   "Body": "vücut",
   "bold": "kalın",
   "bot_request": "Bot Ä°steÄŸi",
   "BotHelpers_userFields": "Kullanıcı Alanları",
   "BotHelpers_userFields_Description": "Botlar tarafından erişilebilir, kullanıcı alanlarını içeren bir CSV dosyası.",
   "Bots": "botlar",
-  "Branch": "ÅŸube",
+  "Branch": "BranÅŸ",
   "Broadcast_channel": "Yayın Kanalı",
   "Broadcast_channel_Description": "Sadece yetkili kullanıcılar yeni mesajlar yazabilir, ancak diğer kullanıcılar cevaplayabilir.",
   "Broadcast_Connected_Instances": "Bağlı Örnekleri Yayınla",
@@ -430,7 +450,10 @@
   "CAS_Sync_User_Data_FieldMap_Description": "Harici özniteliklerden (değer) iç öznitelikler (anahtar) oluşturmak için bu JSON girdisini kullanın. '%' Ile çevrilen dış öznitelik isimleri, değer dizelerinde enterpolasyona tabi tutulacaktır.<br/>Örnek, `{\" email \":\"% email% \",\" name \":\"% firstname%,% lastname% \"}`<br/><br/>Özellik haritası her zaman enterpolasyonludur. CAS 1.0'da yalnızca `username` özniteliği kullanılabilir. Kullanılabilir iç özellikler şunlardır: kullanıcı adı, ad, e-posta, oda; odalar, kullanıcı oluşturulduğunda katılmak için virgülle ayrılmış odalar listesidir; örneğin: {\"odalar\": \"% takım%,% bölüm%\"} CAS kullanıcılarına kendi ekip ve departman kanalı oluşturma konusunda katılırlar.",
   "CAS_version": "CAS Sürümü",
   "CAS_version_Description": "Yalnızca CAS TOA hizmetiniz tarafından desteklenen desteklenen bir CAS sürümünü kullanın.",
+  "Categories": "Kategoriler",
   "CDN_PREFIX": "CDN Ön Ek",
+  "CDN_PREFIX_ALL": "Tüm varlıklar için CDN Öneki kullanın",
+  "CDN_JSCSS_PREFIX": "JS/CSS için CDN Öneki",
   "Certificates_and_Keys": "Sertifikalar ve Anahtarlar",
   "Change_Room_Type": "Oda Tipini DeÄŸiÅŸtirme",
   "Changing_email": "deÄŸiÅŸen e-posta",
@@ -442,7 +465,7 @@
   "Channel_Archived": "adı `#%s` ile Kanal başarıyla arşivlenen olmuştur",
   "Channel_created": "Kanal `#%s` oluÅŸturuldu.",
   "Channel_doesnt_exist": "`# %s` isminde bir kanal bulunmamaktadır.",
-  "Channel_name": "Kanal ismi",
+  "Channel_name": "Channel Ä°smi",
   "Channel_Name_Placeholder": "Lütfen kanal ismini giriniz...",
   "Channel_to_listen_on": "Dinlenecek kanal",
   "Channel_Unarchived": "adı `#%s` ile Kanal başarıyla Arşivlenmedi olmuştur",
@@ -464,14 +487,14 @@
   "Chatpal_Backend": "Arka Uç Türü",
   "Chatpal_Backend_Description": "Chatpal'i Hizmet Olarak mı yoksa Yerinde Kurulum olarak mı kullanmak istediğinizi seçin.",
   "Chatpal_Base_URL": "Temel URL",
-  "Chatpal_Base_URL_Description": "Yerel bir örneği nasıl çalıştıracağınıza ilişkin bazı açıklamaları bulun <lH_HTML_OPEN_a target=\"_blank\" class=\"chatpal-admin-link\" href=\"https://github.com/chatpal/chatpal-search-standalone\" >github'da</a>. URL, mutlak olmalıdır ve sohbet çekirdeğine işaret eder, ör. http: // localhost: 8983 / Solr / chatpal.",
+  "Chatpal_Base_URL_Description": "Yerel bir örneği nasıl çalıştıracağınıza ilişkin bazı açıklamaları github'da bulun <lH_HTML_OPEN_a target=\"_blank\" class=\"chatpal-admin-link\" href=\"https://github.com/chatpal/chatpal-search-standalone\">bulun</a>. URL, mutlak olmalıdır ve sohbet çekirdeğine işaret eder, ör. http: // localhost: 8983 / Solr / chatpal.",
   "Chatpal_Batch_Size": "Dizin Toplu Boyut",
   "Chatpal_Batch_Size_Description": "Dizin belgelerinin parti boyutu (önyüklemede)",
   "Chatpal_create_key": "Anahtar OluÅŸtur",
   "Chatpal_created_key_successfully": "API anahtarı başarıyla oluşturuldu",
   "Chatpal_Default_Result_Type": "Varsayılan Sonuç Türü",
   "Chatpal_Default_Result_Type_Description": "Sonuç olarak hangi sonuç türünün gösterileceğini tanımlar. Tüm her tür için bir genel bakış sağlanır.",
-  "Chatpal_Email_Address": "E",
+  "Chatpal_Email_Address": "E-posta Adresi",
   "Chatpal_ERROR_Email_must_be_set": "E-posta ayarlanmalıdır",
   "Chatpal_ERROR_Email_must_be_valid": "Email geçerli olmalı",
   "Chatpal_ERROR_TAC_must_be_checked": "Åžartlar ve KoÅŸullar kontrol edilmelidir",
@@ -494,7 +517,7 @@
   "Chatpal_run_search": "Ara",
   "Chatpal_search_page_of": "%s sayfa%s",
   "Chatpal_search_results": "%s sonuç bulundu",
-  "Chatpal_Search_Results": "arama sonuçları",
+  "Chatpal_Search_Results": "Arama Sonuçları",
   "Chatpal_Suggestion_Enabled": "Öneriler etkin",
   "Chatpal_TAC_read": "Şartları ve koşulları okudum",
   "Chatpal_Terms_and_Conditions": "Åžartlar ve koÅŸullar",
@@ -504,7 +527,7 @@
   "Chatpal_Welcome": "Aramanızın tadını çıkarın!",
   "Chatpal_Window_Size": "Dizin Penceresi Boyutu",
   "Chatpal_Window_Size_Description": "Dizin pencerelerinin saat cinsinden boyutu (önyüklemede)",
-  "Choose_a_room": "bir oda seçin",
+  "Choose_a_room": "Bir oda seç",
   "Choose_messages": "mesajları seçin",
   "Choose_the_alias_that_will_appear_before_the_username_in_messages": "Mesajlarda kullanıcı adı önce görünecektir takma seçin.",
   "Choose_the_username_that_this_integration_will_post_as": "Bu bütünleşme olarak yayınlayacağız adını seçin.",
@@ -545,6 +568,7 @@
   "Consulting": "Danışmanlık",
   "Consumer_Goods": "Tüketici Malları",
   "Contains_Security_Fixes": "Güvenlik Düzeltmeleri İçeriyor",
+  "Contact": "Ä°letiÅŸim",
   "Content": "İçerik",
   "Continue": "Devam etmek",
   "Continuous_sound_notifications_for_new_livechat_room": "Yeni canlı oda için sürekli sesli bildirimler",
@@ -816,6 +840,7 @@
   "Created_at_s_by_s_triggered_by_s": "<strong>%s</strong>tarafından tetiklenen <strong>%s</strong><strong>%s</strong>adresinde oluşturuldu",
   "CRM_Integration": "CRM Entegrasyonu",
   "CROWD_Reject_Unauthorized": "Doğrulanmamışları reddet",
+  "Crowd_sync_interval_Description": "Senkronizasyon arasındaki süre. Örnek 'her 24 saatte bir' veya 'haftanın ilk günü', daha fazla örnek [Cron Metin Ayrıştırıcı] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "Güncel Sohbetler",
   "Current_Status": "Åžu anki durum",
   "Custom": "görenek",
@@ -880,7 +905,7 @@
   "Department_removed": "Bölüm kaldırıldı",
   "Departments": "Bölümler",
   "Deployment_ID": "Dağıtım kimliği",
-  "Description": "tanım",
+  "Description": "Açıklama",
   "Desktop": "Masaüstü",
   "Desktop_Notification_Test": "Masaüstü Bildirimi Testi",
   "Desktop_Notifications": "Masaüstü Bildirimleri",
@@ -889,6 +914,7 @@
   "Desktop_Notifications_Duration": "Bildirimler Süre",
   "Desktop_Notifications_Duration_Description": "Saniye masaüstü bildirimi görüntülemek için. Bu OS X Bildirim Merkezi'ni etkileyebilir. Varsayılan tarayıcı ayarları kullanmak ve OS X Bildirim Merkezi'ni etkilemez için 0 girin.",
   "Desktop_Notifications_Enabled": "Masaüstü Bildirimleri Etkin",
+  "Details": "Ayrıntılar",
   "Different_Style_For_User_Mentions": "Kullanıcılar için farklı stil",
   "Direct_message_someone": "DoÄŸrudan mesaj birisi",
   "Direct_Messages": "Direkt Mesajlar",
@@ -921,10 +947,10 @@
   "Dont_ask_me_again": "Bana bir daha sorma!",
   "Dont_ask_me_again_list": "Bana tekrar sorma listesi",
   "Do_not_display_unread_counter": "Bu kanalın sayaçlarını gösterme",
-  "Do_you_want_to_accept": "Kabul etmek istermisin",
+  "Do_you_want_to_accept": "Kabul etmek ister misin?",
   "Do_you_want_to_change_to_s_question": "<strong> %s</strong> deÄŸiÅŸtirmek istiyor musunuz?",
   "Document_Domain": "Belge Alanı",
-  "Domain": "domain",
+  "Domain": "Alan Adı",
   "Domain_added": "alan adı eklendi",
   "Domain_removed": "Alan adı kaldırıldı",
   "Domains": "Etki",
@@ -980,17 +1006,18 @@
   "Email_verified": "E-posta doğrulandı",
   "Emoji": "Emoji",
   "EmojiCustomFilesystem": "Özel Emoji Dosya Sistemi",
-  "Empty_title": "boş başlık",
+  "Empty_title": "Boş başlık",
   "Enable": "etkinleÅŸtirme",
   "Enable_Auto_Away": "Otomatik Uzaklığı Etkinleştir",
   "Enable_Desktop_Notifications": "Masaüstü Bildirimlerini etkinleştir",
   "Enable_Svg_Favicon": "SVG favicon'u etkinleÅŸtir",
   "Enable_two-factor_authentication": "İki faktörlü kimlik doğrulamayı etkinleştir",
   "Enabled": "Etkin",
-  "Encrypted_message": "ÅŸifreli mesaj",
-  "End_OTR": "bitiÅŸ OTR",
+  "Encrypted_message": "Åžifreli mesaj",
+  "End_OTR": "OTR'yi sonlandır",
+  "Enter_a_name": "Bir isim girin",
   "Enter_a_regex": "Bir regex girin",
-  "Enter_a_room_name": "Bir oda adı girin",
+  "Enter_a_room_name": "Bir oda ismi girin",
   "Enter_a_username": "Bir kullanıcı adı girin",
   "Enter_Alternative": "Alternatif mod (Enter + Ctrl / Alt / Üst Karakter / CMD ile gönder)",
   "Enter_authentication_code": "Kimlik doÄŸrulama kodu girin",
@@ -1081,6 +1108,9 @@
   "error-room-is-not-closed": "Oda kapalı değil",
   "error-the-field-is-required": "Alan __field__ gereklidir.",
   "error-this-is-not-a-livechat-room": "Bu bir Livechat odası değil",
+  "error-personal-access-tokens-are-current-disabled": "Kişisel Erişim belirteçleri şu anda devre dışı",
+  "error-token-already-exists": "Bu ada sahip bir belirteç zaten mevcut",
+  "error-token-does-not-exists": "Token mevcut deÄŸil",
   "error-too-many-requests": "Hata, çok fazla istek. Lütfen yavaşla. Yine denemeden önce __seconds__ saniye beklemeniz gerekir.",
   "error-user-has-no-roles": "Kullanıcının rolü yok",
   "error-user-is-not-activated": "Kullanıcı etkinleştirilmedi",
@@ -1090,9 +1120,11 @@
   "error-user-registration-disabled": "Kullanıcı kaydı devre dışı",
   "error-user-registration-secret": "Kullanıcı kaydı sadece Gizli URL aracılığıyla izin",
   "error-you-are-last-owner": "Sen son sahibi. oda ayrılmadan önce yeni sahibini ayarlayın.",
-  "Error_404": "Hata 404",
+  "Error_404": "Hata:404",
   "Error_changing_password": "Åžifre deÄŸiÅŸtirmede hata",
   "Error_loading_pages": "Sayfalar yüklenirken hata oluştu",
+  "Error_sending_livechat_transcript": "Livechat dökümü gönderilirken hata oluştu",
+  "Error_sending_livechat_offline_message": "Livechat çevrimdışı mesaj gönderilirken hata oluştu",
   "Esc_to": "Esc için",
   "Event_Trigger": "Olay Tetikleyici",
   "Event_Trigger_Description": "Bu giden WebHook Entegrasyonunu tetikleyeceği etkinliğin türünü seçin",
@@ -1185,7 +1217,7 @@
   "First_Channel_After_Login": "Giriş Sonrası Birinci Kanal",
   "Flags": "Bayraklar",
   "Follow_social_profiles": "Bizi sosyal ağlardan takip edebilir, rocket.chat uygulaması hakkında düşüncelerinizi paylaşabilir ve uygulamayı github üzerinden çatallayabilirsiniz.",
-  "Fonts": "Yazı",
+  "Fonts": "Fontlar",
   "Food_and_Drink": "Yiyecek içecek",
   "Footer": "Altbilgi",
   "Footer_Direct_Reply": "Doğrudan Yanıt Etkin Olduğunda Altbilgi",
@@ -1331,6 +1363,7 @@
   "Industry": "sanayi",
   "initials_avatar": "BaÅŸ harfler Avatar",
   "inline_code": "kod_satırı",
+  "Install": "Kur",
   "Install_Extension": "Uzantısı yükleyin",
   "Install_FxOs": "Firefox üzerinde Rocket.Chat yükleyin",
   "Install_FxOs_done": "Harika! Artık ana ekranınız üzerindeki simgeden Rocket.Chat kullanabilirsiniz. Rocket.Chat ile iyi zaman geçirin!",
@@ -1339,8 +1372,10 @@
   "Install_package": "Kurulum paketi",
   "Installation": "montaj",
   "Installed_at": "kurulu",
+  "Invitation_HTML": "Davet HTML",
   "Instance_Record": "Örnek Kayıt",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "senin ziyaretçiye talimatlar bir mesaj göndermek için formu doldurunuz",
+  "Invitation_HTML_Default": "<h1>Sen davet edildi <strong>[Site_Name]</strong></h1><p>[Site_URL] gidin ve bugün mevcut en iyi açık kaynak sohbet çözümü deneyin! </p>",
   "Insurance": "Sigorta",
   "Integration_added": "Entegrasyon eklendi",
   "Integration_Advanced_Settings": "GeliÅŸmiÅŸ Ayarlar",
@@ -1406,9 +1441,7 @@
   "invisible": "görünmez",
   "Invisible": "Görünmez",
   "Invitation": "Davet",
-  "Invitation_HTML": "Davet HTML",
-  "Invitation_HTML_Default": "<h1>Sen davet edildi <strong>[Site_Name]</strong></h1><p>[Site_URL] gidin ve bugün mevcut en iyi açık kaynak sohbet çözümü deneyin! </p>",
-  "Invitation_HTML_Description": "Aşağıdaki yer tutucuları kullanabilirsiniz: <br/><ul><li> Alıcı e-posta için [email]. </li><li> [Site_Name] ve [Site_URL] sırasıyla Uygulama Adı ve URL. </li></ul>",
+  "Invitation_Email_Description": "Aşağıdaki yer tutucuları kullanabilirsiniz: <br/><ul><li> Alıcı e-posta için [email]. </li><li> [Site_Name] ve [Site_URL] sırasıyla Uygulama Adı ve URL. </li></ul>",
   "Invitation_Subject": "Davet Konusu",
   "Invitation_Subject_Default": "Sen davet edildi [Site_Name]",
   "Invite_user_to_join_channel": "Bu kanala katılması için bir kullanıcı davet",
@@ -1489,6 +1522,7 @@
   "Last_login": "Son giriÅŸ",
   "Last_Message_At": "Sonunda Mesaj",
   "Last_seen": "Son görülme",
+  "Last_token_part": "Son belirteç parçası",
   "Last_Message": "Son Mesaj",
   "Launched_successfully": "Başarıyla başarıyla başlatıldı",
   "Layout": "Düzen",
@@ -1603,6 +1637,7 @@
   "Livechat_managers": "Canlı yöneticileri",
   "Livechat_offline": "Canlı çevrimdışı",
   "Livechat_online": "Canlı çevrimiçi",
+  "Livechat_offline_message_sent": "Livechat çevrimdışı mesaj gönderildi",
   "Livechat_open_inquiery_show_connecting": "Misafir Acenteye Henüz Bağlanmadığında Giriş yerine Mesaj Bağlamayı Göster",
   "Livechat_Queue": "Livechat KuyruÄŸu",
   "Livechat_registration_form": "Kayıt formu",
@@ -1611,6 +1646,7 @@
   "Livechat_Take_Confirm": "Bu müşteriyi almak istiyor musun?",
   "Livechat_title": "CanlıSohbet Başlığı",
   "Livechat_title_color": "CanlıSohbet Başlığı Arka Plan Rengi",
+  "Livechat_transcript_sent": "Livechat transkripti gönderildi",
   "Livechat_Users": "Canlı Kullanıcılar",
   "Livestream_close": "Canlı akışı kapat",
   "Livestream_enable_audio_only": "Yalnızca ses modunu etkinleştir",
@@ -1955,6 +1991,7 @@
   "People": "KiÅŸiler",
   "Permalink": "Kalıcı",
   "Permissions": "Ä°zinler",
+  "Personal_Access_Tokens": "Kişisel Erişim Belirteçi",
   "pin-message": "Dürbün Mesajı",
   "pin-message_description": "Bir kanala mesaj yerleÅŸtirme izni",
   "Pin_Message": "Mesajı Sabitle",
@@ -1984,6 +2021,7 @@
   "Please_fill_a_username": "Bir kullanıcı adı doldurunuz",
   "Please_fill_all_the_information": "Lütfen tüm bilgileri doldurun",
   "Please_fill_name_and_email": "isim ve e-posta doldurunuz",
+  "Please_fill_a_token_name": "Lütfen geçerli bir belirteç adı doldurun",
   "Please_go_to_the_Administration_page_then_Livechat_Facebook": "Lütfen Yönetim sayfasına gidin ve ardından Livechat> Facebook",
   "Please_select_an_user": "Lütfen bir kullanıcı seçin",
   "Please_select_enabled_yes_or_no": "Etkin için bir seçenek seçiniz",
@@ -2030,6 +2068,7 @@
   "Public_Community": "Kamu TopluluÄŸu",
   "Public_Relations": "Halkla iliÅŸkiler",
   "Push": "it",
+  "Push_Setting_Requires_Restart_Alert": "Bu değerin değiştirilmesi Rocket'in yeniden başlatılmasını gerektirir.",
   "Push_apn_cert": "APN Sertifikası",
   "Push_apn_dev_cert": "APN Geliştirici Sertifikası",
   "Push_apn_dev_key": "APN Geliştirici Anahtarı",
@@ -2187,6 +2226,7 @@
   "Room_uploaded_file_list": "Dosya listesi",
   "Room_uploaded_file_list_empty": "Hiçbir dosya mevcut değil.",
   "Rooms": "Odalar",
+  "Run_only_once_for_each_visitor": "Her ziyaretçi için sadece bir kez çalıştır",
   "run-import": "İçe Aktarı Çalıştır",
   "run-import_description": "Ithalatçıların çalıştırılmasına izin",
   "run-migration": "Geçişi çalıştır",
@@ -2198,6 +2238,7 @@
   "Same_Style_For_Mentions": "Bahisler için aynı tarz",
   "SAML": "SAML",
   "SAML_Custom_Cert": "Özel Sertifika",
+  "SAML_Custom_Debug": "Hata Ayıklamayı Etkinleştir",
   "SAML_Custom_Entry_point": "Özel Giriş Noktası",
   "SAML_Custom_Generate_Username": "Kullanıcı Adı Üret",
   "SAML_Custom_IDP_SLO_Redirect_URL": "IDP SLO Yönlendirme URL'si",
@@ -2427,6 +2468,7 @@
   "Take_it": "Bunu al!",
   "TargetRoom": "Hedef Oda",
   "TargetRoom_Description": "Bu olayın tetiklenmesinin sonucu olan mesajların gönderileceği oda. Tek bir hedef odaya izin verilir ve var olması gerekir.",
+  "Target user not allowed to receive messages": "Hedef kullanıcının mesaj almasına izin verilmiyor",
   "Team": "Takım",
   "Technology_Provider": "Teknoloji Sağlayıcısı",
   "Technology_Services": "Teknoloji Hizmetleri",
@@ -2494,6 +2536,7 @@
   "There_are_no_applications": "OAuth Uygulamaları henüz eklenmedi.",
   "There_are_no_applications_installed": "Şu anda hiçbir Rocket.Chat Uygulaması yüklü değil.",
   "There_are_no_integrations": "Entegrasyon yok.",
+  "There_are_no_personal_access_tokens_created_yet": "Henüz oluşturulan bir Kişisel Erişim Beliteçi yok.",
   "There_are_no_users_in_this_role": "Bu rolde hiç kullanıcı yok.",
   "This_conversation_is_already_closed": "Bu konuşma zaten kapandı.",
   "This_email_has_already_been_used_and_has_not_been_verified__Please_change_your_password": "Bu e-posta zaten kullanıldı ve doğrulanmadı. Lütfen şifrenizi değiştirin.",
@@ -2525,6 +2568,7 @@
   "Tokens_Required_Input_Error": "Geçersiz yazılmış simgeler",
   "Tokens_Required_Input_Placeholder": "Varlık adlarını iptal eder",
   "Topic": "konu",
+  "Total_messages": "Toplam İleti Sayısı",
   "Tourism": "turizm",
   "Transcript_Enabled": "Sohbet Kapanışından Sonra Bir Transkript Olsun mı Ziyaretçiye Sorun",
   "Transcript_message": "Transkript Hakkında Sormak İsterseniz Gösterilecek Mesaj",
@@ -2580,11 +2624,13 @@
   "Unread_Rooms_Mode": "Okunmamış Odalar Modu",
   "Unread_Tray_Icon_Alert": "Okunmamış Kaset Simgesi Uyarısı",
   "Unstar_Message": "Yıldızı kaldır",
+  "Update_to_version": "Versiyonu güncelle __Version__",
   "Update_your_RocketChat": "Rocket.Chat adlı kişiyi yenile",
   "Updated_at": "Güncelleme zamanı",
   "Upload_file_description": "Dosya açıklaması",
   "Upload_file_name": "Dosya adı",
   "Upload_file_question": "Dosya yükle",
+  "Upload_Folder_Path": "Klasör Yolu Yükle",
   "Upload_user_avatar": "Avatarı yükle",
   "Uploading_file": "Dosya yükleniyor ...",
   "Uptime": "uptime",
@@ -2596,6 +2642,7 @@
   "Use_initials_avatar": "Kullanıcı adınızın ilk iki harfini kullanın",
   "Use_minor_colors": "Küçük renk paletini kullanın (varsayılanlar büyük renkleri taşır)",
   "Use_service_avatar": "%s Avatar olarak kullan",
+  "Verification_Email": "Hesabınızı doğrulamak için <a href=\"[Verification_Url]\">buraya</a> tıklayın",
   "Use_this_username": "Bu kullanıcı adını kullan",
   "Use_uploaded_avatar": "Yüklenen avatarı kullanın",
   "Use_url_for_avatar": "avatar için url kullanın",
@@ -2692,7 +2739,6 @@
   "Validate_email_address": "Eposta adresini doÄŸrula",
   "Verification": "DoÄŸrulama",
   "Verification_Description": "Şu yer tutucularını kullanabilirsiniz: Doğrulama URL'si için <br/><ul><li>[Doğrulama_Url]. Sırasıyla kullanıcının tam adı, adı veya soyadı için</li><li>[ad], [fname], [lname].</li><li>[e-posta] kullanıcının e-postası için. Sırasıyla Uygulama Adı ve URL için</li><li>[Site_Name] ve [Site_URL].</li></ul>",
-  "Verification_Email": "Hesabınızı doğrulamak için <a href=\"[Verification_Url]\">buraya</a> tıklayın",
   "Verification_email_sent": "Doğrulama e-postası gönderildi",
   "Verification_Email_Subject": "[Site_Name] - Hesabınızı doğrulayın",
   "Verified": "Doğrulanmış",
@@ -2753,6 +2799,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Biz çevrimdışı. Rahatsızlıktan dolayı özür dileriz.",
   "We_have_sent_password_email": "Parolanı sıfırlamak için sana bir e-posta gönderdik.. Eğer e-posta kısa bir süre içerisinde size ulaşmazsa lütfen geri dönün ve tekrar deneyin.",
   "We_have_sent_registration_email": "Hesabını doğrulamamız için bir onay e-postası gönderdik. Eğer e-posta kısa bir süre içerisinde size ulaşmazsa lütfen geri dönün ve tekrar deneyin.",
+  "Webdav_Server_URL": "WebDAV Sunucu EriÅŸimi URL'si",
+  "Webdav_Username": "WebDAV Kullanıcı Adı",
+  "Webdav_Password": "WebDAV Åžifresi",
   "Webhook_URL": "Webhook URL",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "%s'den direkt sesli arama",
diff --git a/packages/rocketchat-i18n/i18n/ug.i18n.json b/packages/rocketchat-i18n/i18n/ug.i18n.json
index ffbef9024999e537561a54adae64d38d3ab70142..515a8802545e8d44d1eb9c7d03d4b304601ee3d2 100644
--- a/packages/rocketchat-i18n/i18n/ug.i18n.json
+++ b/packages/rocketchat-i18n/i18n/ug.i18n.json
@@ -1,9 +1,9 @@
 {
+  "403": "چەكلەندى",
+  "500": "ئىچكى مۇلازىمتېردا خاتالىق بار",
   "0_Errors_Only": "پەقەت 0 خاتالىق",
   "1_Errors_and_Information": "1 ئۇچۇر ۋە خاتالىق",
   "2_Erros_Information_and_Debug": "2 خاتالىق ئۇچۇر ۋە ئۇچۇرنى تەڭشەش",
-  "403": "چەكلەندى",
-  "500": "ئىچكى مۇلازىمتېردا خاتالىق بار",
   "__username__is_no_longer__role__defined_by__user_by_": "__user_by__ ئەمدى __username__ نىڭ __role__ رولىغا_ئېنىقلىما_بەرمەيدۇ",
   "__username__was_set__role__by__user_by_": "__user_by__ بۇ __username__ غا __role__ رولىنى_بەردە",
   "Access_not_authorized": "زىيارەت قىلىشقا ھوقۇق بېرىلمىدى",
@@ -26,12 +26,12 @@
   "Accounts_BlockedUsernameList": "ئاكونت مەنئىي قىلغان ئەزا تىزىملىكى",
   "Accounts_BlockedUsernameList_Description": "ئاكونت ئىنگلىزچە پەش ئارقىلىق ئايرىلغان مەنئىي قىلىنغان ئەزالار تىزىملىكى ئىزاھەسى",
   "Accounts_denyUnverifiedEmail": "ئاكونت تەكشۈرۈپ ئىسپاتلاشتىن ئۆتمىگەن ئىلخەت ئادرېسنى مەنئىي قىلىش",
+  "Accounts_Enrollment_Email_Default": "<h1>كەلگىنىڭىزنى قارشى ئالىمىز<strong>[Site_Name]</strong></h1><p>بۇنىڭغا ئۆتۈش<a href=\"[Site_URL]\">[Site_URL]</a> ، ھەمدە ھازىرقى ئەڭ ئىلغار بولغان ئورۇق كود پاراڭلىشىشنى ھەل قىلىش پىلانىنى سىناپ بېقىڭ ! </p>",
   "Accounts_EmailVerification": "ئاكونت ئىلخەت تەكشۈرۈپ ئىسپاتلاش",
   "Accounts_EmailVerification_Description": "نىڭ توغرا تەڭشەكلىرىنى جەزىملەشتۈرۈڭSTP،بۇ ئىقتىدارنى ئىشلىتىش ئۈچۈن",
+  "Accounts_Enrollment_Email_Subject_Default": "زىيارەت قىلغىنىڭىزنى قارشى ئالىمىز [Site_Name]",
   "Accounts_Enrollment_Email": "ئىلخەتكە تىزىملىتىش",
-  "Accounts_Enrollment_Email_Default": "<h1>كەلگىنىڭىزنى قارشى ئالىمىز<strong>[Site_Name]</strong></h1><p>بۇنىڭغا ئۆتۈش<a href=\"[Site_URL]\">[Site_URL]</a> ، ھەمدە ھازىرقى ئەڭ ئىلغار بولغان ئورۇق كود پاراڭلىشىشنى ھەل قىلىش پىلانىنى سىناپ بېقىڭ ! </p>",
   "Accounts_Enrollment_Email_Description": "سىز تۆۋەندىكى ئورۇن ئىگىلەش بەلگىلەرنى ئىشلىتەلەيسىز :<br/><ul><li>ئىسىم_فامىلىسى [name]、ئىسمى [fname] ياكى فامىلىسى[lname]。</li><li>ئىلخەت[email]。</li><li>تور بېكەت ئىسمى[Site_Name] ۋە توربېكەت ئادرېسى [Site_URL]。</li></ul>",
-  "Accounts_Enrollment_Email_Subject_Default": "زىيارەت قىلغىنىڭىزنى قارشى ئالىمىز [Site_Name]",
   "Accounts_Iframe_api_method": "API ئۇسۇلى",
   "Accounts_Iframe_api_url": "API URL",
   "Accounts_iframe_enabled": "ئىشلىتىشكە باشلىدى",
@@ -101,11 +101,11 @@
   "Accounts_RegistrationForm_SecretURL_Description": "https://open.rocket.chat/register/[secret_hash] سىز چوقۇم خالىغان ھەرپ-بەلگە تىزىقى بىلەن تەمىنلىشىڭىز كېرەك ، ئۇ ھەرپ-بەلگە تىزىقى سىزنىڭ تىزىملىتىش ئادرېسىڭىزغا قېتىلىدۇ. مەسىلەن: مۇنداق",
   "Accounts_RequireNameForSignUp": "ئىسىم_فامىلە يازغاندىن كېيىن ئاندىن تىزىملىتىلىدۇ",
   "Accounts_ShowFormLogin": "جەدۋەلنى ئاساس قىلغاندىكى كىرىش يۈزىنى كۆرسىتىدۇ",
+  "Accounts_UserAddedEmail_Default": "<h1>زىيارەت قىلغىنىڭىزنى قارشى ئالىمىز<strong>[Site_Name]</strong></h1><p>يۆتكىلىپ<a href=\"[Site_URL]\">[Site_URL]</a> ، ھەمدە ھازىرقى ئەڭ ئىلغار بولغان ئوچۇق كود پاراڭلىشىشنى ھەل قىلىش پىلانىنى سىناپ كۆرۈڭ !</p><p>سىز ئۆزىڭىزنىڭ ئىلخەت ئادرېسنى ئىشلەتسىڭىز بولىدۇ:[email] ۋە مەخپىي نومۇر:[password] سىز تۇنجى قېتىم كىرگەندە مەخپىي نومۇرنى ئالماشتۇرۇشقا موھتاج بولىسىز .",
   "Accounts_UseDefaultBlockedDomainsList": "بەلگىلەنگەن دائىرە نامى توسۇش تىزىملىكىنى ئىشلىتىش",
   "Accounts_UseDNSDomainCheck": "دائىرە نامىنى دەلىللەشنى ئىشلىتىشDNS",
-  "Accounts_UserAddedEmail_Default": "<h1>زىيارەت قىلغىنىڭىزنى قارشى ئالىمىز<strong>[Site_Name]</strong></h1><p>يۆتكىلىپ<a href=\"[Site_URL]\">[Site_URL]</a> ، ھەمدە ھازىرقى ئەڭ ئىلغار بولغان ئوچۇق كود پاراڭلىشىشنى ھەل قىلىش پىلانىنى سىناپ كۆرۈڭ !</p><p>سىز ئۆزىڭىزنىڭ ئىلخەت ئادرېسنى ئىشلەتسىڭىز بولىدۇ:[email] ۋە مەخپىي نومۇر:[password] سىز تۇنجى قېتىم كىرگەندە مەخپىي نومۇرنى ئالماشتۇرۇشقا موھتاج بولىسىز .",
-  "Accounts_UserAddedEmail_Description": "سىز تۆۋەنكى ئورۇن ئىگىلەش بەلگىسى ئىشلىتەلەيسىز:<br/><ul><li>[name], [fname], [lname] ئايرىم ھالدا ئابونتنىڭ تولۇق ئىسمى ، ئىسمى ياكى فامىلىسى بولىدۇ. </li><li>[email] ئابونتنىڭ ئىلخىتى بولىدۇ</li><li>[password] ئابونتنىڭ مەخپىي نومۇرى بولىدۇ </li><li>[Site_Name] ۋە [Site_URL] ئايرىم ھالدا توربەت ئىسمى ۋە تور بەر ئادرېسى بولىدۇ </li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "گە قاچىلاندىڭىز [Site_Name] سىز",
+  "Accounts_UserAddedEmail_Description": "سىز تۆۋەنكى ئورۇن ئىگىلەش بەلگىسى ئىشلىتەلەيسىز:<br/><ul><li>[name], [fname], [lname] ئايرىم ھالدا ئابونتنىڭ تولۇق ئىسمى ، ئىسمى ياكى فامىلىسى بولىدۇ. </li><li>[email] ئابونتنىڭ ئىلخىتى بولىدۇ</li><li>[password] ئابونتنىڭ مەخپىي نومۇرى بولىدۇ </li><li>[Site_Name] ۋە [Site_URL] ئايرىم ھالدا توربەت ئىسمى ۋە تور بەر ئادرېسى بولىدۇ </li></ul>",
   "Activate": "قوزغىتىش",
   "Activity": "ھەرىكەتلىنىش",
   "Add": "قوشۇش",
@@ -131,6 +131,7 @@
   "All_messages": "ھەممە ئۇچۇر",
   "Allow_Invalid_SelfSigned_Certs": "گۇۋاھنامىنى زەنجىرسىمان تەكشۈرۈش ۋە ئالدىن كۆرۈشنى رۇخسەت قىلىش. SSLئىناۋەتسىز ئۆزى ئىمزا قويغان",
   "Allow_Invalid_SelfSigned_Certs_Description": "گۇۋاھنامىسى ئىناۋەتسىز ياكى ئۆزى ئىمزا قويىدىغان زەنجىرسىمان ئۇلىنىشنى تەكشۈرۈش ۋە ئالدىن كۆرۈشنى رۇخسەت قىلىش.SSL",
+  "Analytics": "ئانالىز قىلىش",
   "Analytics_features_enabled": "ئىقتىدارى ئىشلىتىشكە باشلىدى",
   "Analytics_features_messages_Description": "ئابونتنىڭ ئۇچۇرلارغا قىلغان مەشغۇلاتلارغا ئالاقىدار بولغان ئۆزى بەلگىلەيدىغان ۋەقەلەرنىڭ كەينىگە چۈشۈش.",
   "Analytics_features_rooms_Description": "قانال ۋەياكى گۇرۇپپا مەشخۇلاتىغا ئالاقىدار بولغان ئۆزى بەلگىلەيدىغان ۋەقەلەرنىڭ كەينىگە چۈشۈش (قۇرۇش ، ئايرىلىش ،يۇيۇش .)",
@@ -507,7 +508,9 @@
   "Install_FxOs_follow_instructions": "ئۈسكۈنىدە ئەپنى قاچىلاشنى جەزملەشتۈرۈڭ ( ئەسكەرتىشكە ئاساسەن ' قاچىلاش' كۇنۇپكىسىنى چېكىڭ )",
   "Installation": "قاچىلاش",
   "Installed_at": "قاچىلىغاندا",
+  "Invitation_HTML": "HTMLتەكلىپ قىلىش ئىلخىتى",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "سىزنىڭ زىيارەت قىلغۇچىڭىزغا جەدىۋەلنى تولدۇرۇپ ئىلخەت يوللىغاننى چۈشەندۈرۈڭ",
+  "Invitation_HTML_Default": "</p> ھازىرقى قەدەر ئەڭ ئىلغار بولغان ئوچۇق كود پاراڭلىشىش ھەل قىلىش پىلانىنى سىناپ كۆرۈڭ !<p>يۆتكىلىپ[Site_URL]<h1>سىز ئاللىبۇرۇن تەكلىپ قىلىندىڭىز<strong>[Site_Name]</strong></h1>",
   "Integration_added": "توپلاشتۇرۇش ئاللىبۇرۇن قېتىلدى",
   "Integration_Incoming_WebHook": "توپلاشتۇرغۇچ WebHook قوللىماقچى بولغان",
   "Integration_New": "يېڭى توپلاشتۇرۇش",
@@ -529,9 +532,7 @@
   "Invalid_secret_URL_message": "تەمىنلىگەن تور بەت نامى ئىناۋەتسىز",
   "invisible": "يوشۇرۇن",
   "Invisible": "يوشۇرۇن",
-  "Invitation_HTML": "HTMLتەكلىپ قىلىش ئىلخىتى",
-  "Invitation_HTML_Default": "</p> ھازىرقى قەدەر ئەڭ ئىلغار بولغان ئوچۇق كود پاراڭلىشىش ھەل قىلىش پىلانىنى سىناپ كۆرۈڭ !<p>يۆتكىلىپ[Site_URL]<h1>سىز ئاللىبۇرۇن تەكلىپ قىلىندىڭىز<strong>[Site_Name]</strong></h1>",
-  "Invitation_HTML_Description": "ئايرىم ھالدا ئەپنىڭ ئىسمى ۋە تور بەت ئادرېسى بولىدۇ [Site_URL]ۋە </li><li> [Site_Name] بولسا قوبۇل قىلغۇچىنىڭ ئىلخىتى بولىدۇ .</li></ul> <br/><ul><li> [email]سىز تۆۋەنكى ئورۇن ئېلىش بەلگىسىنى ئىشلىتەلەيسىز :",
+  "Invitation_Email_Description": "ئايرىم ھالدا ئەپنىڭ ئىسمى ۋە تور بەت ئادرېسى بولىدۇ [Site_URL]ۋە </li><li> [Site_Name] بولسا قوبۇل قىلغۇچىنىڭ ئىلخىتى بولىدۇ .</li></ul> <br/><ul><li> [email]سىز تۆۋەنكى ئورۇن ئېلىش بەلگىسىنى ئىشلىتەلەيسىز :",
   "Invitation_Subject": "تەكلىپ قىلىش ئىلخىتى تېمىسى",
   "Invitation_Subject_Default": "غا تەكلىپ قىلىندىڭىز [Site_Name] سىز ئاللىبۇرۇن",
   "Invite_user_to_join_channel": "بىر ئەزانى بۇ قانالغا كىرىشكە تەكلىپ قىلىڭ",
@@ -1073,6 +1074,7 @@
   "to_see_more_details_on_how_to_integrate": "كۆپلىگەن توپلاشتۇرۇشنىڭ ئىنچىكە مەزمۇنىنى كۆرۈشكە قولايلىق.",
   "To_users": "ئەزاغا بېرىش",
   "Topic": "سۆھبەتنىڭ تېمىسى",
+  "Total_messages": "ئۇچۇرنىڭ ئومۇىي سانى",
   "Travel_and_Places": "ساياھەت ۋە جاي",
   "Trigger_removed": "قوزغاتقۇچ يۇيۇۋېتىلدى",
   "Trigger_Words": "قوزغاتقۇچى سۆز",
diff --git a/packages/rocketchat-i18n/i18n/uk.i18n.json b/packages/rocketchat-i18n/i18n/uk.i18n.json
index 0eca22c43f181eaac79d5c49be2900d364d7496b..5aee0746f842d7d7a6ecb76086a7db7bda49701c 100644
--- a/packages/rocketchat-i18n/i18n/uk.i18n.json
+++ b/packages/rocketchat-i18n/i18n/uk.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "Заборонено",
+  "500": "Внутрішня помилка сервера",
   "#channel": "#канал",
   "0_Errors_Only": "0 - Тільки помилки",
   "1_Errors_and_Information": "1 - Помилки та інформація",
   "2_Erros_Information_and_Debug": "2 - Помилки, інформація та налагодження",
-  "403": "Заборонено",
-  "500": "Внутрішня помилка сервера",
   "@username": "@логін",
   "@username_message": "@логін <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__username__ більше не __role__, за рішенням __user_by__",
@@ -57,13 +57,13 @@
   "Accounts_Email_Approved": "[ім'я]<br/><br/><p>Ваш обліковий запис було схвалено.</p>",
   "Accounts_Email_Approved_Subject": "Рахунок схвалено",
   "Accounts_Email_Deactivated": "[ім'я]<br/><br/><p>Ваш обліковий запис було вимкнено.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>Ласкаво просимо до <strong>[Site_Name]</strong></h1><p>Перейти до <a href=\"[Site_URL]\">[Site_URL]</a> і спробувати краще рішення чат з відкритим вихідним кодом на сьогоднішній день!</p>",
   "Accounts_Email_Deactivated_Subject": "Рахунок деактивовано",
   "Accounts_EmailVerification": "Підтвердження електронної пошти",
   "Accounts_EmailVerification_Description": "Переконайтеся, що у вас є правильні налаштування SMTP, щоб використовувати цю функцію",
+  "Accounts_Enrollment_Email_Subject_Default": "Ласкаво просимо на [Site_Name]",
   "Accounts_Enrollment_Email": "Зарахування Електронна пошта",
-  "Accounts_Enrollment_Email_Default": "<h1>Ласкаво просимо до <strong>[Site_Name]</strong></h1><p>Перейти до <a href=\"[Site_URL]\">[Site_URL]</a> і спробувати краще рішення чат з відкритим вихідним кодом на сьогоднішній день!</p>",
   "Accounts_Enrollment_Email_Description": "Ви можете використовувати <br/><ul><li>[name], [fname], [lname] повне ім'я користувача, ім'я або прізвище, відповідно.</li><li>Ви можете використовувати [email] для електронної пошти користувача.</li><li></li></ul>",
-  "Accounts_Enrollment_Email_Subject_Default": "Ласкаво просимо на [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "Закрити сесію користувача після закриття вікна",
   "Accounts_Iframe_api_method": "метод Апі",
   "Accounts_Iframe_api_url": "Апі Url",
@@ -177,12 +177,12 @@
   "Accounts_ShowFormLogin": "Показати на основі форм Ввійти",
   "Accounts_TwoFactorAuthentication_Enabled": "Увімкнути автентифікацію двох факторів",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Максимальна дельта",
+  "Accounts_UserAddedEmail_Default": "<h1>Ласкаво просимо до <strong>[Site_Name]</strong></h1><p> Перейти до <a href=\"[Site_URL]\">[Site_URL]</a> і спробувати краще рішення чат з відкритим вихідним кодом на сьогоднішній день! </p><p> Ви можете увійти в систему, використовуючи адресу електронної пошти: [email] і пароль: [password]. Можливо, вам буде потрібно змінити його після першого входу в систему.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "Максимальна дельта визначає, скільки токенів дійсні в будь-який момент часу. Токени генеруються кожні 30 секунд і діють для (30 * максимальної дельти) секунд. <br/>Приклад: якщо максимальна дельта дорівнює 10, кожен токен може бути використаний до 300 секунд до або після позначки часу. Це корисно, коли годинник клієнта не синхронізовано з сервером належним чином.",
   "Accounts_UseDefaultBlockedDomainsList": "Використовувати за замовчуванням Заблоковані Список доменів",
   "Accounts_UseDNSDomainCheck": "Використання домену DNS Перевірка",
-  "Accounts_UserAddedEmail_Default": "<h1>Ласкаво просимо до <strong>[Site_Name]</strong></h1><p> Перейти до <a href=\"[Site_URL]\">[Site_URL]</a> і спробувати краще рішення чат з відкритим вихідним кодом на сьогоднішній день! </p><p> Ви можете увійти в систему, використовуючи адресу електронної пошти: [email] і пароль: [password]. Можливо, вам буде потрібно змінити його після першого входу в систему.",
-  "Accounts_UserAddedEmail_Description": "Ви можете використовувати наступні наповнювачі: <br/><ul><li> [name], [fname], [lname] повне ім'я користувача, ім'я або прізвище, відповідно. </li><li> [email] для електронної пошти користувача. </li><li> [password] для пароля користувача. </li><li> [Site_Name] і [Site_URL] для імені додатки і URL відповідно. </li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "Ви були додані [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "Ви можете використовувати наступні наповнювачі: <br/><ul><li> [name], [fname], [lname] повне ім'я користувача, ім'я або прізвище, відповідно. </li><li> [email] для електронної пошти користувача. </li><li> [password] для пароля користувача. </li><li> [Site_Name] і [Site_URL] для імені додатки і URL відповідно. </li></ul>",
   "Activate": "активувати",
   "Activity": "діяльність",
   "Add": "додавати",
@@ -238,6 +238,7 @@
   "Allow_Marketing_Emails": "Дозволити маркетингові електронні листи",
   "Alphabetical": "В алфавітному порядку",
   "Always_open_in_new_window": "Дозволити відкривати у новому вікні",
+  "Analytics": "аналітика",
   "Analytics_features_enabled": "особливості Включено",
   "Analytics_features_messages_Description": "Треки призначені для користувача події, пов'язані з діями користувача робить на повідомленнях.",
   "Analytics_features_rooms_Description": "Треки призначені для користувача події, пов'язані з діями по каналу або групі (створення, залишити, видалити).",
@@ -816,6 +817,7 @@
   "Created_at_s_by_s_triggered_by_s": "Створено на <strong>%s</strong>на <strong>%s</strong>, яке запускається <strong>%s</strong>",
   "CRM_Integration": "Інтеграція з CRM",
   "CROWD_Reject_Unauthorized": "Відхилити неавторизоване",
+  "Crowd_sync_interval_Description": "Інтервал між синхронізаціями. Приклад \"кожні 24 години\" або \"в перший день тижня\", інші приклади в [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "поточні Чати",
   "Current_Status": "Поточний стан",
   "Custom": "виготовлений на замовлення",
@@ -1339,8 +1341,10 @@
   "Install_package": "Встановити пакет",
   "Installation": "установка",
   "Installed_at": "встановлена ​​на",
+  "Invitation_HTML": "запрошення HTML",
   "Instance_Record": "Запис інстанції",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Інструкції для вашого відвідувача заповнити форму, щоб відправити повідомлення",
+  "Invitation_HTML_Default": "<h1>Ви були запрошені <strong>[Site_Name]</strong></h1><p> Перейти до [Site_URL] і спробувати краще рішення чат з відкритим вихідним кодом на сьогоднішній день! </p>",
   "Insurance": "Страхування",
   "Integration_added": "Інтеграція була додана",
   "Integration_Advanced_Settings": "Розширені налаштування",
@@ -1406,9 +1410,7 @@
   "invisible": "невидимий",
   "Invisible": "Прихований",
   "Invitation": "Запрошення",
-  "Invitation_HTML": "запрошення HTML",
-  "Invitation_HTML_Default": "<h1>Ви були запрошені <strong>[Site_Name]</strong></h1><p> Перейти до [Site_URL] і спробувати краще рішення чат з відкритим вихідним кодом на сьогоднішній день! </p>",
-  "Invitation_HTML_Description": "Ви можете використовувати наступні наповнювачі: <br/><ul><li> [email] для електронної пошти одержувача. </li><li> [Site_Name] і [Site_URL] для імені додатки і URL відповідно. </li></ul>",
+  "Invitation_Email_Description": "Ви можете використовувати наступні наповнювачі: <br/><ul><li> [email] для електронної пошти одержувача. </li><li> [Site_Name] і [Site_URL] для імені додатки і URL відповідно. </li></ul>",
   "Invitation_Subject": "запрошення Тема",
   "Invitation_Subject_Default": "Ви були запрошені [Site_Name]",
   "Invite_user_to_join_channel": "Запросити одного користувача приєднатися до цього каналу",
@@ -2525,6 +2527,7 @@
   "Tokens_Required_Input_Error": "Недійсні введені токени.",
   "Tokens_Required_Input_Placeholder": "Токени імен активів",
   "Topic": "тема",
+  "Total_messages": "всього повідомлень",
   "Tourism": "Туризм",
   "Transcript_Enabled": "Попросіть відвідувачів, чи хотіли б вони стенограму після того, як чат був закритий",
   "Transcript_message": "Повідомлення для показу при запиті про транскрипт",
@@ -2585,6 +2588,7 @@
   "Upload_file_description": "Опис файлу",
   "Upload_file_name": "Ім'я файлу",
   "Upload_file_question": "Завантажити файл?",
+  "Upload_Folder_Path": "Завантажте шлях до папки",
   "Upload_user_avatar": "Завантажити аватар",
   "Uploading_file": "Завантаження файлу ...",
   "Uptime": "Uptime",
@@ -2596,6 +2600,7 @@
   "Use_initials_avatar": "Використовуйте ваші ім'я користувача ініціали",
   "Use_minor_colors": "Використовуйте невелику колірну палітру (за замовчуванням успадковують основні кольори)",
   "Use_service_avatar": "Використовуйте% Аватар",
+  "Verification_Email": "Натисніть <a href=\"[Verification_Url]\">тут</a>, щоб підтвердити свій обліковий запис.",
   "Use_this_username": "Використовувати це ім'я користувача ",
   "Use_uploaded_avatar": "Використовувати завантажений аватар",
   "Use_url_for_avatar": "Використовуйте URL для аватара",
@@ -2692,7 +2697,6 @@
   "Validate_email_address": "Підтвердити адресу електронної пошти",
   "Verification": "Верифікація",
   "Verification_Description": "Ви можете використовувати наступні заповнювачі: <br/><ul><li>[Verification_Url] для URL-адреси для підтвердження.</li><li>[ім'я], [ім'я-псевдоніма], [Lname] для повного імені користувача, прізвища або прізвища, відповідно.</li><li>[email] для електронної пошти користувача.</li><li>[Назва сайту] і [Site_URL] для імені додатка та URL-адреси, відповідно.</li></ul>",
-  "Verification_Email": "Натисніть <a href=\"[Verification_Url]\">тут</a>, щоб підтвердити свій обліковий запис.",
   "Verification_email_sent": "Лист з підтвердженням відправлено",
   "Verification_Email_Subject": "[Site_Name] - Перевірте свій обліковий запис",
   "Verified": "перевірений",
@@ -2753,6 +2757,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Ми в автономному режимі. Вибачте за незручності.",
   "We_have_sent_password_email": "Ми відправили вам по електронній пошті з інструкціями по зміні пароля. Якщо ви не отримуєте електронну пошту найближчим часом, будь ласка, повернутися і спробувати знову.",
   "We_have_sent_registration_email": "Ми відправили вам по електронній пошті, щоб підтвердити свою реєстрацію. Якщо ви не отримуєте електронну пошту найближчим часом, будь ласка, повернутися і спробувати знову.",
+  "Webdav_Server_URL": "URL-адреса доступу до сервера WebDAV",
+  "Webdav_Username": "Ім'я користувача WebDAV",
+  "Webdav_Password": "Пароль WebDAV",
   "Webhook_URL": "URL Webhook",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "Прямий аудіовихід від%s",
@@ -2796,7 +2803,7 @@
   "You_have_been_muted": "Ви були відключені і не можуть говорити в цій кімнаті",
   "You_have_n_codes_remaining": "Ви залишили __number__ коди.",
   "You_have_not_verified_your_email": "Ви не підтвердили свою електронну пошту.",
-  "You_have_successfully_unsubscribed": "Ви успішно відписалися від нашого списку Mailling.",
+  "You_have_successfully_unsubscribed": "Ви успішно відписалися від нашого списку розсилки.",
   "You_have_to_set_an_API_token_first_in_order_to_use_the_integration": "Перш за все, ви повинні встановити токен API, щоб використовувати інтеграцію.",
   "You_must_join_to_view_messages_in_this_channel": "Ви повинні приєднатися для перегляду повідомлень у цьому каналі",
   "You_need_confirm_email": "Для входу необхідно підтвердити e-mail!",
@@ -2804,7 +2811,7 @@
   "You_need_to_change_your_password": "Ви повинні змінити свій пароль",
   "You_need_to_type_in_your_password_in_order_to_do_this": "Ви повинні ввести свій пароль для того, щоб зробити це!",
   "You_need_to_type_in_your_username_in_order_to_do_this": "Вам необхідно ввести ваше ім'я користувача для того, щоб зробити це!",
-  "You_need_to_verifiy_your_email_address_to_get_notications": "Вам необхідно verifiy свою адресу електронної пошти для отримання повідомлень",
+  "You_need_to_verifiy_your_email_address_to_get_notications": "Вам необхідно перевірити свою адресу електронної пошти для отримання повідомлень",
   "You_need_to_write_something": "Вам потрібно написати що-небудь!",
   "You_should_inform_one_url_at_least": "Ви повинні визначити принаймні один URL.",
   "You_should_name_it_to_easily_manage_your_integrations": "Ви повинні назвати його легко управляти інтеграцій.",
@@ -2821,4 +2828,4 @@
   "Your_push_was_sent_to_s_devices": "Ваш поштовх був відправлений в %s пристроїв",
   "Your_server_link": "Ваш серверний зв'язок",
   "Your_workspace_is_ready": "Ваша робоча область готова до використання 🎉"
-}
\ No newline at end of file
+}
diff --git a/packages/rocketchat-i18n/i18n/vi-VN.i18n.json b/packages/rocketchat-i18n/i18n/vi-VN.i18n.json
index b6582bb6c16a60501edf4ad2fa9b8b80a3b8bcf7..4b0ecf2daeeecb80221b290d011a04eb939ad3ff 100644
--- a/packages/rocketchat-i18n/i18n/vi-VN.i18n.json
+++ b/packages/rocketchat-i18n/i18n/vi-VN.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "Bị cấm",
+  "500": "Lỗi máy chủ",
   "#channel": "kênh ",
   "0_Errors_Only": "0 - Chỉ lỗi",
   "1_Errors_and_Information": "1- Lỗi và thông tin",
   "2_Erros_Information_and_Debug": "2 - Lỗi, thông tin và debug",
-  "403": "Bị cấm",
-  "500": "Lỗi máy chủ",
   "@username": "@username",
   "Accept": "Đồng ý",
   "Accept_incoming_livechat_requests_even_if_there_are_no_online_agents": "Cho phép gửi yêu cầu livechat ngay cả khi không có nhân viên nào online",
@@ -54,13 +54,13 @@
   "Accounts_Email_Approved": "[name] <br/><br/><p>Tài khoản của bạn đã được chấp thuận.</p>",
   "Accounts_Email_Approved_Subject": "Tài khoản được chấp thuận",
   "Accounts_Email_Deactivated": "[name] <br/><br/><p>Tài khoản của bạn đã bị vô hiệu hoá.</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>Chào mừng đến <strong>[Site_Name]</strong></h1><p>Truy cập <a href=\"[Site_URL]\">[Site_URL]</a> và trải nghiệm nền tảng chat trực tuyến tốt nhất hiện nay!</p>",
   "Accounts_Email_Deactivated_Subject": "Tài khoản đã ngừng hoạt động",
   "Accounts_EmailVerification": "Xác thực email",
   "Accounts_EmailVerification_Description": "Chắc chắn rằng bạn đã cấu hình thông tin SMTP chính xác trước khi sử dụng tính năng này",
+  "Accounts_Enrollment_Email_Subject_Default": "Chào mừng đến [Site_Name]",
   "Accounts_Enrollment_Email": "Email đăng ký",
-  "Accounts_Enrollment_Email_Default": "<h1>Chào mừng đến <strong>[Site_Name]</strong></h1><p>Truy cập <a href=\"[Site_URL]\">[Site_URL]</a> và trải nghiệm nền tảng chat trực tuyến tốt nhất hiện nay!</p>",
   "Accounts_Enrollment_Email_Description": "Bạn có thể các sử dụng placeholder sau: <br/><ul><li>[name], [fname], [lname] tương ứng với họ và tên, tên hoặc họ của người dùng.</li><li>[email] là địa chỉ email của người dùng.</li><li>[Site_Name] và [Site_URL] là tên và URL của ứng dụng.</li></ul>",
-  "Accounts_Enrollment_Email_Subject_Default": "Chào mừng đến [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "Xóa phiên đăng nhập của người dùng khi đóng cửa sổ",
   "Accounts_Iframe_api_method": "Phương thức API",
   "Accounts_Iframe_api_url": "API URL",
@@ -168,12 +168,12 @@
   "Accounts_ShowFormLogin": "Hiện form-based đăng nhập",
   "Accounts_TwoFactorAuthentication_Enabled": "Bật xác thực hai yếu tố",
   "Accounts_TwoFactorAuthentication_MaxDelta": "Delta tối đa",
+  "Accounts_UserAddedEmail_Default": "<h1>Chào mừng đến <strong>[Site_Name]</strong></h1><p>Hãy truy cập <a href=\"[Site_URL]\">[Site_URL]</a> và trải nghiệm giải pháp mã nguồn mở tuyệt vời nhất hiện nay!</p><p>Bạn có thể đăng nhập sử dụng hòm thư: [email] và mật khẩu: [password]. Bạn có thể được yêu cầu thay đổi nó sau lần đăng nhập đầu tiên.",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "Delta Tối đa xác định có bao nhiêu mã thông báo có giá trị tại bất kỳ thời điểm nào. Tokens được tạo ra mỗi 30 giây, và có giá trị cho (30 * Tối đa Delta) giây. <br/>Ví dụ: Với Delta tối đa được đặt là 10, mỗi mã thông báo có thể được sử dụng tối đa 300 giây trước hoặc sau khi đó là dấu thời gian. Điều này rất hữu ích khi đồng hồ của khách hàng không được đồng bộ hóa đúng với máy chủ.",
   "Accounts_UseDefaultBlockedDomainsList": "Sử dụng danh sách tên miền bị chặn mặc định",
   "Accounts_UseDNSDomainCheck": "Sử dụng DNS Domain Check",
-  "Accounts_UserAddedEmail_Default": "<h1>Chào mừng đến <strong>[Site_Name]</strong></h1><p>Hãy truy cập <a href=\"[Site_URL]\">[Site_URL]</a> và trải nghiệm giải pháp mã nguồn mở tuyệt vời nhất hiện nay!</p><p>Bạn có thể đăng nhập sử dụng hòm thư: [email] và mật khẩu: [password]. Bạn có thể được yêu cầu thay đổi nó sau lần đăng nhập đầu tiên.",
-  "Accounts_UserAddedEmail_Description": "Bạn có thể sử dụng các placeholder sau: <br/><ul><li>[name], [fname], [lname] tương ứng cho tên, họ hoặc họ của người dùng, tương ứng.</li><li>[email] cho email của người dùng.</li><li>[password] cho mật khẩu của người dùng.</li><li>[Site_Name] và [Site_URL] cho Tên Ứng dụng và URL tương ứng.</li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "Bạn đã được thêm vào [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "Bạn có thể sử dụng các placeholder sau: <br/><ul><li>[name], [fname], [lname] tương ứng cho tên, họ hoặc họ của người dùng, tương ứng.</li><li>[email] cho email của người dùng.</li><li>[password] cho mật khẩu của người dùng.</li><li>[Site_Name] và [Site_URL] cho Tên Ứng dụng và URL tương ứng.</li></ul>",
   "Activate": "Đang hoạt động",
   "Activity": "Hoạt động",
   "Add": "Thêm",
@@ -229,6 +229,7 @@
   "Allow_Marketing_Emails": "Cho phép email tiếp thị",
   "Alphabetical": "Theo thứ tự chữ cái",
   "Always_open_in_new_window": "Luôn mở trong cửa sổ mới",
+  "Analytics": "phân tích",
   "Analytics_features_enabled": "Tính năng Bật",
   "Analytics_features_messages_Description": "Theo dõi các sự kiện tùy chỉnh liên quan đến hành động mà người dùng thực hiện trên tin nhắn.",
   "Analytics_features_rooms_Description": "Theo dõi các sự kiện tùy chỉnh liên quan đến các hành động trên kênh hoặc nhóm (tạo, bỏ đi, xóa).",
@@ -807,6 +808,7 @@
   "Created_at_s_by_s_triggered_by_s": "Tạo tại <strong>%s</strong>bởi <strong>%s</strong>được kích hoạt bởi <strong>%s</strong>",
   "CRM_Integration": "Tích hợp CRM",
   "CROWD_Reject_Unauthorized": "Từ chối không hợp lệ",
+  "Crowd_sync_interval_Description": "Khoảng giữa các lần đồng bộ hóa. Ví dụ \"mỗi 24 giờ\" hoặc \"vào ngày đầu tiên trong tuần\", thêm ví dụ tại [Cron Text Parser] (http://bunkat.github.io/later/parsers.html#text)",
   "Current_Chats": "Cuộc trò chuyện hiện tại",
   "Current_Status": "Tình trạng hiện tại",
   "Custom": "Tuỳ chỉnh",
@@ -1330,8 +1332,10 @@
   "Install_package": "Cài đặt gói",
   "Installation": "Cài đặt",
   "Installed_at": "Được cài đặt tại",
+  "Invitation_HTML": "HTML mời",
   "Instance_Record": "Bản ghi Tư cách",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "Hướng dẫn khách truy cập của bạn điền vào biểu mẫu để gửi tin nhắn",
+  "Invitation_HTML_Default": "<h1>Bạn đã được mời đến <strong>[Site_Name]</strong></h1><p>Đi đến [Site_URL] và thử giải pháp trò chuyện nguồn mở tốt nhất hiện có ngay hôm nay!</p>",
   "Insurance": "Bảo hiểm",
   "Integration_added": "Tích hợp đã được thêm",
   "Integration_Advanced_Settings": "Cài đặt nâng cao",
@@ -1397,9 +1401,7 @@
   "invisible": "vô hình",
   "Invisible": "Vô hình",
   "Invitation": "Lời mời",
-  "Invitation_HTML": "HTML mời",
-  "Invitation_HTML_Default": "<h1>Bạn đã được mời đến <strong>[Site_Name]</strong></h1><p>Đi đến [Site_URL] và thử giải pháp trò chuyện nguồn mở tốt nhất hiện có ngay hôm nay!</p>",
-  "Invitation_HTML_Description": "Bạn có thể sử dụng các placeholder sau: <br/><ul><li>[email] cho email người nhận.</li><li>[Site_Name] và [Site_URL] cho Tên Ứng dụng và URL tương ứng.</li></ul>",
+  "Invitation_Email_Description": "Bạn có thể sử dụng các placeholder sau: <br/><ul><li>[email] cho email người nhận.</li><li>[Site_Name] và [Site_URL] cho Tên Ứng dụng và URL tương ứng.</li></ul>",
   "Invitation_Subject": "Chủ đề Lời mời",
   "Invitation_Subject_Default": "Bạn đã được mời tham gia [Site_Name]",
   "Invite_user_to_join_channel": "Mời một người dùng tham gia kênh này",
@@ -2516,6 +2518,7 @@
   "Tokens_Required_Input_Error": "Mã thông báo đã nhập không hợp lệ.",
   "Tokens_Required_Input_Placeholder": "Tên nội dung mã thông báo",
   "Topic": "Đề tài",
+  "Total_messages": "Tổng tin nhắn",
   "Tourism": "Du lịch",
   "Transcript_Enabled": "Hỏi Khách xem nếu họ muốn bản ghi lại sau khi trò chuyện đã kết thúc",
   "Transcript_message": "Thông báo để hiển thị khi Yêu cầu Bản ghi",
@@ -2576,6 +2579,7 @@
   "Upload_file_description": "Mô tả tập tin",
   "Upload_file_name": "Tên tệp",
   "Upload_file_question": "Cập nhật dử liệu?",
+  "Upload_Folder_Path": "Tải lên đường dẫn thư mục",
   "Upload_user_avatar": "Tải lên hình đại diện",
   "Uploading_file": "Đang tải tệp lên ...",
   "Uptime": "Thời gian hoạt động",
@@ -2587,6 +2591,7 @@
   "Use_initials_avatar": "Sử dụng chữ cái tên người dùng",
   "Use_minor_colors": "Sử dụng bảng màu nhỏ (mặc định thừa kế các màu chính)",
   "Use_service_avatar": "Sử dụng avatar%s",
+  "Verification_Email": "Nhấp vào <a href=\"[Verification_Url]\">ở đây</a>để xác minh tài khoản của bạn.",
   "Use_this_username": "Sử dụng tên người dùng này",
   "Use_uploaded_avatar": "Sử dụng hình đại diện đã tải lên",
   "Use_url_for_avatar": "Sử dụng URL cho hình đại diện",
@@ -2683,7 +2688,6 @@
   "Validate_email_address": "Xác nhận Địa chỉ Email",
   "Verification": "Xác minh",
   "Verification_Description": "Bạn có thể sử dụng các placeholder sau: <br/><ul><li>[Verification_Url] cho URL xác minh.</li><li>[name], [fname], [lname] tương ứng cho tên, họ hoặc họ của người dùng, tương ứng.</li><li>[email] cho email của người dùng.</li><li>[Site_Name] và [Site_URL] cho Tên Ứng dụng và URL tương ứng.</li></ul>",
-  "Verification_Email": "Nhấp vào <a href=\"[Verification_Url]\">ở đây</a>để xác minh tài khoản của bạn.",
   "Verification_email_sent": "Gửi email xác minh",
   "Verification_Email_Subject": "[Site_Name] - Xác minh tài khoản của bạn",
   "Verified": "Đã xác minh",
@@ -2744,6 +2748,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "Chúng tôi đang offline. Xin lỗi vì sự bất tiện.",
   "We_have_sent_password_email": "Chúng tôi đã gửi cho bạn một email với hướng dẫn đặt lại mật khẩu. Nếu bạn không nhận được email sớm, vui lòng quay lại và thử lại.",
   "We_have_sent_registration_email": "Chúng tôi đã gửi cho bạn một email để xác nhận đăng ký của bạn. Nếu bạn không nhận được email sớm, vui lòng quay lại và thử lại.",
+  "Webdav_Server_URL": "URL truy cập máy chủ WebDAV",
+  "Webdav_Username": "Tên người dùng WebDAV",
+  "Webdav_Password": "Mật khẩu WebDAV",
   "Webhook_URL": "URL Webhook",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "Gọi âm thanh trực tiếp từ%s",
diff --git a/packages/rocketchat-i18n/i18n/zh-HK.i18n.json b/packages/rocketchat-i18n/i18n/zh-HK.i18n.json
index 93336f3114b51098942a66a864c0f944a5b213af..fc73c19bb65846c90a07ba821242295d54f9aca6 100644
--- a/packages/rocketchat-i18n/i18n/zh-HK.i18n.json
+++ b/packages/rocketchat-i18n/i18n/zh-HK.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "被禁止",
+  "500": "內部伺服器錯誤",
   "#channel": "#頻道",
   "0_Errors_Only": "0  - 仅错误",
   "1_Errors_and_Information": "1  - 错误和信息",
   "2_Erros_Information_and_Debug": "2  - 错误,信息和调试",
-  "403": "被禁止",
-  "500": "內部伺服器錯誤",
   "@username": "@使用者",
   "@username_message": "@使用者 <message>",
   "__username__is_no_longer__role__defined_by__user_by_": " __user_by__  已把 __username__ 從 __role__ 中移除",
@@ -57,13 +57,13 @@
   "Accounts_Email_Approved": "[name] <br/><br/><p>您的帐号已获批准。</p>",
   "Accounts_Email_Approved_Subject": "帐号已被批准",
   "Accounts_Email_Deactivated": "[name] <br/><br/><p>您的帐户已停用。</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>欢迎<strong>[Site_Name]</strong></h1><p>转到<a href=\"[Site_URL]\">[SITE_URL]</a>并尝试今天提供的最佳开源聊天解决方案!</p>",
   "Accounts_Email_Deactivated_Subject": "帐户停用",
   "Accounts_EmailVerification": "邮件验证",
   "Accounts_EmailVerification_Description": "确保您有正确的SMTP设置来使用此功能",
+  "Accounts_Enrollment_Email_Subject_Default": "欢迎使用[Site_Name]",
   "Accounts_Enrollment_Email": "注册电子邮件",
-  "Accounts_Enrollment_Email_Default": "<h1>欢迎<strong>[Site_Name]</strong></h1><p>转到<a href=\"[Site_URL]\">[SITE_URL]</a>并尝试今天提供的最佳开源聊天解决方案!</p>",
   "Accounts_Enrollment_Email_Description": "您可以分别使用以下占位符:<br/><ul><li>[名称],[名称],[名称]分别为用户的全名,名字或姓氏。用户的电子邮件为</li><li>[email]。分别为应用程序名称和URL分别为</li><li>[Site_Name]和[Site_URL]。</li></ul>",
-  "Accounts_Enrollment_Email_Subject_Default": "欢迎使用[Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "在窗口关闭时忘记用户会话",
   "Accounts_Iframe_api_method": "API 方法",
   "Accounts_Iframe_api_url": "API 網址",
@@ -177,12 +177,12 @@
   "Accounts_ShowFormLogin": "显示基于表单的登录",
   "Accounts_TwoFactorAuthentication_Enabled": "启用双因素身份验证",
   "Accounts_TwoFactorAuthentication_MaxDelta": "最大Delta",
+  "Accounts_UserAddedEmail_Default": "<h1>欢迎<strong>[Site_Name]</strong></h1><p>到<a href=\"[Site_URL]\">[SITE_URL]</a>,并尝试了当今最先进的开源聊天解决方案!</p><p>您可以使用电子邮件登录:[电子邮件]和密码:[密码]。您可能需要在首次登录后更改它。",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "最大增量确定在任何给定时间有多少令牌有效。令牌每30秒产生一次,并且对于(30 *最大增量)秒有效。 <br/>示例:将最大差值设置为10时,每个令牌可以在时间戳之前或之后使用达300秒。当客户端的时钟与服务器没有正确同步时,这很有用。",
   "Accounts_UseDefaultBlockedDomainsList": "使用默认阻止的域列表",
   "Accounts_UseDNSDomainCheck": "使用DNS域名检查",
-  "Accounts_UserAddedEmail_Default": "<h1>欢迎<strong>[Site_Name]</strong></h1><p>到<a href=\"[Site_URL]\">[SITE_URL]</a>,并尝试了当今最先进的开源聊天解决方案!</p><p>您可以使用电子邮件登录:[电子邮件]和密码:[密码]。您可能需要在首次登录后更改它。",
-  "Accounts_UserAddedEmail_Description": "您可以分别使用以下占位符:<br/><ul><li>[名称],[名称],[名称]分别为用户的全名,名字或姓氏。用户的电子邮件为</li><li>[email]。</li><li>[密码]作为用户的密码。分别为应用程序名称和URL分别为</li><li>[Site_Name]和[Site_URL]。</li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "您已被添加到[Site_Name]",
+  "Accounts_UserAddedEmail_Description": "您可以分别使用以下占位符:<br/><ul><li>[名称],[名称],[名称]分别为用户的全名,名字或姓氏。用户的电子邮件为</li><li>[email]。</li><li>[密码]作为用户的密码。分别为应用程序名称和URL分别为</li><li>[Site_Name]和[Site_URL]。</li></ul>",
   "Activate": "激活",
   "Activity": "活动",
   "Add": "加",
@@ -238,6 +238,7 @@
   "Allow_Marketing_Emails": "允许营销电子邮件",
   "Alphabetical": "按英文字母顺序",
   "Always_open_in_new_window": "始终在新窗口中打开",
+  "Analytics": "分析",
   "Analytics_features_enabled": "功能已启用",
   "Analytics_features_messages_Description": "跟踪与用户在消息上执行的操作相关的自定义事件。",
   "Analytics_features_rooms_Description": "跟踪与频道或群组上的操作相关的自定义事件(创建,离开,删除)。",
@@ -816,6 +817,7 @@
   "Created_at_s_by_s_triggered_by_s": "由<strong>%s</strong>触发,由<strong>%s</strong>创建于<strong>%s</strong>",
   "CRM_Integration": "CRM集成",
   "CROWD_Reject_Unauthorized": "拒绝未经授权",
+  "Crowd_sync_interval_Description": "同步之间的时间间隔。例如“每24小时”或“每周的第一天”,在[Cron Text Parser](http://bunkat.github.io/later/parsers.html#text)上的更多示例,",
   "Current_Chats": "当前聊天",
   "Current_Status": "当前状态",
   "Custom": "习惯",
@@ -1339,8 +1341,10 @@
   "Install_package": "安装软件包",
   "Installation": "安装",
   "Installed_at": "安装在",
+  "Invitation_HTML": "邀请邮件HTML",
   "Instance_Record": "实例记录",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "给您的访问者的说明填写表单发送消息",
+  "Invitation_HTML_Default": "<h1>您已受邀<strong>[Site_Name]</strong></h1><p>转到[Site_URL]并尝试使用今天最好的开源聊天解决方案!</p>",
   "Insurance": "保险",
   "Integration_added": "集成已添加",
   "Integration_Advanced_Settings": "高级设置",
@@ -1406,9 +1410,7 @@
   "invisible": "隐身",
   "Invisible": "隐身",
   "Invitation": "请帖",
-  "Invitation_HTML": "邀请邮件HTML",
-  "Invitation_HTML_Default": "<h1>您已受邀<strong>[Site_Name]</strong></h1><p>转到[Site_URL]并尝试使用今天最好的开源聊天解决方案!</p>",
-  "Invitation_HTML_Description": "您可以使用以下占位符:<br/><ul><li>[电子邮件]收件人电子邮件。分别为应用程序名称和URL分别为</li><li>[Site_Name]和[Site_URL]。</li></ul>",
+  "Invitation_Email_Description": "您可以使用以下占位符:<br/><ul><li>[电子邮件]收件人电子邮件。分别为应用程序名称和URL分别为</li><li>[Site_Name]和[Site_URL]。</li></ul>",
   "Invitation_Subject": "邀请邮件主题",
   "Invitation_Subject_Default": "您已被邀请加入[Site_Name]",
   "Invite_user_to_join_channel": "邀请一位用户加入此频道",
@@ -2525,6 +2527,7 @@
   "Tokens_Required_Input_Error": "输入的令牌无效。",
   "Tokens_Required_Input_Placeholder": "令牌资产名称",
   "Topic": "话题",
+  "Total_messages": "消息总数",
   "Tourism": "旅游",
   "Transcript_Enabled": "询问访问者是否会在聊天结束后收到抄本",
   "Transcript_message": "询问笔录时要显示的信息",
@@ -2585,6 +2588,7 @@
   "Upload_file_description": "文件描述",
   "Upload_file_name": "文件名",
   "Upload_file_question": "上传文件?",
+  "Upload_Folder_Path": "上传文件夹路径",
   "Upload_user_avatar": "上传头像",
   "Uploading_file": "上传文件...",
   "Uptime": "正常运行时间",
@@ -2596,6 +2600,7 @@
   "Use_initials_avatar": "使用您用户名的首字母缩写",
   "Use_minor_colors": "使用次要调色板(默认继承主要颜色)",
   "Use_service_avatar": "使用 %s 头像",
+  "Verification_Email": "点击<a href=\"[Verification_Url]\">此处</a>验证您的帐户。",
   "Use_this_username": "使用此用户名",
   "Use_uploaded_avatar": "使用上传头像",
   "Use_url_for_avatar": "为头像使用网址",
@@ -2692,7 +2697,6 @@
   "Validate_email_address": "验证电子邮件地址",
   "Verification": "验证",
   "Verification_Description": "您可以使用以下占位符:<br/><ul><li>[Verification_Url]获取验证网址。</li><li>[姓名],[fname],[lname]分别代表用户的全名,名字或姓氏。用户的电子邮件为</li><li>[email]。分别为应用程序名称和URL分别为</li><li>[Site_Name]和[Site_URL]。</li></ul>",
-  "Verification_Email": "点击<a href=\"[Verification_Url]\">此处</a>验证您的帐户。",
   "Verification_email_sent": "已发送验证邮件",
   "Verification_Email_Subject": "[Site_Name]  - 验证您的帐户",
   "Verified": "验证",
@@ -2753,6 +2757,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "我们在线。抱歉给你带来不便。",
   "We_have_sent_password_email": "我们已经向您发送密码重置的电子邮件。如果您没有收到邮件,请重试。",
   "We_have_sent_registration_email": "我们已经向您发出一封电子邮件,以确认您的注册。如果您没有收到邮件,请重试。",
+  "Webdav_Server_URL": "WebDAV服务器访问URL",
+  "Webdav_Username": "WebDAV用户名",
+  "Webdav_Password": "WebDAV密码",
   "Webhook_URL": "Webhook URL",
   "Webhooks": "网络挂接",
   "WebRTC_direct_audio_call_from_%s": "直接从%s进行音频通话",
diff --git a/packages/rocketchat-i18n/i18n/zh-TW.i18n.json b/packages/rocketchat-i18n/i18n/zh-TW.i18n.json
index 6f01136363cc50140ea416d7bcb7ef7f8b6893c9..f4c74e63a25b95088db7ef273ee27b3a1f41d37b 100644
--- a/packages/rocketchat-i18n/i18n/zh-TW.i18n.json
+++ b/packages/rocketchat-i18n/i18n/zh-TW.i18n.json
@@ -1,10 +1,10 @@
 {
+  "403": "被禁止",
+  "500": "內部伺服器錯誤",
   "#channel": "#頻道",
   "0_Errors_Only": "0 - 僅錯誤",
   "1_Errors_and_Information": "1  - 顯示錯誤及資訊",
   "2_Erros_Information_and_Debug": "2  - 錯誤、訊息與除錯",
-  "403": "被禁止",
-  "500": "內部伺服器錯誤",
   "@username": "@使用者名稱",
   "@username_message": "@使用者名稱 <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__username__不再是__role__,由__user_by__",
@@ -57,13 +57,13 @@
   "Accounts_Email_Approved": "[name]<br/><br/><p>您的帳號已獲批准。</p>",
   "Accounts_Email_Approved_Subject": "帳號已被批准",
   "Accounts_Email_Deactivated": "[name]<br/><br/><p>您的帳戶已停用。</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>歡迎來到<strong>[Site_Name]</strong></h1><p>轉到<a href=\"[Site_URL]\">[Site_URL]</a>,並嘗試了當今最先進的開源聊天解決方案! </p>",
   "Accounts_Email_Deactivated_Subject": "帳戶停用",
   "Accounts_EmailVerification": "Emailé©—è­‰",
   "Accounts_EmailVerification_Description": "確定 SMTP 設定無誤以使用本功能",
+  "Accounts_Enrollment_Email_Subject_Default": "歡迎來到 [Site_Name]",
   "Accounts_Enrollment_Email": "註冊電子郵件",
-  "Accounts_Enrollment_Email_Default": "<h1>歡迎來到<strong>[Site_Name]</strong></h1><p>轉到<a href=\"[Site_URL]\">[Site_URL]</a>,並嘗試了當今最先進的開源聊天解決方案! </p>",
   "Accounts_Enrollment_Email_Description": "您可以分別使用[name],[fname],[lname]作為用戶的全名,名字或姓氏。 <br/>您可以使用[email]作為用戶的電子郵件。",
-  "Accounts_Enrollment_Email_Subject_Default": "歡迎來到 [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "在窗口關閉時忘記用戶會話",
   "Accounts_Iframe_api_method": "API 方法",
   "Accounts_Iframe_api_url": "API 網址",
@@ -177,12 +177,12 @@
   "Accounts_ShowFormLogin": "顯示表單形式的登入畫面",
   "Accounts_TwoFactorAuthentication_Enabled": "啟用雙因素身份驗證",
   "Accounts_TwoFactorAuthentication_MaxDelta": "最大Delta",
+  "Accounts_UserAddedEmail_Default": "<h1>歡迎來到<strong>[Site_Name]</strong></h1><p>轉到<a href=\"[Site_URL]\">[Site_URL]</a>,並嘗試了當今最先進的開源聊天解決方案! </p><p>您可以登陸使用您的電子郵件:[email]和密碼:[password]。您可能需要您首次登錄後更改。",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "最大增量確定在任何給定時間有多少令牌有效。令牌每30秒產生一次,並且對於(30 *最大增量)秒有效。 <br/>示例:將最大差值設置為10時,每個令牌可以在時間戳之前或之後使用達300秒。當客戶端的時鐘與服務器沒有正確同步時,這很有用。",
   "Accounts_UseDefaultBlockedDomainsList": "使用預設的禁用網域列表",
   "Accounts_UseDNSDomainCheck": "使用DNS域名查詢",
-  "Accounts_UserAddedEmail_Default": "<h1>歡迎來到<strong>[Site_Name]</strong></h1><p>轉到<a href=\"[Site_URL]\">[Site_URL]</a>,並嘗試了當今最先進的開源聊天解決方案! </p><p>您可以登陸使用您的電子郵件:[email]和密碼:[password]。您可能需要您首次登錄後更改。",
-  "Accounts_UserAddedEmail_Description": "您可以使用以下佔位符: <br/><ul><li> [name],[fname],[lname]為用戶的全名,名字或姓氏,分別。 </li><li> [email]為用戶的電子郵件。 </li><li> [password]為用戶的密碼。 </li><li> [Site_Name]和[Site_URL]分別為應用程序的名稱和網址。 </li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "您已被新增至 [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "您可以使用以下佔位符: <br/><ul><li> [name],[fname],[lname]為用戶的全名,名字或姓氏,分別。 </li><li> [email]為用戶的電子郵件。 </li><li> [password]為用戶的密碼。 </li><li> [Site_Name]和[Site_URL]分別為應用程序的名稱和網址。 </li></ul>",
   "Activate": "啟用",
   "Activity": "活動記錄",
   "Add": "新增",
@@ -238,6 +238,7 @@
   "Allow_Marketing_Emails": "允許營銷電子郵件",
   "Alphabetical": "按英文字母順序",
   "Always_open_in_new_window": "始終在新窗口中打開",
+  "Analytics": "分析",
   "Analytics_features_enabled": "已啟用的功能",
   "Analytics_features_messages_Description": "跟踪與用戶做的郵件執行操作自定義事件。",
   "Analytics_features_rooms_Description": "跟踪相關的通道或一組(創建,離開,刪除)上的操作自定義事件。",
@@ -816,6 +817,7 @@
   "Created_at_s_by_s_triggered_by_s": "由<strong>%s</strong>觸發,由<strong>%s</strong>創建於<strong>%s</strong>",
   "CRM_Integration": "CRM集成",
   "CROWD_Reject_Unauthorized": "拒絕未經授權",
+  "Crowd_sync_interval_Description": "同步之間的時間間隔。例如“每24小時”或“每週的第一天”,在[Cron Text Parser](http://bunkat.github.io/later/parsers.html#text)上的更多示例,",
   "Current_Chats": "當前聊天",
   "Current_Status": "當前狀態",
   "Custom": "自訂",
@@ -1339,8 +1341,10 @@
   "Install_package": "安裝軟件包",
   "Installation": "安裝",
   "Installed_at": "安裝在",
+  "Invitation_HTML": "邀請郵件 HTML",
   "Instance_Record": "實例記錄",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "說明你的訪問者填寫表格發送郵件",
+  "Invitation_HTML_Default": "<h1>您已被邀請<strong>[Site_Name]</strong></h1><p>轉到[Site_URL],並嘗試了當今最先進的開源聊天解決方案! </p>",
   "Insurance": "保險",
   "Integration_added": "整合已添加",
   "Integration_Advanced_Settings": "高級設置",
@@ -1406,9 +1410,7 @@
   "invisible": "隱藏",
   "Invisible": "隱藏",
   "Invitation": "請帖",
-  "Invitation_HTML": "邀請郵件 HTML",
-  "Invitation_HTML_Default": "<h1>您已被邀請<strong>[Site_Name]</strong></h1><p>轉到[Site_URL],並嘗試了當今最先進的開源聊天解決方案! </p>",
-  "Invitation_HTML_Description": "您可以使用以下佔位符: <br/><ul><li> [email]收件人的電子郵件。 </li><li> [Site_Name]和[Site_URL]分別為應用程序的名稱和網址。 </li></ul>",
+  "Invitation_Email_Description": "您可以使用以下佔位符: <br/><ul><li> [email]收件人的電子郵件。 </li><li> [Site_Name]和[Site_URL]分別為應用程序的名稱和網址。 </li></ul>",
   "Invitation_Subject": "邀请郵件主題",
   "Invitation_Subject_Default": "您已被邀請為[Site_Name]",
   "Invite_user_to_join_channel": "邀請用戶加入此頻道",
@@ -2525,6 +2527,7 @@
   "Tokens_Required_Input_Error": "輸入的令牌無效。",
   "Tokens_Required_Input_Placeholder": "令牌資產名稱",
   "Topic": "話題",
+  "Total_messages": "總共訊息量",
   "Tourism": "旅遊",
   "Transcript_Enabled": "詢問訪問者是否會在聊天結束後收到抄本",
   "Transcript_message": "詢問筆錄時要顯示的信息",
@@ -2585,6 +2588,7 @@
   "Upload_file_description": "檔案敘述",
   "Upload_file_name": "檔案名稱",
   "Upload_file_question": "是否上傳檔案?",
+  "Upload_Folder_Path": "上傳文件夾路徑",
   "Upload_user_avatar": "上傳頭像",
   "Uploading_file": "檔案上傳中…",
   "Uptime": "正常運行時間",
@@ -2596,6 +2600,7 @@
   "Use_initials_avatar": "使用您用戶名稱的字母開頭作為縮寫",
   "Use_minor_colors": "使用次要調色板(默認繼承主要顏色)",
   "Use_service_avatar": "使用 %s 大頭貼",
+  "Verification_Email": "點擊<a href=\"[Verification_Url]\">此處</a>驗證您的帳戶。",
   "Use_this_username": "使用此使用者名稱",
   "Use_uploaded_avatar": "使用已上傳大頭貼照",
   "Use_url_for_avatar": "使用網址上傳",
@@ -2692,7 +2697,6 @@
   "Validate_email_address": "驗證電子郵件地址",
   "Verification": "é©—è­‰",
   "Verification_Description": "您可以使用以下佔位符:<br/><ul><li>[Verification_Url]獲取驗證網址。</li><li>[姓名],[fname],[lname]分別代表用戶的全名,名字或姓氏。用戶的電子郵件為</li><li>[email]。分別為應用程序名稱和URL分別為</li><li>[Site_Name]和[Site_URL]。</li></ul>",
-  "Verification_Email": "點擊<a href=\"[Verification_Url]\">此處</a>驗證您的帳戶。",
   "Verification_email_sent": "驗證郵件已發送",
   "Verification_Email_Subject": "[Site_Name] - 驗證您的帳號",
   "Verified": "已驗證",
@@ -2753,6 +2757,9 @@
   "We_are_offline_Sorry_for_the_inconvenience": "離線中,造成您的不便",
   "We_have_sent_password_email": "我們已經送出密碼重置的電子郵件。如果您沒有收到,請重試。",
   "We_have_sent_registration_email": "我們已經送出一封電子郵件,以確認你的註冊。如果您沒有收到,請重試。",
+  "Webdav_Server_URL": "WebDAV服務器訪問URL",
+  "Webdav_Username": "WebDAV用戶名",
+  "Webdav_Password": "WebDAV密碼",
   "Webhook_URL": "Webhook網址",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "直接從%s進行音頻通話",
diff --git a/packages/rocketchat-i18n/i18n/zh.i18n.json b/packages/rocketchat-i18n/i18n/zh.i18n.json
index cc7991a83a86e55c3a6b2e5b406d95615d9bc12e..06048dd1bb835632dd57f8900bd13ed63842088e 100644
--- a/packages/rocketchat-i18n/i18n/zh.i18n.json
+++ b/packages/rocketchat-i18n/i18n/zh.i18n.json
@@ -1,14 +1,17 @@
 {
+  "403": "已被禁止",
+  "500": "内部服务器错误",
   "#channel": "#频道",
   "0_Errors_Only": "0 - 仅错误 ",
+  "12_Hour": "12小时时钟",
   "1_Errors_and_Information": "1 - 错误和信息",
+  "24_Hour": "24小时时钟",
   "2_Erros_Information_and_Debug": "2 - 错误、信息和调试信息",
-  "403": "已被禁止",
-  "500": "内部服务器错误",
   "@username": "@用户名",
   "@username_message": "@用户名 <message>",
   "__username__is_no_longer__role__defined_by__user_by_": "__user_by__ 移除了 __username__ 的 __role__ 角色",
   "__username__was_set__role__by__user_by_": "__user_by__ 赋予了 __username__ __role__ 角色",
+  "%_of_conversations": "%的会话",
   "Accept": "接受",
   "Accept_incoming_livechat_requests_even_if_there_are_no_online_agents": "接受入站在线聊天请求即使没有客服在线",
   "Accept_with_no_online_agents": "接受离线客服",
@@ -35,6 +38,7 @@
   "Accounts_AllowUserAvatarChange": "允许修改头像",
   "Accounts_AllowUsernameChange": "允许修改用户名",
   "Accounts_AllowUserProfileChange": "允许修改个人资料",
+  "Accounts_AvatarBlockUnauthenticatedAccess": "阻止未认证用户访问头像",
   "Accounts_AvatarCacheTime": "头像缓存时间",
   "Accounts_AvatarCacheTime_description": "通知http协议缓存化身图像的秒数。",
   "Accounts_AvatarResize": "调整头像大小",
@@ -57,13 +61,13 @@
   "Accounts_Email_Approved": "[name]<br/><br/><p>您的帐号已获批准。</p>",
   "Accounts_Email_Approved_Subject": "帐号已被批准",
   "Accounts_Email_Deactivated": "[name]<br/><br/><p>您的帐户已停用。</p>",
+  "Accounts_Enrollment_Email_Default": "<h1>欢迎来到 <strong>[Site_Name]</strong></h1><p>转到 <a href=\"[Site_URL]\">[Site_URL]</a>并尝试当今最先进的开源聊天解决方案!</p>",
   "Accounts_Email_Deactivated_Subject": "帐户停用",
   "Accounts_EmailVerification": "Email 验证",
   "Accounts_EmailVerification_Description": "要使用该功能,请确保 SMTP 设置正确",
+  "Accounts_Enrollment_Email_Subject_Default": "欢迎访问 [Site_Name]",
   "Accounts_Enrollment_Email": "注册邮件",
-  "Accounts_Enrollment_Email_Default": "<h1>欢迎来到 <strong>[Site_Name]</strong></h1><p>转到 <a href=\"[Site_URL]\">[Site_URL]</a>并尝试当今最先进的开源聊天解决方案!</p>",
   "Accounts_Enrollment_Email_Description": "你可以使用以下占位符:<br/> <ul><li>姓名[name]、名字[fname]或者姓氏 [lname]。</li><li>邮箱[email]。</li><li>网站名称[Site_Name]和网站地址[Site_URL]。</li></ul>",
-  "Accounts_Enrollment_Email_Subject_Default": "欢迎访问 [Site_Name]",
   "Accounts_ForgetUserSessionOnWindowClose": "关闭窗口后注销用户会话",
   "Accounts_Iframe_api_method": "API 方法",
   "Accounts_Iframe_api_url": "API URL",
@@ -172,17 +176,18 @@
   "Accounts_RequireNameForSignUp": "姓名必须填写",
   "Accounts_RequirePasswordConfirmation": "请输入确认密码",
   "Accounts_SearchFields": "搜索中需要考虑的字段",
+  "Accounts_Directory_DefaultView": "默认目录列表",
   "Accounts_SetDefaultAvatar": "设置默认头像",
   "Accounts_SetDefaultAvatar_Description": "尝试从 OAuth 账户或 Gravatar 读取头像",
   "Accounts_ShowFormLogin": "显示默认登录表单界面",
   "Accounts_TwoFactorAuthentication_Enabled": "启用双因素身份验证",
   "Accounts_TwoFactorAuthentication_MaxDelta": "最大Delta",
+  "Accounts_UserAddedEmail_Default": "<h1>欢迎访问 <strong>[Site_Name]</strong></h1><p> 转到 <a href=\"[Site_URL]\">[Site_URL]</a> 并尝试当今最先进的开源聊天解决方案!</p><p>您可以使用您的电子邮件地址:[email] 和密码:[password] 进行登陆。您可能需要在您首次登录后更改密码。",
   "Accounts_TwoFactorAuthentication_MaxDelta_Description": "最大增量确定在任何给定时间有多少令牌有效。令牌每30秒产生一次,并且对于(30 *最大增量)秒有效。 <br/>示例:将最大差值设置为10时,每个令牌可以在时间戳之前或之后使用达300秒。当客户端的时钟与服务器没有正确同步时,这很有用。",
   "Accounts_UseDefaultBlockedDomainsList": "使用默认的屏蔽域名列表",
   "Accounts_UseDNSDomainCheck": "使用 DNS 域名检查",
-  "Accounts_UserAddedEmail_Default": "<h1>欢迎访问 <strong>[Site_Name]</strong></h1><p> 转到 <a href=\"[Site_URL]\">[Site_URL]</a> 并尝试当今最先进的开源聊天解决方案!</p><p>您可以使用您的电子邮件地址:[email] 和密码:[password] 进行登陆。您可能需要在您首次登录后更改密码。",
-  "Accounts_UserAddedEmail_Description": "您可以使用以下占位符:<br/><ul><li>全名 [name],名字 [fname],姓氏 [lname]。</li><li>[email] 为用户的email。</li><li>[password] 为用户的密码。</li><li>[Site_Name] 和 [Site_URL] 分别作为网站名称和网站地址。</li></ul>",
   "Accounts_UserAddedEmailSubject_Default": "您已被添加到 [Site_Name]",
+  "Accounts_UserAddedEmail_Description": "您可以使用以下占位符:<br/><ul><li>全名 [name],名字 [fname],姓氏 [lname]。</li><li>[email] 为用户的email。</li><li>[password] 为用户的密码。</li><li>[Site_Name] 和 [Site_URL] 分别作为网站名称和网站地址。</li></ul>",
   "Activate": "激活",
   "Activity": "活动",
   "Add": "添加",
@@ -212,6 +217,7 @@
   "Additional_Feedback": "其他反馈",
   "additional_integrations_Bots": "如果你正在寻找如何整合你自己的机器人,那么看看我们的Hubot适配器。 <a href=\"https://github.com/RocketChat/hubot-rocketchat\" target=\"_blank\">https://github.com/RocketChat/hubot-rocketchat</a>",
   "additional_integrations_Zapier": "<a href=\"https://rocket.chat/docs/administrator-guides/integrations/zapier/using-zaps/\" target=\"_blank\"></a>您是否希望将其他软件和应用程序与Rocket.Chat集成,但您没有时间手动完成它?那么我们建议使用我们完全支持的Zapier。请阅读我们的文档了解更多信息。 https://rocket.chat/docs/administrator-guides/integrations/zapier/using-zaps/",
+  "Admin_disabled_encryption": "您的管理员并没有启用端到端加密",
   "Admin_Info": "管理员信息",
   "Administration": "管理",
   "Adult_images_are_not_allowed": "成人图像是不允许的",
@@ -238,6 +244,7 @@
   "Allow_Marketing_Emails": "允许营销电子邮件",
   "Alphabetical": "按英文字母顺序",
   "Always_open_in_new_window": "总是在新窗口中打开",
+  "Analytics": "分析",
   "Analytics_features_enabled": "功能已启用",
   "Analytics_features_messages_Description": "跟踪与用户对消息的操作相关的自定义事件。",
   "Analytics_features_rooms_Description": "跟踪与频道或分组操作相关的自定义事件(创建、离开、删除)。",
@@ -249,6 +256,7 @@
   "Animals_and_Nature": "动物与自然",
   "Announcement": "公告",
   "API": "API",
+  "API_Add_Personal_Access_Token": "添加新的个人访问令牌",
   "API_Allow_Infinite_Count": "允许获取一切",
   "API_Allow_Infinite_Count_Description": "是否允许在一次 REST API 调用中返回所有内容?",
   "API_Analytics": "分析",
@@ -270,11 +278,20 @@
   "API_Enable_CORS": "启用CORS",
   "API_Enable_Direct_Message_History_EndPoint": "启用私聊历史记录的Endpoint",
   "API_Enable_Direct_Message_History_EndPoint_Description": "这会启用`/api/v1/im.history.others`,它允许查看其他用户发送的私信。",
+  "API_Enable_Personal_Access_Tokens": "使能个人访问令牌访问REST API",
+  "API_Enable_Personal_Access_Tokens_Description": "使能个人访问令牌使用REST API",
   "API_Enable_Shields": "启用盾牌",
   "API_Enable_Shields_Description": "在`/api/v1/shield.svg`中启用屏蔽",
   "API_GitHub_Enterprise_URL": "服务器URL",
   "API_GitHub_Enterprise_URL_Description": "例如:http://domain.com(末尾无斜线)",
   "API_Gitlab_URL": "GitLab URL",
+  "API_Personal_Access_Token_Name": "个人访问令牌名称",
+  "API_Personal_Access_Tokens_To_REST_API": "个人访问令牌访问REST API",
+  "API_Personal_Access_Tokens_Remove_Modal": "你确定删除此个人访问令牌?",
+  "API_Personal_Access_Token_Generated": "个人访问令牌生成成功",
+  "API_Personal_Access_Token_Generated_Text_Token_s_UserId_s": "请仔细保存您的令牌,因为之后您将无法再查看它。 <br/>令牌:<strong>__token __ </strong><br/>用户ID:<strong>__userId __ </strong>",
+  "API_Personal_Access_Tokens_Regenerate_Modal": "如果你丢失或忘记令牌,你能重新生成,但是谨记所有使用此令牌的应用应该更新",
+  "API_Personal_Access_Tokens_Regenerate_It": "重新生成令牌",
   "API_Shield_Types": "盾牌类型",
   "API_Shield_Types_Description": "屏蔽类型以逗号分隔列表形式启用,可以从“在线”,“频道”或“*”中为所有人选择",
   "API_Token": "API Token",
@@ -287,6 +304,7 @@
   "Apiai_Key": "Api.ai Key",
   "Apiai_Language": "Api.ai 语言",
   "App_author_homepage": "作者主页",
+  "App_Details": "应用细节",
   "App_Information": "应用信息",
   "App_Installation": "应用安装",
   "App_status_auto_enabled": "已启用",
@@ -354,6 +372,7 @@
   "AutoLinker_Urls_www": "自动链接以“www”开头的网址",
   "AutoLinker_UrlsRegExp": "自动链接网址正则表达式",
   "Automatic_Translation": "自动翻译",
+  "Author_Site": "作者站点",
   "AutoTranslate_Change_Language_Description": "修改自动翻译不会翻译之前的消息。",
   "AutoTranslate_Enabled": "启用自动翻译",
   "AutoTranslate_Enabled_Description": "开启自动翻译功能将允许用户获得<code class=\"inline\">自动翻译</code>权限,所有消息都将被自动翻译成用户选择的语言。这可需要付费,请查阅 <a target=\"_blank\" href=\"https://cloud.google.com/translate/pricing\">Google 文档</a>",
@@ -364,6 +383,10 @@
   "Avatar_changed_successfully": "头像更新成功",
   "Avatar_URL": "头像地址",
   "Avatar_url_invalid_or_error": "提供的链接无效或无法接受。请使用不同的链接再试一次。",
+  "Avg_chat_duration": "平均聊天时间",
+  "Avg_first_response_time": "平均首次响应时间",
+  "Avg_response_time": "平均响应时间",
+  "Avg_reaction_time": "平均反应时间",
   "away": "离开",
   "Away": "离开",
   "away_female": "离开",
@@ -382,8 +405,12 @@
   "ban-user": "禁止用户",
   "ban-user_description": "允许从频道禁止用户",
   "Beta_feature_Depends_on_Video_Conference_to_be_enabled": "测试功能。需要视频会议功能支持才能启用。",
+  "Best_first_response_time": "最优首次响应时间",
   "Block_User": "阻止用户",
   "Blockchain": "区块链",
+  "Blockstack_Auth_Description": "认证描述",
+  "Blockstack_ButtonLabelText": "按钮标签文本",
+  "Blockstack_Generate_Username": "生成用户名",
   "Body": "正文",
   "bold": "粗体",
   "bot_request": "机器人请求",
@@ -400,6 +427,8 @@
   "bulk-create-c_description": "允许批量创建频道",
   "bulk-register-user": "批量创建频道",
   "bulk-register-user_description": "允许批量创建频道",
+  "Busiest_day": "最忙的一天",
+  "Busiest_time": "最忙的时间",
   "busy": "忙碌",
   "Busy": "忙碌",
   "busy_female": "忙碌",
@@ -430,7 +459,10 @@
   "CAS_Sync_User_Data_FieldMap_Description": "使用此JSON输入从外部属性(值)构建内部属性(键)。使用'%'括起来的外部属性名称将插入到值字符串中。<br/>例如,“{”email“:”%email%“,”name“:”%firstname%,%lastname%“}`<br/><br/>属性贴图始终是插值的。在CAS 1.0中只有`username`属性可用。可用的内部属性是:用户名,姓名,电子邮件,房间;房间是用户创建时加入房间的逗号分隔列表,例如:{“房间”:“%team%,%department%”}将在创建时加入CAS用户到他们的团队和部门渠道。",
   "CAS_version": "CAS版本",
   "CAS_version_Description": "仅使用您的CAS SSO服务支持的受支持的CAS版本。",
+  "Categories": "类别",
   "CDN_PREFIX": "CDN前缀",
+  "CDN_PREFIX_ALL": "为所有项目使用CDN前缀",
+  "CDN_JSCSS_PREFIX": "JS/CSS的CDN前缀",
   "Certificates_and_Keys": "证书和密钥",
   "Change_Room_Type": "正在修改房间类型",
   "Changing_email": "正在更改电子邮件",
@@ -510,12 +542,15 @@
   "Choose_the_username_that_this_integration_will_post_as": "选择该集成以什么用户名身份发布信息",
   "clean-channel-history": "清理频道记录",
   "clean-channel-history_description": "清除渠道历史记录的权限",
+  "Clean_Usernames": "清除用户名",
   "clear": "清理",
   "Clear_all_unreads_question": "清除所有未读标记?",
   "clear_cache_now": "立即清理缓存",
   "clear_history": "清理历史记录",
   "Click_here": "点击这里",
   "Click_here_for_more_info": "点此查看更多信息",
+  "Click_here_to_enter_your_encryption_password": "点击此处输入密码",
+  "Click_here_to_view_and_copy_your_password": "点击此处查看并复制您的密码",
   "Click_the_messages_you_would_like_to_send_by_email": "点击您想通过电子邮件发送的消息",
   "Click_to_join": "点击加入!",
   "Client_ID": "客户端 ID",
@@ -539,24 +574,29 @@
   "Compact": "紧凑",
   "Condensed": "简明",
   "Computer": "电脑",
+  "Confirm_new_encryption_password": "确认新密码",
   "Confirm_password": "确认密码",
   "Connection_Closed": "连接关闭",
   "Connection_Reset": "连接重置",
   "Consulting": "咨询",
   "Consumer_Goods": "消费品",
   "Contains_Security_Fixes": "包含安全修复程序",
+  "Contact": "联系人",
   "Content": "内容",
   "Continue": "继续",
   "Continuous_sound_notifications_for_new_livechat_room": "新的即时聊天室的连续声音通知",
   "Conversation": "谈话",
+  "Conversations": "会话",
   "Conversation_closed": "会话已关闭:__comment__。",
   "Conversation_finished_message": "对话完成的消息",
+  "Conversations_per_day": "每日会话",
   "conversation_with_s": "与%s的对话",
   "Convert_Ascii_Emojis": "自动识别文字中的表情",
   "Copied": "已复制",
   "Copy": "复制",
   "Copy_to_clipboard": "复制到剪贴板",
   "COPY_TO_CLIPBOARD": "复制到剪贴板",
+  "could-not-access-webdav": "不能访问WebDAV",
   "Count": "计数",
   "Country": "国家",
   "Country_Afghanistan": "阿富汗",
@@ -816,10 +856,12 @@
   "Created_at_s_by_s_triggered_by_s": "由 <strong>%s</strong> 创建于 <strong>%s</strong> 被 <strong>%s</strong> 触发",
   "CRM_Integration": "CRM 集成",
   "CROWD_Reject_Unauthorized": "拒绝未经授权的",
+  "Crowd_sync_interval_Description": "同步之间的时间间隔。例如“每24小时”或“每周的第一天”,在[Cron Text Parser](http://bunkat.github.io/later/parsers.html#text)上的更多示例,",
   "Current_Chats": "当前聊天",
   "Current_Status": "当前状态",
   "Custom": "自定义",
   "Custom_agent": "自定义代理",
+  "Custom_dates": "自定义日期",
   "Custom_Emoji": "自定义表情",
   "Custom_Emoji_Add": "添加新表情",
   "Custom_Emoji_Added_Successfully": "自定义表情添加成功",
@@ -856,6 +898,7 @@
   "DB_Migration_Date": "数据库迁移日期",
   "Deactivate": "禁用",
   "Decline": "下降",
+  "Decode_Key": "解码密钥",
   "Default": "默认",
   "Delete": "删除",
   "delete-c": "删除公共频道",
@@ -889,10 +932,12 @@
   "Desktop_Notifications_Duration": "桌面通知时间",
   "Desktop_Notifications_Duration_Description": "多少秒显示桌面通知。这可能会影响OS X通知中心。输入0可使用默认浏览器设置,并不会影响OS X通知中心。",
   "Desktop_Notifications_Enabled": "桌面通知已启用",
+  "Details": "详细信息",
   "Different_Style_For_User_Mentions": "用户提到的不同风格",
   "Direct_message_someone": "直接给某人发送消息",
   "Direct_Messages": "私聊",
   "Direct_Reply": "直接回复",
+  "Direct_Reply_Advice": "您能直接回复此邮件。请不要修改此回复邮件的之前内容",
   "Direct_Reply_Debug": "调试直接回复",
   "Direct_Reply_Debug_Description": "[小心]启用调试模式将在管理控制台中显示您的“纯文本密码”。",
   "Direct_Reply_Delete": "删除截获的电子邮件",
@@ -912,7 +957,7 @@
   "Disable_Facebook_integration": "禁用Facebook集成",
   "Disable_Notifications": "禁用通知",
   "Disable_two-factor_authentication": "禁用双因素身份验证",
-  "Disabled": "残疾人",
+  "Disabled": "已禁用",
   "Disallow_reacting": "禁止反应",
   "Disallow_reacting_Description": "不允许反应",
   "Display_offline_form": "显示离线表单",
@@ -934,11 +979,17 @@
   "Drop_to_upload_file": "拖放上传",
   "Dry_run": "发送测试",
   "Dry_run_description": "表单中的 E-mail 都只会收到一封邮件。邮件必须对应有效用户。",
+  "duplicated-account": "重复的账号",
   "Duplicate_archived_channel_name": "已存在名为“%s”的已归档频道",
   "Duplicate_archived_private_group_name": "已存在名为“%s”的归档私有组",
   "Duplicate_channel_name": "名为 “%s” 的频道已存在",
   "Duplicate_private_group_name": "私有组 '%s' 已存在",
   "Duration": "时长",
+  "E2E_Enable_alert": "此功能目前处于测试阶段!请将错误报告给github.com/RocketChat/Rocket.Chat/issues并注意:<br/> - 搜索操作无法找到加密聊天室的加密消息。<br/> - 移动应用暂时不支持加密消息(他们正在开发)。<br/> - 机器人可能无法看到加密消息,直到实现对它的支持。<br/> - 此版本中不会加密上传文件。",
+  "E2E_Enable_description": "启用选项以创建加密组,并能够更改组以及指示要加密的消息",
+  "E2E_Encryption_Password_Explanation": "您现在可以创建加密的专用组和直接消息。您也可以将现有的私人组或直接消息更改为加密。<br/><br/>这是端到端加密,因此编码/解码邮件的密钥不会保存在服务器上。因此,您需要将密码存储在安全的地方。您需要在希望使用e2e加密的其他设备上输入。",
+  "E2E_password_reveal_text": "您现在可以创建加密的专用组和直接消息。您也可以将现有的私人组或DM更改为加密。<br/><br/>这是端到端加密,因此编码/解码邮件的密钥不会保存在服务器上。因此,您需要将此密码存储在安全的地方。您需要在希望使用e2e加密的其他设备上输入。 <a href=\"https://rocket.chat/docs/user-guides/end-to-end-encryption/\" target=\"_blank\">点击这里了解更多</a><br/><br/>您的密码是:<span style=\"font-weight: bold;\">>%S </span><br/><br/>这是系统自动生成的密码,您可以为您的密钥设置一个新密码(您可以随时从任何浏览器输入现有密码)。<br/>此密码仅存储在此浏览器中,直到您存储密码并关闭此消息。",
+  "E2E_password_request_text": "要访问加密的专用组和直接消息,请输入密码。 <br/>您需要输入此密码才能对您使用的每个客户端上的邮件进行编码/解码,因为密钥未存储在服务器上。",
   "Edit": "编辑",
   "edit-message": "编辑信息",
   "edit-message_description": "允许编辑房间内的消息",
@@ -977,6 +1028,8 @@
   "Email_Placeholder": "请输入您的电子邮件地址...",
   "Email_Placeholder_any": "请输入电子邮件地址...",
   "Email_subject": "标题",
+  "email_style_label": "邮箱风格",
+  "email_style_description": "避免嵌套选择器",
   "Email_verified": "邮箱已验证",
   "Emoji": "表情符号",
   "EmojiCustomFilesystem": "自定义表情文件系统",
@@ -987,8 +1040,14 @@
   "Enable_Svg_Favicon": "启用SVG图标",
   "Enable_two-factor_authentication": "启用双因素身份验证",
   "Enabled": "已启用",
+  "Encrypted": "加密的",
+  "Encrypted_channel_Description": "端到端加密通道。搜索不适用于加密频道,因此通知可能不会显示邮件内容。",
   "Encrypted_message": "加密消息",
+  "Encrypted_setting_changed_successfully": "加密设置修改成功",
+  "EncryptionKey_Change_Disabled": "因为此客户端上不存在您的私钥,您无法为加密密钥设置密码。要设置新密码,您需要使用现有密码加载私钥,或使用已加载密钥的客户端。",
+  "Encryption_key_saved_successfully": "您的加密密钥保存成功",
   "End_OTR": "结束无记录对话",
+  "Enter_a_name": "输入名称",
   "Enter_a_regex": "输入正则表达式",
   "Enter_a_room_name": "在这里输入房间名",
   "Enter_a_username": "输入用户名",
@@ -996,9 +1055,11 @@
   "Enter_authentication_code": "输入验证码",
   "Enter_Behaviour": "回车键",
   "Enter_Behaviour_Description": "此项用来设置回车键发送消息还是换行",
+  "Enter_E2E_password_to_decode_your_key": "输入E2E密码以解密您的密钥",
   "Enter_name_here": "在这里输入名字",
   "Enter_Normal": "常规模式(Enter 发送消息)",
   "Enter_to": "进入",
+  "Enter_your_E2E_password": "输入您的E2E密码",
   "Enterprise": "企业",
   "Entertainment": "娱乐",
   "Error": "错误",
@@ -1025,6 +1086,7 @@
   "error-importer-not-defined": "导入所用帐号错误,未指定导入class。",
   "error-input-is-not-a-valid-field": "__input__ 不是一个有效的 __field__",
   "error-invalid-actionlink": "无效的操作链接",
+  "error-invalid-account": "无效账户",
   "error-invalid-arguments": "参数无效",
   "error-invalid-asset": "无效数据",
   "error-invalid-channel": "无效的频道。",
@@ -1081,6 +1143,9 @@
   "error-room-is-not-closed": "房间没有关闭",
   "error-the-field-is-required": "字段 __field__ 必填。",
   "error-this-is-not-a-livechat-room": "这不是一个即时聊天室",
+  "error-personal-access-tokens-are-current-disabled": "个人访问令牌已禁用",
+  "error-token-already-exists": "已存在具有此名称的令牌",
+  "error-token-does-not-exists": "令牌不存在",
   "error-too-many-requests": "错误,请求过多。请放慢速度。你必须等待__seconds__秒后再次重试。",
   "error-user-has-no-roles": "用户没有角色",
   "error-user-is-not-activated": "用户未激活",
@@ -1093,6 +1158,8 @@
   "Error_404": "错误:404",
   "Error_changing_password": "密码更改失败",
   "Error_loading_pages": "加载页面时出错",
+  "Error_sending_livechat_transcript": "发送Livechat脚本时出错",
+  "Error_sending_livechat_offline_message": "发送Livechat离线消息时出错",
   "Esc_to": "退出",
   "Event_Trigger": "事件触发",
   "Event_Trigger_Description": "选择将触发此外发WebHook集成的事件类型",
@@ -1183,6 +1250,7 @@
   "Files_only": "只删除附加的文件,保留消息",
   "Financial_Services": "金融服务",
   "First_Channel_After_Login": "登录后的第一个频道",
+  "First_response_time": "首次响应时间",
   "Flags": "旗帜",
   "Follow_social_profiles": "关注我们的社交资讯,fork我们在github的项目或者在trello上分享你关于rocket.chat的想法。",
   "Fonts": "字体",
@@ -1253,6 +1321,7 @@
   "Help_Center": "帮助中心",
   "Helpers": "助手",
   "Hex_Color_Preview": "Hex 颜色预览",
+  "Hi_username": "您好__name__",
   "Hidden": "已隐藏",
   "Hide_Avatars": "隐藏头像",
   "Hide_counter": "隐藏计数器",
@@ -1278,6 +1347,8 @@
   "How_responsive_was_the_chat_agent": "在线客服的反应速度如何?",
   "How_satisfied_were_you_with_this_chat": "您是否满意这次聊天?",
   "How_to_handle_open_sessions_when_agent_goes_offline": "客服离线时如何处理正在进行的会话",
+  "I_ll_do_it_later": "我稍后再做",
+  "I_saved_my_password_close_this_message": "我保存了密码,关闭了此消息",
   "Idle_Time_Limit": "空闲时间限制",
   "Idle_Time_Limit_Description": "自动将状态切换为离开的等待时间,计数单位为妙",
   "if_they_are_from": "(如果他们来自%s)",
@@ -1285,6 +1356,7 @@
   "If_you_are_sure_type_in_your_password": "如果您确定,请输入您的密码:",
   "If_you_are_sure_type_in_your_username": "如果您确定,请输入您的用户名:",
   "If_you_dont_have_one_send_an_email_to_omni_rocketchat_to_get_yours": "如果你没有发送邮件到[omni@rocket.chat](mailto:omni@rocket.chat)来获得你的邮件。",
+  "If_you_didnt_ask_for_reset_ignore_this_email": "如果您没有要求重置密码,则可以忽略此电子邮件。",
   "Iframe_Integration": "Iframe集成",
   "Iframe_Integration_receive_enable": "启用接收",
   "Iframe_Integration_receive_enable_Description": "允许父窗口发送命令给 Rocket.Chat。",
@@ -1331,6 +1403,7 @@
   "Industry": "行业",
   "initials_avatar": "首字母头像",
   "inline_code": "inline_code",
+  "Install": "安装",
   "Install_Extension": "安装扩展程序",
   "Install_FxOs": "在火狐浏览器中安装 Rocket.Chat",
   "Install_FxOs_done": "干得漂亮!您现在可以通过点击主屏幕上的图标来使用 Rocket.Chat 。祝您使用愉快!",
@@ -1339,8 +1412,10 @@
   "Install_package": "安装软件包",
   "Installation": "安装",
   "Installed_at": "安装在",
+  "Invitation_HTML": "邀请邮件HTML",
   "Instance_Record": "实例记录",
   "Instructions_to_your_visitor_fill_the_form_to_send_a_message": "给你访问者的说明,指导它们填写表格来发送一条消息",
+  "Invitation_HTML_Default": "<h1>您已被邀请到 <strong>[Site_Name]</strong></h1><p>转到[Site_URL],并尝试当今最先进的开源聊天解决方案! </p>",
   "Insurance": "保险",
   "Integration_added": "集成已添加",
   "Integration_Advanced_Settings": "高级设置",
@@ -1406,9 +1481,7 @@
   "invisible": "隐身",
   "Invisible": "隐身",
   "Invitation": "邀请",
-  "Invitation_HTML": "邀请邮件HTML",
-  "Invitation_HTML_Default": "<h1>您已被邀请到 <strong>[Site_Name]</strong></h1><p>转到[Site_URL],并尝试当今最先进的开源聊天解决方案! </p>",
-  "Invitation_HTML_Description": "您可以使用以下占位符:<br/><ul><li> [email] 作为收件人邮箱地址。 </li><li> [Site_Name] 和 [Site_URL] 分别作为应用程序的名称和网址。</li></ul>",
+  "Invitation_Email_Description": "您可以使用以下占位符:<br/><ul><li> [email] 作为收件人邮箱地址。 </li><li> [Site_Name] 和 [Site_URL] 分别作为应用程序的名称和网址。</li></ul>",
   "Invitation_Subject": "邀请邮件主题",
   "Invitation_Subject_Default": "您已被邀请到 [Site_Name]",
   "Invite_user_to_join_channel": "邀请一位用户加入这个频道",
@@ -1476,6 +1549,7 @@
   "Keyboard_Shortcuts_Keys_5": "<kbd>命令</kbd>(或<kbd>Alt</kbd>)+ <kbd>右箭头</kbd>",
   "Keyboard_Shortcuts_Keys_6": "<kbd>命令</kbd>(或<kbd>Alt</kbd>)+ <kbd>向下箭头</kbd>",
   "Keyboard_Shortcuts_Keys_7": "<kbd>Shift</kbd>+ <kbd>输入</kbd>",
+  "Keyboard_Shortcuts_Mark_all_as_read": "将所有消息标记为已读",
   "Keyboard_Shortcuts_Move_To_Beginning_Of_Message": "移动到消息的开头",
   "Keyboard_Shortcuts_Move_To_End_Of_Message": "移动到消息的末尾",
   "Keyboard_Shortcuts_New_Line_In_Message": "消息中的新行编写输入",
@@ -1489,6 +1563,7 @@
   "Last_login": "上次登录",
   "Last_Message_At": "最后消息在",
   "Last_seen": "上次遇见",
+  "Last_token_part": "最后的令牌部分",
   "Last_Message": "上次消息",
   "Launched_successfully": "成功启动",
   "Layout": "布局",
@@ -1586,6 +1661,7 @@
   "Leave_room": "离开聊天室",
   "Leave_Room_Warning": "您确定要离开房间“%s”吗?",
   "Leave_the_current_channel": "离开当前频道",
+  "Lets_get_you_new_one": "新版本即将到来",
   "line": "行",
   "List_of_Channels": "频道列表",
   "List_of_Direct_Messages": "私聊列表",
@@ -1598,11 +1674,12 @@
   "Livechat_Facebook_Enabled": "已启用Facebook集成",
   "Livechat_forward_open_chats": "前开口聊天",
   "Livechat_forward_open_chats_timeout": "超时(以秒为单位)转发聊天",
-  "Livechat_guest_count": "访客人次",
+  "Livechat_guest_count": "访客计数器",
   "Livechat_Inquiry_Already_Taken": "实时聊天查询已经完成",
   "Livechat_managers": "在线聊天管理员",
   "Livechat_offline": "在线聊天离线",
   "Livechat_online": "在线聊天在线",
+  "Livechat_offline_message_sent": "Livechat离线消息已发送",
   "Livechat_open_inquiery_show_connecting": "当访客尚未连接到代理时显示连接消息而不是输入",
   "Livechat_Queue": "在线对话队列",
   "Livechat_registration_form": "注册表单",
@@ -1611,6 +1688,7 @@
   "Livechat_Take_Confirm": "你想接下这个客户吗?",
   "Livechat_title": "在线聊天标题",
   "Livechat_title_color": "在线聊天标题背景颜色",
+  "Livechat_transcript_sent": "Livechat脚本发送",
   "Livechat_Users": "在线聊天用户",
   "Livestream_close": "关闭Livestream",
   "Livestream_enable_audio_only": "只启用音频模式",
@@ -1643,6 +1721,9 @@
   "Logistics": "后勤",
   "Logout": "退出",
   "Logout_Others": "从其它已登录的设备上登出",
+  "Longest_chat_duration": "最长聊天时长",
+  "Longest_reaction_time": "最长的反应时间",
+  "Longest_response_time": "最长的响应时间",
   "mail-messages": "邮件消息",
   "mail-messages_description": "允许使用邮件消息选项",
   "Mail_Message_Invalid_emails": "你提供了一个或多个无效电子邮件地址:%s",
@@ -1679,6 +1760,7 @@
   "MapView_Enabled_Description": "启用mapview将在聊天输入字段左侧显示位置分享按钮。",
   "MapView_GMapsAPIKey": "Google静态地图API密钥",
   "MapView_GMapsAPIKey_Description": "这可以从Google Developers Console免费获得。",
+  "Mark_all_as_read": "将所有消息标记为已读",
   "Mark_as_read": "标记为已读",
   "Mark_as_unread": "标记为未读",
   "Markdown_Headers": "Markdown 标题",
@@ -1828,23 +1910,24 @@
   "New_Password_Placeholder": "请输入新密码...",
   "Confirm_new_password": "确认新密码",
   "Confirm_New_Password_Placeholder": "请重新输入新密码...",
+  "New_encryption_password": "新密码",
   "New_role": "新角色",
-  "New_Room_Notification": "新房间通知",
+  "New_Room_Notification": "新聊天室通知",
   "New_Trigger": "新的触发器",
   "New_version_available_(s)": "新版本可用(%s)",
   "New_videocall_request": "新的视频通话请求",
   "New_visitor_navigation": "新的导航:__history__",
   "Newer_than": "比...更新",
-  "Newer_than_may_not_exceed_Older_than": "“比”更新“不得超过”年龄大于“",
+  "Newer_than_may_not_exceed_Older_than": "“晚于“不得超过”早于“",
   "No_available_agents_to_transfer": "没有可用的代理进行传输",
   "No_channel_with_name_%s_was_found": "未找到频道 <strong>\"%s\"</strong> !",
   "No_channels_yet": "您尚未加入这个频道。",
   "No_direct_messages_yet": "您还没有开始任何私聊。",
   "No_Encryption": "未使用加密",
   "No_group_with_name_%s_was_found": "未找到私有组 <strong>\"%s\"</strong> !",
-  "No_groups_yet": "你还没有私有组。",
+  "No_groups_yet": "您还没有私有组。",
   "No_integration_found": "由提供的ID找不到集成。",
-  "No_livechats": "你没有任何在线聊天会话",
+  "No_livechats": "您没有任何实时聊天会话",
   "No_mentions_found": "没有发现任何提及",
   "No_messages_yet": "还没有消息",
   "No_pages_yet_Try_hitting_Reload_Pages_button": "还没有页面。尝试点击“重新加载页面”按钮。",
@@ -1856,7 +1939,7 @@
   "No_such_command": "没有该命令:`/__command__`",
   "No_user_with_username_%s_was_found": "未找到用户 <strong>\"%s\"</strong> !",
   "Nobody_available": "没人可用",
-  "Node_version": "节点版本",
+  "Node_version": "Node版本",
   "None": "æ— ",
   "Nonprofit": "非营利",
   "Normal": "正常",
@@ -1901,7 +1984,7 @@
   "Offline_message": "离线消息",
   "Offline_success_message": "离线成功消息",
   "Offline_unavailable": "离线不可用",
-  "Older_than": "年长过",
+  "Older_than": "早于",
   "On": "打开",
   "Online": "在线",
   "online": "线上",
@@ -1913,6 +1996,7 @@
   "Oops_page_not_found": "糟糕,页面未找到",
   "Open": "打开",
   "Open_channel_user_search": "`%s`  - 打开频道/用户搜索",
+  "Open_conversations": "活跃的会话",
   "Open_days_of_the_week": "每周开放日",
   "Open_Livechats": "打开在线聊天",
   "Open_your_authentication_app_and_enter_the_code": "打开您的验证应用程序并输入代码。您也可以使用其中一个备份代码。",
@@ -1939,15 +2023,15 @@
   "OS_Uptime": "OS 运新时间",
   "Other": "其他",
   "others": "其它",
-  "OTR": "无记录对话",
-  "OTR_is_only_available_when_both_users_are_online": "无记录对话只能在双方均在线时使用",
-  "Outgoing_WebHook": "即将离任的WebHook",
+  "OTR": "OTR",
+  "OTR_is_only_available_when_both_users_are_online": "OTR只能在双方均在线时使用",
+  "Outgoing_WebHook": "对外的WebHook",
   "Outgoing_WebHook_Description": "实时获取Rocket.Chat数据。",
   "Override_URL_to_which_files_are_uploaded_This_url_also_used_for_downloads_unless_a_CDN_is_given": "重写 URL 为文件上传地址。如果没有设置 CDN,url 也会被当作下载链接。",
   "Page_title": "页面标题",
   "Page_URL": "页面地址",
   "Password": "密码",
-  "Password_Change_Disabled": "您的 Rocket.Chat 管理员已近禁止了修改密码的功能。 ",
+  "Password_Change_Disabled": "您的 Rocket.Chat 管理员已经禁止了修改密码的功能。 ",
   "Password_changed_successfully": "密码更改成功",
   "Password_Policy": "密码策略",
   "Past_Chats": "过去的聊天记录",
@@ -1955,7 +2039,8 @@
   "People": "人",
   "Permalink": "永久链接",
   "Permissions": "权限",
-  "pin-message": "Pin消息",
+  "Personal_Access_Tokens": "个人访问令牌",
+  "pin-message": "固定信息",
   "pin-message_description": "允许在通道中固定消息",
   "Pin_Message": "固定信息",
   "Pinned_a_message": "已固定信息:",
@@ -1973,7 +2058,7 @@
   "Placeholder_for_email_or_username_login_field": "登录窗 E-mail 或用户的占位符",
   "Placeholder_for_password_login_field": "登录窗中密码的占位符",
   "Please_add_a_comment": "请添加一条评论",
-  "Please_add_a_comment_to_close_the_room": "请添加评论并关闭房间",
+  "Please_add_a_comment_to_close_the_room": "请添加评论并关闭聊天室",
   "Please_answer_survey": "请花费几分钟来反馈这次交谈的体验",
   "please_enter_valid_domain": "请输入有效的域名",
   "Please_enter_value_for_url": "请输入头像的 URL。",
@@ -1984,6 +2069,7 @@
   "Please_fill_a_username": "请填写用户名",
   "Please_fill_all_the_information": "请填写所有信息",
   "Please_fill_name_and_email": "请填写姓名和电子邮箱地址",
+  "Please_fill_a_token_name": "请输入一个有效的令牌名称",
   "Please_go_to_the_Administration_page_then_Livechat_Facebook": "请到管理页面,然后进入Livechat> Facebook",
   "Please_select_an_user": "请选择一个用户",
   "Please_select_enabled_yes_or_no": "请选择要启用的项",
@@ -2002,6 +2088,8 @@
   "Preferences_saved": "偏好设置已保存",
   "preview-c-room": "预览公共频道",
   "preview-c-room_description": "在加入之前查看公共频道内容的权限",
+  "Previous_month": "前一个月",
+  "Previous_week": "前一个星期",
   "Privacy": "隐私条款",
   "Private": "私有",
   "Private_Channel": "私人频道",
@@ -2009,12 +2097,13 @@
   "Private_Groups": "私有组",
   "Private_Groups_list": "私有组列表",
   "Private_Team": "私人团队",
+  "Productivity": "产出",
   "Profile": "资料",
   "Profile_details": "档案详细信息",
   "Profile_picture": "头像",
   "Profile_saved_successfully": "资料保存成功",
   "Prune": "修剪",
-  "Prune_finished": "修剪完了",
+  "Prune_finished": "修剪完成",
   "Prune_Messages": "修剪消息",
   "Prune_Modal": "你确定要修剪这些消息吗?已修剪的邮件无法恢复。",
   "Prune_Warning_all": "这将删除%s中的所有%s!",
@@ -2030,6 +2119,7 @@
   "Public_Community": "公共社区",
   "Public_Relations": "公共关系",
   "Push": "推送",
+  "Push_Setting_Requires_Restart_Alert": "更改此值需要重新启动Rocket.Chat。",
   "Push_apn_cert": "APN 证书",
   "Push_apn_dev_cert": "APN Dev 证书 ",
   "Push_apn_dev_key": "APN Dev 密钥",
@@ -2064,10 +2154,11 @@
   "Read_only_group": "只读组",
   "Real_Estate": "房地产",
   "RealName_Change_Disabled": "您的Rocket.Chat管理员已禁用更改名称",
+  "Real_Time_Monitoring": "实时监控",
   "Reason_To_Join": "加入的理由",
-  "Receive_alerts": "接收警报",
+  "Receive_alerts": "接收提醒",
   "Receive_Group_Mentions": "接收@all和@here提及",
-  "Record": "开始录制",
+  "Record": "记录",
   "Redirect_URI": "跳转 URI",
   "Refresh_keys": "刷新 key",
   "Refresh_oauth_services": "刷新OAuth服务",
@@ -2080,7 +2171,7 @@
   "Register_Server_Registered_Push_Notifications": "移动推送通知网关",
   "Register_Server_Registered_Livechat": "Livechat omnichannel代理",
   "Register_Server_Registered_OAuth": "社交网络的OAuth代理",
-  "Register_Server_Registered_Marketplace": "Apps Marketplace",
+  "Register_Server_Registered_Marketplace": "应用市场地位",
   "Register_Server_Opt_In": "时事通讯,优惠和产品更新",
   "Register_Server_Standalone": "保持独立,你需要",
   "Register_Server_Standalone_Service_Providers": "使用服务提供商创建帐户",
@@ -2151,8 +2242,9 @@
   "RetentionPolicyRoom_FilesOnly": "仅修剪文件,保留消息",
   "RetentionPolicyRoom_MaxAge": "最大邮件年龄(以天为单位)(默认值:__ max__)",
   "RetentionPolicyRoom_OverrideGlobal": "覆盖全局保留策略",
-  "RetentionPolicyRoom_ReadTheDocs": "小心!毫不费力地调整这些设置可能会破坏所有消息历史记录。请在<a href ='https://rocket.chat/docs/administrator-guides/retention-policies/'>此处<a>上启用该功能之前阅读文档。",
+  "RetentionPolicyRoom_ReadTheDocs": "小心!调整这些设置可能会破坏所有消息历史记录。请在<a href=\"https://rocket.chat/docs/administrator-guides/retention-policies/\">此处</a>启用该功能之前阅读文档。",
   "Retry_Count": "重试计数",
+  "Robot_Instructions_File_Content": "Robots.txt文件内容",
   "Role": "角色",
   "Role_Editing": "编辑角色",
   "Role_removed": "角色已删除",
@@ -2170,25 +2262,26 @@
   "Room_description_changed_successfully": "房间描述修改成功",
   "Room_has_been_archived": "房间已归档",
   "Room_has_been_deleted": "房间已被删除",
-  "Room_has_been_unarchived": "已撤销房间归档",
-  "Room_Info": "房间信息",
-  "room_is_blocked": "这个房间被封锁了",
-  "room_is_read_only": "这个房间是只读的",
-  "room_name": "房间名",
+  "Room_has_been_unarchived": "已撤销聊天室归档",
+  "Room_Info": "聊天室信息",
+  "room_is_blocked": "这个聊天室被封锁了",
+  "room_is_read_only": "这个聊天室是只读的",
+  "room_name": "聊天室名",
   "Room_name_changed": "聊天室名称更改为: <em>__room_name__</em> 由 <em>__user_by__</em> 更改",
   "Room_name_changed_successfully": "聊天室名称变更成功",
-  "Room_not_found": "未找到房间",
-  "Room_password_changed_successfully": "房间密码修改成功",
-  "Room_tokenpass_config_changed_successfully": "房间令牌传输配置已成功更改",
-  "Room_topic_changed_successfully": "房间话题已成功修改",
-  "Room_type_changed_successfully": "房间类型已成功修改",
-  "Room_type_of_default_rooms_cant_be_changed": "这是一个默认房间,类型不能更改,请咨询您的管理员。",
-  "Room_unarchived": "房间归档状态已取消",
+  "Room_not_found": "未找到聊天室",
+  "Room_password_changed_successfully": "聊天室密码修改成功",
+  "Room_tokenpass_config_changed_successfully": "聊天室令牌传输配置已成功更改",
+  "Room_topic_changed_successfully": "聊天室话题已成功修改",
+  "Room_type_changed_successfully": "聊天室类型已成功修改",
+  "Room_type_of_default_rooms_cant_be_changed": "这是一个默认聊天室,类型不能更改,请咨询您的管理员。",
+  "Room_unarchived": "聊天室归档状态已取消",
   "Room_uploaded_file_list": "文件列表",
   "Room_uploaded_file_list_empty": "没有任何文件。",
-  "Rooms": "房间",
+  "Rooms": "聊天室",
+  "Run_only_once_for_each_visitor": "每位访客仅运行一次",
   "run-import": "运行导入",
-  "run-import_description": "运行进口商的权限",
+  "run-import_description": "运行导入器的权限",
   "run-migration": "运行迁移",
   "run-migration_description": "运行迁移的权限",
   "Running_Instances": "正在运行的实例",
@@ -2198,6 +2291,7 @@
   "Same_Style_For_Mentions": "同样的风格提及",
   "SAML": "SAML",
   "SAML_Custom_Cert": "自定义凭证",
+  "SAML_Custom_Debug": "使能调试",
   "SAML_Custom_Entry_point": "自定义入口",
   "SAML_Custom_Generate_Username": "生成用户名",
   "SAML_Custom_IDP_SLO_Redirect_URL": "IDP SLO 重定向 URL",
@@ -2214,8 +2308,10 @@
   "save-others-livechat-room-info": "保存其他实时聊天室信息",
   "save-others-livechat-room-info_description": "允许保存来自其他实时聊天频道的信息",
   "Save_changes": "保存修改",
-  "Save_Mobile_Bandwidth": "节约移动带宽",
+  "Save_Mobile_Bandwidth": "节约移动网络带宽",
   "Save_to_enable_this_action": "保存以启用该操作",
+  "Save_To_Webdav": "保存到WebDAV",
+  "Save_your_encryption_password": "保存密码",
   "Saved": "已保存",
   "Saving": "保存中",
   "Scan_QR_code": "使用Google身份验证器,Authy或Duo等身份验证器应用扫描QR码。它将显示一个6位数的代码,您需要在下面输入。",
@@ -2387,7 +2483,7 @@
   "Stats_Avg_Private_Group_Users": "平均私人组人数",
   "Stats_Away_Users": "离线用户",
   "Stats_Max_Room_Users": "最大的房间人数",
-  "Stats_Non_Active_Users": "非活动用户",
+  "Stats_Non_Active_Users": "非活跃用户",
   "Stats_Offline_Users": "脱机用户",
   "Stats_Online_Users": "在线用户",
   "Stats_Total_Channels": "频道总数",
@@ -2420,6 +2516,7 @@
   "Survey_instructions": "根据问题填写您的满意度,1 代表完全不满意,5 代表非常满意。",
   "Symbols": "符号",
   "Sync_in_progress": "同步正在进行中",
+  "Sync_Interval": "同步间隔",
   "Sync_success": "同步成功",
   "Sync_Users": "同步用户",
   "System_messages": "系统消息",
@@ -2427,6 +2524,7 @@
   "Take_it": "拿去!",
   "TargetRoom": "目标房间",
   "TargetRoom_Description": "事件被触发所产生的结果将被发送到哪个房间?仅允许设置一个目标房间,且该房间必须是存在的。",
+  "Target user not allowed to receive messages": "目标用户不允许接收消息",
   "Team": "团队",
   "Technology_Provider": "技术提供商",
   "Technology_Services": "技术服务",
@@ -2484,29 +2582,34 @@
   "theme-color-tertiary-font-color": "第三字体颜色",
   "theme-color-transparent-dark": "透明黑暗",
   "theme-color-transparent-darker": "透明较暗",
-  "theme-color-transparent-light": "透明灯",
-  "theme-color-transparent-lighter": "透明打火机",
-  "theme-color-transparent-lightest": "透明最轻",
+  "theme-color-transparent-light": "透明亮",
+  "theme-color-transparent-lighter": "透明较亮",
+  "theme-color-transparent-lightest": "透明最亮",
   "theme-color-unread-notification-color": "未读消息颜色",
   "theme-custom-css": "自定义 CSS",
-  "theme-font-body-font-family": "正文字体家族",
+  "theme-font-body-font-family": "正文字形体系 ",
   "There_are_no_agents_added_to_this_department_yet": "该部门尚未分配任何客服。",
   "There_are_no_applications": "尚未添加oAuth应用程序。",
   "There_are_no_applications_installed": "目前还没有安装Rocket.Chat应用程序。",
   "There_are_no_integrations": "没有集成",
+  "There_are_no_personal_access_tokens_created_yet": "尚未创建个人访问令牌。",
   "There_are_no_users_in_this_role": "该角色没有对应用户。",
   "This_conversation_is_already_closed": "该会话已结束!",
   "This_email_has_already_been_used_and_has_not_been_verified__Please_change_your_password": "此电子邮箱地址已被使用但未经验证。请修改您的密码。",
   "This_is_a_desktop_notification": "这是一条桌面通知",
   "This_is_a_push_test_messsage": "这是一条测试信息",
+  "This_month": "这个月",
   "This_room_has_been_archived_by__username_": "这个房间已被 __username__ 归档",
   "This_room_has_been_unarchived_by__username_": "这个房间已被 __username__ 取消归档",
+  "This_week": "这个星期",
   "Thursday": "星期四",
   "Time_in_seconds": "时间(秒)",
   "Title": "标题",
   "Title_bar_color": "标题栏颜色",
   "Title_bar_color_offline": "离线标题栏颜色",
   "Title_offline": "离线标题",
+  "To": "到",
+  "Today": "今天",
   "To_additional_emails": "额外的电子邮件",
   "To_install_RocketChat_Livechat_in_your_website_copy_paste_this_code_above_the_last_body_tag_on_your_site": "要在您的网站中安装 Rocket.Chat 在线聊天,请将以下代码复制粘贴到您的网页代码中最后一个 <strong>&lt;/body&gt;</strong> 标签之上。",
   "to_see_more_details_on_how_to_integrate": "以便查看更多关于集成的细节。",
@@ -2525,6 +2628,9 @@
   "Tokens_Required_Input_Error": "输入的令牌无效。",
   "Tokens_Required_Input_Placeholder": "令牌资产名称",
   "Topic": "话题",
+  "Total_conversations": "对话总数",
+  "Total_messages": "消息总数",
+  "Total_visitors": "访问者总数",
   "Tourism": "旅游",
   "Transcript_Enabled": "询问访问者是否会在聊天结束后收到抄本",
   "Transcript_message": "询问笔录时要显示的信息",
@@ -2580,15 +2686,18 @@
   "Unread_Rooms_Mode": "未读房间模式",
   "Unread_Tray_Icon_Alert": "未读托盘图标警报",
   "Unstar_Message": "取消标记",
+  "Update_to_version": "更新到__version__",
   "Update_your_RocketChat": "æ›´æ–°ä½ çš„Rocket.Chat",
   "Updated_at": "更新于",
   "Upload_file_description": "文件描述",
   "Upload_file_name": "文件名",
   "Upload_file_question": "上传文件?",
+  "Upload_Folder_Path": "上传文件夹路径",
   "Upload_user_avatar": "上传头像",
+  "Upload_From": "从__name__上传",
   "Uploading_file": "文件上传中……",
   "Uptime": "运行时间",
-  "URL": "网址",
+  "URL": "URL",
   "URL_room_prefix": "房间 URL 前缀",
   "Use_account_preference": "使用账户特性",
   "Use_Emojis": "使用表情",
@@ -2596,6 +2705,7 @@
   "Use_initials_avatar": "使用您用户名的首字母缩写",
   "Use_minor_colors": "使用次要调色板(默认继承主要颜色)",
   "Use_service_avatar": "使用 %s 头像",
+  "Verification_Email": "<a href=\"[Verification_Url]\">点击这里</a> 验证你的账户。",
   "Use_this_username": "使用此用户名",
   "Use_uploaded_avatar": "使用上传头像",
   "Use_url_for_avatar": "为头像使用链接",
@@ -2690,13 +2800,14 @@
   "UTF8_Names_Validation": "UTF-8 名称验证",
   "UTF8_Names_Validation_Description": "禁止特殊字符和空格。你可以在名字末尾以为的地方使用 -、_ 和 . 。",
   "Validate_email_address": "验证邮箱",
+  "Verification_email_body": "您已在[Site_Name]上成功创建了一个帐户。请单击下面的按钮确认您的电子邮件地址并完成注册。",
   "Verification": "验证",
   "Verification_Description": "您可以使用以下占位符:<br/><ul><li>[Verification_Url]获取验证网址。</li><li>[姓名],[fname],[lname]分别代表用户的全名,名字或姓氏。用户的电子邮件为</li><li>[email]。分别为应用程序名称和URL分别为</li><li>[Site_Name]和[Site_URL]。</li></ul>",
-  "Verification_Email": "<a href=\"[Verification_Url]\">点击这里</a> 验证你的账户。",
   "Verification_email_sent": "确认邮件已发送",
   "Verification_Email_Subject": "[Site_Name] - 验证你的账户",
   "Verified": "已验证",
   "Verify": "验证",
+  "Verify_your_email": "验证您的电子邮件",
   "Version": "版本",
   "Video_Chat_Window": "视频聊天",
   "Video_Conference": "视频会议",
@@ -2743,6 +2854,7 @@
   "Viewing_room_administration": "观景房管理",
   "Visibility": "可见性",
   "Visible": "可见",
+  "Visit_Site_Url_and_try_the_best_open_source_chat_solution_available_today": "访问__Site_URL__并尝试最好的开源即时消息解决方案!",
   "Visitor": "访客",
   "Visitor_Info": "访客信息",
   "Visitor_Navigation": "游客导航",
@@ -2753,6 +2865,13 @@
   "We_are_offline_Sorry_for_the_inconvenience": "现在没有人在线,带来不便请您谅解。",
   "We_have_sent_password_email": "我们已经向您发送密码重置的电子邮件。如果您没有收到邮件,请重试。",
   "We_have_sent_registration_email": "我们已经向您发出一封电子邮件,以确认您的注册。如果您没有收到邮件,请重试。",
+  "WebDAV_Accounts": "WebDAV帐户",
+  "Webdav_add_new_account": "添加新的WebDAV帐户",
+  "webdav-account-saved": "WebDAV帐户已保存",
+  "Webdav_Integration_Enabled": "Webdav集成已启用",
+  "Webdav_Server_URL": "WebDAV服务器访问URL",
+  "Webdav_Username": "WebDAV用户名",
+  "Webdav_Password": "WebDAV密码",
   "Webhook_URL": "Webhooks 地址",
   "Webhooks": "Webhooks",
   "WebRTC_direct_audio_call_from_%s": "直接从%s进行音频通话",
@@ -2768,19 +2887,21 @@
   "Website": "网站",
   "Wednesday": "星期三",
   "Welcome": "欢迎 <em>%s</em>",
+  "Welcome_to": "欢迎访问 [Site_Name]",
   "Welcome_to_the": "欢迎来到",
   "Why_do_you_want_to_report_question_mark": "你为什么要da?",
   "will_be_able_to": "将能",
   "Worldwide": "全世界",
   "Would_you_like_to_return_the_inquiry": "你想返回调查吗?",
   "Yes": "是",
+  "Yesterday": "昨天",
   "Yes_archive_it": "是的,存档!",
   "Yes_clear_all": "是,清除所有!",
   "Yes_delete_it": "确定,删除!",
   "Yes_hide_it": "确定,隐藏!",
   "Yes_leave_it": "确定,离开!",
   "Yes_mute_user": "是的,禁止该用户发言!",
-  "Yes_prune_them": "是的,修剪它们!",
+  "Yes_prune_them": "是的,裁剪它们!",
   "Yes_remove_user": "是的,删除该用户!",
   "Yes_unarchive_it": "是的,解开它!",
   "yesterday": "昨天",
@@ -2806,7 +2927,7 @@
   "You_need_to_type_in_your_username_in_order_to_do_this": "您需要输入您的用户名以便完成此操作!",
   "You_need_to_verifiy_your_email_address_to_get_notications": "您需要验证您的电子邮箱地址才能收到通知",
   "You_need_to_write_something": "你需要写一些东西!",
-  "You_should_inform_one_url_at_least": "你应该定义至少一个网址。",
+  "You_should_inform_one_url_at_least": "你应该定义至少一个URL。",
   "You_should_name_it_to_easily_manage_your_integrations": "为了方便管理您的集成,请给它命名。",
   "You_will_not_be_able_to_recover": "您将无法恢复此信息!",
   "You_will_not_be_able_to_recover_file": "您将不能恢复这个文件!",
diff --git a/packages/rocketchat-i18n/package.js b/packages/rocketchat-i18n/package.js
index fe35b7d815e4df9133da37d85589aaee9712f194..756bb74d0c64ccdd1b2046f3abe88bb1ac9b507b 100644
--- a/packages/rocketchat-i18n/package.js
+++ b/packages/rocketchat-i18n/package.js
@@ -5,24 +5,30 @@ Package.describe({
 	git: '',
 });
 
+const additionalPackages = {
+	livechat: 'rocketchat-livechat/.app/i18n',
+};
+
+const fs = Npm.require('fs');
+
 Package.onUse(function(api) {
 	api.use('templating', 'client');
 
-	const fs = Npm.require('fs');
 	const workingDir = process.env.PWD || '.';
 	const i18nDir = `${ workingDir }/packages/rocketchat-i18n/i18n`;
-	fs.readdirSync(i18nDir).forEach(function(filename) {
-		if (filename.indexOf('.json') > -1 && fs.statSync(`${ i18nDir }/${ filename }`).size > 16) {
-			api.addFiles(`i18n/${ filename }`);
-		}
-	});
 
-	const livechatDir = `${ workingDir }/packages/rocketchat-livechat/.app/i18n`;
-	fs.readdirSync(livechatDir).forEach(function(filename) {
-		if (filename.indexOf('.json') > -1 && fs.statSync(`${ livechatDir }/${ filename }`).size > 16) {
-			fs.writeFileSync(`${ i18nDir }/livechat.${ filename }`, fs.readFileSync(`${ livechatDir }/${ filename }`));
+	Object.keys(additionalPackages).forEach(function(current) {
+		const fullPath = `${ workingDir }/packages/${ additionalPackages[current] }`;
+		fs.readdirSync(fullPath).forEach(function(filename) {
+			if (filename.indexOf('.json') > -1 && fs.statSync(`${ fullPath }/${ filename }`).size > 16) {
+				fs.writeFileSync(`${ i18nDir }/${ current }.${ filename }`, fs.readFileSync(`${ fullPath }/${ filename }`));
+			}
+		});
+	});
 
-			api.addFiles(`i18n/livechat.${ filename }`);
+	fs.readdirSync(i18nDir).forEach(function(filename) {
+		if (filename.indexOf('.json') > -1 && filename.indexOf('livechat.') === -1 && fs.statSync(`${ i18nDir }/${ filename }`).size > 16) {
+			api.addFiles(`i18n/${ filename }`);
 		}
 	});
 
diff --git a/packages/rocketchat-iframe-login/iframe_client.js b/packages/rocketchat-iframe-login/client/iframe_client.js
similarity index 95%
rename from packages/rocketchat-iframe-login/iframe_client.js
rename to packages/rocketchat-iframe-login/client/iframe_client.js
index fc883fd381925e8f1332f37d89bc63378f256a4e..ae80309896ce023145aab73f8d593f822bfaff31 100644
--- a/packages/rocketchat-iframe-login/iframe_client.js
+++ b/packages/rocketchat-iframe-login/client/iframe_client.js
@@ -1,5 +1,12 @@
-/* globals Accounts, Tracker, ReactiveVar, FlowRouter, Accounts, HTTP, facebookConnectPlugin, TwitterConnect, OAuth */
-
+/* globals facebookConnectPlugin, TwitterConnect */
+import { Meteor } from 'meteor/meteor';
+import { Match } from 'meteor/check';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { Accounts } from 'meteor/accounts-base';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Tracker } from 'meteor/tracker';
+import { HTTP } from 'meteor/http';
+import { OAuth } from 'meteor/oauth';
 import _ from 'underscore';
 
 const { _unstoreLoginToken } = Accounts;
diff --git a/packages/rocketchat-iframe-login/client/index.js b/packages/rocketchat-iframe-login/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..db3f3000d4e38b1571a78ff041df3c976fefe758
--- /dev/null
+++ b/packages/rocketchat-iframe-login/client/index.js
@@ -0,0 +1 @@
+import './iframe_client';
diff --git a/packages/rocketchat-iframe-login/package.js b/packages/rocketchat-iframe-login/package.js
index c1855fd0da7154685b4b5f8475e482a1efbbe602..9814a9ad4b5be2388b47e82df331bda23754ef20 100644
--- a/packages/rocketchat-iframe-login/package.js
+++ b/packages/rocketchat-iframe-login/package.js
@@ -5,29 +5,23 @@ Package.describe({
 });
 
 Package.onUse(function(api) {
-
-	// Server libs
-	api.use('rocketchat:logger', 'server');
-
-	api.use('kadira:flow-router', 'client');
-
-	api.use('rocketchat:lib');
-	api.use('accounts-base');
-	api.use('ecmascript');
-	api.use('reactive-var');
-	api.use('http');
-	api.use('tracker');
-	api.use('check');
-
-	api.imply('facebook-oauth');
-	api.imply('twitter-oauth');
-	api.imply('google-oauth');
-	api.imply('oauth');
-
-	// Server files
-	api.addFiles('iframe_rocketchat.js', 'server');
-	api.addFiles('iframe_server.js', 'server');
-
-	// Client files
-	api.addFiles('iframe_client.js', 'client');
+	api.use([
+		'rocketchat:logger',
+		'kadira:flow-router',
+		'rocketchat:lib',
+		'accounts-base',
+		'ecmascript',
+		'reactive-var',
+		'http',
+		'tracker',
+		'check',
+	]);
+	api.imply([
+		'facebook-oauth',
+		'twitter-oauth',
+		'google-oauth',
+		'oauth',
+	]);
+	api.mainModule('client/index.js', 'client');
+	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/rocketchat-iframe-login/iframe_rocketchat.js b/packages/rocketchat-iframe-login/server/iframe_rocketchat.js
similarity index 83%
rename from packages/rocketchat-iframe-login/iframe_rocketchat.js
rename to packages/rocketchat-iframe-login/server/iframe_rocketchat.js
index c11db9da0c326a32a90285531bcf7a398a6cb74c..d19634650c378397d187a0d7d85b2d3c30c570ae 100644
--- a/packages/rocketchat-iframe-login/iframe_rocketchat.js
+++ b/packages/rocketchat-iframe-login/server/iframe_rocketchat.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.startup(function() {
 	RocketChat.settings.addGroup('Accounts', function() {
 		this.section('Iframe', function() {
diff --git a/packages/rocketchat-iframe-login/iframe_server.js b/packages/rocketchat-iframe-login/server/iframe_server.js
similarity index 74%
rename from packages/rocketchat-iframe-login/iframe_server.js
rename to packages/rocketchat-iframe-login/server/iframe_server.js
index 9db26b6e72377a2585c8a28c1ea18b11203b7dfd..586bc8ee8558f642dfd393e5a1810293e1acf8c5 100644
--- a/packages/rocketchat-iframe-login/iframe_server.js
+++ b/packages/rocketchat-iframe-login/server/iframe_server.js
@@ -1,4 +1,7 @@
-/* globals Accounts, OAuth */
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+import { Accounts } from 'meteor/accounts-base';
+import { OAuth } from 'meteor/oauth';
 
 Accounts.registerLoginHandler('iframe', function(result) {
 	if (!result.iframe) {
diff --git a/packages/rocketchat-iframe-login/server/index.js b/packages/rocketchat-iframe-login/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..1e8ba3129e833a20d557124d70a5b61811bbc134
--- /dev/null
+++ b/packages/rocketchat-iframe-login/server/index.js
@@ -0,0 +1,2 @@
+import './iframe_rocketchat';
+import './iframe_server';
diff --git a/packages/rocketchat-importer-csv/client/adder.js b/packages/rocketchat-importer-csv/client/adder.js
index b2da9a396eceb32720b621c2ca0c7b2783580224..0337f74987f2a90976fdf7ee88817f740047b451 100644
--- a/packages/rocketchat-importer-csv/client/adder.js
+++ b/packages/rocketchat-importer-csv/client/adder.js
@@ -1,4 +1,4 @@
 import { Importers } from 'meteor/rocketchat:importer';
-import { CsvImporterInfo } from '../info';
+import { CsvImporterInfo } from '../lib/info';
 
 Importers.add(new CsvImporterInfo());
diff --git a/packages/rocketchat-importer-csv/client/index.js b/packages/rocketchat-importer-csv/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..44a1b3bab84c5d83d0568e9a5bda34f7b8adc567
--- /dev/null
+++ b/packages/rocketchat-importer-csv/client/index.js
@@ -0,0 +1 @@
+import './adder';
diff --git a/packages/rocketchat-importer-csv/info.js b/packages/rocketchat-importer-csv/lib/info.js
similarity index 100%
rename from packages/rocketchat-importer-csv/info.js
rename to packages/rocketchat-importer-csv/lib/info.js
diff --git a/packages/rocketchat-importer-csv/package.js b/packages/rocketchat-importer-csv/package.js
index 893669457250f8c5c6f456a2bc211fb80b79ffad..0e52f630d893ce71edb17d5936a79b57c696226d 100644
--- a/packages/rocketchat-importer-csv/package.js
+++ b/packages/rocketchat-importer-csv/package.js
@@ -10,16 +10,8 @@ Package.onUse(function(api) {
 		'ecmascript',
 		'rocketchat:lib',
 		'rocketchat:importer',
+		'rocketchat:logger',
 	]);
-
-	api.use('rocketchat:logger', 'server');
-
-	// Importer information to both server and client
-	api.addFiles('info.js');
-
-	// Server files
-	api.addFiles(['server/importer.js', 'server/adder.js'], 'server');
-
-	// Client files
-	api.addFiles('client/adder.js', 'client');
+	api.mainModule('client/index.js', 'client');
+	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/rocketchat-importer-csv/server/adder.js b/packages/rocketchat-importer-csv/server/adder.js
index 41edb79f5f938196b826c93c075473502916319d..dc706356277366b22d7d5c3ee639935b7a347fc1 100644
--- a/packages/rocketchat-importer-csv/server/adder.js
+++ b/packages/rocketchat-importer-csv/server/adder.js
@@ -1,5 +1,5 @@
 import { Importers } from 'meteor/rocketchat:importer';
-import { CsvImporterInfo } from '../info';
+import { CsvImporterInfo } from '../lib/info';
 import { CsvImporter } from './importer';
 
 Importers.add(new CsvImporterInfo(), CsvImporter);
diff --git a/packages/rocketchat-importer-csv/server/importer.js b/packages/rocketchat-importer-csv/server/importer.js
index 456fa24c33e68c24ce3b3bc4c089c8d36117def1..07c43c9ad53b6d16dfd548f41b9e2988d0a8bc8e 100644
--- a/packages/rocketchat-importer-csv/server/importer.js
+++ b/packages/rocketchat-importer-csv/server/importer.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { Accounts } from 'meteor/accounts-base';
 import {
 	Base,
 	ProgressStep,
@@ -5,6 +7,8 @@ import {
 	SelectionChannel,
 	SelectionUser,
 } from 'meteor/rocketchat:importer';
+import { RocketChatFile } from 'meteor/rocketchat:file';
+import { RocketChat } from 'meteor/rocketchat:lib';
 
 export class CsvImporter extends Base {
 	constructor(info) {
diff --git a/packages/rocketchat-importer-csv/server/index.js b/packages/rocketchat-importer-csv/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..44a1b3bab84c5d83d0568e9a5bda34f7b8adc567
--- /dev/null
+++ b/packages/rocketchat-importer-csv/server/index.js
@@ -0,0 +1 @@
+import './adder';
diff --git a/packages/rocketchat-importer-hipchat-enterprise/client/adder.js b/packages/rocketchat-importer-hipchat-enterprise/client/adder.js
index 92bfe07d193c78d9d3afda600236c18c738d1587..21f5a8fe8b5f4d1db86ec446bfdde71ec263ecc3 100644
--- a/packages/rocketchat-importer-hipchat-enterprise/client/adder.js
+++ b/packages/rocketchat-importer-hipchat-enterprise/client/adder.js
@@ -1,4 +1,4 @@
 import { Importers } from 'meteor/rocketchat:importer';
-import { HipChatEnterpriseImporterInfo } from '../info';
+import { HipChatEnterpriseImporterInfo } from '../lib/info';
 
 Importers.add(new HipChatEnterpriseImporterInfo());
diff --git a/packages/rocketchat-importer-hipchat-enterprise/client/index.js b/packages/rocketchat-importer-hipchat-enterprise/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..44a1b3bab84c5d83d0568e9a5bda34f7b8adc567
--- /dev/null
+++ b/packages/rocketchat-importer-hipchat-enterprise/client/index.js
@@ -0,0 +1 @@
+import './adder';
diff --git a/packages/rocketchat-importer-hipchat-enterprise/info.js b/packages/rocketchat-importer-hipchat-enterprise/lib/info.js
similarity index 100%
rename from packages/rocketchat-importer-hipchat-enterprise/info.js
rename to packages/rocketchat-importer-hipchat-enterprise/lib/info.js
diff --git a/packages/rocketchat-importer-hipchat-enterprise/package.js b/packages/rocketchat-importer-hipchat-enterprise/package.js
index 790c86b525ad1cd9ba496e5cf1a5fe836670c1b5..6eae9640b4ca52c9448ee75777fc0ab8745d498f 100644
--- a/packages/rocketchat-importer-hipchat-enterprise/package.js
+++ b/packages/rocketchat-importer-hipchat-enterprise/package.js
@@ -10,16 +10,6 @@ Package.onUse(function(api) {
 		'ecmascript',
 		'rocketchat:lib',
 		'rocketchat:importer',
+		'rocketchat:logger',
 	]);
-
-	api.use('rocketchat:logger', 'server');
-
-	// Importer information to both server and client
-	api.addFiles('info.js');
-
-	// Server files
-	api.addFiles(['server/importer.js', 'server/adder.js'], 'server');
-
-	// Client files
-	api.addFiles('client/adder.js', 'client');
 });
diff --git a/packages/rocketchat-importer-hipchat-enterprise/server/adder.js b/packages/rocketchat-importer-hipchat-enterprise/server/adder.js
index 20ee8203c4699ba8c2828389215619278113e543..eb798f47f990035b8c6cf18ed642c79cde7935b2 100644
--- a/packages/rocketchat-importer-hipchat-enterprise/server/adder.js
+++ b/packages/rocketchat-importer-hipchat-enterprise/server/adder.js
@@ -1,5 +1,5 @@
 import { Importers } from 'meteor/rocketchat:importer';
-import { HipChatEnterpriseImporterInfo } from '../info';
+import { HipChatEnterpriseImporterInfo } from '../lib/info';
 import { HipChatEnterpriseImporter } from './importer';
 
 Importers.add(new HipChatEnterpriseImporterInfo(), HipChatEnterpriseImporter);
diff --git a/packages/rocketchat-importer-hipchat-enterprise/server/importer.js b/packages/rocketchat-importer-hipchat-enterprise/server/importer.js
index a19af074fa2903e132201c277c8e5d8430f9f09d..7bd90970ae97c4da5c9e6a968525eb291207e5be 100644
--- a/packages/rocketchat-importer-hipchat-enterprise/server/importer.js
+++ b/packages/rocketchat-importer-hipchat-enterprise/server/importer.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Accounts } from 'meteor/accounts-base';
+import { Random } from 'meteor/random';
 import {
 	Base,
 	ProgressStep,
@@ -5,6 +8,7 @@ import {
 	SelectionChannel,
 	SelectionUser,
 } from 'meteor/rocketchat:importer';
+import { RocketChat } from 'meteor/rocketchat:lib';
 import { Readable } from 'stream';
 import path from 'path';
 import s from 'underscore.string';
diff --git a/packages/rocketchat-importer-hipchat-enterprise/server/index.js b/packages/rocketchat-importer-hipchat-enterprise/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..44a1b3bab84c5d83d0568e9a5bda34f7b8adc567
--- /dev/null
+++ b/packages/rocketchat-importer-hipchat-enterprise/server/index.js
@@ -0,0 +1 @@
+import './adder';
diff --git a/packages/rocketchat-importer-hipchat/client/adder.js b/packages/rocketchat-importer-hipchat/client/adder.js
index c9c2944358c6343bc631ba289d31988ec4291ba1..e7d8c606bf3796ae7547e8bb88c172e62765624e 100644
--- a/packages/rocketchat-importer-hipchat/client/adder.js
+++ b/packages/rocketchat-importer-hipchat/client/adder.js
@@ -1,4 +1,4 @@
 import { Importers } from 'meteor/rocketchat:importer';
-import { HipChatImporterInfo } from '../info';
+import { HipChatImporterInfo } from '../lib/info';
 
 Importers.add(new HipChatImporterInfo());
diff --git a/packages/rocketchat-importer-hipchat/client/index.js b/packages/rocketchat-importer-hipchat/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..44a1b3bab84c5d83d0568e9a5bda34f7b8adc567
--- /dev/null
+++ b/packages/rocketchat-importer-hipchat/client/index.js
@@ -0,0 +1 @@
+import './adder';
diff --git a/packages/rocketchat-importer-hipchat/info.js b/packages/rocketchat-importer-hipchat/lib/info.js
similarity index 100%
rename from packages/rocketchat-importer-hipchat/info.js
rename to packages/rocketchat-importer-hipchat/lib/info.js
diff --git a/packages/rocketchat-importer-hipchat/package.js b/packages/rocketchat-importer-hipchat/package.js
index 89fb275b5517e866e06a8ad3c95ff0a12178cfa3..e98cab76596100444b5f871e5dbdda71682da0a0 100644
--- a/packages/rocketchat-importer-hipchat/package.js
+++ b/packages/rocketchat-importer-hipchat/package.js
@@ -10,16 +10,8 @@ Package.onUse(function(api) {
 		'ecmascript',
 		'rocketchat:lib',
 		'rocketchat:importer',
+		'rocketchat:logger',
 	]);
-
-	api.use('rocketchat:logger', 'server');
-
-	// Importer information to both server and client
-	api.addFiles('info.js');
-
-	// Server files
-	api.addFiles(['server/importer.js', 'server/adder.js'], 'server');
-
-	// Client files
-	api.addFiles('client/adder.js', 'client');
+	api.mainModule('client/index.js', 'client');
+	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/rocketchat-importer-hipchat/server/adder.js b/packages/rocketchat-importer-hipchat/server/adder.js
index d68056b5e8899837c2e001a71e51e33aa413f066..d50cd041f7398d4c327b230f0aeed30924495342 100644
--- a/packages/rocketchat-importer-hipchat/server/adder.js
+++ b/packages/rocketchat-importer-hipchat/server/adder.js
@@ -1,5 +1,5 @@
 import { Importers } from 'meteor/rocketchat:importer';
-import { HipChatImporterInfo } from '../info';
+import { HipChatImporterInfo } from '../lib/info';
 import { HipChatImporter } from './importer';
 
 Importers.add(new HipChatImporterInfo(), HipChatImporter);
diff --git a/packages/rocketchat-importer-hipchat/server/importer.js b/packages/rocketchat-importer-hipchat/server/importer.js
index 6f11bd2b49983642523f4969798b2b1bea78be7f..df31bdeec9f88a88ba2d75069e8a931a76fc0119 100644
--- a/packages/rocketchat-importer-hipchat/server/importer.js
+++ b/packages/rocketchat-importer-hipchat/server/importer.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { Accounts } from 'meteor/accounts-base';
 import {
 	Base,
 	ProgressStep,
@@ -5,7 +7,8 @@ import {
 	SelectionChannel,
 	SelectionUser,
 } from 'meteor/rocketchat:importer';
-
+import { RocketChatFile } from 'meteor/rocketchat:file';
+import { RocketChat } from 'meteor/rocketchat:lib';
 import _ from 'underscore';
 import s from 'underscore.string';
 import moment from 'moment';
diff --git a/packages/rocketchat-importer-hipchat/server/index.js b/packages/rocketchat-importer-hipchat/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..44a1b3bab84c5d83d0568e9a5bda34f7b8adc567
--- /dev/null
+++ b/packages/rocketchat-importer-hipchat/server/index.js
@@ -0,0 +1 @@
+import './adder';
diff --git a/packages/rocketchat-importer-slack-users/client/adder.js b/packages/rocketchat-importer-slack-users/client/adder.js
index 24aa8760c7f68d7304cff4e20bf009c6296ae689..d040753f3e1f42b7370b4122780507af77845de3 100644
--- a/packages/rocketchat-importer-slack-users/client/adder.js
+++ b/packages/rocketchat-importer-slack-users/client/adder.js
@@ -1,4 +1,4 @@
 import { Importers } from 'meteor/rocketchat:importer';
-import { SlackUsersImporterInfo } from '../info';
+import { SlackUsersImporterInfo } from '../lib/info';
 
 Importers.add(new SlackUsersImporterInfo());
diff --git a/packages/rocketchat-importer-slack-users/client/index.js b/packages/rocketchat-importer-slack-users/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..44a1b3bab84c5d83d0568e9a5bda34f7b8adc567
--- /dev/null
+++ b/packages/rocketchat-importer-slack-users/client/index.js
@@ -0,0 +1 @@
+import './adder';
diff --git a/packages/rocketchat-importer-slack-users/info.js b/packages/rocketchat-importer-slack-users/lib/info.js
similarity index 100%
rename from packages/rocketchat-importer-slack-users/info.js
rename to packages/rocketchat-importer-slack-users/lib/info.js
diff --git a/packages/rocketchat-importer-slack-users/package.js b/packages/rocketchat-importer-slack-users/package.js
index b0f9ca959ace88ca6c78a10c8510a1bfbc2264b1..dfdee437a0fd901f576668bb9e49fc3c5f0e522c 100644
--- a/packages/rocketchat-importer-slack-users/package.js
+++ b/packages/rocketchat-importer-slack-users/package.js
@@ -10,16 +10,8 @@ Package.onUse(function(api) {
 		'ecmascript',
 		'rocketchat:lib',
 		'rocketchat:importer',
+		'rocketchat:logger',
 	]);
-
-	api.use('rocketchat:logger', 'server');
-
-	// Importer information to both server and client
-	api.addFiles('info.js');
-
-	// Server files
-	api.addFiles(['server/importer.js', 'server/adder.js'], 'server');
-
-	// Client files
-	api.addFiles('client/adder.js', 'client');
+	api.mainModule('client/index.js', 'client');
+	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/rocketchat-importer-slack-users/server/adder.js b/packages/rocketchat-importer-slack-users/server/adder.js
index af34e4570db49c3176dcf52fa0925e97298063c5..59c964766867b9b49ae0c9ca34ee7ddb4e19006e 100644
--- a/packages/rocketchat-importer-slack-users/server/adder.js
+++ b/packages/rocketchat-importer-slack-users/server/adder.js
@@ -1,5 +1,5 @@
 import { Importers } from 'meteor/rocketchat:importer';
-import { SlackUsersImporterInfo } from '../info';
+import { SlackUsersImporterInfo } from '../lib/info';
 import { SlackUsersImporter } from './importer';
 
 Importers.add(new SlackUsersImporterInfo(), SlackUsersImporter);
diff --git a/packages/rocketchat-importer-slack-users/server/importer.js b/packages/rocketchat-importer-slack-users/server/importer.js
index 1851792b7395bca5bab7883335089b4936674758..cac2b8db9c67aa56f179be52db5dbb6ea3027640 100644
--- a/packages/rocketchat-importer-slack-users/server/importer.js
+++ b/packages/rocketchat-importer-slack-users/server/importer.js
@@ -1,9 +1,14 @@
+import { Meteor } from 'meteor/meteor';
+import { Accounts } from 'meteor/accounts-base';
+import { Random } from 'meteor/random';
 import {
 	Base,
 	ProgressStep,
 	Selection,
 	SelectionUser,
 } from 'meteor/rocketchat:importer';
+import { RocketChatFile } from 'meteor/rocketchat:file';
+import { RocketChat } from 'meteor/rocketchat:lib';
 
 export class SlackUsersImporter extends Base {
 	constructor(info) {
diff --git a/packages/rocketchat-importer-slack-users/server/index.js b/packages/rocketchat-importer-slack-users/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..44a1b3bab84c5d83d0568e9a5bda34f7b8adc567
--- /dev/null
+++ b/packages/rocketchat-importer-slack-users/server/index.js
@@ -0,0 +1 @@
+import './adder';
diff --git a/packages/rocketchat-importer-slack/client/adder.js b/packages/rocketchat-importer-slack/client/adder.js
index 266bf8bc87dc08881ccb21201e665b37f1e84f99..c7d9df19119fa0db3746cb83f1dfdbc55a647762 100644
--- a/packages/rocketchat-importer-slack/client/adder.js
+++ b/packages/rocketchat-importer-slack/client/adder.js
@@ -1,4 +1,4 @@
 import { Importers } from 'meteor/rocketchat:importer';
-import { SlackImporterInfo } from '../info';
+import { SlackImporterInfo } from '../lib/info';
 
 Importers.add(new SlackImporterInfo());
diff --git a/packages/rocketchat-importer-slack/client/index.js b/packages/rocketchat-importer-slack/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..44a1b3bab84c5d83d0568e9a5bda34f7b8adc567
--- /dev/null
+++ b/packages/rocketchat-importer-slack/client/index.js
@@ -0,0 +1 @@
+import './adder';
diff --git a/packages/rocketchat-importer-slack/info.js b/packages/rocketchat-importer-slack/lib/info.js
similarity index 100%
rename from packages/rocketchat-importer-slack/info.js
rename to packages/rocketchat-importer-slack/lib/info.js
diff --git a/packages/rocketchat-importer-slack/package.js b/packages/rocketchat-importer-slack/package.js
index 90fba3e33ca6c646246e2296f1880e1b4fdade56..d86ec806a9dc523cb6b677994f4a0093b1688daa 100644
--- a/packages/rocketchat-importer-slack/package.js
+++ b/packages/rocketchat-importer-slack/package.js
@@ -10,16 +10,8 @@ Package.onUse(function(api) {
 		'ecmascript',
 		'rocketchat:lib',
 		'rocketchat:importer',
+		'rocketchat:logger',
 	]);
-
-	api.use('rocketchat:logger', 'server');
-
-	// Importer information to both server and client
-	api.addFiles('info.js');
-
-	// Server files
-	api.addFiles(['server/importer.js', 'server/adder.js'], 'server');
-
-	// Client files
-	api.addFiles('client/adder.js', 'client');
+	api.mainModule('client/index.js', 'client');
+	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/rocketchat-importer-slack/server/adder.js b/packages/rocketchat-importer-slack/server/adder.js
index 5ba0219863acecb486cebee392bfd0b261c5f5ce..1a1ae073926faa9588d39c62828e7a33f113834a 100644
--- a/packages/rocketchat-importer-slack/server/adder.js
+++ b/packages/rocketchat-importer-slack/server/adder.js
@@ -1,5 +1,5 @@
 import { Importers } from 'meteor/rocketchat:importer';
-import { SlackImporterInfo } from '../info';
+import { SlackImporterInfo } from '../lib/info';
 import { SlackImporter } from './importer';
 
 Importers.add(new SlackImporterInfo(), SlackImporter);
diff --git a/packages/rocketchat-importer-slack/server/importer.js b/packages/rocketchat-importer-slack/server/importer.js
index 11dd06814e01d8bf9b1e8e3e51f8abab690fa955..bc4e3f406032ba8ddf5376e8b53d5948f4fdfafc 100644
--- a/packages/rocketchat-importer-slack/server/importer.js
+++ b/packages/rocketchat-importer-slack/server/importer.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { Accounts } from 'meteor/accounts-base';
 import {
 	Base,
 	ProgressStep,
@@ -5,6 +7,9 @@ import {
 	SelectionChannel,
 	SelectionUser,
 } from 'meteor/rocketchat:importer';
+import { RocketChatFile } from 'meteor/rocketchat:file';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { getAvatarUrlFromUsername } from 'meteor/rocketchat:ui';
 
 import _ from 'underscore';
 
diff --git a/packages/rocketchat-importer-slack/server/index.js b/packages/rocketchat-importer-slack/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..44a1b3bab84c5d83d0568e9a5bda34f7b8adc567
--- /dev/null
+++ b/packages/rocketchat-importer-slack/server/index.js
@@ -0,0 +1 @@
+import './adder';
diff --git a/packages/rocketchat-importer/client/ImporterWebsocketReceiver.js b/packages/rocketchat-importer/client/ImporterWebsocketReceiver.js
index 1e434902e9bd271c8031248204d58ba412cd74ce..7c0d52e781be1a7c734a7f28d836b46297cdfe71 100644
--- a/packages/rocketchat-importer/client/ImporterWebsocketReceiver.js
+++ b/packages/rocketchat-importer/client/ImporterWebsocketReceiver.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 class ImporterWebsocketReceiverDef {
 	constructor() {
 		this.streamer = new Meteor.Streamer('importers');
diff --git a/packages/rocketchat-importer/client/admin/adminImport.js b/packages/rocketchat-importer/client/admin/adminImport.js
index 2ff7cdd26ccb42b7e9e9bf6f73d3ee75b5ff59d4..095a08f9fc88508d8023d185a8437bdc6520d225 100644
--- a/packages/rocketchat-importer/client/admin/adminImport.js
+++ b/packages/rocketchat-importer/client/admin/adminImport.js
@@ -1,4 +1,10 @@
+import { Meteor } from 'meteor/meteor';
 import { Importers } from 'meteor/rocketchat:importer';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
+import { RocketChat, handleError } from 'meteor/rocketchat:lib';
+import { t } from 'meteor/rocketchat:ui';
 
 Template.adminImport.helpers({
 	isAdmin() {
diff --git a/packages/rocketchat-importer/client/admin/adminImportPrepare.js b/packages/rocketchat-importer/client/admin/adminImportPrepare.js
index 164aa85eb81f369e948081482520ccebb916f8fb..2b093e01e524e8820bbfee8e455890d9eb101298 100644
--- a/packages/rocketchat-importer/client/admin/adminImportPrepare.js
+++ b/packages/rocketchat-importer/client/admin/adminImportPrepare.js
@@ -1,4 +1,10 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
 import { Importers } from 'meteor/rocketchat:importer';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
+import { RocketChat, handleError } from 'meteor/rocketchat:lib';
+import { t } from 'meteor/rocketchat:ui';
 import toastr from 'toastr';
 
 Template.adminImportPrepare.helpers({
diff --git a/packages/rocketchat-importer/client/admin/adminImportProgress.js b/packages/rocketchat-importer/client/admin/adminImportProgress.js
index 1f8e579ac4a00025dd91425cf7254b3d858e476f..49ad9c6071c42f92f98038c57b8a975835e6db6b 100644
--- a/packages/rocketchat-importer/client/admin/adminImportProgress.js
+++ b/packages/rocketchat-importer/client/admin/adminImportProgress.js
@@ -1,5 +1,10 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
 import { Importers, ImporterWebsocketReceiver, ProgressStep } from 'meteor/rocketchat:importer';
-
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
+import { t } from 'meteor/rocketchat:ui';
+import { handleError } from 'meteor/rocketchat:lib';
 import toastr from 'toastr';
 
 Template.adminImportProgress.helpers({
diff --git a/packages/rocketchat-importer/client/index.js b/packages/rocketchat-importer/client/index.js
index eeab2cdc590746193d234aa5b7e597eb9e1d3b42..bbbb333b4ba37f7f6b5ed3474cc23c9e548c2017 100644
--- a/packages/rocketchat-importer/client/index.js
+++ b/packages/rocketchat-importer/client/index.js
@@ -2,6 +2,12 @@ import { Importers } from '../lib/Importers';
 import { ImporterInfo } from '../lib/ImporterInfo';
 import { ImporterWebsocketReceiver } from './ImporterWebsocketReceiver';
 import { ProgressStep } from '../lib/ImporterProgressStep';
+import './admin/adminImport.html';
+import './admin/adminImport';
+import './admin/adminImportPrepare.html';
+import './admin/adminImportPrepare';
+import './admin/adminImportProgress.html';
+import './admin/adminImportProgress';
 
 export {
 	Importers,
diff --git a/packages/rocketchat-importer/package.js b/packages/rocketchat-importer/package.js
index 0732fe6aec0e6416e798f5d9e3fd33b2ecbb255d..f0126dc24e771925f4a422abf2f3ea0e29642e58 100644
--- a/packages/rocketchat-importer/package.js
+++ b/packages/rocketchat-importer/package.js
@@ -11,46 +11,8 @@ Package.onUse(function(api) {
 		'templating',
 		'check',
 		'rocketchat:lib',
+		'rocketchat:logger',
 	]);
-
-	api.use('rocketchat:logger', 'server');
-	api.use('templating', 'client');
-
-	// Import Framework
-	api.addFiles('server/classes/ImporterBase.js', 'server');
-	api.addFiles('server/classes/ImporterProgress.js', 'server');
-	api.addFiles('server/classes/ImporterSelection.js', 'server');
-	api.addFiles('server/classes/ImporterSelectionChannel.js', 'server');
-	api.addFiles('server/classes/ImporterSelectionUser.js', 'server');
-	api.addFiles('server/classes/ImporterWebsocket.js', 'server');
-
-	api.addFiles('lib/ImporterInfo.js');
-	api.addFiles('lib/ImporterProgressStep.js');
-	api.addFiles('lib/Importers.js');
-
-	// Database models
-	api.addFiles('server/models/Imports.js', 'server');
-	api.addFiles('server/models/RawImports.js', 'server');
-
-	// Server methods
-	api.addFiles('server/methods/getImportProgress.js', 'server');
-	api.addFiles('server/methods/getSelectionData.js', 'server');
-	api.addFiles('server/methods/prepareImport.js', 'server');
-	api.addFiles('server/methods/restartImport.js', 'server');
-	api.addFiles('server/methods/setupImporter.js', 'server');
-	api.addFiles('server/methods/startImport.js', 'server');
-
-	// Client
-	api.addFiles('client/admin/adminImport.html', 'client');
-	api.addFiles('client/admin/adminImport.js', 'client');
-	api.addFiles('client/admin/adminImportPrepare.html', 'client');
-	api.addFiles('client/admin/adminImportPrepare.js', 'client');
-	api.addFiles('client/admin/adminImportProgress.html', 'client');
-	api.addFiles('client/admin/adminImportProgress.js', 'client');
-
-	// Imports database records cleanup, mark all as not valid.
-	api.addFiles('server/startup/setImportsToInvalid.js', 'server');
-
 	api.mainModule('client/index.js', 'client');
 	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/rocketchat-importer/server/classes/ImporterBase.js b/packages/rocketchat-importer/server/classes/ImporterBase.js
index 7d9ec7c33e46585604271211465b3cf7ad064076..813d0f735464847072f5c7b1a09c26da9f29d5ee 100644
--- a/packages/rocketchat-importer/server/classes/ImporterBase.js
+++ b/packages/rocketchat-importer/server/classes/ImporterBase.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import { Progress } from './ImporterProgress';
 import { ProgressStep } from '../../lib/ImporterProgressStep';
 import { Selection } from './ImporterSelection';
@@ -5,7 +6,9 @@ import { Imports } from '../models/Imports';
 import { ImporterInfo } from '../../lib/ImporterInfo';
 import { RawImports } from '../models/RawImports';
 import { ImporterWebsocket } from './ImporterWebsocket';
-
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { Logger } from 'meteor/rocketchat:logger';
+import { FileUpload } from 'meteor/rocketchat:file-upload';
 import http from 'http';
 import https from 'https';
 import AdmZip from 'adm-zip';
diff --git a/packages/rocketchat-importer/server/classes/ImporterWebsocket.js b/packages/rocketchat-importer/server/classes/ImporterWebsocket.js
index 48fa126d8277d80349159ba3b5ee34867c84cdb4..07e23cb77e59c69e04ee7abe5319f5c84b060d76 100644
--- a/packages/rocketchat-importer/server/classes/ImporterWebsocket.js
+++ b/packages/rocketchat-importer/server/classes/ImporterWebsocket.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 class ImporterWebsocketDef {
 	constructor() {
 		this.streamer = new Meteor.Streamer('importers', { retransmit: false });
diff --git a/packages/rocketchat-importer/server/index.js b/packages/rocketchat-importer/server/index.js
index 363b1be12c70d8178b2af2c37da7a624f58573c2..1311403969db642b517952ba8fbd1e725d18d4ff 100644
--- a/packages/rocketchat-importer/server/index.js
+++ b/packages/rocketchat-importer/server/index.js
@@ -9,6 +9,13 @@ import { RawImports } from './models/RawImports';
 import { Selection } from './classes/ImporterSelection';
 import { SelectionChannel } from './classes/ImporterSelectionChannel';
 import { SelectionUser } from './classes/ImporterSelectionUser';
+import './methods/getImportProgress';
+import './methods/getSelectionData';
+import './methods/prepareImport';
+import './methods/restartImport';
+import './methods/setupImporter';
+import './methods/startImport';
+import './startup/setImportsToInvalid';
 
 export {
 	Base,
diff --git a/packages/rocketchat-importer/server/methods/getImportProgress.js b/packages/rocketchat-importer/server/methods/getImportProgress.js
index 864e47d627913766a47e757386930444efb45bba..145003b2427846bfd36bf8f5364bc493289cfae2 100644
--- a/packages/rocketchat-importer/server/methods/getImportProgress.js
+++ b/packages/rocketchat-importer/server/methods/getImportProgress.js
@@ -1,4 +1,6 @@
+import { Meteor } from 'meteor/meteor';
 import { Importers } from 'meteor/rocketchat:importer';
+import { RocketChat } from 'meteor/rocketchat:lib';
 
 Meteor.methods({
 	getImportProgress(key) {
diff --git a/packages/rocketchat-importer/server/methods/getSelectionData.js b/packages/rocketchat-importer/server/methods/getSelectionData.js
index 7778a30bba917f17601598fe5a54c0dd95fc572b..c8ff1f62594952ba7569fccff0927cb018e86ae1 100644
--- a/packages/rocketchat-importer/server/methods/getSelectionData.js
+++ b/packages/rocketchat-importer/server/methods/getSelectionData.js
@@ -1,7 +1,9 @@
+import { Meteor } from 'meteor/meteor';
 import {
 	Importers,
 	ProgressStep,
 } from 'meteor/rocketchat:importer';
+import { RocketChat } from 'meteor/rocketchat:lib';
 
 Meteor.methods({
 	getSelectionData(key) {
diff --git a/packages/rocketchat-importer/server/methods/prepareImport.js b/packages/rocketchat-importer/server/methods/prepareImport.js
index 426f5a70ddfa5c74876ebafb295bc410eb7ba16c..8f9c7e06036bcff7768ff2cfb142cb6f833c06ad 100644
--- a/packages/rocketchat-importer/server/methods/prepareImport.js
+++ b/packages/rocketchat-importer/server/methods/prepareImport.js
@@ -1,4 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
 import { Importers } from 'meteor/rocketchat:importer';
+import { RocketChat } from 'meteor/rocketchat:lib';
 
 Meteor.methods({
 	prepareImport(key, dataURI, contentType, fileName) {
diff --git a/packages/rocketchat-importer/server/methods/restartImport.js b/packages/rocketchat-importer/server/methods/restartImport.js
index d4a8fdc35bb7a22d5142f1cb28fc4c80e6cf8574..547f7904a280f3fee6b8d4eb3e799f4d38edf436 100644
--- a/packages/rocketchat-importer/server/methods/restartImport.js
+++ b/packages/rocketchat-importer/server/methods/restartImport.js
@@ -1,7 +1,9 @@
+import { Meteor } from 'meteor/meteor';
 import {
 	Importers,
 	ProgressStep,
 } from 'meteor/rocketchat:importer';
+import { RocketChat } from 'meteor/rocketchat:lib';
 
 Meteor.methods({
 	restartImport(key) {
diff --git a/packages/rocketchat-importer/server/methods/setupImporter.js b/packages/rocketchat-importer/server/methods/setupImporter.js
index c0530272393b296b807a47a1d8e825deb4a4d351..2498b8d950c13214a59d94d15fc56af73b754467 100644
--- a/packages/rocketchat-importer/server/methods/setupImporter.js
+++ b/packages/rocketchat-importer/server/methods/setupImporter.js
@@ -1,4 +1,6 @@
+import { Meteor } from 'meteor/meteor';
 import { Importers } from 'meteor/rocketchat:importer';
+import { RocketChat } from 'meteor/rocketchat:lib';
 
 Meteor.methods({
 	setupImporter(key) {
diff --git a/packages/rocketchat-importer/server/methods/startImport.js b/packages/rocketchat-importer/server/methods/startImport.js
index bb17497df7eea6d71b6ae7c29d1e65a895d62aac..38a7911178effe8671fb6353c7d947b29bd16e71 100644
--- a/packages/rocketchat-importer/server/methods/startImport.js
+++ b/packages/rocketchat-importer/server/methods/startImport.js
@@ -1,9 +1,11 @@
+import { Meteor } from 'meteor/meteor';
 import {
 	Importers,
 	Selection,
 	SelectionChannel,
 	SelectionUser,
 } from 'meteor/rocketchat:importer';
+import { RocketChat } from 'meteor/rocketchat:lib';
 
 Meteor.methods({
 	startImport(key, input) {
diff --git a/packages/rocketchat-importer/server/models/Imports.js b/packages/rocketchat-importer/server/models/Imports.js
index 00e75aa9380591cb29f6a17eeaaaaac67bd6b123..3eb54d7ae0d76c3768fdec4d11df879e168233d5 100644
--- a/packages/rocketchat-importer/server/models/Imports.js
+++ b/packages/rocketchat-importer/server/models/Imports.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 class ImportsModel extends RocketChat.models._Base {
 	constructor() {
 		super('import');
diff --git a/packages/rocketchat-importer/server/models/RawImports.js b/packages/rocketchat-importer/server/models/RawImports.js
index 608d30b1ac69185006a0d24d33729f3d27dc0384..a3267939e364290d34bd0b214c258b77c55b35aa 100644
--- a/packages/rocketchat-importer/server/models/RawImports.js
+++ b/packages/rocketchat-importer/server/models/RawImports.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 class RawImportsModel extends RocketChat.models._Base {
 	constructor() {
 		super('raw_imports');
diff --git a/packages/rocketchat-importer/server/startup/setImportsToInvalid.js b/packages/rocketchat-importer/server/startup/setImportsToInvalid.js
index 108c75da30a033fd625e74174d288be257644d53..4c03a8c816da90c32ac7146ed15607675f73afeb 100644
--- a/packages/rocketchat-importer/server/startup/setImportsToInvalid.js
+++ b/packages/rocketchat-importer/server/startup/setImportsToInvalid.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import { Imports } from '../models/Imports';
 import { RawImports } from '../models/RawImports';
 
diff --git a/packages/rocketchat-integrations/client/collections.js b/packages/rocketchat-integrations/client/collections.js
index 6f5327b62b57401cd1c75f5d13edc181404a1c10..dc42d73fd916e1f8a74ccd5f4aead5d92d65152a 100644
--- a/packages/rocketchat-integrations/client/collections.js
+++ b/packages/rocketchat-integrations/client/collections.js
@@ -1,2 +1,4 @@
-this.ChatIntegrations = new Mongo.Collection('rocketchat_integrations');
-this.ChatIntegrationHistory = new Mongo.Collection('rocketchat_integration_history');
+import { Mongo } from 'meteor/mongo';
+
+export const ChatIntegrations = new Mongo.Collection('rocketchat_integrations');
+export const ChatIntegrationHistory = new Mongo.Collection('rocketchat_integration_history');
diff --git a/packages/rocketchat-integrations/client/index.js b/packages/rocketchat-integrations/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..5bec72061d43311de562ae1eacf64ffb393ab2e4
--- /dev/null
+++ b/packages/rocketchat-integrations/client/index.js
@@ -0,0 +1,16 @@
+import './stylesheets/integrations.css';
+import '../lib/rocketchat';
+import './collections';
+import './startup';
+import './route';
+import './views/integrations.html';
+import './views/integrations';
+import './views/integrationsNew.html';
+import './views/integrationsNew';
+import './views/integrationsIncoming.html';
+import './views/integrationsIncoming';
+import './views/integrationsOutgoing.html';
+import './views/integrationsOutgoing';
+import './views/integrationsOutgoingHistory.html';
+import './views/integrationsOutgoingHistory';
+import './views/additional/zapier.html';
diff --git a/packages/rocketchat-integrations/client/route.js b/packages/rocketchat-integrations/client/route.js
index f39c2cdc9016e7366f72e123874b91bb0eac6242..52677171fc353e3048ab88500bcec33af1f67a0e 100644
--- a/packages/rocketchat-integrations/client/route.js
+++ b/packages/rocketchat-integrations/client/route.js
@@ -1,3 +1,8 @@
+import { Meteor } from 'meteor/meteor';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { BlazeLayout } from 'meteor/kadira:blaze-layout';
+import { t } from 'meteor/rocketchat:ui';
+
 FlowRouter.route('/admin/integrations', {
 	name: 'admin-integrations',
 	subscriptions() {
diff --git a/packages/rocketchat-integrations/client/startup.js b/packages/rocketchat-integrations/client/startup.js
index 578773d153bcd53bd85b76583b7f71d442f1b681..907670156d3f6bc5df3f7b454a6304ba3b00af3d 100644
--- a/packages/rocketchat-integrations/client/startup.js
+++ b/packages/rocketchat-integrations/client/startup.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.AdminBox.addOption({
 	href: 'admin-integrations',
 	i18nLabel: 'Integrations',
diff --git a/packages/rocketchat-integrations/client/views/integrations.html b/packages/rocketchat-integrations/client/views/integrations.html
index e966adfb2fa8ac3b29d81a3e65ec6159ed844306..0a39da5ae278476b248157a05bf378e2e2349a60 100644
--- a/packages/rocketchat-integrations/client/views/integrations.html
+++ b/packages/rocketchat-integrations/client/views/integrations.html
@@ -9,7 +9,7 @@
 			{{/if}}
 		{{/header}}
 
-		<div class="content background-transparent-dark">
+		<div class="content">
 			{{#unless hasPermission}}
 				<p>{{_ "You_are_not_authorized_to_view_this_page"}}</p>
 			{{else}}
diff --git a/packages/rocketchat-integrations/client/views/integrations.js b/packages/rocketchat-integrations/client/views/integrations.js
index 9ab884d8d2520f98732eccf7b7bd255319833355..d491ea42863c286a30c8f41b17643118cf49e576 100644
--- a/packages/rocketchat-integrations/client/views/integrations.js
+++ b/packages/rocketchat-integrations/client/views/integrations.js
@@ -1,4 +1,7 @@
-/* global ChatIntegrations */
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { ChatIntegrations } from '../collections';
 import moment from 'moment';
 
 Template.integrations.helpers({
diff --git a/packages/rocketchat-integrations/client/views/integrationsIncoming.js b/packages/rocketchat-integrations/client/views/integrationsIncoming.js
index fd2e82ab004d12b89c9e12ee55258c200bb30f88..811e32f5c4a9bf0daac417d433942c6e5d3dd55a 100644
--- a/packages/rocketchat-integrations/client/views/integrationsIncoming.js
+++ b/packages/rocketchat-integrations/client/views/integrationsIncoming.js
@@ -1,5 +1,12 @@
-/* global ChatIntegrations */
-
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Random } from 'meteor/random';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
+import { RocketChat, handleError } from 'meteor/rocketchat:lib';
+import { t, modal } from 'meteor/rocketchat:ui';
+import { ChatIntegrations } from '../collections';
 import hljs from 'highlight.js';
 import toastr from 'toastr';
 
diff --git a/packages/rocketchat-integrations/client/views/integrationsNew.html b/packages/rocketchat-integrations/client/views/integrationsNew.html
index 7ec48b94d3b233f361184e4c1440644820203016..7ff4230ce8beaa73dbfef87ef6726bc8f3a1158b 100644
--- a/packages/rocketchat-integrations/client/views/integrationsNew.html
+++ b/packages/rocketchat-integrations/client/views/integrationsNew.html
@@ -1,7 +1,7 @@
 <template name="integrationsNew">
 	<section class="page-container page-home page-static page-settings">
 		{{> header sectionName=pageTitle}}
-		<div class="content background-transparent-dark">
+		<div class="content">
 			<a href="{{pathFor "admin-integrations"}}"><i class="icon-angle-left"></i> {{_ "Back_to_integrations"}}</a><br><br>
 			{{#if hasPermission}}
 
diff --git a/packages/rocketchat-integrations/client/views/integrationsNew.js b/packages/rocketchat-integrations/client/views/integrationsNew.js
index 400dde895506ae526e104bc57ec905f07d2029f0..dc7994ff7eb29abf9c1453267a7f9d309b22d7dd 100644
--- a/packages/rocketchat-integrations/client/views/integrationsNew.js
+++ b/packages/rocketchat-integrations/client/views/integrationsNew.js
@@ -1,3 +1,6 @@
+import { Template } from 'meteor/templating';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Template.integrationsNew.helpers({
 	hasPermission() {
 		return RocketChat.authz.hasAtLeastOnePermission(['manage-integrations', 'manage-own-integrations']);
diff --git a/packages/rocketchat-integrations/client/views/integrationsOutgoing.html b/packages/rocketchat-integrations/client/views/integrationsOutgoing.html
index 7388eb1ff5a641ea032a54287d581e23ce7ab836..5be2a9bd3834659aa732354fe1c687f33f6d1130 100644
--- a/packages/rocketchat-integrations/client/views/integrationsOutgoing.html
+++ b/packages/rocketchat-integrations/client/views/integrationsOutgoing.html
@@ -8,7 +8,7 @@
 			</div>
 		{{/header}}
 
-		<div class="content background-transparent-dark">
+		<div class="content">
 			<a href="{{pathFor "admin-integrations"}}"><i class="icon-angle-left"></i> {{_ "Back_to_integrations"}}</a><br><br>
 			{{#unless hasPermission}}
 				<p>{{_ "You_are_not_authorized_to_view_this_page"}}</p>
diff --git a/packages/rocketchat-integrations/client/views/integrationsOutgoing.js b/packages/rocketchat-integrations/client/views/integrationsOutgoing.js
index b207085ff53973e8a764c32bbd7705039b47f794..f3c4a2004860aca730003fb59ddda3e5943a521f 100644
--- a/packages/rocketchat-integrations/client/views/integrationsOutgoing.js
+++ b/packages/rocketchat-integrations/client/views/integrationsOutgoing.js
@@ -1,5 +1,12 @@
-/* global ChatIntegrations */
-
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Random } from 'meteor/random';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
+import { RocketChat, handleError } from 'meteor/rocketchat:lib';
+import { t, modal } from 'meteor/rocketchat:ui';
+import { ChatIntegrations } from '../collections';
 import hljs from 'highlight.js';
 import toastr from 'toastr';
 
diff --git a/packages/rocketchat-integrations/client/views/integrationsOutgoingHistory.html b/packages/rocketchat-integrations/client/views/integrationsOutgoingHistory.html
index 5d88d5b44a1ec314cf8ddc6142688f956edaa7ae..39f56e08355496b63e2d49f35e27417d84daa9b2 100644
--- a/packages/rocketchat-integrations/client/views/integrationsOutgoingHistory.html
+++ b/packages/rocketchat-integrations/client/views/integrationsOutgoingHistory.html
@@ -6,7 +6,7 @@
 			</div>
 		{{/header}}
 
-		<div class="content background-transparent-dark">
+		<div class="content">
 			{{#unless hasPermission}}
 				<p>{{_ "You_are_not_authorized_to_view_this_page"}}</p>
 			{{else}}
diff --git a/packages/rocketchat-integrations/client/views/integrationsOutgoingHistory.js b/packages/rocketchat-integrations/client/views/integrationsOutgoingHistory.js
index f9eda8f76dff6f41f19976ca1892ae4a077c1778..e7e67d78f9a607ee5c735fe4f599e35095450820 100644
--- a/packages/rocketchat-integrations/client/views/integrationsOutgoingHistory.js
+++ b/packages/rocketchat-integrations/client/views/integrationsOutgoingHistory.js
@@ -1,5 +1,10 @@
-/* global ChatIntegrations, ChatIntegrationHistory */
-
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
+import { RocketChat, handleError } from 'meteor/rocketchat:lib';
+import { ChatIntegrations, ChatIntegrationHistory } from '../collections';
 import _ from 'underscore';
 import hljs from 'highlight.js';
 import moment from 'moment';
diff --git a/packages/rocketchat-integrations/lib/rocketchat.js b/packages/rocketchat-integrations/lib/rocketchat.js
index 69aa99ade45196f40d3503ea4b44e1f016b8c54c..89c107c124047f1194d362b41b74bea36c3e0768 100644
--- a/packages/rocketchat-integrations/lib/rocketchat.js
+++ b/packages/rocketchat-integrations/lib/rocketchat.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.integrations = {
 	outgoingEvents: {
 		sendMessage: {
diff --git a/packages/rocketchat-integrations/package.js b/packages/rocketchat-integrations/package.js
index d9d3d52e22cd9f6a556b2f2f02448f4f4145194e..b5c33f8278f56e8704871b18effc3a605a29c74d 100644
--- a/packages/rocketchat-integrations/package.js
+++ b/packages/rocketchat-integrations/package.js
@@ -7,66 +7,19 @@ Package.describe({
 });
 
 Package.onUse(function(api) {
-	api.use('mongo');
-	api.use('ecmascript');
-	api.use('babel-compiler');
-	api.use('rocketchat:lib');
-	api.use('rocketchat:authorization');
-	api.use('rocketchat:api');
-	api.use('rocketchat:theme');
-	api.use('rocketchat:logger');
-
-	api.use('kadira:flow-router', 'client');
-	api.use('templating', 'client');
-
-	api.addFiles('lib/rocketchat.js', ['server', 'client']);
-
-	// items
-	api.addFiles('client/collections.js', 'client');
-	api.addFiles('client/startup.js', 'client');
-	api.addFiles('client/route.js', 'client');
-
-	// views
-	api.addFiles('client/views/integrations.html', 'client');
-	api.addFiles('client/views/integrations.js', 'client');
-	api.addFiles('client/views/integrationsNew.html', 'client');
-	api.addFiles('client/views/integrationsNew.js', 'client');
-	api.addFiles('client/views/integrationsIncoming.html', 'client');
-	api.addFiles('client/views/integrationsIncoming.js', 'client');
-	api.addFiles('client/views/integrationsOutgoing.html', 'client');
-	api.addFiles('client/views/integrationsOutgoing.js', 'client');
-	api.addFiles('client/views/integrationsOutgoingHistory.html', 'client');
-	api.addFiles('client/views/integrationsOutgoingHistory.js', 'client');
-	api.addFiles('client/views/additional/zapier.html', 'client');
-
-	// stylesheets
-	api.addFiles('client/stylesheets/integrations.css', 'client');
-
-	api.addFiles('server/logger.js', 'server');
-	api.addFiles('server/lib/validation.js', 'server');
-
-	api.addFiles('server/models/Integrations.js', 'server');
-	api.addFiles('server/models/IntegrationHistory.js', 'server');
-
-	// publications
-	api.addFiles('server/publications/integrations.js', 'server');
-	api.addFiles('server/publications/integrationHistory.js', 'server');
-
-	// methods
-	api.addFiles('server/methods/incoming/addIncomingIntegration.js', 'server');
-	api.addFiles('server/methods/incoming/updateIncomingIntegration.js', 'server');
-	api.addFiles('server/methods/incoming/deleteIncomingIntegration.js', 'server');
-	api.addFiles('server/methods/outgoing/addOutgoingIntegration.js', 'server');
-	api.addFiles('server/methods/outgoing/updateOutgoingIntegration.js', 'server');
-	api.addFiles('server/methods/outgoing/replayOutgoingIntegration.js', 'server');
-	api.addFiles('server/methods/outgoing/deleteOutgoingIntegration.js', 'server');
-	api.addFiles('server/methods/clearIntegrationHistory.js', 'server');
-
-	// api
-	api.addFiles('server/api/api.js', 'server');
-
-	api.addFiles('server/lib/triggerHandler.js', 'server');
-	api.addFiles('server/triggers.js', 'server');
-
-	api.addFiles('server/processWebhookMessage.js', 'server');
+	api.use([
+		'ecmascript',
+		'mongo',
+		'babel-compiler',
+		'rocketchat:lib',
+		'rocketchat:authorization',
+		'rocketchat:theme',
+		'rocketchat:logger',
+		'kadira:flow-router',
+		'kadira:blaze-layout',
+		'nimble:restivus',
+		'templating',
+	]);
+	api.mainModule('client/index.js', 'client');
+	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/rocketchat-integrations/server/api/api.js b/packages/rocketchat-integrations/server/api/api.js
index e6afa94c292fec8be32fafbcde58c3134b9995e6..d92b52664ea76902d995d20a0996b9ec56b5b5db 100644
--- a/packages/rocketchat-integrations/server/api/api.js
+++ b/packages/rocketchat-integrations/server/api/api.js
@@ -1,6 +1,10 @@
-/* globals Meteor Restivus logger processWebhookMessage*/
-// TODO: remove globals
-
+import { Meteor } from 'meteor/meteor';
+import { HTTP } from 'meteor/http';
+import { Random } from 'meteor/random';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { Restivus } from 'meteor/nimble:restivus';
+import { logger } from '../logger';
+import { processWebhookMessage } from '../processWebhookMessage';
 import Fiber from 'fibers';
 import Future from 'fibers/future';
 import _ from 'underscore';
diff --git a/packages/rocketchat-integrations/server/index.js b/packages/rocketchat-integrations/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..efaed5238b66a18e0db2b4096810b901a1dcebf8
--- /dev/null
+++ b/packages/rocketchat-integrations/server/index.js
@@ -0,0 +1,23 @@
+import '../lib/rocketchat';
+import './logger';
+import './lib/validation';
+import './models/Integrations';
+import './models/IntegrationHistory';
+import './publications/integrations';
+import './publications/integrationHistory';
+import './methods/incoming/addIncomingIntegration';
+import './methods/incoming/updateIncomingIntegration';
+import './methods/incoming/deleteIncomingIntegration';
+import './methods/outgoing/addOutgoingIntegration';
+import './methods/outgoing/updateOutgoingIntegration';
+import './methods/outgoing/replayOutgoingIntegration';
+import './methods/outgoing/deleteOutgoingIntegration';
+import './methods/clearIntegrationHistory';
+import './api/api';
+import './lib/triggerHandler';
+import './triggers';
+import { processWebhookMessage } from './processWebhookMessage';
+
+export {
+	processWebhookMessage,
+};
diff --git a/packages/rocketchat-integrations/server/lib/triggerHandler.js b/packages/rocketchat-integrations/server/lib/triggerHandler.js
index 03037c94877c7b84b75de67450ae8fc50b42f909..c2a9e0b817f095462a8ef7e127942ffba87a1fc3 100644
--- a/packages/rocketchat-integrations/server/lib/triggerHandler.js
+++ b/packages/rocketchat-integrations/server/lib/triggerHandler.js
@@ -1,4 +1,9 @@
-/* global logger, processWebhookMessage */
+import { Meteor } from 'meteor/meteor';
+import { Random } from 'meteor/random';
+import { HTTP } from 'meteor/http';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { logger } from '../logger';
+import { processWebhookMessage } from '../processWebhookMessage';
 import _ from 'underscore';
 import s from 'underscore.string';
 import moment from 'moment';
diff --git a/packages/rocketchat-integrations/server/lib/validation.js b/packages/rocketchat-integrations/server/lib/validation.js
index efa7ac99f2e5d6d2ebf29f26fca773e40232f945..6e101016e6a6ea972aee6043ec4b95b0f0614ae9 100644
--- a/packages/rocketchat-integrations/server/lib/validation.js
+++ b/packages/rocketchat-integrations/server/lib/validation.js
@@ -1,4 +1,7 @@
-/* global Babel */
+import { Meteor } from 'meteor/meteor';
+import { Match } from 'meteor/check';
+import { Babel } from 'meteor/babel-compiler';
+import { RocketChat } from 'meteor/rocketchat:lib';
 import _ from 'underscore';
 import s from 'underscore.string';
 const scopedChannels = ['all_public_channels', 'all_private_groups', 'all_direct_messages'];
@@ -70,7 +73,7 @@ function _verifyUserHasPermissionForChannels(integration, userId, channels) {
 				throw new Meteor.Error('error-invalid-room', 'Invalid room', { function: 'validateOutgoing._verifyUserHasPermissionForChannels' });
 			}
 
-			if (!RocketChat.authz.hasAllPermission(userId, 'manage-integrations', 'manage-own-integrations') && !RocketChat.models.Subscriptions.findOneByRoomIdAndUserId(record._id, userId, { fields: { _id: 1 } })) {
+			if (!RocketChat.authz.hasAllPermission(userId, ['manage-integrations', 'manage-own-integrations']) && !RocketChat.models.Subscriptions.findOneByRoomIdAndUserId(record._id, userId, { fields: { _id: 1 } })) {
 				throw new Meteor.Error('error-invalid-channel', 'Invalid Channel', { function: 'validateOutgoing._verifyUserHasPermissionForChannels' });
 			}
 		}
diff --git a/packages/rocketchat-integrations/server/logger.js b/packages/rocketchat-integrations/server/logger.js
index 1214a0838933b9f35182168032ca0d3fec57b078..622ec70ce8d368154635e898244bb9eaeb128900 100644
--- a/packages/rocketchat-integrations/server/logger.js
+++ b/packages/rocketchat-integrations/server/logger.js
@@ -1,7 +1,6 @@
-/* globals logger:true */
-/* exported logger */
+import { Logger } from 'meteor/rocketchat:logger';
 
-logger = new Logger('Integrations', {
+export const logger = new Logger('Integrations', {
 	sections: {
 		incoming: 'Incoming WebHook',
 		outgoing: 'Outgoing WebHook',
diff --git a/packages/rocketchat-integrations/server/methods/clearIntegrationHistory.js b/packages/rocketchat-integrations/server/methods/clearIntegrationHistory.js
index 5c1aadece5b6f8f1a48215f0559a762e05358568..8ab439ef0a4747d2bb08d4910eda302b9040f958 100644
--- a/packages/rocketchat-integrations/server/methods/clearIntegrationHistory.js
+++ b/packages/rocketchat-integrations/server/methods/clearIntegrationHistory.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.methods({
 	clearIntegrationHistory(integrationId) {
 		let integration;
diff --git a/packages/rocketchat-integrations/server/methods/incoming/addIncomingIntegration.js b/packages/rocketchat-integrations/server/methods/incoming/addIncomingIntegration.js
index 63f16dd6112d48d6bb922cdfd20c3d9bc6637786..bf5111af47de0428585fc1f4ed1080ddb0207504 100644
--- a/packages/rocketchat-integrations/server/methods/incoming/addIncomingIntegration.js
+++ b/packages/rocketchat-integrations/server/methods/incoming/addIncomingIntegration.js
@@ -1,4 +1,7 @@
-/* global Babel */
+import { Meteor } from 'meteor/meteor';
+import { Random } from 'meteor/random';
+import { Babel } from 'meteor/babel-compiler';
+import { RocketChat } from 'meteor/rocketchat:lib';
 import _ from 'underscore';
 import s from 'underscore.string';
 const validChannelChars = ['@', '#'];
@@ -70,7 +73,7 @@ Meteor.methods({
 				throw new Meteor.Error('error-invalid-room', 'Invalid room', { method: 'addIncomingIntegration' });
 			}
 
-			if (!RocketChat.authz.hasAllPermission(this.userId, 'manage-integrations', 'manage-own-integrations') && !RocketChat.models.Subscriptions.findOneByRoomIdAndUserId(record._id, this.userId, { fields: { _id: 1 } })) {
+			if (!RocketChat.authz.hasAllPermission(this.userId, ['manage-integrations', 'manage-own-integrations']) && !RocketChat.models.Subscriptions.findOneByRoomIdAndUserId(record._id, this.userId, { fields: { _id: 1 } })) {
 				throw new Meteor.Error('error-invalid-channel', 'Invalid Channel', { method: 'addIncomingIntegration' });
 			}
 		}
diff --git a/packages/rocketchat-integrations/server/methods/incoming/deleteIncomingIntegration.js b/packages/rocketchat-integrations/server/methods/incoming/deleteIncomingIntegration.js
index 6be9a6d2811a913b8d5461f9b6e23edb96187315..0bad9802aec5c0719eeda9752ccda26a95017b27 100644
--- a/packages/rocketchat-integrations/server/methods/incoming/deleteIncomingIntegration.js
+++ b/packages/rocketchat-integrations/server/methods/incoming/deleteIncomingIntegration.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.methods({
 	deleteIncomingIntegration(integrationId) {
 		let integration;
diff --git a/packages/rocketchat-integrations/server/methods/incoming/updateIncomingIntegration.js b/packages/rocketchat-integrations/server/methods/incoming/updateIncomingIntegration.js
index 4e818c352375ba98e4930f115123719edc156d2f..733b32b511623a6b6b07673ece2e32c3bad75532 100644
--- a/packages/rocketchat-integrations/server/methods/incoming/updateIncomingIntegration.js
+++ b/packages/rocketchat-integrations/server/methods/incoming/updateIncomingIntegration.js
@@ -1,4 +1,6 @@
-/* global Babel */
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { Babel } from 'meteor/babel-compiler';
 import _ from 'underscore';
 import s from 'underscore.string';
 const validChannelChars = ['@', '#'];
@@ -72,7 +74,7 @@ Meteor.methods({
 				throw new Meteor.Error('error-invalid-room', 'Invalid room', { method: 'updateIncomingIntegration' });
 			}
 
-			if (!RocketChat.authz.hasAllPermission(this.userId, 'manage-integrations', 'manage-own-integrations') && !RocketChat.models.Subscriptions.findOneByRoomIdAndUserId(record._id, this.userId, { fields: { _id: 1 } })) {
+			if (!RocketChat.authz.hasAllPermission(this.userId, ['manage-integrations', 'manage-own-integrations']) && !RocketChat.models.Subscriptions.findOneByRoomIdAndUserId(record._id, this.userId, { fields: { _id: 1 } })) {
 				throw new Meteor.Error('error-invalid-channel', 'Invalid Channel', { method: 'updateIncomingIntegration' });
 			}
 		}
diff --git a/packages/rocketchat-integrations/server/methods/outgoing/addOutgoingIntegration.js b/packages/rocketchat-integrations/server/methods/outgoing/addOutgoingIntegration.js
index 16a2d9f4e4cf491c1d8100fdd0205073af28779e..9fb37102145d85aeeb63dc7bd6afc24781ee5b86 100644
--- a/packages/rocketchat-integrations/server/methods/outgoing/addOutgoingIntegration.js
+++ b/packages/rocketchat-integrations/server/methods/outgoing/addOutgoingIntegration.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.methods({
 	addOutgoingIntegration(integration) {
 		if (!RocketChat.authz.hasPermission(this.userId, 'manage-integrations')
diff --git a/packages/rocketchat-integrations/server/methods/outgoing/deleteOutgoingIntegration.js b/packages/rocketchat-integrations/server/methods/outgoing/deleteOutgoingIntegration.js
index d82ddc1b8fdaef8f72f56de954544a0e9680d4ea..074d7aced2a415596a56979832c0a759931a65f3 100644
--- a/packages/rocketchat-integrations/server/methods/outgoing/deleteOutgoingIntegration.js
+++ b/packages/rocketchat-integrations/server/methods/outgoing/deleteOutgoingIntegration.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.methods({
 	deleteOutgoingIntegration(integrationId) {
 		let integration;
diff --git a/packages/rocketchat-integrations/server/methods/outgoing/replayOutgoingIntegration.js b/packages/rocketchat-integrations/server/methods/outgoing/replayOutgoingIntegration.js
index a5280f546058432117b1711bd9bc76c04fd69767..d426603c5b5137ca3e80f3129db832f51fe4f191 100644
--- a/packages/rocketchat-integrations/server/methods/outgoing/replayOutgoingIntegration.js
+++ b/packages/rocketchat-integrations/server/methods/outgoing/replayOutgoingIntegration.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.methods({
 	replayOutgoingIntegration({ integrationId, historyId }) {
 		let integration;
diff --git a/packages/rocketchat-integrations/server/methods/outgoing/updateOutgoingIntegration.js b/packages/rocketchat-integrations/server/methods/outgoing/updateOutgoingIntegration.js
index 9a24d7cf7409b64ecb507b2bc8f0388efcdbce0c..e773e22d8a4f9081e623f862bd2e06bd63604100 100644
--- a/packages/rocketchat-integrations/server/methods/outgoing/updateOutgoingIntegration.js
+++ b/packages/rocketchat-integrations/server/methods/outgoing/updateOutgoingIntegration.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.methods({
 	updateOutgoingIntegration(integrationId, integration) {
 		integration = RocketChat.integrations.validateOutgoing(integration, this.userId);
diff --git a/packages/rocketchat-integrations/server/models/IntegrationHistory.js b/packages/rocketchat-integrations/server/models/IntegrationHistory.js
index 004d2cc9edb786ffc94baf541925d93d6ff4ebf5..138979e29939af55ec3b4ff7ed22e1a55e62080d 100644
--- a/packages/rocketchat-integrations/server/models/IntegrationHistory.js
+++ b/packages/rocketchat-integrations/server/models/IntegrationHistory.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.models.IntegrationHistory = new class IntegrationHistory extends RocketChat.models._Base {
 	constructor() {
 		super('integration_history');
diff --git a/packages/rocketchat-integrations/server/models/Integrations.js b/packages/rocketchat-integrations/server/models/Integrations.js
index af3e4b2040c0de99c3483744e02d1f6478034f14..8759d25a1ca05d8194bea4e566015439443352d4 100644
--- a/packages/rocketchat-integrations/server/models/Integrations.js
+++ b/packages/rocketchat-integrations/server/models/Integrations.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.models.Integrations = new class Integrations extends RocketChat.models._Base {
 	constructor() {
 		super('integrations');
diff --git a/packages/rocketchat-integrations/server/processWebhookMessage.js b/packages/rocketchat-integrations/server/processWebhookMessage.js
index dc0880d2a96cc956d481732fd778a201b697bd86..d72a96fb36eda31c9a9ee52176fdd62b6995ecc1 100644
--- a/packages/rocketchat-integrations/server/processWebhookMessage.js
+++ b/packages/rocketchat-integrations/server/processWebhookMessage.js
@@ -1,7 +1,9 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
 import _ from 'underscore';
 import s from 'underscore.string';
 
-this.processWebhookMessage = function(messageObj, user, defaultValues = { channel: '', alias: '', avatar: '', emoji: '' }, mustBeJoined = false) {
+export const processWebhookMessage = function(messageObj, user, defaultValues = { channel: '', alias: '', avatar: '', emoji: '' }, mustBeJoined = false) {
 	const sentData = [];
 	const channels = [].concat(messageObj.channel || messageObj.roomId || defaultValues.channel);
 
diff --git a/packages/rocketchat-integrations/server/publications/integrationHistory.js b/packages/rocketchat-integrations/server/publications/integrationHistory.js
index 22d8f68e42784f3a1e95567bef15cbfcfe1f4b9a..b5448fc4c126af6f2b67e2e2c1b1bfee65fed73e 100644
--- a/packages/rocketchat-integrations/server/publications/integrationHistory.js
+++ b/packages/rocketchat-integrations/server/publications/integrationHistory.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.publish('integrationHistory', function _integrationHistoryPublication(integrationId, limit = 25) {
 	if (!this.userId) {
 		return this.ready();
diff --git a/packages/rocketchat-integrations/server/publications/integrations.js b/packages/rocketchat-integrations/server/publications/integrations.js
index 065081dbabea784b8a2c5f9ddee43a4e0eb1f063..2cef8abec565c6ae738079903fc5d9bc40e41400 100644
--- a/packages/rocketchat-integrations/server/publications/integrations.js
+++ b/packages/rocketchat-integrations/server/publications/integrations.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.publish('integrations', function _integrationPublication() {
 	if (!this.userId) {
 		return this.ready();
diff --git a/packages/rocketchat-integrations/server/triggers.js b/packages/rocketchat-integrations/server/triggers.js
index 1960615f60269877962a11f32db9a88b6c871f5a..bdf2f551c269752f3bb1e8004870ff3e40cc7abc 100644
--- a/packages/rocketchat-integrations/server/triggers.js
+++ b/packages/rocketchat-integrations/server/triggers.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 const callbackHandler = function _callbackHandler(eventType) {
 	return function _wrapperFunction(...args) {
 		return RocketChat.integrations.triggerHandler.executeTriggers(eventType, ...args);
diff --git a/packages/rocketchat-internal-hubot/package.js b/packages/rocketchat-internal-hubot/package.js
index b2c1696a74d8b0edbac5a60f510ea4602cc3a2f0..10b8e34a38f9ee4034cf68f2f956b0652a83f5a6 100644
--- a/packages/rocketchat-internal-hubot/package.js
+++ b/packages/rocketchat-internal-hubot/package.js
@@ -10,21 +10,9 @@ Package.onUse(function(api) {
 		'ecmascript',
 		'tracker',
 		'rocketchat:lib',
+		'templating',
 	]);
-
-	api.use('templating', 'client');
-
-	api.addFiles([
-		'hubot.js',
-		'settings.js',
-	], ['server']);
-
-	api.export('Hubot', ['server']);
-	api.export('HubotScripts', ['server']);
-	api.export('InternalHubot', ['server']);
-	api.export('InternalHubotReceiver', ['server']);
-	api.export('RocketChatAdapter', ['server']);
-
+	api.mainModule('server/index.js', 'server');
 });
 
 // It needs to be here cuz they are coffee files and need to be compiled
diff --git a/packages/rocketchat-internal-hubot/hubot.js b/packages/rocketchat-internal-hubot/server/hubot.js
similarity index 96%
rename from packages/rocketchat-internal-hubot/hubot.js
rename to packages/rocketchat-internal-hubot/server/hubot.js
index 757e5efa8fcba99d53c15f3de320e587f39d36a7..5fa518092f7c7afc85c97c3ffb7107d4648fb359 100644
--- a/packages/rocketchat-internal-hubot/hubot.js
+++ b/packages/rocketchat-internal-hubot/server/hubot.js
@@ -1,4 +1,6 @@
 /* globals __meteor_bootstrap__ */
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
 import _ from 'underscore';
 import s from 'underscore.string';
 
@@ -11,7 +13,7 @@ const Hubot = Npm.require('hubot');
 // Log messages?
 const DEBUG = false;
 
-let InternalHubot = {};
+export let InternalHubot = {};
 
 const sendHelper = Meteor.bindEnvironment((robot, envelope, strings, map) => {
 	while (strings.length > 0) {
@@ -35,6 +37,10 @@ Hubot.Response.prototype.priv = (...strings) => this.robot.adapter.priv(this.env
 // More monkey-patching
 Hubot.Robot.prototype.loadAdapter = () => {}; // disable
 
+export {
+	Hubot,
+};
+
 // grrrr, Meteor.bindEnvironment doesn't preserve `this` apparently
 const bind = function(f) {
 	const g = Meteor.bindEnvironment((self, ...args) => f.apply(self, args));
@@ -63,7 +69,7 @@ class Robot extends Hubot.Robot {
 	catchAll(callback) { return super.catchAll(Meteor.bindEnvironment(callback)); }
 }
 
-class RocketChatAdapter extends Hubot.Adapter {
+export class RocketChatAdapter extends Hubot.Adapter {
 	// Public: Raw method for sending data back to the chat source. Extend this.
 	//
 	// envelope - A Object with message, room and user details.
@@ -169,7 +175,7 @@ class RocketChatAdapter extends Hubot.Adapter {
 	}
 }
 
-const InternalHubotReceiver = (message) => {
+export const InternalHubotReceiver = (message) => {
 	if (DEBUG) { console.log(message); }
 	if (message.u.username !== InternalHubot.name) {
 		const room = RocketChat.models.Rooms.findOneById(message.rid);
@@ -191,7 +197,7 @@ const InternalHubotReceiver = (message) => {
 	return message;
 };
 
-class HubotScripts {
+export class HubotScripts {
 	constructor(robot) {
 		const modulesToLoad = [
 			'hubot-help/src/help.coffee',
diff --git a/packages/rocketchat-internal-hubot/server/index.js b/packages/rocketchat-internal-hubot/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..f0e3e889ec819d9c979be8dcdab8fcd1b15af4d8
--- /dev/null
+++ b/packages/rocketchat-internal-hubot/server/index.js
@@ -0,0 +1,10 @@
+import './settings';
+import { Hubot, HubotScripts, InternalHubot, InternalHubotReceiver, RocketChatAdapter } from './hubot';
+
+export {
+	Hubot,
+	HubotScripts,
+	InternalHubot,
+	InternalHubotReceiver,
+	RocketChatAdapter,
+};
diff --git a/packages/rocketchat-internal-hubot/settings.js b/packages/rocketchat-internal-hubot/server/settings.js
similarity index 93%
rename from packages/rocketchat-internal-hubot/settings.js
rename to packages/rocketchat-internal-hubot/server/settings.js
index 8fcfe56cf8ca4546f58a12045cd1b83c61e41a69..82bfdec4ed9539a94a46a212d8c11dd756a871f4 100644
--- a/packages/rocketchat-internal-hubot/settings.js
+++ b/packages/rocketchat-internal-hubot/server/settings.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.settings.addGroup('InternalHubot', function() {
 	this.add('InternalHubot_Enabled', false, { type: 'boolean', i18nLabel: 'Enabled' });
 	this.add('InternalHubot_Username', 'rocket.cat', { type: 'string', i18nLabel: 'Username', i18nDescription: 'InternalHubot_Username_Description', public: true });
diff --git a/packages/rocketchat-irc/package.js b/packages/rocketchat-irc/package.js
index 0b6254a182b1b2bdfb585e49ca27457b0cbdac37..e0ee2af46bd99f929d183d2aa3edecbc9c780cd2 100644
--- a/packages/rocketchat-irc/package.js
+++ b/packages/rocketchat-irc/package.js
@@ -10,11 +10,9 @@ Package.onUse(function(api) {
 		'ecmascript',
 		'underscore',
 		'rocketchat:lib',
+		'rocketchat:ui',
 	]);
-
-	api.addFiles('server/irc.js', 'server');
-	api.addFiles('server/methods/resetIrcConnection.js', 'server');
-	api.addFiles('server/irc-settings.js', 'server');
+	api.mainModule('server/index.js', 'server');
 });
 
 Npm.depends({
diff --git a/packages/rocketchat-irc/server/index.js b/packages/rocketchat-irc/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..4fa0c0bc91aaa1778ae15440818219359e9491d3
--- /dev/null
+++ b/packages/rocketchat-irc/server/index.js
@@ -0,0 +1,3 @@
+import './irc';
+import './methods/resetIrcConnection';
+import './irc-settings';
diff --git a/packages/rocketchat-irc/server/irc-bridge/index.js b/packages/rocketchat-irc/server/irc-bridge/index.js
index be146555cefe7019b6fc7043abcb8622924e434d..e40d21006c3e7177ace216f4d578f30c23a8cbb4 100644
--- a/packages/rocketchat-irc/server/irc-bridge/index.js
+++ b/packages/rocketchat-irc/server/irc-bridge/index.js
@@ -1,3 +1,4 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
 import Queue from 'queue-fifo';
 import * as servers from '../servers';
 import * as peerCommandHandlers from './peerHandlers';
diff --git a/packages/rocketchat-irc/server/irc-bridge/localHandlers/onCreateRoom.js b/packages/rocketchat-irc/server/irc-bridge/localHandlers/onCreateRoom.js
index f5f76f3b7a0307e584d392982b03af1815ca6b5d..efdb0068f4715e0b2d2517956b35b6f44fe5758b 100644
--- a/packages/rocketchat-irc/server/irc-bridge/localHandlers/onCreateRoom.js
+++ b/packages/rocketchat-irc/server/irc-bridge/localHandlers/onCreateRoom.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 export default function handleOnCreateRoom(user, room) {
 	const users = RocketChat.models.Users.findByRoomId(room._id);
 
diff --git a/packages/rocketchat-irc/server/irc-bridge/localHandlers/onCreateUser.js b/packages/rocketchat-irc/server/irc-bridge/localHandlers/onCreateUser.js
index bca92046d38aca8787284b9ef57e07a2c6d05b91..c55a7d1bc692d07505262dce8764f4f36f85050d 100644
--- a/packages/rocketchat-irc/server/irc-bridge/localHandlers/onCreateUser.js
+++ b/packages/rocketchat-irc/server/irc-bridge/localHandlers/onCreateUser.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 export default function handleOnCreateUser(newUser) {
 	if (!newUser) {
 		return this.log('Invalid handleOnCreateUser call');
diff --git a/packages/rocketchat-irc/server/irc-bridge/localHandlers/onLogin.js b/packages/rocketchat-irc/server/irc-bridge/localHandlers/onLogin.js
index 9736cc622f6f8577781ec69a22cd61d4d5875807..312b7a75f3c73d70417cdf6d035688b65377f69d 100644
--- a/packages/rocketchat-irc/server/irc-bridge/localHandlers/onLogin.js
+++ b/packages/rocketchat-irc/server/irc-bridge/localHandlers/onLogin.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 export default function handleOnLogin(login) {
 	if (login.user === null) {
 		return this.log('Invalid handleOnLogin call');
diff --git a/packages/rocketchat-irc/server/irc-bridge/localHandlers/onSaveMessage.js b/packages/rocketchat-irc/server/irc-bridge/localHandlers/onSaveMessage.js
index ebfea53dc1b8eaa79d2198cce0bc44d9a82685de..9252d290bebdd98d21f8e4a48c268fe040d2fd6f 100644
--- a/packages/rocketchat-irc/server/irc-bridge/localHandlers/onSaveMessage.js
+++ b/packages/rocketchat-irc/server/irc-bridge/localHandlers/onSaveMessage.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 export default function handleOnSaveMessage(message, to) {
 	let toIdentification = '';
 	// Direct message
diff --git a/packages/rocketchat-irc/server/irc-bridge/peerHandlers/disconnected.js b/packages/rocketchat-irc/server/irc-bridge/peerHandlers/disconnected.js
index 570c2766ec658f3ddc246a7d180ab1a37ea00953..fefc7b37073b093256ff52667574187b43f1abd5 100644
--- a/packages/rocketchat-irc/server/irc-bridge/peerHandlers/disconnected.js
+++ b/packages/rocketchat-irc/server/irc-bridge/peerHandlers/disconnected.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 export default function handleQUIT(args) {
 	const user = RocketChat.models.Users.findOne({
 		'profile.irc.nick': args.nick,
diff --git a/packages/rocketchat-irc/server/irc-bridge/peerHandlers/joinedChannel.js b/packages/rocketchat-irc/server/irc-bridge/peerHandlers/joinedChannel.js
index 891ae7ddb5db2ff3edd20d41163886bbe4b9c6ea..517f06463d99060d1e3a6bf7899f0251933aa0ee 100644
--- a/packages/rocketchat-irc/server/irc-bridge/peerHandlers/joinedChannel.js
+++ b/packages/rocketchat-irc/server/irc-bridge/peerHandlers/joinedChannel.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 export default function handleJoinedChannel(args) {
 	const user = RocketChat.models.Users.findOne({
 		'profile.irc.nick': args.nick,
diff --git a/packages/rocketchat-irc/server/irc-bridge/peerHandlers/leftChannel.js b/packages/rocketchat-irc/server/irc-bridge/peerHandlers/leftChannel.js
index 24fb57e04af0ee3b084fa6b61149384ed23b66f9..0fac5da4a864fa6201717d6aeb61f5a6e4ac4dd1 100644
--- a/packages/rocketchat-irc/server/irc-bridge/peerHandlers/leftChannel.js
+++ b/packages/rocketchat-irc/server/irc-bridge/peerHandlers/leftChannel.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 export default function handleLeftChannel(args) {
 	const user = RocketChat.models.Users.findOne({
 		'profile.irc.nick': args.nick,
diff --git a/packages/rocketchat-irc/server/irc-bridge/peerHandlers/nickChanged.js b/packages/rocketchat-irc/server/irc-bridge/peerHandlers/nickChanged.js
index 5156456497a6c18de999903a04565a391dd7cf38..79ab997e7d4a602d1e31665147477b14674f8552 100644
--- a/packages/rocketchat-irc/server/irc-bridge/peerHandlers/nickChanged.js
+++ b/packages/rocketchat-irc/server/irc-bridge/peerHandlers/nickChanged.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 export default function handleNickChanged(args) {
 	const user = RocketChat.models.Users.findOne({
 		'profile.irc.nick': args.nick,
diff --git a/packages/rocketchat-irc/server/irc-bridge/peerHandlers/sentMessage.js b/packages/rocketchat-irc/server/irc-bridge/peerHandlers/sentMessage.js
index 2c1c5b8e2f17ad2e9b8d7ea4d2af35e35290629a..4433115dfbfbf88d2d140ee9badf29a60fc17d8d 100644
--- a/packages/rocketchat-irc/server/irc-bridge/peerHandlers/sentMessage.js
+++ b/packages/rocketchat-irc/server/irc-bridge/peerHandlers/sentMessage.js
@@ -1,3 +1,4 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
 /*
  *
  * Get direct chat room helper
diff --git a/packages/rocketchat-irc/server/irc-bridge/peerHandlers/userRegistered.js b/packages/rocketchat-irc/server/irc-bridge/peerHandlers/userRegistered.js
index 9289aa52b6e3df93332ef419c9adbbcfd789e979..540cd7cd1f2f1eb04097a576973a215779ed8b40 100644
--- a/packages/rocketchat-irc/server/irc-bridge/peerHandlers/userRegistered.js
+++ b/packages/rocketchat-irc/server/irc-bridge/peerHandlers/userRegistered.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 export default async function handleUserRegistered(args) {
 	// Check if there is an user with the given username
 	let user = RocketChat.models.Users.findOne({
diff --git a/packages/rocketchat-irc/server/irc-settings.js b/packages/rocketchat-irc/server/irc-settings.js
index 836629fa8c5ac4b0b14bd4599220d230227f817c..b434856f46e0a7ba364266a3ab7949ba79d321ea 100644
--- a/packages/rocketchat-irc/server/irc-settings.js
+++ b/packages/rocketchat-irc/server/irc-settings.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.startup(function() {
 	RocketChat.settings.addGroup('IRC_Federation', function() {
 		this.add('IRC_Enabled', false, {
diff --git a/packages/rocketchat-irc/server/irc.js b/packages/rocketchat-irc/server/irc.js
index ad02df6a9b3dcbdd493390b928af90feb820deaa..bf99e07c13d4fc92b33f984bb020a70784b42359 100644
--- a/packages/rocketchat-irc/server/irc.js
+++ b/packages/rocketchat-irc/server/irc.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
 import Bridge from './irc-bridge';
 
 if (!!RocketChat.settings.get('IRC_Enabled') === true) {
diff --git a/packages/rocketchat-irc/server/methods/resetIrcConnection.js b/packages/rocketchat-irc/server/methods/resetIrcConnection.js
index c0618510fdf4eaf0d36da0c825bb4692fbb8c31d..0c889167926395702b2772fa5c733bf6e6de9895 100644
--- a/packages/rocketchat-irc/server/methods/resetIrcConnection.js
+++ b/packages/rocketchat-irc/server/methods/resetIrcConnection.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { t } from 'meteor/rocketchat:ui';
 import Bridge from '../irc-bridge';
 
 Meteor.methods({
diff --git a/packages/rocketchat-issuelinks/client.js b/packages/rocketchat-issuelinks/client/client.js
similarity index 92%
rename from packages/rocketchat-issuelinks/client.js
rename to packages/rocketchat-issuelinks/client/client.js
index 9b75a3ea31c4c85b12e6144291578c04142d94a9..d7c236440232d41211008f162e0082d3995aaf33 100644
--- a/packages/rocketchat-issuelinks/client.js
+++ b/packages/rocketchat-issuelinks/client/client.js
@@ -1,3 +1,4 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
 import s from 'underscore.string';
 
 //
diff --git a/packages/rocketchat-issuelinks/client/index.js b/packages/rocketchat-issuelinks/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..d99e4ed773526dbf80c8ad082d306a97170cef7a
--- /dev/null
+++ b/packages/rocketchat-issuelinks/client/index.js
@@ -0,0 +1 @@
+import './client';
diff --git a/packages/rocketchat-issuelinks/package.js b/packages/rocketchat-issuelinks/package.js
index 04607d26e5b74e13e89f8e619332065eb04df803..4f32a343778f131b54da41931df690f5c5a60ab2 100644
--- a/packages/rocketchat-issuelinks/package.js
+++ b/packages/rocketchat-issuelinks/package.js
@@ -6,9 +6,10 @@ Package.describe({
 });
 
 Package.onUse(function(api) {
-	api.use('rocketchat:lib');
-	api.use('ecmascript');
-
-	api.addFiles('client.js', ['client']);
-	api.addFiles('settings.js', ['server']);
+	api.use([
+		'ecmascript',
+		'rocketchat:lib',
+	]);
+	api.mainModule('client/index.js', 'client');
+	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/rocketchat-issuelinks/server/index.js b/packages/rocketchat-issuelinks/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..97097791afdc4deee566e5690c42b17dcbbfa5d9
--- /dev/null
+++ b/packages/rocketchat-issuelinks/server/index.js
@@ -0,0 +1 @@
+import './settings';
diff --git a/packages/rocketchat-issuelinks/settings.js b/packages/rocketchat-issuelinks/server/settings.js
similarity index 89%
rename from packages/rocketchat-issuelinks/settings.js
rename to packages/rocketchat-issuelinks/server/settings.js
index 7d12db7f4a5a4a2d073803931ebe49b4c3425805..b4a96d4e7d869472c7ae9735e127f7e6acd42392 100644
--- a/packages/rocketchat-issuelinks/settings.js
+++ b/packages/rocketchat-issuelinks/server/settings.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.settings.add('IssueLinks_Enabled', false, {
 	type: 'boolean',
 	i18nLabel: 'Enabled',
diff --git a/packages/rocketchat-katex/katex.js b/packages/rocketchat-katex/katex.js
index de1cad4c87302faa0bac85f3d6fdf237f1380412..14a5bc4f0f816a02fd24543e159dc5be1e8c1d7d 100644
--- a/packages/rocketchat-katex/katex.js
+++ b/packages/rocketchat-katex/katex.js
@@ -2,6 +2,9 @@
  * KaTeX is a fast, easy-to-use JavaScript library for TeX math rendering on the web.
  * https://github.com/Khan/KaTeX
  */
+import { Meteor } from 'meteor/meteor';
+import { Random } from 'meteor/random';
+import { Blaze } from 'meteor/blaze';
 import _ from 'underscore';
 import s from 'underscore.string';
 
diff --git a/packages/rocketchat-katex/package-lock.json b/packages/rocketchat-katex/package-lock.json
index ffa8c00dc2f83e762294dd15be8ad737b794ddc3..72332574d8de7e744888245f99c0d2b7d537c815 100644
--- a/packages/rocketchat-katex/package-lock.json
+++ b/packages/rocketchat-katex/package-lock.json
@@ -9,7 +9,7 @@
       "resolved": "https://registry.npmjs.org/katex/-/katex-0.9.0.tgz",
       "integrity": "sha512-lp3x90LT1tDZBW2tjLheJ98wmRMRjUHwk4QpaswT9bhqoQZ+XA4cPcjcQBxgOQNwaOSt6ZeL/a6GKQ1of3LFxQ==",
       "requires": {
-        "match-at": "0.1.1"
+        "match-at": "^0.1.1"
       }
     },
     "match-at": {
diff --git a/packages/rocketchat-katex/settings.js b/packages/rocketchat-katex/settings.js
index b558b25f58c2588932e4a63e8140851c8e954705..81545c241c38bf662788bce676de6d60c1df9cac 100644
--- a/packages/rocketchat-katex/settings.js
+++ b/packages/rocketchat-katex/settings.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.startup(function() {
 	const enableQuery = {
 		_id: 'Katex_Enabled',
diff --git a/packages/rocketchat-lazy-load/client/index.js b/packages/rocketchat-lazy-load/client/index.js
index 648f0d21c5e0c436976babac72dc834b80f8bf64..884a7e46b5bd1f68aac5b0ae77bc9ecf6b4676da 100644
--- a/packages/rocketchat-lazy-load/client/index.js
+++ b/packages/rocketchat-lazy-load/client/index.js
@@ -1,5 +1,8 @@
+import { Meteor } from 'meteor/meteor';
+import { Blaze } from 'meteor/blaze';
 import _ from 'underscore';
 import './lazyloadImage';
+
 export const fixCordova = function(url) {
 	if (url && url.indexOf('data:image') === 0) {
 		return url;
diff --git a/packages/rocketchat-lazy-load/client/lazyloadImage.js b/packages/rocketchat-lazy-load/client/lazyloadImage.js
index c48015dce546bd6ffdcc7f776551e4f3eb80d097..be94ca2ca11bf7ef4c9f54b58805e1425dcd0e45 100644
--- a/packages/rocketchat-lazy-load/client/lazyloadImage.js
+++ b/packages/rocketchat-lazy-load/client/lazyloadImage.js
@@ -1,3 +1,5 @@
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Template } from 'meteor/templating';
 import './lazyloadImage.html';
 import { addImage, fixCordova } from './';
 
diff --git a/packages/rocketchat-ldap/client/index.js b/packages/rocketchat-ldap/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..fecf898e1ae444c90891397402222a0de50af738
--- /dev/null
+++ b/packages/rocketchat-ldap/client/index.js
@@ -0,0 +1 @@
+import './loginHelper';
diff --git a/packages/rocketchat-ldap/client/loginHelper.js b/packages/rocketchat-ldap/client/loginHelper.js
index 3fe0d15a9dad546f60d35e27396f3df0ae5ebcbc..57a006524c0880068d84d626ec899aabca84df5d 100644
--- a/packages/rocketchat-ldap/client/loginHelper.js
+++ b/packages/rocketchat-ldap/client/loginHelper.js
@@ -2,6 +2,9 @@
 // customLdapOptions should be passed in if you want to override LDAP_DEFAULTS
 // on any particular call (if you have multiple ldap servers you'd like to connect to)
 // You'll likely want to set the dn value here {dn: "..."}
+import { Meteor } from 'meteor/meteor';
+import { Accounts } from 'meteor/accounts-base';
+
 Meteor.loginWithLDAP = function(...args) {
 	// Pull username and password
 	const username = args.shift();
diff --git a/packages/rocketchat-ldap/package.js b/packages/rocketchat-ldap/package.js
index 8e2eeb1c2ad91cee5b306ce83d6f300bacd84f4d..b6ec9d1840af1b864c17228b6b66d1f65eff0f8f 100644
--- a/packages/rocketchat-ldap/package.js
+++ b/packages/rocketchat-ldap/package.js
@@ -6,19 +6,17 @@ Package.describe({
 });
 
 Package.onUse(function(api) {
-	api.use('rocketchat:logger');
-	api.use('rocketchat:lib');
-	api.use('yasaricli:slugify');
-	api.use('ecmascript');
-	api.use('underscore');
-	api.use('sha');
-
-	api.use('templating', 'client');
-
-	api.use('accounts-base', 'server');
-	api.use('accounts-password', 'server');
-
-	api.addFiles('client/loginHelper.js', 'client');
-
+	api.use([
+		'ecmascript',
+		'underscore',
+		'sha',
+		'rocketchat:logger',
+		'rocketchat:lib',
+		'yasaricli:slugify',
+		'templating',
+		'accounts-base',
+		'accounts-password',
+	]);
+	api.mainModule('client/index.js', 'client');
 	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/rocketchat-ldap/server/ldap.js b/packages/rocketchat-ldap/server/ldap.js
index d63dd3adc160de16a48cc761ef695635766f9f49..6ce7e895f2944b23c679aa8933b92aae53d26bd0 100644
--- a/packages/rocketchat-ldap/server/ldap.js
+++ b/packages/rocketchat-ldap/server/ldap.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { Logger } from 'meteor/rocketchat:logger';
 import ldapjs from 'ldapjs';
 import Bunyan from 'bunyan';
 
diff --git a/packages/rocketchat-ldap/server/loginHandler.js b/packages/rocketchat-ldap/server/loginHandler.js
index 2f9cdefe4ce18724618055b9f42d3319d206be02..345dd26765e48519735518f277d3ba49449fdf76 100644
--- a/packages/rocketchat-ldap/server/loginHandler.js
+++ b/packages/rocketchat-ldap/server/loginHandler.js
@@ -1,5 +1,8 @@
-/* eslint new-cap: [2, {"capIsNewExceptions": ["SHA256"]}] */
-
+import { SHA256 } from 'meteor/sha';
+import { Meteor } from 'meteor/meteor';
+import { Accounts } from 'meteor/accounts-base';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { Logger } from 'meteor/rocketchat:logger';
 import { slug, getLdapUsername, getLdapUserUniqueID, syncUserData, addLdapUser } from './sync';
 import LDAP from './ldap';
 
diff --git a/packages/rocketchat-ldap/server/settings.js b/packages/rocketchat-ldap/server/settings.js
index a1907e23ef7e104c8b397fd2ce95ae5bebf486be..4706105831efc974e298addaa719baf39b48fb03 100644
--- a/packages/rocketchat-ldap/server/settings.js
+++ b/packages/rocketchat-ldap/server/settings.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.settings.addGroup('LDAP', function() {
 	const enableQuery = { _id: 'LDAP_Enable', value: true };
 	const enableAuthentication = [
diff --git a/packages/rocketchat-ldap/server/sync.js b/packages/rocketchat-ldap/server/sync.js
index 000da3b5848b66d80a5ba6dafe3736626776b7c5..d465eee8d685f0d24556f11adba80b8b8b5c5ede 100644
--- a/packages/rocketchat-ldap/server/sync.js
+++ b/packages/rocketchat-ldap/server/sync.js
@@ -1,5 +1,11 @@
-/* globals slugify, SyncedCron */
-
+import { Meteor } from 'meteor/meteor';
+import { Accounts } from 'meteor/accounts-base';
+import { RocketChatFile } from 'meteor/rocketchat:file';
+import { RocketChat } from 'meteor/rocketchat:lib';
+import { Logger } from 'meteor/rocketchat:logger';
+import { SyncedCron } from 'meteor/littledata:synced-cron';
+import { FileUpload } from 'meteor/rocketchat:file-upload';
+import { slugify } from 'meteor/yasaricli:slugify';
 import _ from 'underscore';
 import LDAP from './ldap';
 
diff --git a/packages/rocketchat-ldap/server/syncUsers.js b/packages/rocketchat-ldap/server/syncUsers.js
index 0932fedcbdd6d498bf2b4b270ae7bf537a91e245..98d0bfcbb4757ce6fa7f163486ac42ccc8839a89 100644
--- a/packages/rocketchat-ldap/server/syncUsers.js
+++ b/packages/rocketchat-ldap/server/syncUsers.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
 import { importNewUsers } from './sync';
 
 Meteor.methods({
diff --git a/packages/rocketchat-ldap/server/testConnection.js b/packages/rocketchat-ldap/server/testConnection.js
index fb1266f4999f154da0f765cee3332e253be8b523..5e0ab7be004253bd8cd1ead8f5232c75a6872806 100644
--- a/packages/rocketchat-ldap/server/testConnection.js
+++ b/packages/rocketchat-ldap/server/testConnection.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
 import LDAP from './ldap';
 
 Meteor.methods({
diff --git a/packages/rocketchat-lib/README.md b/packages/rocketchat-lib/README.md
index bdcdc5b44e5048af977fd5540953d233dfc59f53..547fa1ee25d96c0e6d2126ff2f740a9ed66bcf6c 100644
--- a/packages/rocketchat-lib/README.md
+++ b/packages/rocketchat-lib/README.md
@@ -15,9 +15,9 @@ RocketChat.settings.addGroup('Settings_Group', function() {
         this.add('Setting_Inside_Section', 'default_value', {
             type: 'boolean',
             public: true,
-            enableQuery: { 
-                _id: 'SettingInGroup', 
-                value: true 
+            enableQuery: {
+                _id: 'SettingInGroup',
+                value: true
             }
         });
     });
@@ -113,7 +113,7 @@ class LivechatRoomType extends RoomTypeConfig {
 	}
 
 	condition() {
-		return RocketChat.settings.get('Livechat_enabled') && RocketChat.authz.hasAllPermission('view-l-room');
+		return RocketChat.settings.get('Livechat_enabled') && RocketChat.authz.hasPermission('view-l-room');
 	}
 }
 ```
@@ -144,7 +144,7 @@ AccountBox.addItem({
     icon: 'icon-chat-empty',
     class: 'livechat-manager',
     condition: () => {
-        return RocketChat.authz.hasAllPermission('view-livechat-manager');
+        return RocketChat.authz.hasPermission('view-livechat-manager');
     }
 });
 ```
diff --git a/packages/rocketchat-lib/client/AdminBox.js b/packages/rocketchat-lib/client/AdminBox.js
index 10492de6a265f297010ab44b17d878d0563e2882..5cb3438bb26c9489fd419177dec053da30d4d7b5 100644
--- a/packages/rocketchat-lib/client/AdminBox.js
+++ b/packages/rocketchat-lib/client/AdminBox.js
@@ -1,3 +1,5 @@
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Tracker } from 'meteor/tracker';
 import _ from 'underscore';
 
 RocketChat.AdminBox = new class {
diff --git a/packages/rocketchat-lib/client/CustomTranslations.js b/packages/rocketchat-lib/client/CustomTranslations.js
index 463541a351ca6276b6066c660d1f43ac705b554a..c895e26b682043f21b7c251475911a1aa479455a 100644
--- a/packages/rocketchat-lib/client/CustomTranslations.js
+++ b/packages/rocketchat-lib/client/CustomTranslations.js
@@ -1,3 +1,9 @@
+import { Meteor } from 'meteor/meteor';
+import { Session } from 'meteor/session';
+import { TAPi18n } from 'meteor/tap:i18n';
+import { TAPi18next } from 'meteor/tap:i18n';
+import { Tracker } from 'meteor/tracker';
+
 RocketChat.applyCustomTranslations = function applyCustomTranslations() {
 	let CustomTranslations = RocketChat.settings.get('Custom_Translations');
 	if (typeof CustomTranslations === 'string' && CustomTranslations.trim() !== '') {
@@ -18,7 +24,7 @@ RocketChat.applyCustomTranslations = function applyCustomTranslations() {
 };
 
 Meteor.startup(function() {
-	Meteor.autorun(function() {
+	Tracker.autorun(function() {
 		// Re apply translations if tap language was changed
 		Session.get(TAPi18n._loaded_lang_session_key);
 		RocketChat.applyCustomTranslations();
diff --git a/packages/rocketchat-lib/client/MessageAction.js b/packages/rocketchat-lib/client/MessageAction.js
index d4f4f74695a7b63ab25830656a00e2f5a7e654de..0548b33e7ce504132f1249eada509a0bb0983c22 100644
--- a/packages/rocketchat-lib/client/MessageAction.js
+++ b/packages/rocketchat-lib/client/MessageAction.js
@@ -1,8 +1,13 @@
 /* globals chatMessages cordova */
-
+import { Meteor } from 'meteor/meteor';
+import { TAPi18n } from 'meteor/tap:i18n';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Tracker } from 'meteor/tracker';
+import { Session } from 'meteor/session';
 import _ from 'underscore';
 import moment from 'moment';
 import toastr from 'toastr';
+
 const call = (method, ...args) => new Promise((resolve, reject) => {
 	Meteor.call(method, ...args, function(err, data) {
 		if (err) {
diff --git a/packages/rocketchat-lib/client/Notifications.js b/packages/rocketchat-lib/client/Notifications.js
index 4b8a5470e6f0fd6459d7cefd59d8ad485c465cd6..e24840f2baaeacd5ddf6b418756f8096bdd3170b 100644
--- a/packages/rocketchat-lib/client/Notifications.js
+++ b/packages/rocketchat-lib/client/Notifications.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
+
 RocketChat.Notifications = new class {
 	constructor(...args) {
 		this.logged = Meteor.userId() !== null;
diff --git a/packages/rocketchat-lib/client/UserDeleted.js b/packages/rocketchat-lib/client/UserDeleted.js
index 22defd1eb85a0ca3ba65248e58cd6d35c85a5c00..5468241d847fd330de3a12a3d6da4d64175f393a 100644
--- a/packages/rocketchat-lib/client/UserDeleted.js
+++ b/packages/rocketchat-lib/client/UserDeleted.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.startup(function() {
 	RocketChat.Notifications.onLogged('Users:Deleted', ({ userId }) =>
 		ChatMessage.remove({
diff --git a/packages/rocketchat-lib/client/defaultTabBars.js b/packages/rocketchat-lib/client/defaultTabBars.js
index 0ad49929e3d548e284ebc98f0f9baa045425d49e..8ee2470b030d2906bcb51d37b4427e492e0472d4 100644
--- a/packages/rocketchat-lib/client/defaultTabBars.js
+++ b/packages/rocketchat-lib/client/defaultTabBars.js
@@ -1,3 +1,5 @@
+import { Session } from 'meteor/session';
+
 RocketChat.TabBar.addButton({
 	groups: ['channel', 'group', 'direct'],
 	id: 'rocket-search',
diff --git a/packages/rocketchat-lib/client/lib/ChannelActions.js b/packages/rocketchat-lib/client/lib/ChannelActions.js
index 9dbcc0fde93fb842f962def65a34527387af8a6f..4f2bbfd11383764895e13d90f517baf69ebb1c76 100644
--- a/packages/rocketchat-lib/client/lib/ChannelActions.js
+++ b/packages/rocketchat-lib/client/lib/ChannelActions.js
@@ -1,4 +1,7 @@
+import { Meteor } from 'meteor/meteor';
 import { call, UiTextContext } from 'meteor/rocketchat:lib';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Session } from 'meteor/session';
 
 export function hide(type, rid, name) {
 	const warnText = RocketChat.roomTypes.roomTypes[type].getUiText(UiTextContext.HIDE_WARNING);
diff --git a/packages/rocketchat-lib/client/lib/Layout.js b/packages/rocketchat-lib/client/lib/Layout.js
index 3e231a4d8661be50156eb62f6439f0edba38c2da..511f1d56adc9bd48213a890bbd3c4da33198f688 100644
--- a/packages/rocketchat-lib/client/lib/Layout.js
+++ b/packages/rocketchat-lib/client/lib/Layout.js
@@ -1,3 +1,6 @@
+import { Tracker } from 'meteor/tracker';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+
 RocketChat.Layout = new (class RocketChatLayout {
 	constructor() {
 		Tracker.autorun(() => {
diff --git a/packages/rocketchat-lib/client/lib/LoginPresence.js b/packages/rocketchat-lib/client/lib/LoginPresence.js
index 9d2ece8fae99337e30f2b932f96e148ccb152e92..1f621d333c24e23b4323c095bf9bafc64939f7e1 100644
--- a/packages/rocketchat-lib/client/lib/LoginPresence.js
+++ b/packages/rocketchat-lib/client/lib/LoginPresence.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 export const LoginPresence = {
 	awayTime: 600000, // 10 minutes
 	started: false,
diff --git a/packages/rocketchat-lib/client/lib/RocketChatAnnouncement.js b/packages/rocketchat-lib/client/lib/RocketChatAnnouncement.js
index f872c0a2249cfa60e2b2865d89f7c5084c2ab028..53235d45d4f1386d442b1da579769417bbced006 100644
--- a/packages/rocketchat-lib/client/lib/RocketChatAnnouncement.js
+++ b/packages/rocketchat-lib/client/lib/RocketChatAnnouncement.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Session } from 'meteor/session';
+
 export class RocketChatAnnouncement {
 	constructor(args = {}) {
 		this.room = new ReactiveVar(args.room);
diff --git a/packages/rocketchat-lib/client/lib/RocketChatTabBar.js b/packages/rocketchat-lib/client/lib/RocketChatTabBar.js
index 49c36326c801cc3c5b40c33991cd8273b64dd0aa..9f6301d955e1baf0c5433a993c9335fc1c13f61f 100644
--- a/packages/rocketchat-lib/client/lib/RocketChatTabBar.js
+++ b/packages/rocketchat-lib/client/lib/RocketChatTabBar.js
@@ -1,3 +1,6 @@
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Tracker } from 'meteor/tracker';
+
 export class RocketChatTabBar {
 	constructor() {
 		this.template = new ReactiveVar();
diff --git a/packages/rocketchat-lib/client/lib/TabBar.js b/packages/rocketchat-lib/client/lib/TabBar.js
index 5c03f09ee33ec1381db6afcc5581300a9cb244c6..8e7db8dff6e9eacb3707aa1e98d9166638350c70 100644
--- a/packages/rocketchat-lib/client/lib/TabBar.js
+++ b/packages/rocketchat-lib/client/lib/TabBar.js
@@ -1,4 +1,5 @@
 import _ from 'underscore';
+import { ReactiveVar } from 'meteor/reactive-var';
 
 RocketChat.TabBar = new (class TabBar {
 	get size() {
diff --git a/packages/rocketchat-lib/client/lib/cachedCollection.js b/packages/rocketchat-lib/client/lib/cachedCollection.js
index aabc101b42aa7e84842ca324dda7644ac3a32823..7a2609e663fb587c43b79071cd30626f0ccf9a81 100644
--- a/packages/rocketchat-lib/client/lib/cachedCollection.js
+++ b/packages/rocketchat-lib/client/lib/cachedCollection.js
@@ -1,3 +1,9 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+import { Mongo } from 'meteor/mongo';
+import { Accounts } from 'meteor/accounts-base';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Tracker } from 'meteor/tracker';
 import localforage from 'localforage';
 import _ from 'underscore';
 
diff --git a/packages/rocketchat-lib/client/lib/callMethod.js b/packages/rocketchat-lib/client/lib/callMethod.js
index aa6d6337f8792485c929a256d01e37bfeaf1da9d..88af0fcc6539f7a615f6a58a864c2ed5178e07de 100644
--- a/packages/rocketchat-lib/client/lib/callMethod.js
+++ b/packages/rocketchat-lib/client/lib/callMethod.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 /**
  * Wraps a Meteor method into a Promise.
  * This is particularly useful for creating information dialogs after execution of a Meteor method
diff --git a/packages/rocketchat-lib/client/lib/formatDate.js b/packages/rocketchat-lib/client/lib/formatDate.js
index 94f6afa4a62c2a72bf0324ff5eed82c56affbf8d..c6b34aef96a530179eb3e039e8226a5c891514d1 100644
--- a/packages/rocketchat-lib/client/lib/formatDate.js
+++ b/packages/rocketchat-lib/client/lib/formatDate.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import moment from 'moment';
 export const formatTime = (time) => {
 	switch (RocketChat.getUserPreference(Meteor.userId(), 'clockMode', false)) {
diff --git a/client/lib/handleError.js b/packages/rocketchat-lib/client/lib/handleError.js
similarity index 87%
rename from client/lib/handleError.js
rename to packages/rocketchat-lib/client/lib/handleError.js
index e4bff4ad3c7eb9d4a076ef4ba8fa8f85fc16ee64..04b523e66801a8be232cec32cf6ca41cd8866bbc 100644
--- a/client/lib/handleError.js
+++ b/packages/rocketchat-lib/client/lib/handleError.js
@@ -1,8 +1,9 @@
+import { TAPi18n } from 'meteor/tap:i18n';
 import _ from 'underscore';
 import s from 'underscore.string';
 import toastr from 'toastr';
 
-this.handleError = function(error, useToastr = true) {
+handleError = function(error, useToastr = true) {
 	if (_.isObject(error.details)) {
 		for (const key in error.details) {
 			if (error.details.hasOwnProperty(key)) {
diff --git a/packages/rocketchat-lib/client/lib/openRoom.js b/packages/rocketchat-lib/client/lib/openRoom.js
index 66859b9e029014376815c0635702c313957ad081..4514a5f0ee2131e6355b37348d2b1446eb1c49f8 100644
--- a/packages/rocketchat-lib/client/lib/openRoom.js
+++ b/packages/rocketchat-lib/client/lib/openRoom.js
@@ -1,4 +1,9 @@
 /* globals fireGlobalEvent readMessage currentTracker*/
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { BlazeLayout } from 'meteor/kadira:blaze-layout';
+import { Session } from 'meteor/session';
 import _ from 'underscore';
 
 currentTracker = undefined;
diff --git a/packages/rocketchat-lib/client/lib/roomExit.js b/packages/rocketchat-lib/client/lib/roomExit.js
index ff9bc87c509ccfae0c7dfc65c09f37e1c9cbe5be..df61dc33d58ae1d4dc5e411e785efc4c96f3b0b3 100644
--- a/packages/rocketchat-lib/client/lib/roomExit.js
+++ b/packages/rocketchat-lib/client/lib/roomExit.js
@@ -1,4 +1,7 @@
 /* globals currentTracker */
+import { Blaze } from 'meteor/blaze';
+import { BlazeLayout } from 'meteor/kadira:blaze-layout';
+
 this.roomExit = function() {
 	// 7370 - Close flex-tab when opening a room on mobile UI
 	if (window.matchMedia('(max-width: 500px)').matches) {
diff --git a/packages/rocketchat-lib/client/lib/roomTypes.js b/packages/rocketchat-lib/client/lib/roomTypes.js
index d21803e8a483d5dd9ba392a1ed975cf04ac57eeb..e2a39a36048440c8b930e835b5a6b43601fe7efe 100644
--- a/packages/rocketchat-lib/client/lib/roomTypes.js
+++ b/packages/rocketchat-lib/client/lib/roomTypes.js
@@ -1,6 +1,6 @@
-import _ from 'underscore';
-
+import { FlowRouter } from 'meteor/kadira:flow-router';
 import { RoomTypesCommon } from '../../lib/RoomTypesCommon';
+import _ from 'underscore';
 
 RocketChat.roomTypes = new class RocketChatRoomTypes extends RoomTypesCommon {
 	checkCondition(roomType) {
diff --git a/packages/rocketchat-lib/client/lib/settings.js b/packages/rocketchat-lib/client/lib/settings.js
index c734961e9bee16b3c6bbcc8aca6ce64a6a1e1f06..7516f5aef2773a4f391b4b7413ba38e51300858d 100644
--- a/packages/rocketchat-lib/client/lib/settings.js
+++ b/packages/rocketchat-lib/client/lib/settings.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
 
 /*
 * RocketChat.settings holds all packages settings
diff --git a/packages/rocketchat-lib/client/lib/startup/commands.js b/packages/rocketchat-lib/client/lib/startup/commands.js
index 46664d2fb812f3216290a7919fbd650b04427bed..2c4d90b86a3f56d28e9a9a08c0193542b3c183db 100644
--- a/packages/rocketchat-lib/client/lib/startup/commands.js
+++ b/packages/rocketchat-lib/client/lib/startup/commands.js
@@ -1,8 +1,11 @@
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
+
 // Track logins and when they login, get the commands
 (() => {
 	let oldUserId = null;
 
-	Meteor.autorun(() => {
+	Tracker.autorun(() => {
 		const newUserId = Meteor.userId();
 		if (oldUserId === null && newUserId) {
 			RocketChat.API.v1.get('commands.list').then(function _loadedCommands(result) {
diff --git a/packages/rocketchat-lib/client/lib/userRoles.js b/packages/rocketchat-lib/client/lib/userRoles.js
index a2dbd4cbe79cb72981b2cf2a046ce89a72737eb5..11a1380aeb63b8534797f7d3faec50935aeebd8e 100644
--- a/packages/rocketchat-lib/client/lib/userRoles.js
+++ b/packages/rocketchat-lib/client/lib/userRoles.js
@@ -1,4 +1,6 @@
 /* globals UserRoles, RoomRoles */
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
 
 Meteor.startup(function() {
 	Tracker.autorun(function() {
diff --git a/packages/rocketchat-lib/client/methods/sendMessage.js b/packages/rocketchat-lib/client/methods/sendMessage.js
index 06f1663cbdc38d3279aa245f916538a6e95531e4..de8a3814411a646060ab9c1734a55f69406d9c18 100644
--- a/packages/rocketchat-lib/client/methods/sendMessage.js
+++ b/packages/rocketchat-lib/client/methods/sendMessage.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { TimeSync } from 'meteor/mizzao:timesync';
 import s from 'underscore.string';
 
 Meteor.methods({
diff --git a/packages/rocketchat-lib/client/models/_Base.js b/packages/rocketchat-lib/client/models/_Base.js
index 203a38597030713847da5fe5e2dca6af205e34dc..5a283e2ebcbc016dc86260396dd8a19e6a137da4 100644
--- a/packages/rocketchat-lib/client/models/_Base.js
+++ b/packages/rocketchat-lib/client/models/_Base.js
@@ -1,3 +1,6 @@
+import { check } from 'meteor/check';
+import { Mongo } from 'meteor/mongo';
+
 RocketChat.models._Base = class {
 
 	_baseName() {
diff --git a/packages/rocketchat-lib/client/views/customFieldsForm.js b/packages/rocketchat-lib/client/views/customFieldsForm.js
index 469fcb933ff53b022778d1b316eaf425facfda5b..52949d9eb72273dc2f430411bf54c1949e258118 100644
--- a/packages/rocketchat-lib/client/views/customFieldsForm.js
+++ b/packages/rocketchat-lib/client/views/customFieldsForm.js
@@ -1,3 +1,7 @@
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Tracker } from 'meteor/tracker';
+import { Template } from 'meteor/templating';
+
 Template.customFieldsForm.helpers({
 	new() {
 		return this.new;
diff --git a/packages/rocketchat-lib/lib/Message.js b/packages/rocketchat-lib/lib/Message.js
index 5c5cc5e09f744a2a65a9049ca22c0fb50bf0b9ff..dbe0c18470a2b8e79d52183140c9bcf1930029a5 100644
--- a/packages/rocketchat-lib/lib/Message.js
+++ b/packages/rocketchat-lib/lib/Message.js
@@ -1,3 +1,4 @@
+import { TAPi18n } from 'meteor/tap:i18n';
 import s from 'underscore.string';
 
 RocketChat.Message = {
diff --git a/packages/rocketchat-lib/lib/MessageTypes.js b/packages/rocketchat-lib/lib/MessageTypes.js
index b42d8214373fa81cb1af6db7deb6173d9976b745..14902dc6b720bf3039e82e8cdbbcd38957e7cffd 100644
--- a/packages/rocketchat-lib/lib/MessageTypes.js
+++ b/packages/rocketchat-lib/lib/MessageTypes.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 RocketChat.MessageTypes = new class {
 	constructor() {
 		this.types = {};
diff --git a/packages/rocketchat-lib/lib/RoomTypeConfig.js b/packages/rocketchat-lib/lib/RoomTypeConfig.js
index 0684041951610cab9166f375e9890bc5f651a4c1..2a16e5247384a24b0d1a1bc77a183eff13d99f1c 100644
--- a/packages/rocketchat-lib/lib/RoomTypeConfig.js
+++ b/packages/rocketchat-lib/lib/RoomTypeConfig.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Random } from 'meteor/random';
+
 export const RoomSettingsEnum = {
 	NAME: 'roomName',
 	TOPIC: 'roomTopic',
@@ -163,14 +166,14 @@ export class RoomTypeConfig {
 
 	canBeCreated() {
 		return Meteor.isServer ?
-			RocketChat.authz.hasAtLeastOnePermission(Meteor.userId(), [`create-${ this._identifier }`]) :
-			RocketChat.authz.hasAtLeastOnePermission([`create-${ this._identifier }`]);
+			RocketChat.authz.hasPermission(Meteor.userId(), `create-${ this._identifier }`) :
+			RocketChat.authz.hasPermission([`create-${ this._identifier }`]);
 	}
 
 	canBeDeleted(room) {
 		return Meteor.isServer ?
-			RocketChat.authz.hasAtLeastOnePermission(Meteor.userId(), [`delete-${ room.t }`], room._id) :
-			RocketChat.authz.hasAtLeastOnePermission([`delete-${ room.t }`], room._id);
+			RocketChat.authz.hasPermission(Meteor.userId(), `delete-${ room.t }`, room._id) :
+			RocketChat.authz.hasPermission(`delete-${ room.t }`, room._id);
 	}
 
 	supportMembersList(/* room */) {
diff --git a/packages/rocketchat-lib/lib/RoomTypesCommon.js b/packages/rocketchat-lib/lib/RoomTypesCommon.js
index 6ada5c29a12e8666b03685ac554dc2f7cc12acb3..e80c0f90464a737fa49eedc046832422ac53e7b1 100644
--- a/packages/rocketchat-lib/lib/RoomTypesCommon.js
+++ b/packages/rocketchat-lib/lib/RoomTypesCommon.js
@@ -1,5 +1,7 @@
 /* globals roomExit */
+import { Meteor } from 'meteor/meteor';
 import { RoomTypeConfig } from './RoomTypeConfig';
+import { FlowRouter } from 'meteor/kadira:flow-router';
 
 export class RoomTypesCommon {
 	constructor() {
diff --git a/packages/rocketchat-lib/lib/callbacks.js b/packages/rocketchat-lib/lib/callbacks.js
index c45850dfa087d1b9063bc4e8dfe04172048d6cf0..f4c6c2c8a5e99bb6691ec9ccaa29e2250557cabc 100644
--- a/packages/rocketchat-lib/lib/callbacks.js
+++ b/packages/rocketchat-lib/lib/callbacks.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { Random } from 'meteor/random';
 import _ from 'underscore';
 
 /*
diff --git a/packages/rocketchat-lib/lib/getURL.js b/packages/rocketchat-lib/lib/getURL.js
index 6802a153b713f54ef8d2cdc81e8eeca872d7fb8e..13b7da454a1c8644f08cd37068b2027df76c5110 100644
--- a/packages/rocketchat-lib/lib/getURL.js
+++ b/packages/rocketchat-lib/lib/getURL.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import s from 'underscore.string';
 
 RocketChat.getURL = (path, { cdn = true, full = false } = {}) => {
diff --git a/packages/rocketchat-lib/lib/getValidRoomName.js b/packages/rocketchat-lib/lib/getValidRoomName.js
index dbbd610d36bc4e54d34aac14108d9f5587b43216..e48a30e25b76d792c3238f0c84c6a84577015604 100644
--- a/packages/rocketchat-lib/lib/getValidRoomName.js
+++ b/packages/rocketchat-lib/lib/getValidRoomName.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import s from 'underscore.string';
 
 RocketChat.getValidRoomName = function getValidRoomName(displayName, rid = '') {
diff --git a/packages/rocketchat-lib/lib/promises.js b/packages/rocketchat-lib/lib/promises.js
index 45873a5d4d6de3c448e1fef7a2396ce852cb95e2..a306ccceeef67a8df011b94a44a1861b133e1f80 100644
--- a/packages/rocketchat-lib/lib/promises.js
+++ b/packages/rocketchat-lib/lib/promises.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { Random } from 'meteor/random';
 import _ from 'underscore';
 
 /*
diff --git a/packages/rocketchat-lib/lib/roomTypes/conversation.js b/packages/rocketchat-lib/lib/roomTypes/conversation.js
index cf36699f0a446ce1748ff49413748ef874455e49..8f18930c5c6811eaaf654ab91644c2231be03d73 100644
--- a/packages/rocketchat-lib/lib/roomTypes/conversation.js
+++ b/packages/rocketchat-lib/lib/roomTypes/conversation.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import { RoomTypeConfig } from '../RoomTypeConfig';
 
 export class ConversationRoomType extends RoomTypeConfig {
diff --git a/packages/rocketchat-lib/lib/roomTypes/direct.js b/packages/rocketchat-lib/lib/roomTypes/direct.js
index dac14d8bfc99fb546534d90d1b37f82c87ddaab5..b3d201578181702d6fdab1849bf2e55553846c1c 100644
--- a/packages/rocketchat-lib/lib/roomTypes/direct.js
+++ b/packages/rocketchat-lib/lib/roomTypes/direct.js
@@ -1,4 +1,6 @@
 /* globals openRoom */
+import { Meteor } from 'meteor/meteor';
+import { Session } from 'meteor/session';
 import { RoomTypeConfig, RoomTypeRouteConfig, RoomSettingsEnum, UiTextContext } from '../RoomTypeConfig';
 
 export class DirectMessageRoomRoute extends RoomTypeRouteConfig {
@@ -29,7 +31,7 @@ export class DirectMessageRoomType extends RoomTypeConfig {
 	}
 
 	findRoom(identifier) {
-		if (!RocketChat.authz.hasAtLeastOnePermission('view-d-room')) {
+		if (!RocketChat.authz.hasPermission('view-d-room')) {
 			return null;
 		}
 
diff --git a/packages/rocketchat-lib/lib/roomTypes/favorite.js b/packages/rocketchat-lib/lib/roomTypes/favorite.js
index 989efae65a2460b4ef1ab6a2862581092762166a..af598aca06c6124eacd049d0e8ab124403a3eb22 100644
--- a/packages/rocketchat-lib/lib/roomTypes/favorite.js
+++ b/packages/rocketchat-lib/lib/roomTypes/favorite.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import { RoomTypeConfig } from '../RoomTypeConfig';
 
 export class FavoriteRoomType extends RoomTypeConfig {
diff --git a/packages/rocketchat-lib/lib/roomTypes/private.js b/packages/rocketchat-lib/lib/roomTypes/private.js
index b407a111c1dbab49344dafbbfd8f1a6566e4b78b..9b86b2d17abc55a35befaae1fbef2eed4b294594 100644
--- a/packages/rocketchat-lib/lib/roomTypes/private.js
+++ b/packages/rocketchat-lib/lib/roomTypes/private.js
@@ -1,4 +1,5 @@
 /* globals openRoom */
+import { Meteor } from 'meteor/meteor';
 import { RoomSettingsEnum, RoomTypeConfig, RoomTypeRouteConfig, UiTextContext } from '../RoomTypeConfig';
 
 export class PrivateRoomRoute extends RoomTypeRouteConfig {
@@ -44,7 +45,7 @@ export class PrivateRoomType extends RoomTypeConfig {
 
 	condition() {
 		const groupByType = RocketChat.getUserPreference(Meteor.userId(), 'sidebarGroupByType');
-		return groupByType && RocketChat.authz.hasAllPermission('view-p-room');
+		return groupByType && RocketChat.authz.hasPermission('view-p-room');
 	}
 
 	isGroupChat() {
diff --git a/packages/rocketchat-lib/lib/roomTypes/public.js b/packages/rocketchat-lib/lib/roomTypes/public.js
index 6b079d4df5926710bd09e24da9e48a685e68367c..5168415c1b39abc214befcc1d6fd29e7c2f10897 100644
--- a/packages/rocketchat-lib/lib/roomTypes/public.js
+++ b/packages/rocketchat-lib/lib/roomTypes/public.js
@@ -1,4 +1,5 @@
 /* globals openRoom */
+import { Meteor } from 'meteor/meteor';
 import { RoomTypeConfig, RoomTypeRouteConfig, RoomSettingsEnum, UiTextContext } from '../RoomTypeConfig';
 
 export class PublicRoomRoute extends RoomTypeRouteConfig {
diff --git a/packages/rocketchat-lib/lib/roomTypes/unread.js b/packages/rocketchat-lib/lib/roomTypes/unread.js
index 7bfd2f5b89af512c3efbd01089eef75014a94ea7..64926533670f3ce6e41f7e48ff1b2fafab608556 100644
--- a/packages/rocketchat-lib/lib/roomTypes/unread.js
+++ b/packages/rocketchat-lib/lib/roomTypes/unread.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import { RoomTypeConfig } from '../RoomTypeConfig';
 
 export class UnreadRoomType extends RoomTypeConfig {
diff --git a/packages/rocketchat-lib/lib/settings.js b/packages/rocketchat-lib/lib/settings.js
index a86d1f6d581e7041bb92c3894c6791cc60c94c45..f86ab11bcd25c3b242bb0628f6abd99e263c58f3 100644
--- a/packages/rocketchat-lib/lib/settings.js
+++ b/packages/rocketchat-lib/lib/settings.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import _ from 'underscore';
 
 /*
diff --git a/packages/rocketchat-lib/lib/slashCommand.js b/packages/rocketchat-lib/lib/slashCommand.js
index 1fe21a7d18d71803d9f5379f8652c68ce7fe0c85..c502ccc65d97aed889f8a5d3c7c9cf8fd3fd4613 100644
--- a/packages/rocketchat-lib/lib/slashCommand.js
+++ b/packages/rocketchat-lib/lib/slashCommand.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 RocketChat.slashCommands = {
 	commands: {},
 };
diff --git a/packages/rocketchat-lib/lib/startup/settingsOnLoadSiteUrl.js b/packages/rocketchat-lib/lib/startup/settingsOnLoadSiteUrl.js
index 8e4c7d987e6f39d277a25c675cc679348af17ae9..70c6d78cb6f0816fe8dd6b1ede7d1508d0d09864 100644
--- a/packages/rocketchat-lib/lib/startup/settingsOnLoadSiteUrl.js
+++ b/packages/rocketchat-lib/lib/startup/settingsOnLoadSiteUrl.js
@@ -1,4 +1,6 @@
 /* globals WebAppInternals */
+import { Meteor } from 'meteor/meteor';
+
 RocketChat.settings.get('Site_Url', function(key, value) {
 	if (value == null || value.trim() === '') {
 		return;
diff --git a/packages/rocketchat-lib/lib/templateVarHandler.js b/packages/rocketchat-lib/lib/templateVarHandler.js
index 294520a550d5cf24f482b349677371fc2f315bbd..f13bd9233a7149d93094d9f0992d440f8e4bf838 100644
--- a/packages/rocketchat-lib/lib/templateVarHandler.js
+++ b/packages/rocketchat-lib/lib/templateVarHandler.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 let logger;
 
 if (Meteor.isServer) {
diff --git a/packages/rocketchat-lib/package.js b/packages/rocketchat-lib/package.js
index 7f3e15c5fd0cd40e423acfebff47cf2c283eb0d0..f1236baa505d8e374b525532a0ab9a4f474a5a88 100644
--- a/packages/rocketchat-lib/package.js
+++ b/packages/rocketchat-lib/package.js
@@ -29,12 +29,15 @@ Package.onUse(function(api) {
 	api.use('rocketchat:version');
 	api.use('rocketchat:logger');
 	api.use('rocketchat:mailer');
+	api.use('mizzao:timesync');
 	api.use('rocketchat:custom-oauth');
+	api.use('rocketchat:file');
 	api.use('rocketchat:authorization', { unordered: true });
 	api.use('rocketchat:push-notifications', { unordered: true });
 
 	api.use('templating', 'client');
 	api.use('kadira:flow-router');
+	api.use('kadira:blaze-layout', 'client');
 
 	api.addFiles('lib/core.js');
 
@@ -144,6 +147,7 @@ Package.onUse(function(api) {
 	api.addFiles('server/oauth/proxy.js', 'server');
 
 	api.addFiles('server/startup/statsTracker.js', 'server');
+	api.addFiles('server/startup/robots.js', 'server');
 
 	// SERVER PUBLICATIONS
 	api.addFiles('server/publications/settings.js', 'server');
@@ -219,6 +223,7 @@ Package.onUse(function(api) {
 	api.addFiles('client/lib/roomTypes.js', 'client');
 	api.addFiles('client/lib/userRoles.js', 'client');
 	api.addFiles('client/lib/Layout.js', 'client');
+	api.addFiles('client/lib/handleError.js', 'client');
 
 	// CLIENT LIB STARTUP
 	api.addFiles('client/lib/startup/commands.js', 'client');
@@ -248,6 +253,7 @@ Package.onUse(function(api) {
 
 	// EXPORT
 	api.export('RocketChat');
+	api.export('handleError', 'client');
 
 	// exports
 	api.mainModule('server/lib/index.js', 'server');
diff --git a/packages/rocketchat-lib/rocketchat.info b/packages/rocketchat-lib/rocketchat.info
index 9951fabf58769b2c36c4bc1c273f5aa4a594c148..1dbceb946f2d61a61852ad53f1e2194ac8161540 100644
--- a/packages/rocketchat-lib/rocketchat.info
+++ b/packages/rocketchat-lib/rocketchat.info
@@ -1,3 +1,3 @@
 {
-	"version": "0.71.1"
+	"version": "0.72.0"
 }
diff --git a/packages/rocketchat-lib/server/functions/Notifications.js b/packages/rocketchat-lib/server/functions/Notifications.js
index 92e78e6774baeab677484f4a71bea2b850b17956..53ddd1ca65460db6eb7bd5f6bf3dafebaa199105 100644
--- a/packages/rocketchat-lib/server/functions/Notifications.js
+++ b/packages/rocketchat-lib/server/functions/Notifications.js
@@ -1,3 +1,41 @@
+
+import { Meteor } from 'meteor/meteor';
+
+class RoomStreamer extends Meteor.Streamer {
+	_publish(publication, eventName, options) {
+		super._publish(publication, eventName, options);
+		const uid = Meteor.userId();
+		if (/rooms-changed/.test(eventName)) {
+			const roomEvent = (...args) => {
+				RocketChat.Notifications.notifyUserInThisInstance(uid, 'rooms-changed', ...args);
+			};
+			const rooms = RocketChat.models.Subscriptions.find({ 'u._id': uid }, { fields: { rid: 1 } }).fetch();
+			rooms.forEach(({ rid }) => {
+				this.on(rid, roomEvent);
+			});
+
+			const userEvent = (clientAction, { rid }) => {
+				switch (clientAction) {
+					case 'inserted':
+						rooms.push({ rid });
+						this.on(rid, roomEvent);
+						break;
+
+					case 'removed':
+						this.removeListener(rid, roomEvent);
+						break;
+				}
+			};
+			this.on(uid, userEvent);
+
+			publication.onStop(() => {
+				this.removeListener(uid, userEvent);
+				rooms.forEach(({ rid }) => this.removeListener(rid, roomEvent));
+			});
+		}
+	}
+}
+
 RocketChat.Notifications = new class {
 	constructor() {
 		this.debug = false;
@@ -5,7 +43,7 @@ RocketChat.Notifications = new class {
 		this.streamLogged = new Meteor.Streamer('notify-logged');
 		this.streamRoom = new Meteor.Streamer('notify-room');
 		this.streamRoomUsers = new Meteor.Streamer('notify-room-users');
-		this.streamUser = new Meteor.Streamer('notify-user');
+		this.streamUser = new RoomStreamer('notify-user');
 		this.streamAll.allowWrite('none');
 		this.streamLogged.allowWrite('none');
 		this.streamRoom.allowWrite('none');
diff --git a/packages/rocketchat-lib/server/functions/addUserToRoom.js b/packages/rocketchat-lib/server/functions/addUserToRoom.js
index cb8807de5873c039210471d1a5f0f7f0134bc6c3..26f8649c0f49ab079c6123317d816bba34b0ba10 100644
--- a/packages/rocketchat-lib/server/functions/addUserToRoom.js
+++ b/packages/rocketchat-lib/server/functions/addUserToRoom.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 RocketChat.addUserToRoom = function(rid, user, inviter, silenced) {
 	const now = new Date();
 	const room = RocketChat.models.Rooms.findOneById(rid);
diff --git a/packages/rocketchat-lib/server/functions/archiveRoom.js b/packages/rocketchat-lib/server/functions/archiveRoom.js
index f48be588c92f323be9c0e561c826c32c73b6a555..26d756bd5e6e18f8a2fab4118befb8abf5bfaab6 100644
--- a/packages/rocketchat-lib/server/functions/archiveRoom.js
+++ b/packages/rocketchat-lib/server/functions/archiveRoom.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 RocketChat.archiveRoom = function(rid) {
 	RocketChat.models.Rooms.archiveById(rid);
 	RocketChat.models.Subscriptions.archiveByRoomId(rid);
diff --git a/packages/rocketchat-lib/server/functions/checkEmailAvailability.js b/packages/rocketchat-lib/server/functions/checkEmailAvailability.js
index b60d92741b2a68d00b0a234a4ebc827accbf3779..3e892c5f19ac065eb0cd22a1ca47423bca396496 100644
--- a/packages/rocketchat-lib/server/functions/checkEmailAvailability.js
+++ b/packages/rocketchat-lib/server/functions/checkEmailAvailability.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import s from 'underscore.string';
 
 RocketChat.checkEmailAvailability = function(email) {
diff --git a/packages/rocketchat-lib/server/functions/checkUsernameAvailability.js b/packages/rocketchat-lib/server/functions/checkUsernameAvailability.js
index 66720a8e8fa050a3112d046c48dfa06d61fef570..1aba54ba77f6a0d1bc92003033b360e6cb3b718a 100644
--- a/packages/rocketchat-lib/server/functions/checkUsernameAvailability.js
+++ b/packages/rocketchat-lib/server/functions/checkUsernameAvailability.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import s from 'underscore.string';
 
 
diff --git a/packages/rocketchat-lib/server/functions/cleanRoomHistory.js b/packages/rocketchat-lib/server/functions/cleanRoomHistory.js
index ac542f14e4ee3f77d64130d524e78c6811b6f438..b68352325bd1501f27fa30d58ee649fb8aa924a4 100644
--- a/packages/rocketchat-lib/server/functions/cleanRoomHistory.js
+++ b/packages/rocketchat-lib/server/functions/cleanRoomHistory.js
@@ -1,3 +1,5 @@
+import { TAPi18n } from 'meteor/tap:i18n';
+
 RocketChat.cleanRoomHistory = function({ rid, latest = new Date(), oldest = new Date('0001-01-01T00:00:00Z'), inclusive = true, limit = 0, excludePinned = true, filesOnly = false, fromUsers = [] }) {
 	const gt = inclusive ? '$gte' : '$gt';
 	const lt = inclusive ? '$lte' : '$lt';
diff --git a/packages/rocketchat-lib/server/functions/createRoom.js b/packages/rocketchat-lib/server/functions/createRoom.js
index 311c0011bb5a6f73ae08ab1550c7837619664602..532b2e8c0ea7e5da853929f88b5e59b34fc230b1 100644
--- a/packages/rocketchat-lib/server/functions/createRoom.js
+++ b/packages/rocketchat-lib/server/functions/createRoom.js
@@ -1,4 +1,5 @@
 /* globals RocketChat */
+import { Meteor } from 'meteor/meteor';
 import _ from 'underscore';
 import s from 'underscore.string';
 
diff --git a/packages/rocketchat-lib/server/functions/deleteMessage.js b/packages/rocketchat-lib/server/functions/deleteMessage.js
index eb0d6956a499d3ae6f99623760b7d84f42fd3e14..27a576d4141b0c80a2160f0c38cf3a173b09413b 100644
--- a/packages/rocketchat-lib/server/functions/deleteMessage.js
+++ b/packages/rocketchat-lib/server/functions/deleteMessage.js
@@ -1,4 +1,6 @@
 /* globals FileUpload */
+import { Meteor } from 'meteor/meteor';
+
 RocketChat.deleteMessage = function(message, user) {
 	const keepHistory = RocketChat.settings.get('Message_KeepHistory');
 	const showDeletedStatus = RocketChat.settings.get('Message_ShowDeletedStatus');
diff --git a/packages/rocketchat-lib/server/functions/deleteUser.js b/packages/rocketchat-lib/server/functions/deleteUser.js
index 87e98de99d7f6ea1d06ba040bbc4ebd587c02104..40f05e4db3d05588d5198fa89d3a772bfdba37d2 100644
--- a/packages/rocketchat-lib/server/functions/deleteUser.js
+++ b/packages/rocketchat-lib/server/functions/deleteUser.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { TAPi18n } from 'meteor/tap:i18n';
+
 RocketChat.deleteUser = function(userId) {
 	const user = RocketChat.models.Users.findOneById(userId, {
 		fields: { username: 1, avatarOrigin: 1 },
diff --git a/packages/rocketchat-lib/server/functions/getRoomByNameOrIdWithOptionToJoin.js b/packages/rocketchat-lib/server/functions/getRoomByNameOrIdWithOptionToJoin.js
index 05ef18401812e6119bc2a1c4a71ebe4084b3554a..4ccf99191686bbaf4e1f15a519194e775471ad82 100644
--- a/packages/rocketchat-lib/server/functions/getRoomByNameOrIdWithOptionToJoin.js
+++ b/packages/rocketchat-lib/server/functions/getRoomByNameOrIdWithOptionToJoin.js
@@ -1,4 +1,5 @@
 /* globals RocketChat */
+import { Meteor } from 'meteor/meteor';
 import _ from 'underscore';
 
 RocketChat.getRoomByNameOrIdWithOptionToJoin = function _getRoomByNameOrIdWithOptionToJoin({ currentUserId, nameOrId, type = '', tryDirectByUserIdOnly = false, joinChannel = true, errorOnEmpty = true }) {
diff --git a/packages/rocketchat-lib/server/functions/notifications/email.js b/packages/rocketchat-lib/server/functions/notifications/email.js
index ec2555b9c2414d45ea40185cd647dd763d35142a..e8b486536cb032adbea353b2553b8c4c95367f41 100644
--- a/packages/rocketchat-lib/server/functions/notifications/email.js
+++ b/packages/rocketchat-lib/server/functions/notifications/email.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { TAPi18n } from 'meteor/tap:i18n';
 import s from 'underscore.string';
 import * as Mailer from 'meteor/rocketchat:mailer';
 
diff --git a/packages/rocketchat-lib/server/functions/notifications/index.js b/packages/rocketchat-lib/server/functions/notifications/index.js
index 40fd2f03bb9b299a834d9f51de170cb4e00ba1d1..e2316590a351aa3b173b66f741c4a0e940031729 100644
--- a/packages/rocketchat-lib/server/functions/notifications/index.js
+++ b/packages/rocketchat-lib/server/functions/notifications/index.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { TAPi18n } from 'meteor/tap:i18n';
 import s from 'underscore.string';
 
 /**
diff --git a/packages/rocketchat-lib/server/functions/notifications/mobile.js b/packages/rocketchat-lib/server/functions/notifications/mobile.js
index 590519e8ebdaace4d273fe497ce7e1c8f0c2b7a7..d772f7ea7b9170acf9bc13c96bef6b484a8973e5 100644
--- a/packages/rocketchat-lib/server/functions/notifications/mobile.js
+++ b/packages/rocketchat-lib/server/functions/notifications/mobile.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 const CATEGORY_MESSAGE = 'MESSAGE';
 const CATEGORY_MESSAGE_NOREPLY = 'MESSAGE_NOREPLY';
 
diff --git a/packages/rocketchat-lib/server/functions/removeUserFromRoom.js b/packages/rocketchat-lib/server/functions/removeUserFromRoom.js
index dc910a0a7ab1c64a2736d0516f386f20439079ab..f09aea6ad2eda2a5072edb18b0a7d9cb8db45175 100644
--- a/packages/rocketchat-lib/server/functions/removeUserFromRoom.js
+++ b/packages/rocketchat-lib/server/functions/removeUserFromRoom.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 RocketChat.removeUserFromRoom = function(rid, user) {
 	const room = RocketChat.models.Rooms.findOneById(rid);
 
diff --git a/packages/rocketchat-lib/server/functions/saveCustomFieldsWithoutValidation.js b/packages/rocketchat-lib/server/functions/saveCustomFieldsWithoutValidation.js
index b4280fddb7b896a14ef8161cce49bfeeda671fc1..f1c418193a3467aa011baba1db7c4397ede1d4bd 100644
--- a/packages/rocketchat-lib/server/functions/saveCustomFieldsWithoutValidation.js
+++ b/packages/rocketchat-lib/server/functions/saveCustomFieldsWithoutValidation.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import s from 'underscore.string';
 
 RocketChat.saveCustomFieldsWithoutValidation = function(userId, formData) {
diff --git a/packages/rocketchat-lib/server/functions/saveUser.js b/packages/rocketchat-lib/server/functions/saveUser.js
index 3844b0677d5e676b2102eca6abe0f04e6b2872ab..7d6fbf9f5f643acb8b5e43c6d2c422233a5fb3b3 100644
--- a/packages/rocketchat-lib/server/functions/saveUser.js
+++ b/packages/rocketchat-lib/server/functions/saveUser.js
@@ -1,4 +1,6 @@
 /* globals Gravatar */
+import { Meteor } from 'meteor/meteor';
+import { Accounts } from 'meteor/accounts-base';
 import _ from 'underscore';
 import s from 'underscore.string';
 import * as Mailer from 'meteor/rocketchat:mailer';
diff --git a/packages/rocketchat-lib/server/functions/sendMessage.js b/packages/rocketchat-lib/server/functions/sendMessage.js
index 53d7338ca0ef4ea1cee1e4dd1864ddf41d025e98..4a5218e7ad65c1cf68f758379868208b4842c16e 100644
--- a/packages/rocketchat-lib/server/functions/sendMessage.js
+++ b/packages/rocketchat-lib/server/functions/sendMessage.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
+
 const objectMaybeIncluding = (types) => Match.Where((value) => {
 	Object.keys(types).forEach((field) => {
 		if (value[field] != null) {
diff --git a/packages/rocketchat-lib/server/functions/setEmail.js b/packages/rocketchat-lib/server/functions/setEmail.js
index 827edaca8a64b7463f30ac50adafb0f585d0faac..e947d5bfa514a55ac05e6af2367e64da9a5683f8 100644
--- a/packages/rocketchat-lib/server/functions/setEmail.js
+++ b/packages/rocketchat-lib/server/functions/setEmail.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import s from 'underscore.string';
 
 RocketChat._setEmail = function(userId, email, shouldSendVerificationEmail = true) {
diff --git a/packages/rocketchat-lib/server/functions/setRealName.js b/packages/rocketchat-lib/server/functions/setRealName.js
index 851ae2980ee07399ba632c64294d21306c16018d..6bf2f183ef753c49aefac14a1460e9effe14d8cf 100644
--- a/packages/rocketchat-lib/server/functions/setRealName.js
+++ b/packages/rocketchat-lib/server/functions/setRealName.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import s from 'underscore.string';
 
 RocketChat._setRealName = function(userId, name) {
diff --git a/packages/rocketchat-lib/server/functions/setUserAvatar.js b/packages/rocketchat-lib/server/functions/setUserAvatar.js
index 5bfd3f86f94a75ca79b1f36933d0e539200a4bc7..5f72d100d4e03ed3e9c875b656863649e528c0fe 100644
--- a/packages/rocketchat-lib/server/functions/setUserAvatar.js
+++ b/packages/rocketchat-lib/server/functions/setUserAvatar.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { HTTP } from 'meteor/http';
+import { RocketChatFile } from 'meteor/rocketchat:file';
 RocketChat.setUserAvatar = function(user, dataURI, contentType, service) {
 	let encoding;
 	let image;
diff --git a/packages/rocketchat-lib/server/functions/setUsername.js b/packages/rocketchat-lib/server/functions/setUsername.js
index 20c317c9b03217474ac15c667cb922a8668d2a5d..109a7f4e6ecd99513533cf07644ee87a0d12ee2b 100644
--- a/packages/rocketchat-lib/server/functions/setUsername.js
+++ b/packages/rocketchat-lib/server/functions/setUsername.js
@@ -1,4 +1,5 @@
 import s from 'underscore.string';
+import { Accounts } from 'meteor/accounts-base';
 
 RocketChat._setUsername = function(userId, u) {
 	const username = s.trim(u);
@@ -34,6 +35,8 @@ RocketChat._setUsername = function(userId, u) {
 	} catch (e) {
 		console.error(e);
 	}
+	// Set new username*
+	RocketChat.models.Users.setUsername(user._id, username);
 	/* globals getAvatarSuggestionForUser */
 	user.username = username;
 	if (!previousUsername && RocketChat.settings.get('Accounts_SetDefaultAvatar') === true) {
@@ -74,8 +77,6 @@ RocketChat._setUsername = function(userId, u) {
 			fileStore.model.updateFileNameById(file._id, username);
 		}
 	}
-	// Set new username*
-	RocketChat.models.Users.setUsername(user._id, username);
 	return user;
 };
 
diff --git a/packages/rocketchat-lib/server/functions/settings.js b/packages/rocketchat-lib/server/functions/settings.js
index 8933d91912f77c970e842741ef8e455d1133f2c7..4ffe64fc92501ae6411a0f10a4bbd74d73e27915 100644
--- a/packages/rocketchat-lib/server/functions/settings.js
+++ b/packages/rocketchat-lib/server/functions/settings.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import _ from 'underscore';
 
 const blockedSettings = {};
diff --git a/packages/rocketchat-lib/server/functions/updateMessage.js b/packages/rocketchat-lib/server/functions/updateMessage.js
index 4d5c8e583b3796e4587ca596a2eec7897ea095d6..950454594c95a98d460ed68d0ff65514add3b99b 100644
--- a/packages/rocketchat-lib/server/functions/updateMessage.js
+++ b/packages/rocketchat-lib/server/functions/updateMessage.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 RocketChat.updateMessage = function(message, user, originalMessage) {
 	if (!originalMessage) {
 		originalMessage = RocketChat.models.Messages.findOneById(message._id);
diff --git a/packages/rocketchat-lib/server/functions/validateCustomFields.js b/packages/rocketchat-lib/server/functions/validateCustomFields.js
index a700c4e373bca1fd9d455d652527694cb0867c1f..26ccace4102b9d35931728f2177148abc50642ec 100644
--- a/packages/rocketchat-lib/server/functions/validateCustomFields.js
+++ b/packages/rocketchat-lib/server/functions/validateCustomFields.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import s from 'underscore.string';
 
 RocketChat.validateCustomFields = function(fields) {
diff --git a/packages/rocketchat-lib/server/lib/PasswordPolicyClass.js b/packages/rocketchat-lib/server/lib/PasswordPolicyClass.js
index 719b875e82fc5c00a80aeb5d731a04f8e85cd36e..6246990e7dfbf2eba68c4e1b43f197b4e7d5e14c 100644
--- a/packages/rocketchat-lib/server/lib/PasswordPolicyClass.js
+++ b/packages/rocketchat-lib/server/lib/PasswordPolicyClass.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 class PasswordPolicy {
 	constructor({
 		enabled = false,
diff --git a/packages/rocketchat-lib/server/lib/RateLimiter.js b/packages/rocketchat-lib/server/lib/RateLimiter.js
index 1555cd4abeeb135d68a3962f0479ea2e6785ba4b..001ad9d57eeffb8d2dbca4249e5b73784ec7502b 100644
--- a/packages/rocketchat-lib/server/lib/RateLimiter.js
+++ b/packages/rocketchat-lib/server/lib/RateLimiter.js
@@ -1,4 +1,6 @@
 /* globals RateLimiter */
+import { Meteor } from 'meteor/meteor';
+import { DDPRateLimiter } from 'meteor/ddp-rate-limiter';
 import _ from 'underscore';
 
 RocketChat.RateLimiter = new class {
diff --git a/packages/rocketchat-lib/server/lib/bugsnag.js b/packages/rocketchat-lib/server/lib/bugsnag.js
index a08d502746711f42b748874391273fdafb7d317b..8d123c88d512e053dee1a09c62caed0de30086ea 100644
--- a/packages/rocketchat-lib/server/lib/bugsnag.js
+++ b/packages/rocketchat-lib/server/lib/bugsnag.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import bugsnag from 'bugsnag';
 
 RocketChat.bugsnag = bugsnag;
diff --git a/packages/rocketchat-lib/server/lib/configLogger.js b/packages/rocketchat-lib/server/lib/configLogger.js
index a2fb4106e0283764330742db773dab57df13c24e..b0d2fef6170cff4bd4c4c6ebe7bebb524e9f2059 100644
--- a/packages/rocketchat-lib/server/lib/configLogger.js
+++ b/packages/rocketchat-lib/server/lib/configLogger.js
@@ -1,4 +1,6 @@
 /* globals LoggerManager */
+import { Meteor } from 'meteor/meteor';
+
 RocketChat.settings.get('Log_Package', function(key, value) {
 	return LoggerManager.showPackage = value;
 });
diff --git a/packages/rocketchat-lib/server/lib/debug.js b/packages/rocketchat-lib/server/lib/debug.js
index 5ef15b457ebaaa67b8ded3a7fa6a14c432c12cfc..f5ca069d8a04d3271e2d6a2d4e2817b3ef1af96e 100644
--- a/packages/rocketchat-lib/server/lib/debug.js
+++ b/packages/rocketchat-lib/server/lib/debug.js
@@ -1,4 +1,6 @@
 /* global InstanceStatus */
+import { Meteor } from 'meteor/meteor';
+import { WebApp } from 'meteor/webapp';
 import _ from 'underscore';
 
 const logger = new Logger('Meteor', {
diff --git a/packages/rocketchat-lib/server/lib/interceptDirectReplyEmails.js b/packages/rocketchat-lib/server/lib/interceptDirectReplyEmails.js
index ef03456f492a5abf2866398f0831d3683a89ed4b..9b0bcb521c647bf0dc0dcf577e0a2891c0510f53 100644
--- a/packages/rocketchat-lib/server/lib/interceptDirectReplyEmails.js
+++ b/packages/rocketchat-lib/server/lib/interceptDirectReplyEmails.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import IMAP from 'imap';
 import POP3 from 'poplib';
 import { simpleParser } from 'mailparser';
diff --git a/packages/rocketchat-lib/server/lib/loginErrorMessageOverride.js b/packages/rocketchat-lib/server/lib/loginErrorMessageOverride.js
index c9bb7a65cd8c12dbf0bb45f99174f2038906eb15..c75c3853bc1ee0d164882bcc2c688d62127ada22 100644
--- a/packages/rocketchat-lib/server/lib/loginErrorMessageOverride.js
+++ b/packages/rocketchat-lib/server/lib/loginErrorMessageOverride.js
@@ -1,4 +1,7 @@
 // Do not disclose if user exists when password is invalid
+import { Meteor } from 'meteor/meteor';
+import { Accounts } from 'meteor/accounts-base';
+
 const { _runLoginHandlers } = Accounts;
 Accounts._runLoginHandlers = function(methodInvocation, options) {
 	const result = _runLoginHandlers.call(Accounts, methodInvocation, options);
diff --git a/packages/rocketchat-lib/server/lib/metrics.js b/packages/rocketchat-lib/server/lib/metrics.js
index 30086b1a865fd7c6528f4e4bf40f638c69b0726a..4608c717605430017ff405ee90affb7f3c6496cf 100644
--- a/packages/rocketchat-lib/server/lib/metrics.js
+++ b/packages/rocketchat-lib/server/lib/metrics.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import client from 'prom-client';
 import connect from 'connect';
 import http from 'http';
diff --git a/packages/rocketchat-lib/server/lib/processDirectEmail.js b/packages/rocketchat-lib/server/lib/processDirectEmail.js
index c204d213295b9cef83b6abdf8be602bc604d1045..94f0bfe33e8d7711731137b6f67a063bce7f1856 100644
--- a/packages/rocketchat-lib/server/lib/processDirectEmail.js
+++ b/packages/rocketchat-lib/server/lib/processDirectEmail.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import { EmailReplyParser as reply } from 'emailreplyparser';
 import moment from 'moment';
 
diff --git a/packages/rocketchat-lib/server/lib/roomTypes.js b/packages/rocketchat-lib/server/lib/roomTypes.js
index e6ee83c8bf7082c886bd8241ddfaf4725be71ab3..a1cdabe209776589a2bbc380e4f1e574a808fbee 100644
--- a/packages/rocketchat-lib/server/lib/roomTypes.js
+++ b/packages/rocketchat-lib/server/lib/roomTypes.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import { RoomTypesCommon } from '../../lib/RoomTypesCommon';
 
 RocketChat.roomTypes = new class roomTypesServer extends RoomTypesCommon {
diff --git a/packages/rocketchat-lib/server/lib/sendNotificationsOnMessage.js b/packages/rocketchat-lib/server/lib/sendNotificationsOnMessage.js
index 345dc856c54ad01fdb4945c263b457fd72b04d98..f7d4690e007ada429b9d37552105922b7400c5d8 100644
--- a/packages/rocketchat-lib/server/lib/sendNotificationsOnMessage.js
+++ b/packages/rocketchat-lib/server/lib/sendNotificationsOnMessage.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import moment from 'moment';
 
 import { callJoinRoom, messageContainsHighlight, parseMessageTextPerUser, replaceMentionedUsernamesWithFullNames } from '../functions/notifications/';
diff --git a/packages/rocketchat-lib/server/lib/validateEmailDomain.js b/packages/rocketchat-lib/server/lib/validateEmailDomain.js
index d964b6b6318600395b1e13542d94b312467b566a..005dab6506cb42fde3e4ee6bd549e100b6119330 100644
--- a/packages/rocketchat-lib/server/lib/validateEmailDomain.js
+++ b/packages/rocketchat-lib/server/lib/validateEmailDomain.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import _ from 'underscore';
 import dns from 'dns';
 
diff --git a/packages/rocketchat-lib/server/methods/addOAuthService.js b/packages/rocketchat-lib/server/methods/addOAuthService.js
index 4d91d64698d3b9a30333169666fa5db41075c83e..75e3d28d085ea06aa99ba0e6f0987f4767d8cb08 100644
--- a/packages/rocketchat-lib/server/methods/addOAuthService.js
+++ b/packages/rocketchat-lib/server/methods/addOAuthService.js
@@ -1,5 +1,7 @@
 /* eslint no-multi-spaces: 0 */
 /* eslint comma-spacing: 0 */
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
 import s from 'underscore.string';
 
 Meteor.methods({
diff --git a/packages/rocketchat-lib/server/methods/addUserToRoom.js b/packages/rocketchat-lib/server/methods/addUserToRoom.js
index 26255dad2ad7ee660a9e6663cd546ebf07955790..f9ba0efd95faa562cfd5cefa36c4cb2178226e5c 100644
--- a/packages/rocketchat-lib/server/methods/addUserToRoom.js
+++ b/packages/rocketchat-lib/server/methods/addUserToRoom.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	addUserToRoom(data) {
 		return Meteor.call('addUsersToRoom', {
diff --git a/packages/rocketchat-lib/server/methods/addUsersToRoom.js b/packages/rocketchat-lib/server/methods/addUsersToRoom.js
index 1995b47a7b0b7a081dee996a39b060b25d3be466..cd75a356eceafbd8d04c4fd710955af312b62465 100644
--- a/packages/rocketchat-lib/server/methods/addUsersToRoom.js
+++ b/packages/rocketchat-lib/server/methods/addUsersToRoom.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Match } from 'meteor/check';
+
 Meteor.methods({
 	addUsersToRoom(data = {}) {
 		// Validate user and room
diff --git a/packages/rocketchat-lib/server/methods/archiveRoom.js b/packages/rocketchat-lib/server/methods/archiveRoom.js
index da60a4270fb9e73aa41e093f1346cebac4002a8e..217fd59e39a1ade64d68ff0901ab7fee7815a339 100644
--- a/packages/rocketchat-lib/server/methods/archiveRoom.js
+++ b/packages/rocketchat-lib/server/methods/archiveRoom.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	archiveRoom(rid) {
 
diff --git a/packages/rocketchat-lib/server/methods/blockUser.js b/packages/rocketchat-lib/server/methods/blockUser.js
index 95639295ba2777986b1d3c983311a809e5a7e528..fd771a1dce682a0490c8c5cab8c88450ba1b99e5 100644
--- a/packages/rocketchat-lib/server/methods/blockUser.js
+++ b/packages/rocketchat-lib/server/methods/blockUser.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	blockUser({ rid, blocked }) {
 
diff --git a/packages/rocketchat-lib/server/methods/checkRegistrationSecretURL.js b/packages/rocketchat-lib/server/methods/checkRegistrationSecretURL.js
index 0997b067c073ae68828b41301dfe6ecaf6efb85b..96739aa7f87d6d7a49d1f264ffe1a2c1b4cc3f51 100644
--- a/packages/rocketchat-lib/server/methods/checkRegistrationSecretURL.js
+++ b/packages/rocketchat-lib/server/methods/checkRegistrationSecretURL.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	checkRegistrationSecretURL(hash) {
 
diff --git a/packages/rocketchat-lib/server/methods/checkUsernameAvailability.js b/packages/rocketchat-lib/server/methods/checkUsernameAvailability.js
index e935ce636dbfa856c67e822ad5ae8fb3201bbfa3..302b02647b7758c202cf64344ac02466c0bbb070 100644
--- a/packages/rocketchat-lib/server/methods/checkUsernameAvailability.js
+++ b/packages/rocketchat-lib/server/methods/checkUsernameAvailability.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	checkUsernameAvailability(username) {
 		check(username, String);
diff --git a/packages/rocketchat-lib/server/methods/cleanRoomHistory.js b/packages/rocketchat-lib/server/methods/cleanRoomHistory.js
index ae85a34e82d4b6493020bb1d57e62a7b6ffd4745..506091149fc6b416e938b72477c6e3f4ce03283a 100644
--- a/packages/rocketchat-lib/server/methods/cleanRoomHistory.js
+++ b/packages/rocketchat-lib/server/methods/cleanRoomHistory.js
@@ -1,4 +1,6 @@
 /* globals FileUpload */
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
 
 Meteor.methods({
 	cleanRoomHistory({ roomId, latest, oldest, inclusive = true, limit, excludePinned = false, filesOnly = false, fromUsers = [] }) {
diff --git a/packages/rocketchat-lib/server/methods/createChannel.js b/packages/rocketchat-lib/server/methods/createChannel.js
index 223534ce83b4c4d32844354c851b55d4f4b4e837..df5b722cd407f6c90670b87b1f91ec16eed2baa3 100644
--- a/packages/rocketchat-lib/server/methods/createChannel.js
+++ b/packages/rocketchat-lib/server/methods/createChannel.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
+
 Meteor.methods({
 	createChannel(name, members, readOnly = false, customFields = {}, extraData = {}) {
 		check(name, String);
diff --git a/packages/rocketchat-lib/server/methods/createPrivateGroup.js b/packages/rocketchat-lib/server/methods/createPrivateGroup.js
index 7b2fd11240d2d4b5571f9f89941e71617c0e06fe..cc75b89b5ef01c9d3db383f25d7143a09b3fd640 100644
--- a/packages/rocketchat-lib/server/methods/createPrivateGroup.js
+++ b/packages/rocketchat-lib/server/methods/createPrivateGroup.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
+
 Meteor.methods({
 	createPrivateGroup(name, members, readOnly = false, customFields = {}, extraData = {}) {
 		check(name, String);
diff --git a/packages/rocketchat-lib/server/methods/createToken.js b/packages/rocketchat-lib/server/methods/createToken.js
index b066cfda3e3e8bdbc907a44e0e0bd29f78f17de5..249c039b4a61fd4f9ec10645906f3a1a9fd89044 100644
--- a/packages/rocketchat-lib/server/methods/createToken.js
+++ b/packages/rocketchat-lib/server/methods/createToken.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Accounts } from 'meteor/accounts-base';
+
 Meteor.methods({
 	createToken(userId) {
 		if (Meteor.userId() !== userId && !RocketChat.authz.hasPermission(Meteor.userId(), 'user-generate-access-token')) {
diff --git a/packages/rocketchat-lib/server/methods/deleteMessage.js b/packages/rocketchat-lib/server/methods/deleteMessage.js
index 1968dc4e6290e80fc11f481b7786721c818b3386..31e6c6b3300d842333b383fb1d924b99456dae0e 100644
--- a/packages/rocketchat-lib/server/methods/deleteMessage.js
+++ b/packages/rocketchat-lib/server/methods/deleteMessage.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
 import moment from 'moment';
 
 Meteor.methods({
diff --git a/packages/rocketchat-lib/server/methods/deleteUserOwnAccount.js b/packages/rocketchat-lib/server/methods/deleteUserOwnAccount.js
index a4c255d7b95da1cf0e1c641d5f56be7b50c66c7d..3d197e11cd043ca8fcdb599ee0dba78317b5a974 100644
--- a/packages/rocketchat-lib/server/methods/deleteUserOwnAccount.js
+++ b/packages/rocketchat-lib/server/methods/deleteUserOwnAccount.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+import { Accounts } from 'meteor/accounts-base';
 import s from 'underscore.string';
 
 Meteor.methods({
diff --git a/packages/rocketchat-lib/server/methods/executeSlashCommandPreview.js b/packages/rocketchat-lib/server/methods/executeSlashCommandPreview.js
index 3dbb8bb8e9f43d97161c92108b83a582c389f05a..50460526fd3767dfc5a8a5083e080a3a9377e8cc 100644
--- a/packages/rocketchat-lib/server/methods/executeSlashCommandPreview.js
+++ b/packages/rocketchat-lib/server/methods/executeSlashCommandPreview.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	executeSlashCommandPreview(command, preview) {
 		if (!Meteor.userId()) {
diff --git a/packages/rocketchat-lib/server/methods/filterATAllTag.js b/packages/rocketchat-lib/server/methods/filterATAllTag.js
index 645311691d4be77a73782435db12111ac709c5d7..3db1ee27ac50d57dc9ffd58885ef2fc3daca9f81 100644
--- a/packages/rocketchat-lib/server/methods/filterATAllTag.js
+++ b/packages/rocketchat-lib/server/methods/filterATAllTag.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Random } from 'meteor/random';
+import { TAPi18n } from 'meteor/tap:i18n';
 import _ from 'underscore';
 
 RocketChat.callbacks.add('beforeSaveMessage', function(message) {
diff --git a/packages/rocketchat-lib/server/methods/filterATHereTag.js b/packages/rocketchat-lib/server/methods/filterATHereTag.js
index 07cf9a9c536483e4a355615ca4b1f859201f666e..90bfec4516aaefeaad1af0a5e065fbfc6fd78905 100644
--- a/packages/rocketchat-lib/server/methods/filterATHereTag.js
+++ b/packages/rocketchat-lib/server/methods/filterATHereTag.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Random } from 'meteor/random';
+import { TAPi18n } from 'meteor/tap:i18n';
 import _ from 'underscore';
 
 RocketChat.callbacks.add('beforeSaveMessage', function(message) {
diff --git a/packages/rocketchat-lib/server/methods/getChannelHistory.js b/packages/rocketchat-lib/server/methods/getChannelHistory.js
index 72108ae707b028d04d485243db77aa2d45ad31a0..06304ec04ab4a883a13d8d0b7bb883de318b5d91 100644
--- a/packages/rocketchat-lib/server/methods/getChannelHistory.js
+++ b/packages/rocketchat-lib/server/methods/getChannelHistory.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
 import _ from 'underscore';
 
 Meteor.methods({
diff --git a/packages/rocketchat-lib/server/methods/getFullUserData.js b/packages/rocketchat-lib/server/methods/getFullUserData.js
index c8b31309d2da3f92d0f4a274539db223ab2e9559..e65628ecc7f0a16ffd4f781d2b5b894eae9bc496 100644
--- a/packages/rocketchat-lib/server/methods/getFullUserData.js
+++ b/packages/rocketchat-lib/server/methods/getFullUserData.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	getFullUserData({ filter = '', username = '', limit = 1 }) {
 		const result = RocketChat.getFullUserData({ userId: Meteor.userId(), filter: filter || username, limit });
diff --git a/packages/rocketchat-lib/server/methods/getRoomJoinCode.js b/packages/rocketchat-lib/server/methods/getRoomJoinCode.js
index 30c7861d56d0ecfc0e426f4823de844787faf9be..2b2da233bf395cccf0911b98bc8299994e7acf79 100644
--- a/packages/rocketchat-lib/server/methods/getRoomJoinCode.js
+++ b/packages/rocketchat-lib/server/methods/getRoomJoinCode.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	getRoomJoinCode(rid) {
 		check(rid, String);
diff --git a/packages/rocketchat-lib/server/methods/getRoomRoles.js b/packages/rocketchat-lib/server/methods/getRoomRoles.js
index af0afd0f5c5a30e7821e9ed2e91a8dc0860a1912..3a79f1551ddb3efe3ffa136f387f4353b2b78dbf 100644
--- a/packages/rocketchat-lib/server/methods/getRoomRoles.js
+++ b/packages/rocketchat-lib/server/methods/getRoomRoles.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
 import _ from 'underscore';
 
 Meteor.methods({
diff --git a/packages/rocketchat-lib/server/methods/getServerInfo.js b/packages/rocketchat-lib/server/methods/getServerInfo.js
index 6b6155a4d5a21fd2bc3ad841a1db82e38d8818f6..7c91ded54a60e72fbbecf363f80a8ca87cb94737 100644
--- a/packages/rocketchat-lib/server/methods/getServerInfo.js
+++ b/packages/rocketchat-lib/server/methods/getServerInfo.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	getServerInfo() {
 		return RocketChat.Info;
diff --git a/packages/rocketchat-lib/server/methods/getSingleMessage.js b/packages/rocketchat-lib/server/methods/getSingleMessage.js
index 06ea858fe903fdcd9da0b1d80ae3172f08359881..3317f03d3154ac6184b94a62e3d0aa9c9288469f 100644
--- a/packages/rocketchat-lib/server/methods/getSingleMessage.js
+++ b/packages/rocketchat-lib/server/methods/getSingleMessage.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	getSingleMessage(msgId) {
 		check(msgId, String);
diff --git a/packages/rocketchat-lib/server/methods/getSlashCommandPreviews.js b/packages/rocketchat-lib/server/methods/getSlashCommandPreviews.js
index 4532f04b017e1f43f3e2178cf0b2db37ad16727a..b3ddb974d6830c95014a08a8e1530420ad4deae0 100644
--- a/packages/rocketchat-lib/server/methods/getSlashCommandPreviews.js
+++ b/packages/rocketchat-lib/server/methods/getSlashCommandPreviews.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	getSlashCommandPreviews(command) {
 		if (!Meteor.userId()) {
diff --git a/packages/rocketchat-lib/server/methods/getUserRoles.js b/packages/rocketchat-lib/server/methods/getUserRoles.js
index 1efce2aa74e91f297b06a99c7ddedd01657b5838..a0c5ad940f446f8a7d53ff29e29a7eba24d62a24 100644
--- a/packages/rocketchat-lib/server/methods/getUserRoles.js
+++ b/packages/rocketchat-lib/server/methods/getUserRoles.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import _ from 'underscore';
 
 Meteor.methods({
diff --git a/packages/rocketchat-lib/server/methods/insertOrUpdateUser.js b/packages/rocketchat-lib/server/methods/insertOrUpdateUser.js
index b6a95378fa9db9f8e653805e9561a54a86a2cc45..c024e6ee242d57bb76eb4bc9ca167061187c184a 100644
--- a/packages/rocketchat-lib/server/methods/insertOrUpdateUser.js
+++ b/packages/rocketchat-lib/server/methods/insertOrUpdateUser.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	insertOrUpdateUser(userData) {
 
diff --git a/packages/rocketchat-lib/server/methods/joinDefaultChannels.js b/packages/rocketchat-lib/server/methods/joinDefaultChannels.js
index c2f3f5c697278439f3f83bdc5cf74f6fd0f72bd5..4e309f1d217a91853c71e3550836d2be6f154316 100644
--- a/packages/rocketchat-lib/server/methods/joinDefaultChannels.js
+++ b/packages/rocketchat-lib/server/methods/joinDefaultChannels.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
+
 Meteor.methods({
 	joinDefaultChannels(silenced) {
 		check(silenced, Match.Optional(Boolean));
diff --git a/packages/rocketchat-lib/server/methods/joinRoom.js b/packages/rocketchat-lib/server/methods/joinRoom.js
index 98a46666868816308928af315764ddccd96eec20..fa75daabd99253f08283b87014858bff6de5e746 100644
--- a/packages/rocketchat-lib/server/methods/joinRoom.js
+++ b/packages/rocketchat-lib/server/methods/joinRoom.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	joinRoom(rid, code) {
 		check(rid, String);
diff --git a/packages/rocketchat-lib/server/methods/leaveRoom.js b/packages/rocketchat-lib/server/methods/leaveRoom.js
index b4b5471a87e01538798264ee112520264690896b..b7fe5324ada934ebdaaf530c85c4c5b36cb893bf 100644
--- a/packages/rocketchat-lib/server/methods/leaveRoom.js
+++ b/packages/rocketchat-lib/server/methods/leaveRoom.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	leaveRoom(rid) {
 
diff --git a/packages/rocketchat-lib/server/methods/refreshOAuthService.js b/packages/rocketchat-lib/server/methods/refreshOAuthService.js
index 01fbfc675af69d0c3e5b0a803c5d0ae3e1b134f9..15c923a2e867a1cdea8a6f24f94876eb6093b5df 100644
--- a/packages/rocketchat-lib/server/methods/refreshOAuthService.js
+++ b/packages/rocketchat-lib/server/methods/refreshOAuthService.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	refreshOAuthService() {
 		if (!Meteor.userId()) {
diff --git a/packages/rocketchat-lib/server/methods/removeOAuthService.js b/packages/rocketchat-lib/server/methods/removeOAuthService.js
index 6faa27d1a538a4b696c6bd05bc9c28fe2bb90f70..86ae0a11abe18cc8f4375e0f6f729014028dd0b5 100644
--- a/packages/rocketchat-lib/server/methods/removeOAuthService.js
+++ b/packages/rocketchat-lib/server/methods/removeOAuthService.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
 import s from 'underscore.string';
 
 Meteor.methods({
diff --git a/packages/rocketchat-lib/server/methods/restartServer.js b/packages/rocketchat-lib/server/methods/restartServer.js
index 544203fcc401e1a9c1d64c2112d733064db2fe1e..dba153b4edb3a6fa8c25d874e98b05ecfb340d05 100644
--- a/packages/rocketchat-lib/server/methods/restartServer.js
+++ b/packages/rocketchat-lib/server/methods/restartServer.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	restart_server() {
 		if (!Meteor.userId()) {
diff --git a/packages/rocketchat-lib/server/methods/robotMethods.js b/packages/rocketchat-lib/server/methods/robotMethods.js
index 7fe8807972aeaa8839f604b20135e8c24ec3c625..a47fe562bd51a81e1e690de0607020e79d0f32c2 100644
--- a/packages/rocketchat-lib/server/methods/robotMethods.js
+++ b/packages/rocketchat-lib/server/methods/robotMethods.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
 import _ from 'underscore';
 
 Meteor.methods({
diff --git a/packages/rocketchat-lib/server/methods/saveSetting.js b/packages/rocketchat-lib/server/methods/saveSetting.js
index eb804d8e93a909cee299adf744dd6738ffe00a40..ae0817c389e4dd318b1e83d757cff327b95f3af0 100644
--- a/packages/rocketchat-lib/server/methods/saveSetting.js
+++ b/packages/rocketchat-lib/server/methods/saveSetting.js
@@ -1,4 +1,6 @@
 /* eslint new-cap: 0 */
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
 
 Meteor.methods({
 	saveSetting(_id, value, editor) {
diff --git a/packages/rocketchat-lib/server/methods/sendInvitationEmail.js b/packages/rocketchat-lib/server/methods/sendInvitationEmail.js
index aeeb2a0c7fd5b74b49e74e388070e11447c53f57..1605855a812b47014f2e9598a2b50954728ebf8e 100644
--- a/packages/rocketchat-lib/server/methods/sendInvitationEmail.js
+++ b/packages/rocketchat-lib/server/methods/sendInvitationEmail.js
@@ -1,4 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
 import * as Mailer from 'meteor/rocketchat:mailer';
+
 let html = '';
 Meteor.startup(() => {
 	Mailer.getTemplate('Invitation_Email', (value) => {
diff --git a/packages/rocketchat-lib/server/methods/sendMessage.js b/packages/rocketchat-lib/server/methods/sendMessage.js
index 881daebd0206edd1fb5dba5e3ec0f54cc5cadaae..20d7dd19ffddd47bec12bb7d8fdde5b91c6f65e2 100644
--- a/packages/rocketchat-lib/server/methods/sendMessage.js
+++ b/packages/rocketchat-lib/server/methods/sendMessage.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+import { Random } from 'meteor/random';
+import { TAPi18n } from 'meteor/tap:i18n';
 import moment from 'moment';
 
 Meteor.methods({
diff --git a/packages/rocketchat-lib/server/methods/sendSMTPTestEmail.js b/packages/rocketchat-lib/server/methods/sendSMTPTestEmail.js
index 22a8abeb2cd643b8e72225432889def1d3152d1c..e29c73662321a855f5ff4269001568a2f0285ae6 100644
--- a/packages/rocketchat-lib/server/methods/sendSMTPTestEmail.js
+++ b/packages/rocketchat-lib/server/methods/sendSMTPTestEmail.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { DDPRateLimiter } from 'meteor/ddp-rate-limiter';
 import * as Mailer from 'meteor/rocketchat:mailer';
 
 Meteor.methods({
diff --git a/packages/rocketchat-lib/server/methods/setAdminStatus.js b/packages/rocketchat-lib/server/methods/setAdminStatus.js
index cd73e86925e0734ade5db8970ebf79258f206e47..00a79d2f199ebf28725562b2dc553d51d670525e 100644
--- a/packages/rocketchat-lib/server/methods/setAdminStatus.js
+++ b/packages/rocketchat-lib/server/methods/setAdminStatus.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
+
 Meteor.methods({
 	setAdminStatus(userId, admin) {
 
diff --git a/packages/rocketchat-lib/server/methods/setEmail.js b/packages/rocketchat-lib/server/methods/setEmail.js
index 36c1553e05afc2e456e03c3d3d4d48c98a6152b4..7d13ad2bc81f2aed486e012ef31b23d0cd8c9375 100644
--- a/packages/rocketchat-lib/server/methods/setEmail.js
+++ b/packages/rocketchat-lib/server/methods/setEmail.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	setEmail(email) {
 
diff --git a/packages/rocketchat-lib/server/methods/setRealName.js b/packages/rocketchat-lib/server/methods/setRealName.js
index 297b2e4b535a84d9cc9af30b93eae42b02580402..bd1ddfd430ae5e4701dd5e1bb65f8bb90620d844 100644
--- a/packages/rocketchat-lib/server/methods/setRealName.js
+++ b/packages/rocketchat-lib/server/methods/setRealName.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	setRealName(name) {
 
diff --git a/packages/rocketchat-lib/server/methods/setUsername.js b/packages/rocketchat-lib/server/methods/setUsername.js
index de6449368010dfd20c8485f15ababb748065c1d4..4c6fb84eddc94f64209f010d018587887630186e 100644
--- a/packages/rocketchat-lib/server/methods/setUsername.js
+++ b/packages/rocketchat-lib/server/methods/setUsername.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
 import _ from 'underscore';
 
 Meteor.methods({
diff --git a/packages/rocketchat-lib/server/methods/unarchiveRoom.js b/packages/rocketchat-lib/server/methods/unarchiveRoom.js
index 519422548d40d0e4b95ec64fdb4dc758909b8870..975c3162c9385304eb12618262ba3a7d7a29975b 100644
--- a/packages/rocketchat-lib/server/methods/unarchiveRoom.js
+++ b/packages/rocketchat-lib/server/methods/unarchiveRoom.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	unarchiveRoom(rid) {
 
diff --git a/packages/rocketchat-lib/server/methods/unblockUser.js b/packages/rocketchat-lib/server/methods/unblockUser.js
index f834d219673b54f63bcdc26ce6254f68daca5b5d..21c8895e9283d01f54c2871cddc1edc3806c5ba8 100644
--- a/packages/rocketchat-lib/server/methods/unblockUser.js
+++ b/packages/rocketchat-lib/server/methods/unblockUser.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	unblockUser({ rid, blocked }) {
 
diff --git a/packages/rocketchat-lib/server/methods/updateMessage.js b/packages/rocketchat-lib/server/methods/updateMessage.js
index c0e389f0c6af6969123cf906cb23d07117ec8d47..f2769e629ab3d2da6b188c00764f8e643eab23dc 100644
--- a/packages/rocketchat-lib/server/methods/updateMessage.js
+++ b/packages/rocketchat-lib/server/methods/updateMessage.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
 import moment from 'moment';
 
 Meteor.methods({
diff --git a/packages/rocketchat-lib/server/models/Messages.js b/packages/rocketchat-lib/server/models/Messages.js
index fd25dbd8d492111862990d6c604bda24a45986b9..bc11062fa660e24df5b2c2827d7a6fdbedfe63d4 100644
--- a/packages/rocketchat-lib/server/models/Messages.js
+++ b/packages/rocketchat-lib/server/models/Messages.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { Match } from 'meteor/check';
 import _ from 'underscore';
 
 RocketChat.models.Messages = new class extends RocketChat.models._Base {
diff --git a/packages/rocketchat-lib/server/models/Rooms.js b/packages/rocketchat-lib/server/models/Rooms.js
index 64f0185fa40800bdf6ffa7f6dd1f096ebc3c8cfb..2105c43a1112475b3b568f7b7d7085d658a1b295 100644
--- a/packages/rocketchat-lib/server/models/Rooms.js
+++ b/packages/rocketchat-lib/server/models/Rooms.js
@@ -251,6 +251,15 @@ class ModelRooms extends RocketChat.models._Base {
 		return this.find(query, options);
 	}
 
+	findDirectRoomContainingAllUsernames(usernames, options) {
+		const query = {
+			t: 'd',
+			usernames: { $size: usernames.length, $all: usernames },
+		};
+
+		return this.findOne(query, options);
+	}
+
 	findByTypeAndName(type, name, options) {
 		const query = {
 			name,
diff --git a/packages/rocketchat-lib/server/models/Subscriptions.js b/packages/rocketchat-lib/server/models/Subscriptions.js
index 0c413020da87b37ac19c5aebf31b63abfdd189a5..6b4728a7ead53fd1aa57851467084d09811e5ac2 100644
--- a/packages/rocketchat-lib/server/models/Subscriptions.js
+++ b/packages/rocketchat-lib/server/models/Subscriptions.js
@@ -1,3 +1,5 @@
+import { Match } from 'meteor/check';
+
 class ModelSubscriptions extends RocketChat.models._Base {
 	constructor(...args) {
 		super(...args);
diff --git a/packages/rocketchat-lib/server/models/Users.js b/packages/rocketchat-lib/server/models/Users.js
index 70381872451c3661b7906c992132b645e4c039ff..bc9ac2f61927d890564e29cb86445e826d422aa0 100644
--- a/packages/rocketchat-lib/server/models/Users.js
+++ b/packages/rocketchat-lib/server/models/Users.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { Accounts } from 'meteor/accounts-base';
 import _ from 'underscore';
 import s from 'underscore.string';
 
@@ -602,6 +604,16 @@ class ModelUsers extends RocketChat.models._Base {
 		return this.update({ _id }, update);
 	}
 
+	removeResumeService(_id) {
+		const update = {
+			$unset: {
+				'services.resume': '',
+			},
+		};
+
+		return this.update({ _id }, update);
+	}
+
 	// INSERT
 	create(data) {
 		const user = {
diff --git a/packages/rocketchat-lib/server/models/_Base.js b/packages/rocketchat-lib/server/models/_Base.js
index 18e7c471aa1d80c797916872f5801792d719a4a2..5183d1f0e4ed578edb00b93952b5d9624eacd98d 100644
--- a/packages/rocketchat-lib/server/models/_Base.js
+++ b/packages/rocketchat-lib/server/models/_Base.js
@@ -1,3 +1,4 @@
+import { check } from 'meteor/check';
 import ModelsBaseDb from './_BaseDb';
 import objectPath from 'object-path';
 import _ from 'underscore';
diff --git a/packages/rocketchat-lib/server/models/_BaseDb.js b/packages/rocketchat-lib/server/models/_BaseDb.js
index 9bf6e6e1102d1072e8805e2982601e4da42b5af1..ede844222268dce62dab61a9d3754f731a907811 100644
--- a/packages/rocketchat-lib/server/models/_BaseDb.js
+++ b/packages/rocketchat-lib/server/models/_BaseDb.js
@@ -1,4 +1,6 @@
 /* globals MongoInternals */
+import { Match } from 'meteor/check';
+import { Mongo } from 'meteor/mongo';
 import _ from 'underscore';
 
 const baseName = 'rocketchat_';
diff --git a/packages/rocketchat-lib/server/oauth/facebook.js b/packages/rocketchat-lib/server/oauth/facebook.js
index 1776dce9d83241092e1c5bf354a16918c1e946d3..0bb04873083dccc4931e5d2955090c42d2d82c53 100644
--- a/packages/rocketchat-lib/server/oauth/facebook.js
+++ b/packages/rocketchat-lib/server/oauth/facebook.js
@@ -1,5 +1,7 @@
+import { Match, check } from 'meteor/check';
 import _ from 'underscore';
 import { OAuth } from 'meteor/oauth';
+import { HTTP } from 'meteor/http';
 const crypto = Npm.require('crypto');
 const whitelisted = [
 	'id',
diff --git a/packages/rocketchat-lib/server/oauth/google.js b/packages/rocketchat-lib/server/oauth/google.js
index eaebc9b901a132ae86d6029e992bc2be72c327ae..7da5f80d4f59eb9a2ea7793f61467c7686cc783c 100644
--- a/packages/rocketchat-lib/server/oauth/google.js
+++ b/packages/rocketchat-lib/server/oauth/google.js
@@ -1,5 +1,7 @@
 /* globals Google */
+import { Match, check } from 'meteor/check';
 import _ from 'underscore';
+import { HTTP } from 'meteor/http';
 
 function getIdentity(accessToken) {
 	try {
diff --git a/packages/rocketchat-lib/server/oauth/oauth.js b/packages/rocketchat-lib/server/oauth/oauth.js
index 60de62f04be59e4f8cee70a5ed6993750c0b4176..201c51474e244d7bdde0d341101f6d4221504e78 100644
--- a/packages/rocketchat-lib/server/oauth/oauth.js
+++ b/packages/rocketchat-lib/server/oauth/oauth.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
+import { Accounts } from 'meteor/accounts-base';
 import _ from 'underscore';
 
 const AccessTokenServices = {};
diff --git a/packages/rocketchat-lib/server/oauth/twitter.js b/packages/rocketchat-lib/server/oauth/twitter.js
index 8585aef8ea7d21b44417a684f2b5b7e6ba7b2245..38d1bd9cb30a64adf10f080acf3ac733398ff230 100644
--- a/packages/rocketchat-lib/server/oauth/twitter.js
+++ b/packages/rocketchat-lib/server/oauth/twitter.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
 import Twit from 'twit';
 import _ from 'underscore';
 
diff --git a/packages/rocketchat-lib/server/publications/settings.js b/packages/rocketchat-lib/server/publications/settings.js
index 0b9388534e3073d4ce3f69ad5587fea4cd253dea..9f05a9465621f77245e5db5c5a340e4778f2da0f 100644
--- a/packages/rocketchat-lib/server/publications/settings.js
+++ b/packages/rocketchat-lib/server/publications/settings.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	'public-settings/get'(updatedAt) {
 		this.unblock();
diff --git a/packages/rocketchat-lib/server/startup/oAuthServicesUpdate.js b/packages/rocketchat-lib/server/startup/oAuthServicesUpdate.js
index 246cfb6725935f0311ef164bb7e06d65b77bc64b..766c4a231494666a4fbb7a7c236c3dc330e57641 100644
--- a/packages/rocketchat-lib/server/startup/oAuthServicesUpdate.js
+++ b/packages/rocketchat-lib/server/startup/oAuthServicesUpdate.js
@@ -1,4 +1,5 @@
 /* globals CustomOAuth */
+import { Meteor } from 'meteor/meteor';
 import _ from 'underscore';
 
 const logger = new Logger('rocketchat:lib', {
diff --git a/packages/rocketchat-lib/server/startup/robots.js b/packages/rocketchat-lib/server/startup/robots.js
new file mode 100644
index 0000000000000000000000000000000000000000..524020ff2dce22450c433019cea29f64ac8d7f0f
--- /dev/null
+++ b/packages/rocketchat-lib/server/startup/robots.js
@@ -0,0 +1,9 @@
+import { Meteor } from 'meteor/meteor';
+import { WebApp } from 'meteor/webapp';
+
+Meteor.startup(function() {
+	return WebApp.connectHandlers.use('/robots.txt', Meteor.bindEnvironment(function(req, res/* , next*/) {
+		res.writeHead(200);
+		res.end(RocketChat.settings.get('Robot_Instructions_File_Content'));
+	}));
+});
diff --git a/packages/rocketchat-lib/server/startup/settings.js b/packages/rocketchat-lib/server/startup/settings.js
index 749431adfd17ec1b47e2bb1e80a82a1f1a019af4..7cb5f032b9dc226566d61dc52d901139fc950254 100644
--- a/packages/rocketchat-lib/server/startup/settings.js
+++ b/packages/rocketchat-lib/server/startup/settings.js
@@ -1,3 +1,4 @@
+import { Random } from 'meteor/random';
 import './email';
 
 // Insert server unique id if it doesn't exist
@@ -811,6 +812,11 @@ RocketChat.settings.addGroup('General', function() {
 		public: true,
 		i18nDescription: 'Store_Last_Message_Sent_per_Room',
 	});
+	this.add('Robot_Instructions_File_Content', 'User-agent: *\nDisallow: /', {
+		type: 'string',
+		public: true,
+		multiline: true,
+	});
 	this.section('UTF8', function() {
 		this.add('UTF8_Names_Validation', '[0-9a-zA-Z-_.]+', {
 			type: 'string',
diff --git a/packages/rocketchat-lib/server/startup/settingsOnLoadCdnPrefix.js b/packages/rocketchat-lib/server/startup/settingsOnLoadCdnPrefix.js
index d76ab7f7d760f3d0bdd59eae2f148371419e3d87..8e3ada873bb705cc2b3944e4f6d8ac3c07b5dda1 100644
--- a/packages/rocketchat-lib/server/startup/settingsOnLoadCdnPrefix.js
+++ b/packages/rocketchat-lib/server/startup/settingsOnLoadCdnPrefix.js
@@ -1,4 +1,5 @@
 /* globals WebAppInternals*/
+import { Meteor } from 'meteor/meteor';
 import _ from 'underscore';
 
 function testWebAppInternals(fn) {
diff --git a/packages/rocketchat-lib/server/startup/settingsOnLoadDirectReply.js b/packages/rocketchat-lib/server/startup/settingsOnLoadDirectReply.js
index 54b746c7f395878e5d44628ca457533441ec5ece..b0a532295b21cb400fee584f5f414bdacaff35be 100644
--- a/packages/rocketchat-lib/server/startup/settingsOnLoadDirectReply.js
+++ b/packages/rocketchat-lib/server/startup/settingsOnLoadDirectReply.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import _ from 'underscore';
 import { IMAPIntercepter, POP3Helper } from '../lib/interceptDirectReplyEmails.js';
 
diff --git a/packages/rocketchat-lib/server/startup/settingsOnLoadSMTP.js b/packages/rocketchat-lib/server/startup/settingsOnLoadSMTP.js
index d70d684a876a42f3698bd991e2ffe4b2518be8af..bab4eac13ba23afdb7b048f9ee1e3912d0985b59 100644
--- a/packages/rocketchat-lib/server/startup/settingsOnLoadSMTP.js
+++ b/packages/rocketchat-lib/server/startup/settingsOnLoadSMTP.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import _ from 'underscore';
 
 const buildMailURL = _.debounce(function() {
diff --git a/packages/rocketchat-lib/tests/server.mocks.js b/packages/rocketchat-lib/tests/server.mocks.js
new file mode 100644
index 0000000000000000000000000000000000000000..47155e9084c8a71d57a763c1966ab53cdca0c86d
--- /dev/null
+++ b/packages/rocketchat-lib/tests/server.mocks.js
@@ -0,0 +1,9 @@
+import mock from 'mock-require';
+
+mock('meteor/meteor', {
+	Meteor: {
+		absoluteUrl() {
+			return 'http://localhost:3000/';
+		},
+	},
+});
diff --git a/packages/rocketchat-lib/tests/server.tests.js b/packages/rocketchat-lib/tests/server.tests.js
index 01695f98bf068fc2596178563d4669e84ec9eef6..5125826318fedb90db8d1a0c5c01fd150e25c3a1 100644
--- a/packages/rocketchat-lib/tests/server.tests.js
+++ b/packages/rocketchat-lib/tests/server.tests.js
@@ -1,6 +1,7 @@
 /* eslint-env mocha */
 import 'babel-polyfill';
 import assert from 'assert';
+import './server.mocks.js';
 
 import PasswordPolicyClass from '../server/lib/PasswordPolicyClass';
 import { messageProperties } from '../lib/MessageProperties';
diff --git a/packages/rocketchat-livechat/.app/.meteor/packages b/packages/rocketchat-livechat/.app/.meteor/packages
index 6d785f8e1427ac304e0632483efee2194131b30b..15214d094fdb9f9eff0228d3577fe6920b169bac 100644
--- a/packages/rocketchat-livechat/.app/.meteor/packages
+++ b/packages/rocketchat-livechat/.app/.meteor/packages
@@ -4,20 +4,20 @@
 # 'meteor add' and 'meteor remove' will edit this file for you,
 # but you can also edit it by hand.
 
-meteor@1.8.2
-webapp@1.5.0
-logging@1.1.19
-tracker@1.1.3
+meteor@1.9.2
+webapp@1.7.0
+logging@1.1.20
+tracker@1.2.0
 deps@1.0.12
-session@1.1.7
+session@1.1.8
 ddp@1.4.0
 livedata@1.0.18
-mongo@1.4.2
+mongo@1.6.0
 blaze
 ui
 spacebars
 templating
-check@1.3.0
+check@1.3.1
 jquery@1.11.10
 random@1.1.0
 ejson@1.1.0
@@ -25,17 +25,17 @@ rocketchat:streamer
 kadira:flow-router
 kadira:blaze-layout
 konecty:nrr
-less@2.7.11
+less@2.8.0
 momentjs:moment
 mizzao:timesync
 reactive-var@1.0.11
-accounts-password@1.5.0
+accounts-password@1.5.1
 tap:i18n
-ecmascript@0.10.6
-es5-shim@4.7.0
-standard-minifier-css@1.4.0
-standard-minifier-js@2.3.1
-shell-server@0.3.1
-dynamic-import@0.3.0
+ecmascript@0.12.0
+es5-shim@4.8.0
+standard-minifier-css@1.5.0
+standard-minifier-js@2.4.0
+shell-server@0.4.0
+dynamic-import@0.5.0
 
 konecty:user-presence
diff --git a/packages/rocketchat-livechat/.app/.meteor/release b/packages/rocketchat-livechat/.app/.meteor/release
index 8fed0e8ee8746bc29dc6d46c018d611841e21cbb..e76dedee10d021202d95d0e839caed66a8b94a9e 100644
--- a/packages/rocketchat-livechat/.app/.meteor/release
+++ b/packages/rocketchat-livechat/.app/.meteor/release
@@ -1 +1 @@
-METEOR@1.6.1.3
+METEOR@1.8
diff --git a/packages/rocketchat-livechat/.app/.meteor/versions b/packages/rocketchat-livechat/.app/.meteor/versions
index 795cfac2aef72128fab4e51b25f82447d9ebe573..587934c29ffdb57a6dbf615ce7dd8f7ba63443f7 100644
--- a/packages/rocketchat-livechat/.app/.meteor/versions
+++ b/packages/rocketchat-livechat/.app/.meteor/versions
@@ -1,97 +1,99 @@
-accounts-base@1.4.2
+accounts-base@1.4.3
 accounts-password@1.5.1
 aldeed:simple-schema@1.5.4
 allow-deny@1.1.0
-babel-compiler@7.0.9
-babel-runtime@1.2.2
+babel-compiler@7.2.1
+babel-runtime@1.3.0
 base64@1.0.11
-binary-heap@1.0.10
-blaze@2.3.2
+binary-heap@1.0.11
+blaze@2.3.3
 blaze-tools@1.0.10
-boilerplate-generator@1.4.0
-caching-compiler@1.1.12
-caching-html-compiler@1.1.2
+boilerplate-generator@1.6.0
+caching-compiler@1.2.0
+caching-html-compiler@1.1.3
 callback-hook@1.1.0
 cfs:http-methods@0.0.32
 check@1.3.1
 coffeescript@1.0.17
 ddp@1.4.0
-ddp-client@2.3.2
+ddp-client@2.3.3
 ddp-common@1.4.0
 ddp-rate-limiter@1.0.7
-ddp-server@2.1.2
+ddp-server@2.2.0
 deps@1.0.12
 diff-sequence@1.1.0
-dynamic-import@0.3.0
-ecmascript@0.10.9
-ecmascript-runtime@0.5.0
-ecmascript-runtime-client@0.6.2
-ecmascript-runtime-server@0.5.0
+dynamic-import@0.5.0
+ecmascript@0.12.1
+ecmascript-runtime@0.7.0
+ecmascript-runtime-client@0.8.0
+ecmascript-runtime-server@0.7.1
 ejson@1.1.0
 email@1.2.3
-es5-shim@4.7.3
+es5-shim@4.8.0
+fetch@0.1.0
 geojson-utils@1.0.10
 html-tools@1.0.11
 htmljs@1.0.11
 http@1.4.1
 id-map@1.1.0
+inter-process-messaging@0.1.0
 jquery@1.11.11
 kadira:blaze-layout@2.3.0
 kadira:flow-router@2.12.1
 konecty:nrr@2.0.2
-konecty:user-presence@2.1.0
-less@2.7.12
+konecty:user-presence@2.2.0
+less@2.8.0
 livedata@1.0.18
 localstorage@1.2.0
 logging@1.1.20
 mdg:validation-error@0.5.1
-meteor@1.8.6
+meteor@1.9.2
 meteorspark:util@0.2.0
-minifier-css@1.3.1
-minifier-js@2.3.5
-minimongo@1.4.4
+minifier-css@1.4.0
+minifier-js@2.4.0
+minimongo@1.4.5
 mizzao:timesync@0.5.0
-modules@0.11.8
-modules-runtime@0.9.2
+modern-browsers@0.1.2
+modules@0.13.0
+modules-runtime@0.10.3
 momentjs:moment@2.22.2
-mongo@1.4.7
+mongo@1.6.0
+mongo-decimal@0.1.0
 mongo-dev-server@1.1.0
 mongo-id@1.0.7
 nooitaf:colors@1.1.2_1
 npm-bcrypt@0.9.3
-npm-mongo@2.2.34
+npm-mongo@3.1.1
 observe-sequence@1.0.16
 ordered-dict@1.1.0
-promise@0.10.2
+promise@0.11.1
 raix:eventemitter@0.1.3
 random@1.1.0
 rate-limit@1.0.9
-reactive-dict@1.2.0
+reactive-dict@1.2.1
 reactive-var@1.0.11
 reload@1.2.0
 retry@1.1.0
-rocketchat:streamer@0.6.2
-routepolicy@1.0.13
-server-render@0.3.1
+rocketchat:streamer@1.0.1
+routepolicy@1.1.0
 service-configuration@1.0.11
-session@1.1.7
+session@1.1.8
 sha@1.0.9
-shell-server@0.3.1
-shim-common@0.1.0
-socket-stream-client@0.1.0
+shell-server@0.4.0
+socket-stream-client@0.2.2
 spacebars@1.0.15
 spacebars-compiler@1.1.3
-srp@1.0.10
-standard-minifier-css@1.4.1
-standard-minifier-js@2.3.4
+srp@1.0.12
+standard-minifier-css@1.5.1
+standard-minifier-js@2.4.0
 tap:i18n@1.8.2
 templating@1.3.2
 templating-compiler@1.3.3
 templating-runtime@1.3.2
 templating-tools@1.1.2
-tracker@1.1.3
+tracker@1.2.0
 ui@1.0.13
 underscore@1.0.10
 url@1.2.0
-webapp@1.5.0
+webapp@1.7.0
 webapp-hashing@1.0.9
diff --git a/packages/rocketchat-livechat/.app/client/lib/CustomFields.js b/packages/rocketchat-livechat/.app/client/lib/CustomFields.js
index 4f37bf08c86c40b1adca992b608aa6f3142fe77c..f9968cfe2223e36a83f7cd0c82e9e242679a80b7 100644
--- a/packages/rocketchat-livechat/.app/client/lib/CustomFields.js
+++ b/packages/rocketchat-livechat/.app/client/lib/CustomFields.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
 import visitor from '../../imports/client/visitor';
 
 this.CustomFields = (function() {
diff --git a/packages/rocketchat-livechat/.app/client/lib/LivechatFileUpload.js b/packages/rocketchat-livechat/.app/client/lib/LivechatFileUpload.js
index 9d0b4e94221ac75ddfe263f42dc36fc0c390e5c4..05e749a0df3f4995975f54f28dcd311354807e20 100644
--- a/packages/rocketchat-livechat/.app/client/lib/LivechatFileUpload.js
+++ b/packages/rocketchat-livechat/.app/client/lib/LivechatFileUpload.js
@@ -1,5 +1,6 @@
 /* globals fileUpload, Livechat, Handlebars, showError, sendFileUpload */
 /* exported LivechatFileUpload, fileUpload, sendFileUpload */
+import { Meteor } from 'meteor/meteor';
 import visitor from '../../imports/client/visitor';
 import swal from 'sweetalert2';
 
diff --git a/packages/rocketchat-livechat/.app/client/lib/LivechatVideoCall.js b/packages/rocketchat-livechat/.app/client/lib/LivechatVideoCall.js
index e22e7046950f92a5283b9dd4f89af2871d4307e8..0cb30fd43a9fed10dcb2bf0363069e82de7c4d51 100644
--- a/packages/rocketchat-livechat/.app/client/lib/LivechatVideoCall.js
+++ b/packages/rocketchat-livechat/.app/client/lib/LivechatVideoCall.js
@@ -1,4 +1,6 @@
 /* globals LivechatVideoCall, cordova, JitsiMeetExternalAPI */
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
 import visitor from '../../imports/client/visitor';
 
 LivechatVideoCall = new (class LivechatVideoCall {
diff --git a/packages/rocketchat-livechat/.app/client/lib/_livechat.js b/packages/rocketchat-livechat/.app/client/lib/_livechat.js
index 84c464776b9d7484472832c45f6cda7abd088806..f9581b3cfaa65d892e814933da60dba91d6c2e33 100644
--- a/packages/rocketchat-livechat/.app/client/lib/_livechat.js
+++ b/packages/rocketchat-livechat/.app/client/lib/_livechat.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Tracker } from 'meteor/tracker';
+import { TAPi18n } from 'meteor/tap:i18n';
 import visitor from '../../imports/client/visitor';
 
 this.Livechat = new (class Livechat {
diff --git a/packages/rocketchat-livechat/.app/client/lib/chatMessages.js b/packages/rocketchat-livechat/.app/client/lib/chatMessages.js
index 65589f9ecd21be8b3a863ba66635254fea3ffd2b..c4edf1ae596bcb51627eae572e2162ae9f751d2e 100644
--- a/packages/rocketchat-livechat/.app/client/lib/chatMessages.js
+++ b/packages/rocketchat-livechat/.app/client/lib/chatMessages.js
@@ -1,4 +1,6 @@
 /* globals MsgTyping, showError, Livechat */
+import { Meteor } from 'meteor/meteor';
+import { Random } from 'meteor/random';
 import _ from 'underscore';
 import s from 'underscore.string';
 import toastr from 'toastr';
@@ -258,16 +260,16 @@ this.ChatMessages = class ChatMessages {
 				this.clearEditing();
 				return;
 			}
-		// else if k is 38 or k is 40 # Arrow Up or down
-		// 	if k is 38
-		// 		return if input.value.slice(0, input.selectionStart).match(/[\n]/) isnt null
-		// 		this.toPrevMessage()
-		// 	else
-		// 		return if input.value.slice(input.selectionEnd, input.value.length).match(/[\n]/) isnt null
-		// 		this.toNextMessage()
-
-		// 	event.preventDefault()
-		// 	event.stopPropagation()
+			// else if k is 38 or k is 40 # Arrow Up or down
+			// 	if k is 38
+			// 		return if input.value.slice(0, input.selectionStart).match(/[\n]/) isnt null
+			// 		this.toPrevMessage()
+			// 	else
+			// 		return if input.value.slice(input.selectionEnd, input.value.length).match(/[\n]/) isnt null
+			// 		this.toNextMessage()
+
+			// 	event.preventDefault()
+			// 	event.stopPropagation()
 
 		// ctrl (command) + shift + k -> clear room messages
 		} else if (k === 75 && ((navigator.platform.indexOf('Mac') !== -1 && event.metaKey && event.shiftKey) || (navigator.platform.indexOf('Mac') === -1 && event.ctrlKey && event.shiftKey))) {
diff --git a/packages/rocketchat-livechat/.app/client/lib/collections.js b/packages/rocketchat-livechat/.app/client/lib/collections.js
index 1feb9caace84cc3ba510f1398a2af35451bc1119..2b102423f7bc27b8a2a49c364dadfec2c376b923 100644
--- a/packages/rocketchat-livechat/.app/client/lib/collections.js
+++ b/packages/rocketchat-livechat/.app/client/lib/collections.js
@@ -1,2 +1,4 @@
+import { Mongo } from 'meteor/mongo';
+
 this.ChatMessage = new Mongo.Collection(null);
 this.Department = new Mongo.Collection(null);
diff --git a/packages/rocketchat-livechat/.app/client/lib/commands.js b/packages/rocketchat-livechat/.app/client/lib/commands.js
index 0d27c636b3ac463111927c4198c9c794bd8e1eca..76268455eef443c498d433f2f429363b1e999429 100644
--- a/packages/rocketchat-livechat/.app/client/lib/commands.js
+++ b/packages/rocketchat-livechat/.app/client/lib/commands.js
@@ -1,4 +1,8 @@
 /* globals LivechatVideoCall, Livechat */
+import { Meteor } from 'meteor/meteor';
+import { Blaze } from 'meteor/blaze';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
 import swal from 'sweetalert2';
 import visitor from '../../imports/client/visitor';
 
diff --git a/packages/rocketchat-livechat/.app/client/lib/fromApp/Notifications.js b/packages/rocketchat-livechat/.app/client/lib/fromApp/Notifications.js
index 362962b4bb8aed2f987d30ceed8b8c010c50794b..4dcdab907990dac28eb7e7d5ab4b8d315f2bc9bb 100644
--- a/packages/rocketchat-livechat/.app/client/lib/fromApp/Notifications.js
+++ b/packages/rocketchat-livechat/.app/client/lib/fromApp/Notifications.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
 import visitor from '../../../imports/client/visitor';
 
 this.Notifications = new class {
diff --git a/packages/rocketchat-livechat/.app/client/lib/fromApp/RoomHistoryManager.js b/packages/rocketchat-livechat/.app/client/lib/fromApp/RoomHistoryManager.js
index 085e4b7d8eb277a122bb9ef73258ec0212623940..aec7846d3ddca3b067f02d363bacb4482ad07f35 100644
--- a/packages/rocketchat-livechat/.app/client/lib/fromApp/RoomHistoryManager.js
+++ b/packages/rocketchat-livechat/.app/client/lib/fromApp/RoomHistoryManager.js
@@ -1,5 +1,8 @@
 /* globals readMessage UserRoles RoomRoles*/
 
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Blaze } from 'meteor/blaze';
 import visitor from '../../../imports/client/visitor';
 import _ from 'underscore';
 
diff --git a/packages/rocketchat-livechat/.app/client/lib/fromApp/avatar.js b/packages/rocketchat-livechat/.app/client/lib/fromApp/avatar.js
index 553e602278b4bb01fdd3c54c09fc72f4ed7f2dd0..d998561288dafec1c12f89b6b591b2309408994f 100644
--- a/packages/rocketchat-livechat/.app/client/lib/fromApp/avatar.js
+++ b/packages/rocketchat-livechat/.app/client/lib/fromApp/avatar.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Session } from 'meteor/session';
+
 this.getAvatarUrlFromUsername = (username) => {
 	const key = `avatar_random_${ username }`;
 	const random = Session.keys[key] || 0;
diff --git a/packages/rocketchat-livechat/.app/client/lib/hooks.js b/packages/rocketchat-livechat/.app/client/lib/hooks.js
index ca3df574084d238171b63e2b7a3911f799042ff1..4f66f2aec9fef60ac1be274f4e286a811679ba4e 100644
--- a/packages/rocketchat-livechat/.app/client/lib/hooks.js
+++ b/packages/rocketchat-livechat/.app/client/lib/hooks.js
@@ -1,4 +1,7 @@
 /* globals CustomFields, Livechat */
+import { Meteor } from 'meteor/meteor';
+import { Random } from 'meteor/random';
+import { Tracker } from 'meteor/tracker';
 import visitor from '../../imports/client/visitor';
 
 const api = {
diff --git a/packages/rocketchat-livechat/.app/client/lib/msgTyping.js b/packages/rocketchat-livechat/.app/client/lib/msgTyping.js
index ed549cc9bde9acb2f69531b607d8b94d695a6515..1231daad287fc02fc00faadebb3edbbb1799d0c0 100644
--- a/packages/rocketchat-livechat/.app/client/lib/msgTyping.js
+++ b/packages/rocketchat-livechat/.app/client/lib/msgTyping.js
@@ -1,4 +1,7 @@
 /* globals Notifications, Livechat */
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Tracker } from 'meteor/tracker';
 import visitor from '../../imports/client/visitor';
 import _ from 'underscore';
 
diff --git a/packages/rocketchat-livechat/.app/client/lib/tapi18n.js b/packages/rocketchat-livechat/.app/client/lib/tapi18n.js
index 18216eb239568ebcbdffe6f50b8a46722d830f5e..57ce066d5b77794f5eb65d0b049579f919cb6a2c 100644
--- a/packages/rocketchat-livechat/.app/client/lib/tapi18n.js
+++ b/packages/rocketchat-livechat/.app/client/lib/tapi18n.js
@@ -1,3 +1,4 @@
+import { TAPi18n } from 'meteor/tap:i18n';
 import _ from 'underscore';
 
 this.t = function(key, ...replaces) {
diff --git a/packages/rocketchat-livechat/.app/client/lib/triggers.js b/packages/rocketchat-livechat/.app/client/lib/triggers.js
index 0ef0161712791694ad7f0658ba14a2ba0df5bf3d..bdd46364e4ac0720984cd3849df36f00062b1b9f 100644
--- a/packages/rocketchat-livechat/.app/client/lib/triggers.js
+++ b/packages/rocketchat-livechat/.app/client/lib/triggers.js
@@ -1,4 +1,7 @@
 /* globals Livechat */
+import { Meteor } from 'meteor/meteor';
+import { Random } from 'meteor/random';
+import { Session } from 'meteor/session';
 import visitor from '../../imports/client/visitor';
 
 const firedTriggers = JSON.parse(localStorage.getItem('rocketChatFiredTriggers')) || [];
diff --git a/packages/rocketchat-livechat/.app/client/methods/sendMessageExternal.js b/packages/rocketchat-livechat/.app/client/methods/sendMessageExternal.js
index 8e67ccd678f5e6a1561db9bfdeafd01309db24e7..29723d521ee2b4efbb0d0b7c7973d6f8b22c016c 100644
--- a/packages/rocketchat-livechat/.app/client/methods/sendMessageExternal.js
+++ b/packages/rocketchat-livechat/.app/client/methods/sendMessageExternal.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { TimeSync } from 'meteor/mizzao:timesync';
 import visitor from '../../imports/client/visitor';
 import s from 'underscore.string';
 
diff --git a/packages/rocketchat-livechat/.app/client/routes/router.js b/packages/rocketchat-livechat/.app/client/routes/router.js
index a18955493f470c98fc912f653b3fead2fe1bff89..ae4fca721122b4ac7cdc065ac0897168899c8ad5 100644
--- a/packages/rocketchat-livechat/.app/client/routes/router.js
+++ b/packages/rocketchat-livechat/.app/client/routes/router.js
@@ -1,4 +1,6 @@
 import visitor from '../../imports/client/visitor';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { BlazeLayout } from 'meteor/kadira:blaze-layout';
 
 BlazeLayout.setRoot('body');
 
diff --git a/packages/rocketchat-livechat/.app/client/startup/customFields.js b/packages/rocketchat-livechat/.app/client/startup/customFields.js
index d0e7899ecc9ca4bfd608127154ddc1c85c6e1876..f8fd2a4a62f3ab6e9ad054f3281eda4fda33d5cc 100644
--- a/packages/rocketchat-livechat/.app/client/startup/customFields.js
+++ b/packages/rocketchat-livechat/.app/client/startup/customFields.js
@@ -1,4 +1,5 @@
 /* globals CustomFields */
+import { Meteor } from 'meteor/meteor';
 
 Meteor.startup(function() {
 	CustomFields.init();
diff --git a/packages/rocketchat-livechat/.app/client/startup/visitor.js b/packages/rocketchat-livechat/.app/client/startup/visitor.js
index 0917815e7a6609fc14cba342d5888075d35e5d09..f30e4cc806cd0b960e8d63745eeff4a2125427f4 100644
--- a/packages/rocketchat-livechat/.app/client/startup/visitor.js
+++ b/packages/rocketchat-livechat/.app/client/startup/visitor.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Random } from 'meteor/random';
+import { Tracker } from 'meteor/tracker';
 import visitor from '../../imports/client/visitor';
 
 Meteor.startup(() => {
diff --git a/packages/rocketchat-livechat/.app/client/stylesheets/main.less b/packages/rocketchat-livechat/.app/client/stylesheets/main.less
index 27aedc6e7506b68e2897b9beb72b4a4cd1a914c7..ed834c46e5d5dd0353b8513f023531ad2453d6c4 100644
--- a/packages/rocketchat-livechat/.app/client/stylesheets/main.less
+++ b/packages/rocketchat-livechat/.app/client/stylesheets/main.less
@@ -142,10 +142,6 @@ input:focus {
 	&.popout {
 		border-top-right-radius: 0;
 		border-top-left-radius: 0;
-
-		.title {
-			cursor: default;
-		}
 	}
 
 	.title {
@@ -155,8 +151,9 @@ input:focus {
 		border-top-left-radius: inherit;
 		color: #ffffff;
 		z-index: 10;
-		cursor: pointer;
 		padding: 0 10px;
+		user-select: none;
+		cursor: move;
 
 		h1 {
 			margin: 0;
@@ -441,24 +438,24 @@ input:focus {
 					.inline-image {
 						display: inline-block;
 						overflow: hidden;
-			
+
 						border-radius: 3px;
 						background-repeat: no-repeat;
 						background-position: center left;
 						background-size: contain;
 						box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1);
-			
+
 						line-height: 0;
-			
+
 						img {
 							max-width: 100%;
 							max-height: 200px;
-			
+
 							cursor: pointer;
-			
+
 							opacity: 0;
 						}
-					}								
+					}
 				}
 
 				&.temp .body {
@@ -579,11 +576,11 @@ input:focus {
 						cursor: pointer;
 						color: @secondary-font-color;
 						fill: @secondary-font-color;
-	
+
 						&:hover {
 							fill: @primary-font-color;
 						}
-					}						
+					}
 				}
 			}
 
@@ -918,6 +915,7 @@ input:focus {
 	.livechat-room {
 		.title {
 			height: 100%;
+			cursor: pointer;
 		}
 
 		.footer {
diff --git a/packages/rocketchat-livechat/.app/client/views/avatar.js b/packages/rocketchat-livechat/.app/client/views/avatar.js
index c2500afbdc0f64cf4424607b7ed36df282987116..3fc7c01b66381808984c6375e3f164d80d2a4c6b 100644
--- a/packages/rocketchat-livechat/.app/client/views/avatar.js
+++ b/packages/rocketchat-livechat/.app/client/views/avatar.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
 import visitor from '../../imports/client/visitor';
 
 Template.avatar.helpers({
diff --git a/packages/rocketchat-livechat/.app/client/views/livechatWindow.js b/packages/rocketchat-livechat/.app/client/views/livechatWindow.js
index c63a081bdd3a17ad77c3b963d9c1e69e1adc9e36..36ab0a5bf58c306732795c906cbdb45f99ba1927 100644
--- a/packages/rocketchat-livechat/.app/client/views/livechatWindow.js
+++ b/packages/rocketchat-livechat/.app/client/views/livechatWindow.js
@@ -1,4 +1,9 @@
 /* globals Department, Livechat, LivechatVideoCall */
+import { Meteor } from 'meteor/meteor';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
 import visitor from '../../imports/client/visitor';
 
 function showDepartments() {
@@ -59,8 +64,36 @@ Template.livechatWindow.helpers({
 });
 
 Template.livechatWindow.events({
+	'mousedown .title'({ target, clientX: x, clientY: y }) {
+		parentCall('startDragWindow', { x, y });
+
+		this.onDrag = ({ clientX: x, clientY: y }) => {
+			parentCall('dragWindow', {
+				x: x - target.getBoundingClientRect().left,
+				y: y - target.getBoundingClientRect().top,
+			});
+		};
+
+		this.onDragStop = () => {
+			parentCall('stopDragWindow');
+			window.removeEventListener('mousemove', this.onDrag);
+			window.removeEventListener('mousedown', this.onDragStop);
+			this.onDrag = this.onDragStop = null;
+		};
+
+		window.addEventListener('mousemove', this.onDrag);
+		window.addEventListener('mouseup', this.onDragStop);
+	},
 	'click .title'() {
+		parentCall('restoreWindow');
+	},
+	'click .maximize'(e) {
+		parentCall('toggleWindow');
+		e.stopPropagation();
+	},
+	'click .minimize'(e) {
 		parentCall('toggleWindow');
+		e.stopPropagation();
 	},
 	'click .popout'(event) {
 		event.stopPropagation();
diff --git a/packages/rocketchat-livechat/.app/client/views/message.js b/packages/rocketchat-livechat/.app/client/views/message.js
index b10a98ff15bca71ea140e7cd5071fa9d620564a0..0ded2996ce6e4937166cfd07ff650faff8db445b 100644
--- a/packages/rocketchat-livechat/.app/client/views/message.js
+++ b/packages/rocketchat-livechat/.app/client/views/message.js
@@ -1,4 +1,6 @@
 /* globals Livechat, t, tr, livechatAutolinker */
+import { Blaze } from 'meteor/blaze';
+import { Template } from 'meteor/templating';
 import moment from 'moment';
 import visitor from '../../imports/client/visitor';
 import s from 'underscore.string';
diff --git a/packages/rocketchat-livechat/.app/client/views/messageAttachment.js b/packages/rocketchat-livechat/.app/client/views/messageAttachment.js
index 1a26665917de35093b470621ad3994a52058a772..0312aef32837af46d85afd4a36f8a29d5bf66d47 100644
--- a/packages/rocketchat-livechat/.app/client/views/messageAttachment.js
+++ b/packages/rocketchat-livechat/.app/client/views/messageAttachment.js
@@ -1,3 +1,5 @@
+import { Template } from 'meteor/templating';
+
 Template.messageAttachment.helpers({
 
 	getImageHeight(height = 200) {
diff --git a/packages/rocketchat-livechat/.app/client/views/messages.js b/packages/rocketchat-livechat/.app/client/views/messages.js
index 299ae87c5c0b042f182f1b05cc728e4308435393..593bbeb595a76f0ce2d6f770b0f187ad50fbbe04 100644
--- a/packages/rocketchat-livechat/.app/client/views/messages.js
+++ b/packages/rocketchat-livechat/.app/client/views/messages.js
@@ -1,4 +1,7 @@
 /* globals Livechat, LivechatVideoCall, MsgTyping, fileUpload */
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Template } from 'meteor/templating';
 import visitor from '../../imports/client/visitor';
 import _ from 'underscore';
 import mime from 'mime-type/with-db';
diff --git a/packages/rocketchat-livechat/.app/client/views/offlineForm.js b/packages/rocketchat-livechat/.app/client/views/offlineForm.js
index 10a1da0d3632f33e7a918b4a9746083f18910ed0..436758697a422db8c50a73803b64f16eb2191792 100644
--- a/packages/rocketchat-livechat/.app/client/views/offlineForm.js
+++ b/packages/rocketchat-livechat/.app/client/views/offlineForm.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
 import _ from 'underscore';
 import s from 'underscore.string';
 
diff --git a/packages/rocketchat-livechat/.app/client/views/options.js b/packages/rocketchat-livechat/.app/client/views/options.js
index 95c892697ea2915ed12d8b8c7324e81a9e0751d9..b8ba4742642b3d354a0ce6e43338f52dd2b7ee49 100644
--- a/packages/rocketchat-livechat/.app/client/views/options.js
+++ b/packages/rocketchat-livechat/.app/client/views/options.js
@@ -1,4 +1,6 @@
 /* globals Department, Livechat */
+import { Meteor } from 'meteor/meteor';
+import { Template } from 'meteor/templating';
 import swal from 'sweetalert2';
 import visitor from '../../imports/client/visitor';
 
diff --git a/packages/rocketchat-livechat/.app/client/views/register.js b/packages/rocketchat-livechat/.app/client/views/register.js
index 5bd8516a8998f8f608c9d874b9263539495f7057..e613f4942ddf147a6f4dae59d54a3219d3c2d521 100644
--- a/packages/rocketchat-livechat/.app/client/views/register.js
+++ b/packages/rocketchat-livechat/.app/client/views/register.js
@@ -1,4 +1,8 @@
 /* globals Department, Livechat, LivechatVideoCall */
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
 import visitor from '../../imports/client/visitor';
 import _ from 'underscore';
 import s from 'underscore.string';
diff --git a/packages/rocketchat-livechat/.app/client/views/survey.js b/packages/rocketchat-livechat/.app/client/views/survey.js
index b70ef65ad9ccabf19d49943e79b2a3a8d28ad564..1bf5b1a1168758305674df116cc5b2bc62519f06 100644
--- a/packages/rocketchat-livechat/.app/client/views/survey.js
+++ b/packages/rocketchat-livechat/.app/client/views/survey.js
@@ -1,4 +1,6 @@
 /* globals */
+import { Meteor } from 'meteor/meteor';
+import { Template } from 'meteor/templating';
 import swal from 'sweetalert2';
 import visitor from '../../imports/client/visitor';
 
diff --git a/packages/rocketchat-livechat/.app/client/views/switchDepartment.js b/packages/rocketchat-livechat/.app/client/views/switchDepartment.js
index 648f4a441d1cf33a969417a4fe063537e7b179ec..c31e5b6a68c782282f709a9d0cb7a8f1d632817a 100644
--- a/packages/rocketchat-livechat/.app/client/views/switchDepartment.js
+++ b/packages/rocketchat-livechat/.app/client/views/switchDepartment.js
@@ -1,4 +1,7 @@
 /* globals Department, Livechat */
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Template } from 'meteor/templating';
 import swal from 'sweetalert2';
 import visitor from '../../imports/client/visitor';
 
diff --git a/packages/rocketchat-livechat/.app/client/views/videoCall.js b/packages/rocketchat-livechat/.app/client/views/videoCall.js
index d0e6231feba8b6b3a50387ece5b6a428519143c4..2b912481d49267070a469711e2d7ed79d6599640 100644
--- a/packages/rocketchat-livechat/.app/client/views/videoCall.js
+++ b/packages/rocketchat-livechat/.app/client/views/videoCall.js
@@ -1,4 +1,6 @@
 /* globals LivechatVideoCall */
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Template } from 'meteor/templating';
 
 Template.videoCall.helpers({
 	visible() {
diff --git a/packages/rocketchat-livechat/.app/i18n/af.i18n.json b/packages/rocketchat-livechat/.app/i18n/af.i18n.json
index 56feaa2328504496f7111b14020ac3c23e07311a..a6bbc51b90fc31572eb4ea20d1caa623bf5b149d 100644
--- a/packages/rocketchat-livechat/.app/i18n/af.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/af.i18n.json
@@ -37,6 +37,7 @@
   "Type_your_email": "Tik jou e-pos",
   "Type_your_message": "Tik jou boodskap",
   "Type_your_name": "Tik jou naam",
+  "Upload_file_question": "Laai leêr op?",
   "User_joined": "Gebruiker aangesluit",
   "User_left": "Gebruiker oor",
   "We_are_not_online_right_now_please_leave_a_message": "Ons is nie aanlyn nie. Asseblief, laat 'n boodskap.",
diff --git a/packages/rocketchat-livechat/.app/i18n/ar.i18n.json b/packages/rocketchat-livechat/.app/i18n/ar.i18n.json
index f3e0da483a4b02a212014ea69959340742271fc2..c651dd29e2574518264d2761b923927657b90d68 100644
--- a/packages/rocketchat-livechat/.app/i18n/ar.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/ar.i18n.json
@@ -37,6 +37,7 @@
   "Type_your_email": "اكتب بريدك الالكتروني",
   "Type_your_message": "اكتب رسالتك",
   "Type_your_name": "اكتب اسمك",
+  "Upload_file_question": "تحميل الملف؟",
   "User_joined": "العضو انضم",
   "User_left": "اليسار المستخدم",
   "We_are_not_online_right_now_please_leave_a_message": "نحن لسنا على الانترنت الآن. يرجى ترك رسالة.",
diff --git a/packages/rocketchat-livechat/.app/i18n/az.i18n.json b/packages/rocketchat-livechat/.app/i18n/az.i18n.json
index 5546c2eedb10a9c47a7f4ebe697b56b3ba4fa224..998368724884a32e8f21af36618daca8b731019a 100644
--- a/packages/rocketchat-livechat/.app/i18n/az.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/az.i18n.json
@@ -37,6 +37,7 @@
   "Type_your_email": "E-poçtunuzu yazın",
   "Type_your_message": "Mesajınızı yazın",
   "Type_your_name": "Adınızı yazın",
+  "Upload_file_question": "Fayl yükləməyiniz?",
   "User_joined": "İstifadəçi qatıldı",
   "User_left": "İstifadəçi buraxdı",
   "We_are_not_online_right_now_please_leave_a_message": "İndi online deyil. Xahiş edirik bir mesaj buraxın.",
diff --git a/packages/rocketchat-livechat/.app/i18n/be-BY.i18n.json b/packages/rocketchat-livechat/.app/i18n/be-BY.i18n.json
index b038abdaba2c0944db88ed056b9fb13819af3a47..1a282c16c09a50812b5275b2f1cff41b12ad7341 100644
--- a/packages/rocketchat-livechat/.app/i18n/be-BY.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/be-BY.i18n.json
@@ -16,6 +16,7 @@
   "How_satisfied_were_you_with_this_chat": "Наколькі вы былі задаволены гэтым чатам?",
   "Installation": "Ўстаноўка",
   "New_messages": "Новыя паведамленні",
+  "New_livechat_in_queue": "Новы чат у чарзе",
   "No": "Няма",
   "Options": "Опцыі",
   "Please_answer_survey": "Калі ласка, знайдзіце час, каб адказаць на экспрэс-апытанне аб гэтым чаце",
@@ -37,6 +38,7 @@
   "Type_your_email": "Увядзіце адрас электроннай пошты",
   "Type_your_message": "Увядзіце ваша паведамленне",
   "Type_your_name": "Увядзіце сваё імя",
+  "Upload_file_question": "Загрузіць файл?",
   "User_joined": "Карыстальнік далучыўся",
   "User_left": "Карыстальнік выйшаў",
   "We_are_not_online_right_now_please_leave_a_message": "Мы зараз не ў сеткі. Калі ласка, пакіньце паведамленне.",
diff --git a/packages/rocketchat-livechat/.app/i18n/bg.i18n.json b/packages/rocketchat-livechat/.app/i18n/bg.i18n.json
index 81a9f84d185bc523d5122346cc90c6ee5484a5a7..d4ad4460933299bdbfb7397d66dfe56b7a2d0596 100644
--- a/packages/rocketchat-livechat/.app/i18n/bg.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/bg.i18n.json
@@ -37,6 +37,7 @@
   "Type_your_email": "Въведете имейла си",
   "Type_your_message": "Въведете съобщението си",
   "Type_your_name": "Въведете името си",
+  "Upload_file_question": "Качи фаил?",
   "User_joined": "Потребителят се присъедини",
   "User_left": "Потребителят остана",
   "We_are_not_online_right_now_please_leave_a_message": "В момента не сме онлайн. Моля, оставете съобщение.",
diff --git a/packages/rocketchat-livechat/.app/i18n/ca.i18n.json b/packages/rocketchat-livechat/.app/i18n/ca.i18n.json
index a8ef16a9132e2502838e4ff8110cebf40350ec6b..c6bfd36377ab7d07885346bf1fc9058f557c608f 100644
--- a/packages/rocketchat-livechat/.app/i18n/ca.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/ca.i18n.json
@@ -37,6 +37,7 @@
   "Type_your_email": "Escriu la teva adreça de correu-e",
   "Type_your_message": "Escriu el missatge",
   "Type_your_name": "Escriu el teu nom",
+  "Upload_file_question": "Pujar l'arxiu?",
   "User_joined": "usuari unit",
   "User_left": "L'usuari ha abandonat la sala",
   "We_are_not_online_right_now_please_leave_a_message": "No estem en línia ara mateix. Sisplau, deixa un missatge.",
diff --git a/packages/rocketchat-livechat/.app/i18n/cs.i18n.json b/packages/rocketchat-livechat/.app/i18n/cs.i18n.json
index 4e04952e90c5d3a952422f645f4cd458897bab6f..bd76dc3d5a4c67c8227b958fe2658c462b55c4b9 100644
--- a/packages/rocketchat-livechat/.app/i18n/cs.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/cs.i18n.json
@@ -37,6 +37,7 @@
   "Type_your_email": "Zadejte svůj e-mail",
   "Type_your_message": "Napište zprávu",
   "Type_your_name": "Zadejte své jméno",
+  "Upload_file_question": "Nahrát soubor?",
   "User_joined": "Uživatel se připojil",
   "User_left": "Uživatel odešel",
   "We_are_not_online_right_now_please_leave_a_message": "Zrovna nejsme online. Zanechte nám prosím zprávu.",
diff --git a/packages/rocketchat-livechat/.app/i18n/cy.i18n.json b/packages/rocketchat-livechat/.app/i18n/cy.i18n.json
index 49f8ebfd55452cf183b98bbfeb85813461668c24..8bfb2ceae8de8c7f0482128723cf38636334739b 100644
--- a/packages/rocketchat-livechat/.app/i18n/cy.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/cy.i18n.json
@@ -37,6 +37,7 @@
   "Type_your_email": "Teipiwch eich e-bost",
   "Type_your_message": "Teipiwch eich neges",
   "Type_your_name": "Teipiwch eich enw",
+  "Upload_file_question": "Llwytho ffeil?",
   "User_joined": "Ymunodd y defnyddiwr",
   "User_left": "Defnyddiwr ar ôl",
   "We_are_not_online_right_now_please_leave_a_message": "Nid ydym ar-lein ar hyn o bryd. Os gwelwch yn dda, gadewch neges.",
diff --git a/packages/rocketchat-livechat/.app/i18n/da.i18n.json b/packages/rocketchat-livechat/.app/i18n/da.i18n.json
index aae692eeb522a85a7274d8e7444f25b281e886b6..645d487f2cb8b4fed4c11351bf891b1ca76696a1 100644
--- a/packages/rocketchat-livechat/.app/i18n/da.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/da.i18n.json
@@ -38,6 +38,7 @@
   "Type_your_email": "Indtast din e-mail",
   "Type_your_message": "Skriv din besked",
   "Type_your_name": "Indtast dit navn",
+  "Upload_file_question": "Upload fil?",
   "User_joined": "Brugeren sluttede sig til",
   "User_left": "Brugeren tog sin afsked",
   "We_are_not_online_right_now_please_leave_a_message": "Vi er ikke online lige nu. Efterlad en besked til os.",
diff --git a/packages/rocketchat-livechat/.app/i18n/de-AT.i18n.json b/packages/rocketchat-livechat/.app/i18n/de-AT.i18n.json
index 678c506e976fdfe8b2f4b1dab51084c210799dba..ea3bc82db20109f1ae7dde0de62c49d60aa82ec9 100644
--- a/packages/rocketchat-livechat/.app/i18n/de-AT.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/de-AT.i18n.json
@@ -37,6 +37,7 @@
   "Type_your_email": "Geben Sie Ihre E-Mail-Adresse an",
   "Type_your_message": "Geben Sie Ihre Nachricht ein.",
   "Type_your_name": "Geben Sie Ihren Namen ein",
+  "Upload_file_question": "Möchten Sie eine Datei hochladen?",
   "User_joined": "Benutzer.in wurde Mitglied",
   "User_left": "Benutzer.in abgemeldet",
   "We_are_not_online_right_now_please_leave_a_message": "Wir sind momentan nicht online. Bitte hinterlassen Sie eine Nachricht.",
diff --git a/packages/rocketchat-livechat/.app/i18n/de.i18n.json b/packages/rocketchat-livechat/.app/i18n/de.i18n.json
index 242f2c259d59986494fbc783be6202b82876bcab..cd29c0ef1cf1f79bd1e4e0ca706b4486163e61a3 100644
--- a/packages/rocketchat-livechat/.app/i18n/de.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/de.i18n.json
@@ -39,6 +39,7 @@
   "Type_your_email": "Geben Sie Ihre E-Mail-Adresse an",
   "Type_your_message": "Geben Sie Ihre Nachricht ein.",
   "Type_your_name": "Geben Sie Ihren Namen ein",
+  "Upload_file_question": "Datei hochladen?",
   "User_joined": "Benutzer.in ist dem Kanal beigetreten",
   "User_left": "Benutzer.in hat den Kanal verlassen",
   "We_are_not_online_right_now_please_leave_a_message": "Wir sind momentan nicht online. Bitte hinterlassen Sie eine Nachricht.",
@@ -46,4 +47,4 @@
   "Yes": "Ja",
   "You": "Sie",
   "You_must_complete_all_fields": "Sie müssen alle Felder ausfüllen"
-}
+}
\ No newline at end of file
diff --git a/packages/rocketchat-livechat/.app/i18n/el.i18n.json b/packages/rocketchat-livechat/.app/i18n/el.i18n.json
index 1f556a5223a7bfa68b8b9169463ec364e444140d..13b259526a9c9bcd4b17c34ad2f82c66903a8c3a 100644
--- a/packages/rocketchat-livechat/.app/i18n/el.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/el.i18n.json
@@ -37,6 +37,7 @@
   "Type_your_email": "Πληκτρολογήστε το email σας",
   "Type_your_message": "Πληκτρολογήστε το μήνυμά σας",
   "Type_your_name": "Πληκτρολογήστε το όνομά σας",
+  "Upload_file_question": "Να ανέβει το αρχείο;",
   "User_joined": "Ο χρήστης συνδέθηκε",
   "User_left": "Ο χρήστης έφυγε",
   "We_are_not_online_right_now_please_leave_a_message": "Δεν είμαστε συνδεδεμένοι αυτήν τη στιγμή. Παρακαλώ αφήστε μήνυμα.",
diff --git a/packages/rocketchat-livechat/.app/i18n/en.i18n.json b/packages/rocketchat-livechat/.app/i18n/en.i18n.json
index 77d55d8e052b8ae993168138a208b395e724889f..6ec508afc430a801eb2df7dab4e1d63256e581d4 100644
--- a/packages/rocketchat-livechat/.app/i18n/en.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/en.i18n.json
@@ -47,4 +47,4 @@
   "Yes": "Yes",
   "You": "You",
   "You_must_complete_all_fields": "You must complete all fields"
-}
+}
\ No newline at end of file
diff --git a/packages/rocketchat-livechat/.app/i18n/eo.i18n.json b/packages/rocketchat-livechat/.app/i18n/eo.i18n.json
index c3323f6d6f618d70634384e7fa415a64f7b12380..e02e38e81b9ce0d029160f79b6cb8efdb74c44c2 100644
--- a/packages/rocketchat-livechat/.app/i18n/eo.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/eo.i18n.json
@@ -37,6 +37,7 @@
   "Type_your_email": "Tajpu vian retpoŝton",
   "Type_your_message": "Tajpu vian mesaĝon",
   "Type_your_name": "Tajpu vian nomon",
+  "Upload_file_question": "Alŝutu dosieron?",
   "User_joined": "Uzanto aliĝis",
   "User_left": "Uzanto maldekstre",
   "We_are_not_online_right_now_please_leave_a_message": "Ni ne estas interrete nun. Bonvolu lasi mesaĝon.",
diff --git a/packages/rocketchat-livechat/.app/i18n/es.i18n.json b/packages/rocketchat-livechat/.app/i18n/es.i18n.json
index 0d990a99403fac27e69f67b33b0a9b14a602e628..f69c99c05eff97b3e1921046d825296e89da2852 100644
--- a/packages/rocketchat-livechat/.app/i18n/es.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/es.i18n.json
@@ -37,6 +37,7 @@
   "Type_your_email": "Escriba su correo electrónico",
   "Type_your_message": "Escriba su mensaje",
   "Type_your_name": "Escriba su nombre",
+  "Upload_file_question": "Subir archivo?",
   "User_joined": "Usuario unido",
   "User_left": "El usuario ha abandonado la sala",
   "We_are_not_online_right_now_please_leave_a_message": "No estamos en línea en este momento. Por favor, deje un mensaje.",
diff --git a/packages/rocketchat-livechat/.app/i18n/eu.i18n.json b/packages/rocketchat-livechat/.app/i18n/eu.i18n.json
new file mode 100644
index 0000000000000000000000000000000000000000..d9acaccc9e44b8ba2d005b9955be03cce553b5d7
--- /dev/null
+++ b/packages/rocketchat-livechat/.app/i18n/eu.i18n.json
@@ -0,0 +1,36 @@
+{
+  "Additional_Feedback": "Feedback osagarria",
+  "Appearance": "Itxura",
+  "Are_you_sure_do_you_want_end_this_chat": "Ziur zaude txat hau amaitu nahi duzula?",
+  "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Ziur zaude txat hau amaitu eta aldatu egin nahi duzula?",
+  "Are_you_sure_do_you_want_switch_the_department": "Ziur zaude saioa aldatu nahi duzula?",
+  "Cancel": "Ezeztatu",
+  "Change": "Aldatu",
+  "Chat_ended": "Txata amaitu da!",
+  "Choose_a_new_department": "Aukeratu sail berri bat",
+  "Close_menu": "Menua itxi",
+  "Conversation_finished": "Elkarrizketa amaitu da",
+  "End_chat": "Txata amaitu",
+  "How_satisfied_were_you_with_this_chat": "Zein pozik zeuden txat honekin?",
+  "Installation": "Instalazioa",
+  "New_messages": "Mezu berriak",
+  "New_livechat_in_queue": "Txat berria zain",
+  "No": "Ez",
+  "Options": "Aukerak",
+  "Please_fill_name_and_email": "Sartu izena eta posta elektronikoa mesedez",
+  "Powered_by": "Powered by",
+  "Send": "Bidali",
+  "Skip": "Saltatu",
+  "Start_Chat": "Hasi txata",
+  "Survey": "Inkesta",
+  "Thank_you_for_your_feedback": "Eskerrik asko zure iritziagatik",
+  "Thanks_We_ll_get_back_to_you_soon": "Eskerrik asko! Laster jarriko gara kontaktuan zurekin.",
+  "transcript_sent": "Transkripzioa bidali da",
+  "Type_your_message": "Idatzi mezua",
+  "Type_your_name": "Idatzi zure izena",
+  "Upload_file_question": "Fitxategia kargatu?",
+  "User_joined": "Erabiltzailea sartu da",
+  "User_left": "Erabiltzailea irten da",
+  "We_are_offline_Sorry_for_the_inconvenience": "Lineaz kanpo gaude. Barkatu eragozpenak.",
+  "Yes": "Bai"
+}
\ No newline at end of file
diff --git a/packages/rocketchat-livechat/.app/i18n/fa.i18n.json b/packages/rocketchat-livechat/.app/i18n/fa.i18n.json
index 60dac89fe2ab4ba9c0aea149804fea7131fd4a4a..6bdfbd08106b792f0e5a2b69612ba50da6259cfa 100644
--- a/packages/rocketchat-livechat/.app/i18n/fa.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/fa.i18n.json
@@ -1,8 +1,9 @@
 {
   "Additional_Feedback": "بازخورد بیشتر",
-  "Appearance": "نمایش",
-  "Are_you_sure_do_you_want_end_this_chat": "آیا مطمئن هستید که می‌خواهید این چت را پایان دهید؟",
+  "Appearance": "ظاهر",
+  "Are_you_sure_do_you_want_end_this_chat": "آیا مطمئن هستید که می‌خواهید این چت را پایان دهید و بخش را عوض کنید؟",
   "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "آیا مطمئن هستید که می‌خواهید این چت را پایان دهید و بخش را عوض کنید؟",
+  "Are_you_sure_do_you_want_switch_the_department": "ایا مطمئن هستید که میخواهید بخش را عوض کنید؟",
   "Cancel": "لغو",
   "Change": "تغییر",
   "Chat_ended": "چت پایان یافت!",
@@ -16,11 +17,12 @@
   "How_satisfied_were_you_with_this_chat": "چقدر از این چت راضی بودید؟",
   "Installation": "نصب و راه اندازی",
   "New_messages": "پیام‌های جدید",
+  "New_livechat_in_queue": "چت جدید در صف",
   "No": "خیر",
   "Options": "گزینه‌ها",
   "Please_answer_survey": "لطفا به نظرسنجی در مورد این چت پاسخ دهید",
   "Please_choose_a_department": "لطفا یک بخش انتخاب کنید",
-  "Please_fill_name_and_email": " نام و ایمیل را تکمیل بفرمایید",
+  "Please_fill_name_and_email": "لطفا نام و ایمیل را وارد نمایید",
   "Powered_by": "قدرت‌گرفته از",
   "Request_video_chat": "درخواست گفت‌وگوی ویدیویی",
   "Select_a_department": "انتخاب بخش",
@@ -37,6 +39,7 @@
   "Type_your_email": "ایمیل خود را بنویسید",
   "Type_your_message": "پیام خود را بنویسید",
   "Type_your_name": "نامتان را بنویسید",
+  "Upload_file_question": "آپلود فایل؟",
   "User_joined": "تاریخ عضویت کاربر",
   "User_left": "تاریخ ترک کاربر",
   "We_are_not_online_right_now_please_leave_a_message": "ما در حال حاضر آنلاین نیستیم. لطفا پیام بگذارید",
diff --git a/packages/rocketchat-livechat/.app/i18n/fi.i18n.json b/packages/rocketchat-livechat/.app/i18n/fi.i18n.json
index 28d629e2901b7a3efa3654deee8db6d8d7994dee..03542ef281e90db35b30178b97c46ec0733fe51a 100644
--- a/packages/rocketchat-livechat/.app/i18n/fi.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/fi.i18n.json
@@ -37,6 +37,7 @@
   "Type_your_email": "Kirjoita sähköpostiosoitteesi",
   "Type_your_message": "Kirjoita viestisi",
   "Type_your_name": "Kirjoita nimesi",
+  "Upload_file_question": "Lähetä tiedosto?",
   "User_joined": "Käyttäjä liittyi",
   "User_left": "Käyttäjä poistui",
   "We_are_not_online_right_now_please_leave_a_message": "Emme ole verkossa juuri nyt. Jätä viesti.",
diff --git a/packages/rocketchat-livechat/.app/i18n/fr.i18n.json b/packages/rocketchat-livechat/.app/i18n/fr.i18n.json
index aae7520632ec3552dfde4db55b46bc287be39234..ebc230d69d7ac96215441eaaa5742d2c2e2ed90e 100644
--- a/packages/rocketchat-livechat/.app/i18n/fr.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/fr.i18n.json
@@ -3,6 +3,7 @@
   "Appearance": "Apparence",
   "Are_you_sure_do_you_want_end_this_chat": "Êtes-vous sûr de vouloir mettre fin à cette conversation ?",
   "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Êtes-vous sûr de vouloir terminer cette conversion et changer de département ?",
+  "Are_you_sure_do_you_want_switch_the_department": "Êtes-vous sûr de vouloir changer de département ?",
   "Cancel": "Annuler",
   "Change": "Changer",
   "Chat_ended": "Conversation terminée!",
@@ -37,6 +38,7 @@
   "Type_your_email": "Entrez votre e-mail",
   "Type_your_message": "Entrez votre message",
   "Type_your_name": "Entrez votre nom",
+  "Upload_file_question": "Envoyer le fichier ?",
   "User_joined": "L'utilisateur a rejoint",
   "User_left": "L'utilisateur est parti",
   "We_are_not_online_right_now_please_leave_a_message": "Nous ne sommes pas en ligne en ce moment. Merci de laisser un message.",
diff --git a/packages/rocketchat-livechat/.app/i18n/he.i18n.json b/packages/rocketchat-livechat/.app/i18n/he.i18n.json
index d241bc1408298f58d4fc573b1da1ecfd945f0818..60422ed0b87658a4a9658ee15d4c88967814dbbd 100644
--- a/packages/rocketchat-livechat/.app/i18n/he.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/he.i18n.json
@@ -1,15 +1,27 @@
 {
   "Additional_Feedback": "משוב נוסף",
   "Appearance": "מראה",
+  "Are_you_sure_do_you_want_end_this_chat": "האם אתה בטוח שברצונך לסיים שיחה זו?",
+  "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "האם אתה בטוח שברצונך לסיים שיחה זו ולהחליף מחלקה?",
+  "Are_you_sure_do_you_want_switch_the_department": "האם אתה בטוח שברצונך להחליף מחלקה?",
+  "Cancel": "ביטול",
+  "Change": "שינוי",
+  "Chat_ended": "השיחה הסתיימה",
+  "Choose_a_new_department": "בחר מחלקה חדשה",
+  "Close_menu": "סגור תפריט",
   "Conversation_finished": "שיחת סיים",
-  "How_friendly_was_the_chat_agent": "איך ידידותי היה סוכן הצ'אט?",
-  "How_knowledgeable_was_the_chat_agent": "איך ידע היה סוכן הצ'אט?",
-  "How_responsive_was_the_chat_agent": "מידת ההיענות היה סוכן צ'אט?",
-  "How_satisfied_were_you_with_this_chat": "איך הייתם מרוצה הצ'אט הזה?",
+  "End_chat": "סיים שיחה",
+  "How_friendly_was_the_chat_agent": "כמה ידידותי היה סוכן הצ'אט?",
+  "How_knowledgeable_was_the_chat_agent": "כמה ידע היה לסוכן הצ'אט?",
+  "How_responsive_was_the_chat_agent": "מה הייתה מידת ההיענות של סוכן צ'אט?",
+  "How_satisfied_were_you_with_this_chat": "כמה מרוצים הייתם מהצ'אט הזה?",
   "Installation": "התקנה",
   "New_messages": "הודעות חדשות",
-  "Please_answer_survey": "קדש דק כדי לענות על סקר קצר על הצ'אט הזה",
-  "Please_fill_name_and_email": "נא למלא את שם ואת כתובת דואר אלקטרונית",
+  "No": "לא",
+  "Options": "אפשרויות",
+  "Please_answer_survey": "אנא הקדש מספר דקות כדי לענות על סקר קטן בנוגע לשיחה זו",
+  "Please_choose_a_department": "אנא בחר מחלקה",
+  "Please_fill_name_and_email": "אנא מלא שם וכתובת דוא\"ל",
   "Powered_by": "מונע ע\"י",
   "Select_a_department": "בחר מחלקה",
   "Send": "שליחה",
@@ -22,8 +34,9 @@
   "Type_your_email": "נא להקליד את כתובת הדוא״ל שלך",
   "Type_your_message": "נא להקליד את ההודעה שלך",
   "Type_your_name": "נא להקליד את שמך",
-  "User_joined": "משתמש הצטרף",
-  "User_left": "השמאל משתמש",
+  "Upload_file_question": "להעלות קובץ?",
+  "User_joined": "המשתמש הצטרף",
+  "User_left": "המשתמש עזב",
   "We_are_offline_Sorry_for_the_inconvenience": "אנחנו במצב לא מקוון. מצטער על אי הנוחות.",
   "You_must_complete_all_fields": "עליך למלא את כל השדות"
 }
\ No newline at end of file
diff --git a/packages/rocketchat-livechat/.app/i18n/hr.i18n.json b/packages/rocketchat-livechat/.app/i18n/hr.i18n.json
index e3f8f9c711db161c99e40d1cc32ab828f69f17f1..f952e93c5c527ebfbd9e5e1ee556f912cbf93f30 100644
--- a/packages/rocketchat-livechat/.app/i18n/hr.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/hr.i18n.json
@@ -38,6 +38,7 @@
   "Type_your_email": "Upišite Vaš e-mail",
   "Type_your_message": "Upišite svoju poruku",
   "Type_your_name": "Upišite svoje ime",
+  "Upload_file_question": "Prenesi datoteku?",
   "User_joined": "Korisnik se pridružio",
   "User_left": "Korisnik napustio razgovor",
   "We_are_not_online_right_now_please_leave_a_message": "Trenutačno nismo na mreži. Molim vas ostavite poruku.",
diff --git a/packages/rocketchat-livechat/.app/i18n/hu.i18n.json b/packages/rocketchat-livechat/.app/i18n/hu.i18n.json
index da5783c12a86a8b054d67b67495a088ac2319bae..a5f9c0139ba391e9bcf56eed7884edb4228ebe16 100644
--- a/packages/rocketchat-livechat/.app/i18n/hu.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/hu.i18n.json
@@ -37,6 +37,7 @@
   "Type_your_email": "Írja be e-mail címét",
   "Type_your_message": "Írja be az üzenetet",
   "Type_your_name": "Írja be a nevét",
+  "Upload_file_question": "Fájl feltöltés?",
   "User_joined": "Felhasználó belépett",
   "User_left": "Felhasználó kilépett",
   "We_are_not_online_right_now_please_leave_a_message": "Jelenleg nem vagyunk online. Kérlek hagyj üzenetet.",
diff --git a/packages/rocketchat-livechat/.app/i18n/id.i18n.json b/packages/rocketchat-livechat/.app/i18n/id.i18n.json
index 0cef26bde07fc83251e283f5c6c3136267de1949..bdebbef9e33a9efde419924f772ddc8e80d1de5c 100644
--- a/packages/rocketchat-livechat/.app/i18n/id.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/id.i18n.json
@@ -37,6 +37,7 @@
   "Type_your_email": "Ketik email Anda",
   "Type_your_message": "Ketik pesan Anda",
   "Type_your_name": "Ketik nama Anda",
+  "Upload_file_question": "Unggah file?",
   "User_joined": "pengguna bergabung",
   "User_left": "kiri pengguna",
   "We_are_not_online_right_now_please_leave_a_message": "Kami sedang tidak online sekarang. Tolong, tinggalkan pesan.",
diff --git a/packages/rocketchat-livechat/.app/i18n/it.i18n.json b/packages/rocketchat-livechat/.app/i18n/it.i18n.json
index bbb497e947982281ca5cca5672fcd9644658c3e8..4e68f6bad61187dcae85c085b3fde7f51afdc71b 100644
--- a/packages/rocketchat-livechat/.app/i18n/it.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/it.i18n.json
@@ -3,6 +3,7 @@
   "Appearance": "Aspetto",
   "Are_you_sure_do_you_want_end_this_chat": "Terminare questa chat?",
   "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Terminare questa chat e cambiare dipartimento?",
+  "Are_you_sure_do_you_want_switch_the_department": "Sei sicuro di voler cambiare dipartimento?",
   "Cancel": "Annulla",
   "Change": "Cambia",
   "Chat_ended": "Chat terminata!",
@@ -37,6 +38,7 @@
   "Type_your_email": "Inserire la propria email",
   "Type_your_message": "Inserire il proprio messaggio",
   "Type_your_name": "Inserire il proprio nome",
+  "Upload_file_question": "Caricare il file?",
   "User_joined": "L'utente si è iscritto",
   "User_left": "L'utente ha abbandonato",
   "We_are_not_online_right_now_please_leave_a_message": "Non siamo online al momento. Lasciare un messaggio.",
diff --git a/packages/rocketchat-livechat/.app/i18n/ja.i18n.json b/packages/rocketchat-livechat/.app/i18n/ja.i18n.json
index f4c6d8223f74637d6eae13de93c7060e0aaab72b..13f1c69da31f7865b9efa2419c96d66419040f76 100644
--- a/packages/rocketchat-livechat/.app/i18n/ja.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/ja.i18n.json
@@ -3,6 +3,7 @@
   "Appearance": "表示",
   "Are_you_sure_do_you_want_end_this_chat": "チャットを終了してもよろしいですか?",
   "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "このチャットを終了して部門を切り替えますか?",
+  "Are_you_sure_do_you_want_switch_the_department": "部門を切り替えてよろしいですか?",
   "Cancel": "キャンセル",
   "Change": "変更",
   "Chat_ended": "チャットを終了しました",
@@ -16,6 +17,7 @@
   "How_satisfied_were_you_with_this_chat": "このチャットの満足度を教えて頂けますか?",
   "Installation": "インストール方法",
   "New_messages": "新しいメッセージ",
+  "New_livechat_in_queue": "キュー内の新しいチャット",
   "No": "いいえ",
   "Options": "オプション",
   "Please_answer_survey": "このチャットに関する簡単なアンケートに、少々お時間を頂けますでしょうか?",
@@ -37,6 +39,7 @@
   "Type_your_email": "あなたのメールアドレスを入力してください",
   "Type_your_message": "メッセージを入力",
   "Type_your_name": "名前を入力してください",
+  "Upload_file_question": "アップロードしますか?",
   "User_joined": "ユーザー参加",
   "User_left": "ユーザーは退出しました",
   "We_are_not_online_right_now_please_leave_a_message": "今はオンラインではありません。メッセージを残してください。",
diff --git a/packages/rocketchat-livechat/.app/i18n/km.i18n.json b/packages/rocketchat-livechat/.app/i18n/km.i18n.json
index f7640a7b1a4c86224d9d67696ae74977c5762c76..89f7908fb0db4bf52bf416d93255564e7da06fd2 100644
--- a/packages/rocketchat-livechat/.app/i18n/km.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/km.i18n.json
@@ -2,8 +2,8 @@
   "Additional_Feedback": "មតិបន្ថែម",
   "Appearance": "រូបរាង",
   "Are_you_sure_do_you_want_end_this_chat": "តើអ្នកពិតជាចង់បញ្ចប់ការជជែកនេះឬ?",
-  "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "តើអ្នកប្រាកដជាចង់បញ្ចប់ការជជែកនេះហើយប្តូរនាយកដ្ឋានទេ?",
-  "Are_you_sure_do_you_want_switch_the_department": "តើអ្នកពិតជាចង់ផ្លាស់ប្តូរផ្នែកឬ?",
+  "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "តើអ្នកប្រាកដថាចង់បញ្ចប់ការជជែកនេះ ហើយប្តូរនាយកដ្ឋានទេ?",
+  "Are_you_sure_do_you_want_switch_the_department": "តើអ្នកពិតជាចង់ផ្លាស់ប្តូរនាយកដ្ឋានឬ?",
   "Cancel": "បោះបង់",
   "Change": "ផ្លាស់ប្តូរ",
   "Chat_ended": "ការជជែកបានបញ្ចប់!",
@@ -11,12 +11,13 @@
   "Close_menu": "បិទម៉ឺនុយ",
   "Conversation_finished": "សន្ទនាបានបញ្ចប់",
   "End_chat": "បញ្ចប់ការជជែក",
-  "How_friendly_was_the_chat_agent": "តើធ្វើដូចម្តេចមិត្តភាពភ្នាក់ងារជជែកកំសាន្តនោះ?",
-  "How_knowledgeable_was_the_chat_agent": "តើចំណេះភ្នាក់ងារជជែកកំសាន្តនោះ?",
+  "How_friendly_was_the_chat_agent": "តើភ្នាក់ងារជជែកកំសាន្តនេះ ងាយស្រួលឬទេ?",
+  "How_knowledgeable_was_the_chat_agent": "តើចំណេះដឹងដែលភ្នាក់ងារជជែកកំសាន្តផ្តល់ឲ្យគ្រប់គ្រាន់ឬទេ?",
   "How_responsive_was_the_chat_agent": "តើធ្វើដូចម្តេចឆ្លើយតបភ្នាក់ងារជជែកកំសាន្តនោះ?",
   "How_satisfied_were_you_with_this_chat": "តើអ្នកពេញចិត្តនាក់អ្នកជាមួយនឹងការជជែកនេះ?",
   "Installation": "ការដំឡើង",
   "New_messages": "សារថ្មី",
+  "New_livechat_in_queue": "សារថ្មីនៅក្នុងបញ្ជីរង់ចាំ",
   "No": "ទេ",
   "Options": "ជម្រើស",
   "Please_answer_survey": "សូមចំណាយពេលបន្តិចដើម្បីឆ្លើយតបការស្ទង់មតិរហ័សអំពីការជជែកនេះ",
@@ -38,8 +39,9 @@
   "Type_your_email": "វាយបញ្ចូលអ៊ីមែលរបស់លោកអ្នក",
   "Type_your_message": "វាយសាររបស់អ្នក",
   "Type_your_name": "វាយបញ្ចូលឈ្មោះរបស់អ្នក",
-  "User_joined": "អ្នកប្រើដែលបានចូលបម្រើការងារ",
-  "User_left": "ខាងឆ្វេងអ្នកប្រើ",
+  "Upload_file_question": "ផ្ទុក​ឯកសារ​ឡើង​ឬ?",
+  "User_joined": "អ្នកប្រ",
+  "User_left": "អ្នកប្រើបានចាកចេញ",
   "We_are_not_online_right_now_please_leave_a_message": "យើងមិននៅលើអ៊ីនធឺរណែតឥឡូវនេះទេ។ សូមទុកសារ។",
   "We_are_offline_Sorry_for_the_inconvenience": "យើងមាននៅក្រៅបណ្ដាញ។ សូមអភ័យទោសចំពោះការរំខាននេះ។",
   "Yes": "បាទ",
diff --git a/packages/rocketchat-livechat/.app/i18n/ko.i18n.json b/packages/rocketchat-livechat/.app/i18n/ko.i18n.json
index 9c7077c4af8b6725f11a7952e31118313341223a..ea1580ef81169c8682130939e9201e17b51129ba 100644
--- a/packages/rocketchat-livechat/.app/i18n/ko.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/ko.i18n.json
@@ -37,6 +37,7 @@
   "Type_your_email": "이메일을 입력해주세요",
   "Type_your_message": "메시지를 입력해주세요",
   "Type_your_name": "이름을 입력해주세요",
+  "Upload_file_question": "파일을 업로드하시겠습니까?",
   "User_joined": "사용자가 참여하였습니다",
   "User_left": "사용자가 떠났습니다",
   "We_are_not_online_right_now_please_leave_a_message": "우리는 지금 온라인 상태가 아닙니다. 제발, 메시지 남겨주세요.",
diff --git a/packages/rocketchat-livechat/.app/i18n/ku.i18n.json b/packages/rocketchat-livechat/.app/i18n/ku.i18n.json
index 19e9ef76ca0be07daca55980959a6e1e16df4d4e..273674cc5634867bb276d1e5816040862fb9b545 100644
--- a/packages/rocketchat-livechat/.app/i18n/ku.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/ku.i18n.json
@@ -37,6 +37,7 @@
   "Type_your_email": "Type email te",
   "Type_your_message": "Mesaja we",
   "Type_your_name": "navê te Type",
+  "Upload_file_question": "Pelê bar bike?",
   "User_joined": "Bikarhêner bûn",
   "User_left": "çepê Bikarhêner",
   "We_are_not_online_right_now_please_leave_a_message": "Em niha ne tenê ne. Ji kerema xwe, peyamek bistînin.",
diff --git a/packages/rocketchat-livechat/.app/i18n/lo.i18n.json b/packages/rocketchat-livechat/.app/i18n/lo.i18n.json
index d9bdbaa54c6aaf7de639480234a47a0fef263e18..0aa6ab6ec3247e3fe4fdff4c6c3bee88220b11bf 100644
--- a/packages/rocketchat-livechat/.app/i18n/lo.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/lo.i18n.json
@@ -37,6 +37,7 @@
   "Type_your_email": "ພິມອີເມວຂອງທ່ານ",
   "Type_your_message": "ພິມຂໍ້ຄວາມຂອງທ່ານ",
   "Type_your_name": "ພິມຊື່ຂອງທ່ານ",
+  "Upload_file_question": "ອັບໂຫລດເອກະສານ?",
   "User_joined": "ຜູ້ໃຊ້ເຂົ້າຮ່ວມ",
   "User_left": "ຊ້າຍ User",
   "We_are_not_online_right_now_please_leave_a_message": "ພວກເຮົາບໍ່ໄດ້ອອນໄລນ໌ໃນປັດຈຸບັນ. ກະລຸນາອອກຈາກຂໍ້ຄວາມ.",
diff --git a/packages/rocketchat-livechat/.app/i18n/lt.i18n.json b/packages/rocketchat-livechat/.app/i18n/lt.i18n.json
index 3e90459047705057d086f4dc3ae53cd9b4f4427f..6846ed7e547aae9ee34f0d9b38cb0387f0190bc5 100644
--- a/packages/rocketchat-livechat/.app/i18n/lt.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/lt.i18n.json
@@ -37,6 +37,7 @@
   "Type_your_email": "Įveskite savo el",
   "Type_your_message": "Įveskite savo pranešimą",
   "Type_your_name": "Įveskite savo vardą",
+  "Upload_file_question": "Įkelti failą?",
   "User_joined": "Vartotojas prisijungÄ—",
   "User_left": "Vartotojas paliko",
   "We_are_not_online_right_now_please_leave_a_message": "Šiuo metu mes nesame prisijungę. Prašome palikti pranešimą.",
diff --git a/packages/rocketchat-livechat/.app/i18n/lv.i18n.json b/packages/rocketchat-livechat/.app/i18n/lv.i18n.json
index d75b200b8982f18300356be5fcd1f20da550e5b8..77210585af054baefdf3e6fddc3076184b8c223e 100644
--- a/packages/rocketchat-livechat/.app/i18n/lv.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/lv.i18n.json
@@ -37,6 +37,7 @@
   "Type_your_email": "Ierakstiet savu e-pastu",
   "Type_your_message": "Ierakstiet savu ziņojumu",
   "Type_your_name": "Ierakstiet savu vārdu",
+  "Upload_file_question": "Vai augšupielādēt failu?",
   "User_joined": "Lietotājs pievienojās",
   "User_left": "Lietotājs atvienojās",
   "We_are_not_online_right_now_please_leave_a_message": "Mēs šobrīd neesam tiešsaistē. Lūdzu, atstāj ziņu.",
diff --git a/packages/rocketchat-livechat/.app/i18n/mn.i18n.json b/packages/rocketchat-livechat/.app/i18n/mn.i18n.json
index fbf761f0f8ac737e9326f090acd44b64dc44ab84..09f749fa0f1725a52dcfacaafee24743c0fb9d0a 100644
--- a/packages/rocketchat-livechat/.app/i18n/mn.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/mn.i18n.json
@@ -37,6 +37,7 @@
   "Type_your_email": "Имэйлээ оруулна уу",
   "Type_your_message": "Мессеж бичнэ үү",
   "Type_your_name": "Нэрээ оруулна уу",
+  "Upload_file_question": "Файл оруулах уу?",
   "User_joined": "Хэрэглэгчид нэгдсэн байна",
   "User_left": "Хэрэглэгчид үлдсэн",
   "We_are_not_online_right_now_please_leave_a_message": "Бид онлайнаар холбогдоогүй байна. Зурвасаа үлдээгээрэй.",
diff --git a/packages/rocketchat-livechat/.app/i18n/ms-MY.i18n.json b/packages/rocketchat-livechat/.app/i18n/ms-MY.i18n.json
index 89bd9eed1afa13700784544b304fabb632901eb9..3d6ec6fbd17438f0b8967f53f0ea8542e3d0b0ee 100644
--- a/packages/rocketchat-livechat/.app/i18n/ms-MY.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/ms-MY.i18n.json
@@ -37,6 +37,7 @@
   "Type_your_email": "Taipkan e-mel anda",
   "Type_your_message": "Taipkan mesej anda",
   "Type_your_name": "Taipkan nama anda",
+  "Upload_file_question": "Muat naik fail?",
   "User_joined": "pengguna menyertai",
   "User_left": "kiri pengguna",
   "We_are_not_online_right_now_please_leave_a_message": "Kami tidak berada dalam talian sekarang. Tolong, tinggalkan mesej.",
diff --git a/packages/rocketchat-livechat/.app/i18n/nl.i18n.json b/packages/rocketchat-livechat/.app/i18n/nl.i18n.json
index 794e3f90d0686128eedddb886c7344d1e7b1ce10..5028e20d154b6d490a63352a94ea76accc5c84f0 100644
--- a/packages/rocketchat-livechat/.app/i18n/nl.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/nl.i18n.json
@@ -37,6 +37,7 @@
   "Type_your_email": "Typ uw e-mail",
   "Type_your_message": "Typ uw bericht",
   "Type_your_name": "Type je naam",
+  "Upload_file_question": "Bestand uploaden?",
   "User_joined": "gebruiker toegetreden",
   "User_left": "gebruiker links",
   "We_are_not_online_right_now_please_leave_a_message": "We zijn nu niet online. Laat alsjeblieft een bericht achter.",
diff --git a/packages/rocketchat-livechat/.app/i18n/no.i18n.json b/packages/rocketchat-livechat/.app/i18n/no.i18n.json
index 9d2ed4d58c3ba4d79cfb06b8630e86c58907320a..b4e8ae0dcab9541623d3d5f38053d9015f52e0cd 100644
--- a/packages/rocketchat-livechat/.app/i18n/no.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/no.i18n.json
@@ -3,6 +3,7 @@
   "Appearance": "Utseende",
   "Are_you_sure_do_you_want_end_this_chat": "Er du sikker på at du vil avslutte denne samtalen?",
   "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Er du sikker på at du vil avslutte denne samtalen og bytte avdeling?",
+  "Are_you_sure_do_you_want_switch_the_department": "Er du sikker på at du vil bytte avdeling?",
   "Cancel": "Avbryt",
   "Change": "Endre",
   "Chat_ended": "Samtalen er avsluttet!",
@@ -35,8 +36,9 @@
   "Thanks_We_ll_get_back_to_you_soon": "Takk! Vi kommer snart tilbake til deg.",
   "transcript_sent": "Sending sendt",
   "Type_your_email": "Skriv inn din e-postadresse",
-  "Type_your_message": "Skriv inn din beskjed",
+  "Type_your_message": "Skriv inn din melding",
   "Type_your_name": "Skriv inn ditt navn",
+  "Upload_file_question": "Last opp fil?",
   "User_joined": "Bruker ble med",
   "User_left": "Bruker igjen",
   "We_are_not_online_right_now_please_leave_a_message": "Vi er ikke online akkurat nå. Legg igjen en beskjed.",
diff --git a/packages/rocketchat-livechat/.app/i18n/pl.i18n.json b/packages/rocketchat-livechat/.app/i18n/pl.i18n.json
index fa66586be6a3f1d6fd8ab7af242ca1dbb4ed0a27..a6c0eaca904b5fd2ea68888d98e06316c800d773 100644
--- a/packages/rocketchat-livechat/.app/i18n/pl.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/pl.i18n.json
@@ -37,6 +37,7 @@
   "Type_your_email": "Wpisz swój e-mail",
   "Type_your_message": "Wpisz wiadomość",
   "Type_your_name": "Wpisz swoje imiÄ™ i nazwisko",
+  "Upload_file_question": "Przesłać plik?",
   "User_joined": "Użytkownik dołączył",
   "User_left": "Użytkownik wyszedł",
   "We_are_not_online_right_now_please_leave_a_message": "Nie jesteśmy teraz online. Proszę zostawić wiadomość.",
diff --git a/packages/rocketchat-livechat/.app/i18n/pt-BR.i18n.json b/packages/rocketchat-livechat/.app/i18n/pt-BR.i18n.json
index b8725250ec7a60a958b0c2763fe435898eb06a06..30b6742fa4e9e6b055ff5bfac75d2302ec8ba107 100644
--- a/packages/rocketchat-livechat/.app/i18n/pt-BR.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/pt-BR.i18n.json
@@ -47,4 +47,4 @@
   "Yes": "Sim",
   "You": "Você",
   "You_must_complete_all_fields": "Você deve preencher todos os campos"
-}
+}
\ No newline at end of file
diff --git a/packages/rocketchat-livechat/.app/i18n/pt.i18n.json b/packages/rocketchat-livechat/.app/i18n/pt.i18n.json
index 0ab58a8e98ba0db01f78e9241e8899333214429d..b50021b17ad7b92b864b82dcca9f2e3f7b9c1cd5 100644
--- a/packages/rocketchat-livechat/.app/i18n/pt.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/pt.i18n.json
@@ -17,6 +17,7 @@
   "How_satisfied_were_you_with_this_chat": "Qual o seu grau de satisfação com este chat?",
   "Installation": "Instalação",
   "New_messages": "Novas mensagens",
+  "New_livechat_in_queue": "Novo chat em espera",
   "No": "Não",
   "Options": "Opções",
   "Please_answer_survey": "Por favor dispense-nos um momento para responder uma rápida pesquisa sobre este chat",
@@ -38,6 +39,7 @@
   "Type_your_email": "Digite seu e-mail",
   "Type_your_message": "Digite sua mensagem",
   "Type_your_name": "Digite seu nome",
+  "Upload_file_question": "Carregar ficheiro?",
   "User_joined": "Utilizador entrou",
   "User_left": "O utilizador saiu",
   "We_are_not_online_right_now_please_leave_a_message": "Não estamos online agora. Por favor deixe uma mensagem.",
diff --git a/packages/rocketchat-livechat/.app/i18n/ro.i18n.json b/packages/rocketchat-livechat/.app/i18n/ro.i18n.json
index 2e72a67f3cd14528bc565f05f712de13bd12c94f..e765a167d691d91f95b2c1bd3066e59a3f69d7a4 100644
--- a/packages/rocketchat-livechat/.app/i18n/ro.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/ro.i18n.json
@@ -37,6 +37,7 @@
   "Type_your_email": "Tastați un e-mail",
   "Type_your_message": "Scrie mesajul",
   "Type_your_name": "Introduceți numele dvs.",
+  "Upload_file_question": "Încarcă fișier?",
   "User_joined": "utilizator sa alăturat",
   "User_left": "stânga utilizator",
   "We_are_not_online_right_now_please_leave_a_message": "Nu suntem online chiar acum. Te rog lasa un mesaj.",
diff --git a/packages/rocketchat-livechat/.app/i18n/ru.i18n.json b/packages/rocketchat-livechat/.app/i18n/ru.i18n.json
index e592c2ac9dc79d5dbe355ad4d83254f7077bad78..819e29fbdf46e7863330c79b200d039a650b63ff 100644
--- a/packages/rocketchat-livechat/.app/i18n/ru.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/ru.i18n.json
@@ -17,6 +17,7 @@
   "How_satisfied_were_you_with_this_chat": "Насколько Вы были удовлетворены использованием этого чата?",
   "Installation": "Установка",
   "New_messages": "Новые сообщения",
+  "New_livechat_in_queue": "Новый чат в очереди",
   "No": "Нет",
   "Options": "Параметры",
   "Please_answer_survey": "Пожалуйста, уделите немного времени, чтобы ответить на несколько вопросов об этом чате",
@@ -38,6 +39,7 @@
   "Type_your_email": "Введите адрес электронной почты",
   "Type_your_message": "Введите ваше сообщение",
   "Type_your_name": "Введите ваше имя",
+  "Upload_file_question": "Загрузить файл?",
   "User_joined": "Пользователь присоединился",
   "User_left": "Пользователь вышел",
   "We_are_not_online_right_now_please_leave_a_message": "Мы сейчас не в сети. Пожалуйста, оставьте сообщение.",
diff --git a/packages/rocketchat-livechat/.app/i18n/sk-SK.i18n.json b/packages/rocketchat-livechat/.app/i18n/sk-SK.i18n.json
index 9730be2b949c38c2ab0ce6935234ae5ceda49e5c..00e2720af358d7036bd00ca867dc389b2c932dfd 100644
--- a/packages/rocketchat-livechat/.app/i18n/sk-SK.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/sk-SK.i18n.json
@@ -37,6 +37,7 @@
   "Type_your_email": "Zadajte svoj e-mail",
   "Type_your_message": "Napíšte vašu správu",
   "Type_your_name": "Zadajte svoje meno",
+  "Upload_file_question": "Nahrajte súbor?",
   "User_joined": "Používateľ sa pripojil",
   "User_left": "Používateľ odišiel",
   "We_are_not_online_right_now_please_leave_a_message": "Momentálne nie sme online. Prosíme, zanechajte správu.",
diff --git a/packages/rocketchat-livechat/.app/i18n/sl-SI.i18n.json b/packages/rocketchat-livechat/.app/i18n/sl-SI.i18n.json
index f3556531b4e6f8d53105ccb08974509de1667d1f..3f8f50286a57bdbdc9a716c3ec159b2603d83033 100644
--- a/packages/rocketchat-livechat/.app/i18n/sl-SI.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/sl-SI.i18n.json
@@ -37,6 +37,7 @@
   "Type_your_email": "Vnesite svoj elektronski naslov",
   "Type_your_message": "Vnesite svoje sporočilo",
   "Type_your_name": "Vnesite svoje ime",
+  "Upload_file_question": "Želite naložiti datoteko?",
   "User_joined": "Uporabnik se je pridružil",
   "User_left": "Uporabnik je odšel",
   "We_are_not_online_right_now_please_leave_a_message": "Trenutno nismo na spletu. Prosim pustite sporočilo.",
diff --git a/packages/rocketchat-livechat/.app/i18n/sq.i18n.json b/packages/rocketchat-livechat/.app/i18n/sq.i18n.json
index ead6d0826269aa8caa68cfe3a8e5050e3a7bcd81..65728b4a9ea67f2dbda9d7bbfcb8d68f48f9150a 100644
--- a/packages/rocketchat-livechat/.app/i18n/sq.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/sq.i18n.json
@@ -37,6 +37,7 @@
   "Type_your_email": "Lloji email-it tuaj",
   "Type_your_message": "Shkruani mesazhin tuaj",
   "Type_your_name": "Shkruani emrin tuaj",
+  "Upload_file_question": "Ngarko skedar?",
   "User_joined": "User bashkua",
   "User_left": "majtë User",
   "We_are_not_online_right_now_please_leave_a_message": "Ne nuk jemi në linjë tani. Lëreni një mesazh.",
diff --git a/packages/rocketchat-livechat/.app/i18n/sr.i18n.json b/packages/rocketchat-livechat/.app/i18n/sr.i18n.json
index fe590d88f35e80e5e9ae721ae920f6382c6701de..505f669bf270ad5d9e73b687d20fa7810e85d81e 100644
--- a/packages/rocketchat-livechat/.app/i18n/sr.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/sr.i18n.json
@@ -37,6 +37,7 @@
   "Type_your_email": "Унесите вашу емаил",
   "Type_your_message": "Унесите поруку",
   "Type_your_name": "Типе иоур наме",
+  "Upload_file_question": "Отпреми датотеку?",
   "User_joined": "Корисник се придружио",
   "User_left": "Корисник лево",
   "We_are_not_online_right_now_please_leave_a_message": "Тренутно нисмо на мрежи. Молимо оставите поруку.",
diff --git a/packages/rocketchat-livechat/.app/i18n/sv.i18n.json b/packages/rocketchat-livechat/.app/i18n/sv.i18n.json
index c93a2ee01dc70a900dfc0ae2bd97802262380c4e..606d07aeb4e84dc46f9fafabe5e96e856032fbd9 100644
--- a/packages/rocketchat-livechat/.app/i18n/sv.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/sv.i18n.json
@@ -3,6 +3,7 @@
   "Appearance": "Utseende",
   "Are_you_sure_do_you_want_end_this_chat": "Är du säker på att du vill avsluta denna chatt?",
   "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Är du säker på att du vill avsluta denna chatt och byta avdelning?",
+  "Are_you_sure_do_you_want_switch_the_department": "Är du säker på att du vill byta avdelning?",
   "Cancel": "Avbryt",
   "Change": "Ändra",
   "Chat_ended": "Chatt avslutad!",
@@ -16,6 +17,7 @@
   "How_satisfied_were_you_with_this_chat": "Hur nöjd var du med denna chatt?",
   "Installation": "Installation",
   "New_messages": "Nya meddelanden",
+  "New_livechat_in_queue": "Ny chatt i kön",
   "No": "Nej",
   "Options": "Inställningar",
   "Please_answer_survey": "Vänligen ta en stund för att svara på en snabb enkät om chatten.",
@@ -37,6 +39,7 @@
   "Type_your_email": "Skriv din e-post",
   "Type_your_message": "Skriv in ditt meddelande",
   "Type_your_name": "Skriv in ditt namn",
+  "Upload_file_question": "Ladda upp fil?",
   "User_joined": "Användare ansluten",
   "User_left": "Användare lämnade",
   "We_are_not_online_right_now_please_leave_a_message": "Vi är inte online just nu. Lämna gärna ett medelande.",
diff --git a/packages/rocketchat-livechat/.app/i18n/ta-IN.i18n.json b/packages/rocketchat-livechat/.app/i18n/ta-IN.i18n.json
index ce502122f4e820a735582184c4c24ae924bc0a84..8024d87cc39833ba29697ef57e2115e801abd9a6 100644
--- a/packages/rocketchat-livechat/.app/i18n/ta-IN.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/ta-IN.i18n.json
@@ -37,6 +37,7 @@
   "Type_your_email": "உங்கள் மின்னஞ்சல் முகவரியை உள்ளிடவும்",
   "Type_your_message": "உங்கள் செய்தியைத் தட்டச்சு",
   "Type_your_name": "உங்கள் பெயரை தட்டச்சு",
+  "Upload_file_question": "கோப்பை பதிவேற்ற?",
   "User_joined": "பயனர் சேர்ந்தார்",
   "User_left": "பயனர் இடது",
   "We_are_not_online_right_now_please_leave_a_message": "இப்போது நாங்கள் ஆன்லைனில் இல்லை. தயவுசெய்து, ஒரு செய்தியை விடு.",
diff --git a/packages/rocketchat-livechat/.app/i18n/th-TH.i18n.json b/packages/rocketchat-livechat/.app/i18n/th-TH.i18n.json
index 623072466d0934aac95ab6834b0e64b674c4954c..4815bd9dfdad844108f8962772c7e00f51b024ec 100644
--- a/packages/rocketchat-livechat/.app/i18n/th-TH.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/th-TH.i18n.json
@@ -37,6 +37,7 @@
   "Type_your_email": "พิมพ์อีเมลของคุณ",
   "Type_your_message": "พิมพ์ข้อความของคุณ",
   "Type_your_name": "พิมพ์ชื่อของคุณ",
+  "Upload_file_question": "อัปโหลดไฟล์หรือไม่?",
   "User_joined": "ผู้ใช้เข้าร่วม",
   "User_left": "เหลือผู้ใช้แล้ว",
   "We_are_not_online_right_now_please_leave_a_message": "เรายังไม่ออนไลน์ในขณะนี้ กรุณาฝากข้อความไว้",
diff --git a/packages/rocketchat-livechat/.app/i18n/tr.i18n.json b/packages/rocketchat-livechat/.app/i18n/tr.i18n.json
index 0d7e65c5cd41a8bdd37e74d2be969b8662f02d3b..69de386b7cb3afdf37fdaa9aba1db396cd924dfd 100644
--- a/packages/rocketchat-livechat/.app/i18n/tr.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/tr.i18n.json
@@ -3,6 +3,7 @@
   "Appearance": "Görünüm",
   "Are_you_sure_do_you_want_end_this_chat": "Bu sohbeti kapatmak istediÄŸinize emin misiniz?",
   "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "Bu sohbeti kapatıp bölüm değiştirmek istediğinize emin misiniz?",
+  "Are_you_sure_do_you_want_switch_the_department": "Departmanı değiştirmek istediğinden emin misin?",
   "Cancel": "Vazgeç",
   "Change": "DeÄŸiÅŸtir",
   "Chat_ended": "Sohbet bitti!",
@@ -16,6 +17,7 @@
   "How_satisfied_were_you_with_this_chat": "Bu sohbetten ne kadar memnun kaldınız?",
   "Installation": "Kurulum",
   "New_messages": "Yeni Mesajlar",
+  "New_livechat_in_queue": "Sıradaki yeni sohbet",
   "No": "Hayır",
   "Options": "Seçenekler",
   "Please_answer_survey": "Lütfen bu sohbet hakkında hızlı bir anket yapmak için bir dakikanızı ayırın",
@@ -23,7 +25,7 @@
   "Please_fill_name_and_email": "Lütfen isim ve e-posta alanlarını doldurunuz",
   "Powered_by": "Tarafından Desteklenmektedir",
   "Request_video_chat": "Görüntülü sohbet isteği gönder",
-  "Select_a_department": "Bölüm seç",
+  "Select_a_department": "Departman seç",
   "Switch_department": "Bölüm değiştir",
   "Department_switched": "Bölüm değiştirildi",
   "Send": "Gönder",
@@ -37,6 +39,7 @@
   "Type_your_email": "E-postanızı yazın",
   "Type_your_message": "Mesajınızı yazın",
   "Type_your_name": "Adınızı yazın",
+  "Upload_file_question": "Dosya yükle",
   "User_joined": "Kullanıcı katıldı",
   "User_left": "Kullanıcı ayrıldı",
   "We_are_not_online_right_now_please_leave_a_message": "Şu anda çevrimiçi değiliz. Lütfen mesaj bırakın.",
diff --git a/packages/rocketchat-livechat/.app/i18n/ug.i18n.json b/packages/rocketchat-livechat/.app/i18n/ug.i18n.json
index 039e025e842640499d6973f9e716e6261cb292a2..07d7757bd861543c0c90ab1f8fbee16676caad68 100644
--- a/packages/rocketchat-livechat/.app/i18n/ug.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/ug.i18n.json
@@ -22,6 +22,7 @@
   "Type_your_email": "ئىلخەت ئادرېسىڭىزنى تولدۇرۇڭ .",
   "Type_your_message": "قالدۇرماقچى بولغان سۆزىڭىزنى تولدۇرۇڭ",
   "Type_your_name": " ئىسىم-فامىلىڭىزنى قالدۇرۇڭ.",
+  "Upload_file_question": "ھۆججەتنى چىقىرىش؟",
   "User_joined": "ئەزا ئاللىبۇرۇن قېتىلدى",
   "User_left": "ئەزا ئاللىبۇرۇن ئايرىلدى",
   "We_are_offline_Sorry_for_the_inconvenience": "ھازىر توردا ئادەم يوق ، قولايسىزلىق ئېلىپ كېلىنگەن بولسا چۈشۈنۈشۈڭىزنى ئۈمىد قىلىمىز .",
diff --git a/packages/rocketchat-livechat/.app/i18n/uk.i18n.json b/packages/rocketchat-livechat/.app/i18n/uk.i18n.json
index cf206030817c1df1d493468eafa12639de6e389c..0d715f413655021e179f7f701c24176b87817abe 100644
--- a/packages/rocketchat-livechat/.app/i18n/uk.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/uk.i18n.json
@@ -37,6 +37,7 @@
   "Type_your_email": "Введіть адресу електронної пошти",
   "Type_your_message": "текст повідомлення",
   "Type_your_name": "Введіть ваше ім'я",
+  "Upload_file_question": "Завантажити файл?",
   "User_joined": "Користувач приєднався",
   "User_left": "Користувач вийшов",
   "We_are_not_online_right_now_please_leave_a_message": "Ми зараз не в мережі. Будь ласка, залиште повідомлення.",
diff --git a/packages/rocketchat-livechat/.app/i18n/vi-VN.i18n.json b/packages/rocketchat-livechat/.app/i18n/vi-VN.i18n.json
index 50ac13e80a728b06b7ce36ad5e5a4ba2420496d3..6638daab7c615b394b0e3acd5435baa43c820b04 100644
--- a/packages/rocketchat-livechat/.app/i18n/vi-VN.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/vi-VN.i18n.json
@@ -37,6 +37,7 @@
   "Type_your_email": "Nhập email của bạn",
   "Type_your_message": "Nhập tin nhắn của bạn",
   "Type_your_name": "Gõ tên của bạn",
+  "Upload_file_question": "Cập nhật dử liệu?",
   "User_joined": "Người dùng tham gia",
   "User_left": "Người dùng còn lại",
   "We_are_not_online_right_now_please_leave_a_message": "Chúng tôi không trực tuyến ngay bây giờ. Xin vui lòng, để lại tin nhắn.",
diff --git a/packages/rocketchat-livechat/.app/i18n/zh-HK.i18n.json b/packages/rocketchat-livechat/.app/i18n/zh-HK.i18n.json
index 66ee42ca03ac9524decef5cf78e7f8232f162f25..07797b918fa9c90f4ad75fe87f02a8f89961cacb 100644
--- a/packages/rocketchat-livechat/.app/i18n/zh-HK.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/zh-HK.i18n.json
@@ -37,6 +37,7 @@
   "Type_your_email": "输入你的邮箱",
   "Type_your_message": "输入你的讯息",
   "Type_your_name": "输入你的名字",
+  "Upload_file_question": "上传文件?",
   "User_joined": "用户加入",
   "User_left": "用户离开了",
   "We_are_not_online_right_now_please_leave_a_message": "我们现在不在线。请留言。",
diff --git a/packages/rocketchat-livechat/.app/i18n/zh-TW.i18n.json b/packages/rocketchat-livechat/.app/i18n/zh-TW.i18n.json
index 55de5d7fdb3a4e8192f8f0da520b03cf8792880b..2551b991492a6801f2da0d52463a013322cf7cb4 100644
--- a/packages/rocketchat-livechat/.app/i18n/zh-TW.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/zh-TW.i18n.json
@@ -37,6 +37,7 @@
   "Type_your_email": "鍵入您的電子郵件",
   "Type_your_message": "輸入您的留言",
   "Type_your_name": "輸入您的姓名",
+  "Upload_file_question": "是否上傳檔案?",
   "User_joined": "使用者已加入",
   "User_left": "使用者已離開",
   "We_are_not_online_right_now_please_leave_a_message": "我們現在不在線。請留言。",
diff --git a/packages/rocketchat-livechat/.app/i18n/zh.i18n.json b/packages/rocketchat-livechat/.app/i18n/zh.i18n.json
index d5a7c7041e1bcb38f7ca325f9c4c9339dba12878..02b0a96a8dc056c8f74e4deb7d616a043dcd45c9 100644
--- a/packages/rocketchat-livechat/.app/i18n/zh.i18n.json
+++ b/packages/rocketchat-livechat/.app/i18n/zh.i18n.json
@@ -3,6 +3,7 @@
   "Appearance": "外观",
   "Are_you_sure_do_you_want_end_this_chat": "你确定要结束这个聊天?",
   "Are_you_sure_do_you_want_end_this_chat_and_switch_department": "你确定你要结束这个聊天并且切换部门?",
+  "Are_you_sure_do_you_want_switch_the_department": "你确定要切换部门吗?",
   "Cancel": "取消",
   "Change": "改变",
   "Chat_ended": "对话已结束!",
@@ -16,6 +17,7 @@
   "How_satisfied_were_you_with_this_chat": "您对这次聊天是否满意?",
   "Installation": "安装",
   "New_messages": "新消息",
+  "New_livechat_in_queue": "队列中新聊天",
   "No": "否",
   "Options": "选项",
   "Please_answer_survey": "请花几分钟来反馈这次交谈的体验",
@@ -37,6 +39,7 @@
   "Type_your_email": "输入您的电子邮箱地址",
   "Type_your_message": "输入您的消息",
   "Type_your_name": "输入您的姓名",
+  "Upload_file_question": "上传文件?",
   "User_joined": "用户已加入",
   "User_left": "用户已离开",
   "We_are_not_online_right_now_please_leave_a_message": "我们现在不在线。请留言。",
diff --git a/packages/rocketchat-livechat/.app/imports/client/visitor.js b/packages/rocketchat-livechat/.app/imports/client/visitor.js
index 9fadbeb79591c5705d895f5b28b37034b5738fc3..545036f45546dffc95588a2058548a218a67de68 100644
--- a/packages/rocketchat-livechat/.app/imports/client/visitor.js
+++ b/packages/rocketchat-livechat/.app/imports/client/visitor.js
@@ -1,4 +1,9 @@
 /* globals Commands, Livechat, UserPresence */
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Random } from 'meteor/random';
+import { Session } from 'meteor/session';
+
 const msgStream = new Meteor.Streamer('room-messages');
 
 export default {
diff --git a/packages/rocketchat-livechat/.app/package-lock.json b/packages/rocketchat-livechat/.app/package-lock.json
index bbfd1e1275a2fa260d69ddbacbc4abbc44a49a1a..0aae3086fea0dc6e914e51c1afb1267d270de3ac 100644
--- a/packages/rocketchat-livechat/.app/package-lock.json
+++ b/packages/rocketchat-livechat/.app/package-lock.json
@@ -5,18 +5,17 @@
   "requires": true,
   "dependencies": {
     "@babel/runtime": {
-      "version": "7.0.0-beta.52",
-      "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.52.tgz",
-      "integrity": "sha1-PztCuCuStOGig/x43xuy/Uuo0Mc=",
+      "version": "7.1.2",
+      "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.1.2.tgz",
+      "integrity": "sha512-Y3SCjmhSupzFB6wcv1KmmFucH6gDVnI30WjOcicV10ju0cZjak3Jcs67YLIXBrmZYw1xCrVeJPbycFwrqNyxpg==",
       "requires": {
-        "core-js": "2.5.7",
-        "regenerator-runtime": "0.12.0"
+        "regenerator-runtime": "0.12.1"
       }
     },
     "autolinker": {
-      "version": "1.6.2",
-      "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-1.6.2.tgz",
-      "integrity": "sha512-IKLGtYFb3jzGTtgCpb4bm//1sXmmmgmr0msKshhYoc7EsWmLCFvuyxLcEIfcZ5gbCgZGXrnXkOkcBblOFEnlog=="
+      "version": "1.7.1",
+      "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-1.7.1.tgz",
+      "integrity": "sha512-Yehe/Nui7GJBul5E1gmF1d0pL+wux40Bcuh9PzUzBHArH1qQgTYO8Jwdjb0Oomg2cuJ+6OrSGcUteMYMRt0GOQ=="
     },
     "balanced-match": {
       "version": "1.0.0",
@@ -1235,9 +1234,9 @@
       }
     },
     "mime-db": {
-      "version": "1.35.0",
-      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz",
-      "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg=="
+      "version": "1.37.0",
+      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz",
+      "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg=="
     },
     "mime-type": {
       "version": "3.0.5",
@@ -1279,9 +1278,9 @@
       }
     },
     "regenerator-runtime": {
-      "version": "0.12.0",
-      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.0.tgz",
-      "integrity": "sha512-SpV2LhF5Dm9UYMEprB3WwsBnWwqTrmjrm2UZb42cl2G02WVGgx7Mg8aa9pdLEKp6hZ+/abcMc2NxKA8f02EG2w=="
+      "version": "0.12.1",
+      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz",
+      "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg=="
     },
     "sprintf-js": {
       "version": "1.1.1",
@@ -1289,9 +1288,9 @@
       "integrity": "sha1-Nr54Mgr+WAH2zqPueLblqrlA6gw="
     },
     "sweetalert2": {
-      "version": "7.25.0",
-      "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-7.25.0.tgz",
-      "integrity": "sha512-RwwhSnnLnTWYug/a7rDV6yWee/E6s13c2qkn61Flw6/ZUauIxcbKXz1bTdb/LBzykumI+bjwsJCLgEaFq6t6WA=="
+      "version": "7.28.11",
+      "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-7.28.11.tgz",
+      "integrity": "sha512-092ZTfHz45ZdH5wADNsfvSHG93Mn+QRc4vV96fIMECaeW38B7Fm77F7/cWO8Fwr8NaOHbzXDhsgTirMHcsnBAA=="
     },
     "toastr": {
       "version": "2.1.4",
@@ -1307,9 +1306,9 @@
       "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg=="
     },
     "underscore.string": {
-      "version": "3.3.4",
-      "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.4.tgz",
-      "integrity": "sha1-LCo/n4PmR2L9xF5s6sZRQoZCE9s=",
+      "version": "3.3.5",
+      "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.5.tgz",
+      "integrity": "sha512-g+dpmgn+XBneLmXXo+sGlW5xQEt4ErkS3mgeN2GFbremYeMBSJKr9Wf2KJplQVaiPY/f7FN6atosWYNm9ovrYg==",
       "requires": {
         "sprintf-js": "1.1.1",
         "util-deprecate": "1.0.2"
diff --git a/packages/rocketchat-livechat/.app/package.json b/packages/rocketchat-livechat/.app/package.json
index 0424c243cbe29f43ebd424129b73fddfa431df38..4376f1ffe9ac53114a95fe544a1257c9d0c5f849 100644
--- a/packages/rocketchat-livechat/.app/package.json
+++ b/packages/rocketchat-livechat/.app/package.json
@@ -20,18 +20,18 @@
     "email": "support@rocket.chat"
   },
   "dependencies": {
-    "@babel/runtime": "^7.0.0-beta.49",
-    "autolinker": "^1.6.2",
+    "@babel/runtime": "^7.1.2",
+    "autolinker": "^1.7.1",
     "bcrypt": "^2.0.1",
     "core-js": "^2.5.7",
     "jquery": "^3.3.1",
     "meteor-node-stubs": "^0.3.3",
-    "mime-db": "^1.34.0",
+    "mime-db": "^1.37.0",
     "mime-type": "^3.0.5",
     "moment": "^2.22.2",
-    "sweetalert2": "^7.24.4",
+    "sweetalert2": "^7.28.11",
     "toastr": "^2.1.4",
     "underscore": "^1.9.1",
-    "underscore.string": "^3.3.4"
+    "underscore.string": "^3.3.5"
   }
 }
diff --git a/packages/rocketchat-livechat/assets/rocket-livechat.js b/packages/rocketchat-livechat/assets/rocket-livechat.js
index fb4c58b3ed25bcfa6e651b6a7581b6c412e7bd9e..6d61b917dabb2057cf8f4870530406bd4c816de1 100644
--- a/packages/rocketchat-livechat/assets/rocket-livechat.js
+++ b/packages/rocketchat-livechat/assets/rocket-livechat.js
@@ -540,6 +540,8 @@
 
 		widget.dataset.state = 'closed';
 		widget.style.height = widgetHeightClosed;
+		widget.style.right = '50px';
+		widget.style.bottom = '0px';
 		callHook('widgetClosed');
 
 		emitCallback('chat-minimized');
@@ -581,6 +583,33 @@
 				closeWidget();
 			}
 		},
+		restoreWindow: function() {
+			if (widget.dataset.state === 'closed') {
+				openWidget();
+			}
+		},
+		startDragWindow: function(offset) {
+			if (widget.dataset.state !== 'opened') {
+				return;
+			}
+			this.dragOffset = offset;
+		},
+		stopDragWindow: function() {
+			if (widget.dataset.state !== 'opened') {
+				return;
+			}
+			this.dragOffset = null;
+		},
+		dragWindow: function(displacement) {
+			if (!this.dragOffset) {
+				return;
+			}
+
+			const right = parseInt(widget.style.right.replace(/px$/, ''), 10);
+			const bottom = parseInt(widget.style.bottom.replace(/px$/, ''), 10);
+			widget.style.right = (right - (displacement.x - this.dragOffset.x)) + 'px';
+			widget.style.bottom = (bottom - (displacement.y - this.dragOffset.y)) + 'px';
+		},
 		openPopout: function() {
 			closeWidget();
 			var popup = window.open(config.url + '?mode=popout', 'livechat-popout', 'width=400, height=450, toolbars=no');
diff --git a/packages/rocketchat-livechat/client/collections/AgentUsers.js b/packages/rocketchat-livechat/client/collections/AgentUsers.js
index e571fad61d2b47890c451156e30a86abce926e07..c5b9b7d6f60c0b613f6f2c7c12707f86814ae484 100644
--- a/packages/rocketchat-livechat/client/collections/AgentUsers.js
+++ b/packages/rocketchat-livechat/client/collections/AgentUsers.js
@@ -1 +1,3 @@
+import { Mongo } from 'meteor/mongo';
+
 this.AgentUsers = new Mongo.Collection('agentUsers');
diff --git a/packages/rocketchat-livechat/client/collections/LivechatCustomField.js b/packages/rocketchat-livechat/client/collections/LivechatCustomField.js
index 050c6f4cbafad9618e2bf08a2a4c3570b877a1c5..c7252cb4e30eab9af5c6ded797b22686cd727c80 100644
--- a/packages/rocketchat-livechat/client/collections/LivechatCustomField.js
+++ b/packages/rocketchat-livechat/client/collections/LivechatCustomField.js
@@ -1 +1,3 @@
+import { Mongo } from 'meteor/mongo';
+
 this.LivechatCustomField = new Mongo.Collection('rocketchat_livechat_custom_field');
diff --git a/packages/rocketchat-livechat/client/collections/LivechatDepartment.js b/packages/rocketchat-livechat/client/collections/LivechatDepartment.js
index 3a8d17776056c1d283a8adac53ce10f39f0cfdd0..c046403664d23e7c7461263881b89004a7616c96 100644
--- a/packages/rocketchat-livechat/client/collections/LivechatDepartment.js
+++ b/packages/rocketchat-livechat/client/collections/LivechatDepartment.js
@@ -1 +1,3 @@
+import { Mongo } from 'meteor/mongo';
+
 this.LivechatDepartment = new Mongo.Collection('rocketchat_livechat_department');
diff --git a/packages/rocketchat-livechat/client/collections/LivechatDepartmentAgents.js b/packages/rocketchat-livechat/client/collections/LivechatDepartmentAgents.js
index 08ea1741134bb6e9997d804c392ef8898f4dffc3..fb285079268ca6c2e4d9f653d96cb5aea101111f 100644
--- a/packages/rocketchat-livechat/client/collections/LivechatDepartmentAgents.js
+++ b/packages/rocketchat-livechat/client/collections/LivechatDepartmentAgents.js
@@ -1 +1,3 @@
+import { Mongo } from 'meteor/mongo';
+
 this.LivechatDepartmentAgents = new Mongo.Collection('rocketchat_livechat_department_agents');
diff --git a/packages/rocketchat-livechat/client/collections/LivechatInquiry.js b/packages/rocketchat-livechat/client/collections/LivechatInquiry.js
index 9bfd938f2dbc81c971e4705776fcf8bc1088c615..82d7d36eafcb2ec530ecbe05f5ea519c3eff24a4 100644
--- a/packages/rocketchat-livechat/client/collections/LivechatInquiry.js
+++ b/packages/rocketchat-livechat/client/collections/LivechatInquiry.js
@@ -1 +1,3 @@
+import { Mongo } from 'meteor/mongo';
+
 this.LivechatInquiry = new Mongo.Collection('rocketchat_livechat_inquiry');
diff --git a/packages/rocketchat-livechat/client/collections/LivechatIntegration.js b/packages/rocketchat-livechat/client/collections/LivechatIntegration.js
index c52fa0010666d6284f8f5e093a55c58214a58a7a..de6fb62245589291532958100c64ec83c28db34d 100644
--- a/packages/rocketchat-livechat/client/collections/LivechatIntegration.js
+++ b/packages/rocketchat-livechat/client/collections/LivechatIntegration.js
@@ -1 +1,3 @@
+import { Mongo } from 'meteor/mongo';
+
 this.LivechatIntegration = new Mongo.Collection('livechatIntegration');
diff --git a/packages/rocketchat-livechat/client/collections/LivechatMonitoring.js b/packages/rocketchat-livechat/client/collections/LivechatMonitoring.js
index e86134dee85abeb4b59ccbf2319fd3abf44ec6fc..b028b208083caf6fc6bbd50f3c2749127cade956 100644
--- a/packages/rocketchat-livechat/client/collections/LivechatMonitoring.js
+++ b/packages/rocketchat-livechat/client/collections/LivechatMonitoring.js
@@ -1 +1,3 @@
+import { Mongo } from 'meteor/mongo';
+
 this.LivechatMonitoring = new Mongo.Collection('livechatMonitoring');
diff --git a/packages/rocketchat-livechat/client/collections/LivechatPageVisited.js b/packages/rocketchat-livechat/client/collections/LivechatPageVisited.js
index f2f4fc2a60d79e222f5546b3bfe824eaa6500a53..86a18ae8985151f069ffbbb12c5bdffb1ff7eab1 100644
--- a/packages/rocketchat-livechat/client/collections/LivechatPageVisited.js
+++ b/packages/rocketchat-livechat/client/collections/LivechatPageVisited.js
@@ -1 +1,3 @@
+import { Mongo } from 'meteor/mongo';
+
 this.LivechatPageVisited = new Mongo.Collection('rocketchat_livechat_page_visited');
diff --git a/packages/rocketchat-livechat/client/collections/LivechatQueueUser.js b/packages/rocketchat-livechat/client/collections/LivechatQueueUser.js
index f615f812c8f68aa0044b74fa2fa6b972494929ae..da2cc2896ade810a0a582c1a1207d6355b407c9c 100644
--- a/packages/rocketchat-livechat/client/collections/LivechatQueueUser.js
+++ b/packages/rocketchat-livechat/client/collections/LivechatQueueUser.js
@@ -1 +1,3 @@
+import { Mongo } from 'meteor/mongo';
+
 this.LivechatQueueUser = new Mongo.Collection('livechatQueueUser');
diff --git a/packages/rocketchat-livechat/client/collections/LivechatTrigger.js b/packages/rocketchat-livechat/client/collections/LivechatTrigger.js
index 8cca1caa586df3eea16cb87a42fa29d6d4a65e5e..4cc6118b60afc407cfff4503b8e9464d6655a3b9 100644
--- a/packages/rocketchat-livechat/client/collections/LivechatTrigger.js
+++ b/packages/rocketchat-livechat/client/collections/LivechatTrigger.js
@@ -1 +1,3 @@
+import { Mongo } from 'meteor/mongo';
+
 this.LivechatTrigger = new Mongo.Collection('rocketchat_livechat_trigger');
diff --git a/packages/rocketchat-livechat/client/collections/LivechatVisitor.js b/packages/rocketchat-livechat/client/collections/LivechatVisitor.js
index e2b44ef3f14fa4ea7eb2d9fb875cbaa0d0024e26..8a5adb6a31cc7c8f1bae5a124f86bcd9d9ed54b0 100644
--- a/packages/rocketchat-livechat/client/collections/LivechatVisitor.js
+++ b/packages/rocketchat-livechat/client/collections/LivechatVisitor.js
@@ -1 +1,3 @@
+import { Mongo } from 'meteor/mongo';
+
 this.LivechatVisitor = new Mongo.Collection('rocketchat_livechat_visitor');
diff --git a/packages/rocketchat-livechat/client/collections/livechatOfficeHour.js b/packages/rocketchat-livechat/client/collections/livechatOfficeHour.js
index 0cb4a81530eebc2b01d86c3daf93573f47a71c1d..44948375e44e5fac04409cb2eacaee3154aca9dd 100644
--- a/packages/rocketchat-livechat/client/collections/livechatOfficeHour.js
+++ b/packages/rocketchat-livechat/client/collections/livechatOfficeHour.js
@@ -1 +1,3 @@
+import { Mongo } from 'meteor/mongo';
+
 this.LivechatOfficeHour = new Mongo.Collection('rocketchat_livechat_office_hour');
diff --git a/packages/rocketchat-livechat/client/lib/chartHandler.js b/packages/rocketchat-livechat/client/lib/chartHandler.js
index 657f6077f79b0fa8653920f71ef25efdb55dd590..14550f2e48cd1715ba97901d96978b9ead311aae 100644
--- a/packages/rocketchat-livechat/client/lib/chartHandler.js
+++ b/packages/rocketchat-livechat/client/lib/chartHandler.js
@@ -1,4 +1,5 @@
 import Chart from 'chart.js/src/chart.js';
+import { TAPi18n } from 'meteor/tap:i18n';
 
 const lineChartConfiguration = ({ legends = false, anim = false, smallTicks = false }) => {
 	const config = {
diff --git a/packages/rocketchat-livechat/client/methods/changeLivechatStatus.js b/packages/rocketchat-livechat/client/methods/changeLivechatStatus.js
index 3a996a3cf491c64423afcfa58745c83413af4c3a..d98d97ca9038aae3cc0e57c2f87cd74ae73c7e11 100644
--- a/packages/rocketchat-livechat/client/methods/changeLivechatStatus.js
+++ b/packages/rocketchat-livechat/client/methods/changeLivechatStatus.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	'livechat:changeLivechatStatus'() {
 		if (!Meteor.userId()) {
diff --git a/packages/rocketchat-livechat/client/route.js b/packages/rocketchat-livechat/client/route.js
index 35c41475945ed7fd0b35a7834c55cac5938d5c4f..f0a32e8c51ad3c1d994bf31a57e19f57a83a91c4 100644
--- a/packages/rocketchat-livechat/client/route.js
+++ b/packages/rocketchat-livechat/client/route.js
@@ -1,3 +1,5 @@
+import { FlowRouter } from 'meteor/kadira:flow-router';
+
 livechatManagerRoutes = FlowRouter.group({
 	prefix: '/livechat-manager',
 	name: 'livechat-manager',
diff --git a/packages/rocketchat-livechat/client/startup/notifyUnreadRooms.js b/packages/rocketchat-livechat/client/startup/notifyUnreadRooms.js
index a95652f33f0d3227859b1c59a037416f7c6f12e5..dada344aa3f609971ce7ae9043b3ca9dfb71317a 100644
--- a/packages/rocketchat-livechat/client/startup/notifyUnreadRooms.js
+++ b/packages/rocketchat-livechat/client/startup/notifyUnreadRooms.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
+
 let audio = null;
 
 const stop = (audio) => {
diff --git a/packages/rocketchat-livechat/client/views/app/analytics/livechatAnalytics.js b/packages/rocketchat-livechat/client/views/app/analytics/livechatAnalytics.js
index 89e2c4932973c1976ef9ac97e91e91e96df672bf..7f534af0d56e917136cba43e6c321e91072c613d 100644
--- a/packages/rocketchat-livechat/client/views/app/analytics/livechatAnalytics.js
+++ b/packages/rocketchat-livechat/client/views/app/analytics/livechatAnalytics.js
@@ -1,4 +1,8 @@
 /* globals popover */
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Tracker } from 'meteor/tracker';
+import { Template } from 'meteor/templating';
 
 import moment from 'moment';
 import { drawLineChart } from '../../../lib/chartHandler';
diff --git a/packages/rocketchat-livechat/client/views/app/analytics/livechatAnalyticsCustomDaterange.js b/packages/rocketchat-livechat/client/views/app/analytics/livechatAnalyticsCustomDaterange.js
index 12e9f4f995674be3d9c8bd88bd104aa05384cf11..f904ef5db7455573d01bc5c22237aea992c32137 100644
--- a/packages/rocketchat-livechat/client/views/app/analytics/livechatAnalyticsCustomDaterange.js
+++ b/packages/rocketchat-livechat/client/views/app/analytics/livechatAnalyticsCustomDaterange.js
@@ -1,5 +1,5 @@
 /* globals popover */
-
+import { Template } from 'meteor/templating';
 import moment from 'moment';
 import { setDateRange } from '../../../lib/dateHandler';
 
diff --git a/packages/rocketchat-livechat/client/views/app/analytics/livechatAnalyticsDaterange.js b/packages/rocketchat-livechat/client/views/app/analytics/livechatAnalyticsDaterange.js
index d551d62d16d2a612006d879055885616164659cc..d18e5a05572edae22b98b118c99b822f470398df 100644
--- a/packages/rocketchat-livechat/client/views/app/analytics/livechatAnalyticsDaterange.js
+++ b/packages/rocketchat-livechat/client/views/app/analytics/livechatAnalyticsDaterange.js
@@ -1,5 +1,5 @@
 /* globals popover */
-
+import { Template } from 'meteor/templating';
 import moment from 'moment';
 import { setDateRange } from '../../../lib/dateHandler';
 
diff --git a/packages/rocketchat-livechat/client/views/app/analytics/livechatRealTimeMonitoring.js b/packages/rocketchat-livechat/client/views/app/analytics/livechatRealTimeMonitoring.js
index 2029c19f14a9530b2822c9c3c63db53a61bdd1c7..a1e02fd97feabf16b153a9e021e9a6396df1c77c 100644
--- a/packages/rocketchat-livechat/client/views/app/analytics/livechatRealTimeMonitoring.js
+++ b/packages/rocketchat-livechat/client/views/app/analytics/livechatRealTimeMonitoring.js
@@ -1,4 +1,7 @@
+import { Mongo } from 'meteor/mongo';
+import { Template } from 'meteor/templating';
 import moment from 'moment';
+import { ReactiveVar } from 'meteor/reactive-var';
 import { drawLineChart, drawDoughnutChart, updateChart } from '../../../lib/chartHandler';
 import { getTimingsChartData, getAgentStatusData, getConversationsOverviewData, getTimingsOverviewData } from '../../../lib/dataHandler';
 
diff --git a/packages/rocketchat-livechat/client/views/app/integrations/livechatIntegrationFacebook.js b/packages/rocketchat-livechat/client/views/app/integrations/livechatIntegrationFacebook.js
index 3d200e1e114ceccc1f878bacd84a9fdd32db753e..d25a5ae524ba24cefaa9b4d5704c1f6426a81e43 100644
--- a/packages/rocketchat-livechat/client/views/app/integrations/livechatIntegrationFacebook.js
+++ b/packages/rocketchat-livechat/client/views/app/integrations/livechatIntegrationFacebook.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Template } from 'meteor/templating';
+
 Template.livechatIntegrationFacebook.helpers({
 	pages() {
 		return Template.instance().pages.get();
diff --git a/packages/rocketchat-livechat/client/views/app/integrations/livechatIntegrationWebhook.js b/packages/rocketchat-livechat/client/views/app/integrations/livechatIntegrationWebhook.js
index 083989ce684fb5db6ed646add70b34a3a1de5923..db3fc1f14524a5e5f29055063fad0bbf6dcdcb98 100644
--- a/packages/rocketchat-livechat/client/views/app/integrations/livechatIntegrationWebhook.js
+++ b/packages/rocketchat-livechat/client/views/app/integrations/livechatIntegrationWebhook.js
@@ -1,4 +1,7 @@
 /* globals LivechatIntegration */
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Template } from 'meteor/templating';
 import _ from 'underscore';
 import s from 'underscore.string';
 import toastr from 'toastr';
diff --git a/packages/rocketchat-livechat/client/views/app/livechatAppearance.js b/packages/rocketchat-livechat/client/views/app/livechatAppearance.js
index 2776756385bdaa3e610081b061ea006834ded764..76e6b6108eeb37c52c5b00bcaf5e4b053ceace2b 100644
--- a/packages/rocketchat-livechat/client/views/app/livechatAppearance.js
+++ b/packages/rocketchat-livechat/client/views/app/livechatAppearance.js
@@ -1,5 +1,10 @@
 /* globals jscolor*/
 /* eslint new-cap: ["error", { "newIsCapExceptions": ["jscolor"] }]*/
+import { Meteor } from 'meteor/meteor';
+import { Mongo } from 'meteor/mongo';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Random } from 'meteor/random';
+import { Template } from 'meteor/templating';
 import s from 'underscore.string';
 import moment from 'moment';
 import toastr from 'toastr';
diff --git a/packages/rocketchat-livechat/client/views/app/livechatCurrentChats.js b/packages/rocketchat-livechat/client/views/app/livechatCurrentChats.js
index 8ef4e34a68255450fb4791e491ea62d7e8703379..57bf67d90715c8af7871a2de9187eed8274be315 100644
--- a/packages/rocketchat-livechat/client/views/app/livechatCurrentChats.js
+++ b/packages/rocketchat-livechat/client/views/app/livechatCurrentChats.js
@@ -1,3 +1,8 @@
+import { Meteor } from 'meteor/meteor';
+import { Mongo } from 'meteor/mongo';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
 import _ from 'underscore';
 import moment from 'moment';
 
diff --git a/packages/rocketchat-livechat/client/views/app/livechatCustomFieldForm.js b/packages/rocketchat-livechat/client/views/app/livechatCustomFieldForm.js
index bf5bbf6122c4d0dda47e7b85b8c71ea9aa0de2dc..e5182a0a621934b1bebecc1727396fb741f1647e 100644
--- a/packages/rocketchat-livechat/client/views/app/livechatCustomFieldForm.js
+++ b/packages/rocketchat-livechat/client/views/app/livechatCustomFieldForm.js
@@ -1,4 +1,9 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
 import toastr from 'toastr';
+
 Template.livechatCustomFieldForm.helpers({
 	customField() {
 		return Template.instance().customField.get();
diff --git a/packages/rocketchat-livechat/client/views/app/livechatCustomFields.js b/packages/rocketchat-livechat/client/views/app/livechatCustomFields.js
index c94c5404d77fb17fef5eabaea39cc04242c164ca..ba1fba1727c7be2b863330fb7f0b568fdcb8b047 100644
--- a/packages/rocketchat-livechat/client/views/app/livechatCustomFields.js
+++ b/packages/rocketchat-livechat/client/views/app/livechatCustomFields.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
+
 Template.livechatCustomFields.helpers({
 	customFields() {
 		return LivechatCustomField.find();
diff --git a/packages/rocketchat-livechat/client/views/app/livechatDepartmentForm.js b/packages/rocketchat-livechat/client/views/app/livechatDepartmentForm.js
index 3a1b29591c492835b1ea5695c402ad9f4e1261d4..b6c202e745339be461a2ba9535db087d1ead3b48 100644
--- a/packages/rocketchat-livechat/client/views/app/livechatDepartmentForm.js
+++ b/packages/rocketchat-livechat/client/views/app/livechatDepartmentForm.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
 import _ from 'underscore';
 import toastr from 'toastr';
 
diff --git a/packages/rocketchat-livechat/client/views/app/livechatDepartments.js b/packages/rocketchat-livechat/client/views/app/livechatDepartments.js
index ef41de06a7290b1613c043e0e2161c20091443c9..ddb32c2f8c07a222de3d6336bbe3c9529dd4f61b 100644
--- a/packages/rocketchat-livechat/client/views/app/livechatDepartments.js
+++ b/packages/rocketchat-livechat/client/views/app/livechatDepartments.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
+
 Template.livechatDepartments.helpers({
 	departments() {
 		return LivechatDepartment.find();
diff --git a/packages/rocketchat-livechat/client/views/app/livechatInstallation.js b/packages/rocketchat-livechat/client/views/app/livechatInstallation.js
index 71e9a0efa3bcbf4bc1975797c44a708accd84478..0392b4c56b66d726d371e799eb4172872575772b 100644
--- a/packages/rocketchat-livechat/client/views/app/livechatInstallation.js
+++ b/packages/rocketchat-livechat/client/views/app/livechatInstallation.js
@@ -1,3 +1,4 @@
+import { Template } from 'meteor/templating';
 import s from 'underscore.string';
 
 Template.livechatInstallation.helpers({
diff --git a/packages/rocketchat-livechat/client/views/app/livechatOfficeHours.js b/packages/rocketchat-livechat/client/views/app/livechatOfficeHours.js
index 08d45cb4f50d4129d126cfeb0fab2a7cb080ff91..f97272ce9177092a6e51bf5d3d492ac18dbfa2e5 100644
--- a/packages/rocketchat-livechat/client/views/app/livechatOfficeHours.js
+++ b/packages/rocketchat-livechat/client/views/app/livechatOfficeHours.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
 import toastr from 'toastr';
 /* globals LivechatOfficeHour */
 import moment from 'moment';
diff --git a/packages/rocketchat-livechat/client/views/app/livechatQueue.js b/packages/rocketchat-livechat/client/views/app/livechatQueue.js
index c5fb695f6f7e7c2182118a153f1e8ec4e5b2e7ba..4ee081e7126c4e6d294ca18f5408bebba991138f 100644
--- a/packages/rocketchat-livechat/client/views/app/livechatQueue.js
+++ b/packages/rocketchat-livechat/client/views/app/livechatQueue.js
@@ -1,4 +1,7 @@
 /* globals LivechatQueueUser */
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Template } from 'meteor/templating';
 
 Template.livechatQueue.helpers({
 	departments() {
diff --git a/packages/rocketchat-livechat/client/views/app/livechatTriggers.js b/packages/rocketchat-livechat/client/views/app/livechatTriggers.js
index 63e67f12feda1d2d6c592717a9e9f226dd84d756..731ee19c6894cfd0af9cfd029642c7dc82aef410 100644
--- a/packages/rocketchat-livechat/client/views/app/livechatTriggers.js
+++ b/packages/rocketchat-livechat/client/views/app/livechatTriggers.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
+
 Template.livechatTriggers.helpers({
 	triggers() {
 		return LivechatTrigger.find();
diff --git a/packages/rocketchat-livechat/client/views/app/livechatTriggersForm.js b/packages/rocketchat-livechat/client/views/app/livechatTriggersForm.js
index 595365f20c2e2c1050b10c45854d1ae92252be84..45beac6c6a10e69fd030816f2b31cbd672545063 100644
--- a/packages/rocketchat-livechat/client/views/app/livechatTriggersForm.js
+++ b/packages/rocketchat-livechat/client/views/app/livechatTriggersForm.js
@@ -1,4 +1,8 @@
+import { Meteor } from 'meteor/meteor';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
 import toastr from 'toastr';
+
 Template.livechatTriggersForm.helpers({
 	name() {
 		const trigger = LivechatTrigger.findOne(FlowRouter.getParam('_id'));
diff --git a/packages/rocketchat-livechat/client/views/app/livechatUsers.js b/packages/rocketchat-livechat/client/views/app/livechatUsers.js
index 0918f5cf21836de86dc4da906ee47c036e96d892..f523bafafea79c80c80087488b458c952fe9dddb 100644
--- a/packages/rocketchat-livechat/client/views/app/livechatUsers.js
+++ b/packages/rocketchat-livechat/client/views/app/livechatUsers.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Mongo } from 'meteor/mongo';
+import { Template } from 'meteor/templating';
 import _ from 'underscore';
 import toastr from 'toastr';
 let ManagerUsers;
diff --git a/packages/rocketchat-livechat/client/views/app/tabbar/externalSearch.js b/packages/rocketchat-livechat/client/views/app/tabbar/externalSearch.js
index 259a0cf06fb11fe8784718bbafc5b4f978d5a0f5..6d4a403a9664a0386c668db072d155688fff9871 100644
--- a/packages/rocketchat-livechat/client/views/app/tabbar/externalSearch.js
+++ b/packages/rocketchat-livechat/client/views/app/tabbar/externalSearch.js
@@ -1,3 +1,5 @@
+import { Template } from 'meteor/templating';
+
 Template.externalSearch.helpers({
 	messages() {
 		return RocketChat.models.LivechatExternalMessage.findByRoomId(this.rid, { ts: 1 });
diff --git a/packages/rocketchat-livechat/client/views/app/tabbar/visitorEdit.js b/packages/rocketchat-livechat/client/views/app/tabbar/visitorEdit.js
index 0f8d6dd0865a17d5d24054c7073df1fb9529a96d..629250a1647b4e258f191a315bae6c807b8879b5 100644
--- a/packages/rocketchat-livechat/client/views/app/tabbar/visitorEdit.js
+++ b/packages/rocketchat-livechat/client/views/app/tabbar/visitorEdit.js
@@ -1,6 +1,9 @@
 /* globals LivechatVisitor */
-
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Template } from 'meteor/templating';
 import toastr from 'toastr';
+
 Template.visitorEdit.helpers({
 	visitor() {
 		return Template.instance().visitor.get();
diff --git a/packages/rocketchat-livechat/client/views/app/tabbar/visitorForward.js b/packages/rocketchat-livechat/client/views/app/tabbar/visitorForward.js
index 1b56a48786cb78ec50cbfe629b77cfe716235cf3..f874f91258a0e4fcf15bc0ef40b6e8ec219f0384 100644
--- a/packages/rocketchat-livechat/client/views/app/tabbar/visitorForward.js
+++ b/packages/rocketchat-livechat/client/views/app/tabbar/visitorForward.js
@@ -1,4 +1,9 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
 import toastr from 'toastr';
+
 Template.visitorForward.helpers({
 	visitor() {
 		return Template.instance().visitor.get();
diff --git a/packages/rocketchat-livechat/client/views/app/tabbar/visitorHistory.js b/packages/rocketchat-livechat/client/views/app/tabbar/visitorHistory.js
index f4f321de4bb46a77ab4e2536c1db97d379995ee4..e6bed4e55f74560d8eb98b58e451ac6d34c09a8d 100644
--- a/packages/rocketchat-livechat/client/views/app/tabbar/visitorHistory.js
+++ b/packages/rocketchat-livechat/client/views/app/tabbar/visitorHistory.js
@@ -1,3 +1,6 @@
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Template } from 'meteor/templating';
+import { Mongo } from 'meteor/mongo';
 import moment from 'moment';
 const visitorHistory = new Mongo.Collection('visitor_history');
 
diff --git a/packages/rocketchat-livechat/client/views/app/tabbar/visitorInfo.js b/packages/rocketchat-livechat/client/views/app/tabbar/visitorInfo.js
index 3785b310d2b80b46b1f1f2c5448ed4b0092f7612..29cfd11204f034e4e54d90144da520ab8d89dd70 100644
--- a/packages/rocketchat-livechat/client/views/app/tabbar/visitorInfo.js
+++ b/packages/rocketchat-livechat/client/views/app/tabbar/visitorInfo.js
@@ -1,5 +1,10 @@
 /* globals LivechatVisitor */
 
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
 import _ from 'underscore';
 import s from 'underscore.string';
 import moment from 'moment';
diff --git a/packages/rocketchat-livechat/client/views/app/tabbar/visitorNavigation.js b/packages/rocketchat-livechat/client/views/app/tabbar/visitorNavigation.js
index 7e6e66dcb66a7d8cd47e44e0f61ac2884b7beef2..1a37193f6bc62c2de15dedfc977cf74d89518d75 100644
--- a/packages/rocketchat-livechat/client/views/app/tabbar/visitorNavigation.js
+++ b/packages/rocketchat-livechat/client/views/app/tabbar/visitorNavigation.js
@@ -1,4 +1,7 @@
+import { Mongo } from 'meteor/mongo';
+import { Template } from 'meteor/templating';
 import moment from 'moment';
+
 const visitorNavigationHistory = new Mongo.Collection('visitor_navigation_history');
 
 Template.visitorNavigation.helpers({
diff --git a/packages/rocketchat-livechat/client/views/app/triggers/livechatTriggerAction.js b/packages/rocketchat-livechat/client/views/app/triggers/livechatTriggerAction.js
index c339387d8ac9922bf451c7bbdad5b793c42f093d..9169d74b0d9753264d7909cca94596339f538068 100644
--- a/packages/rocketchat-livechat/client/views/app/triggers/livechatTriggerAction.js
+++ b/packages/rocketchat-livechat/client/views/app/triggers/livechatTriggerAction.js
@@ -1,3 +1,6 @@
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Template } from 'meteor/templating';
+
 Template.livechatTriggerAction.helpers({
 	hiddenValue(current) {
 		if (this.name === undefined && Template.instance().firstAction) {
diff --git a/packages/rocketchat-livechat/client/views/app/triggers/livechatTriggerCondition.js b/packages/rocketchat-livechat/client/views/app/triggers/livechatTriggerCondition.js
index 4a05c79d450946253f2ef32fdeb9f72c0583ba1b..5e0aa9b068c7beac6b1ae007218c8863ee0f187c 100644
--- a/packages/rocketchat-livechat/client/views/app/triggers/livechatTriggerCondition.js
+++ b/packages/rocketchat-livechat/client/views/app/triggers/livechatTriggerCondition.js
@@ -1,3 +1,5 @@
+import { Template } from 'meteor/templating';
+
 Template.livechatTriggerCondition.helpers({
 	hiddenValue(current) {
 		if (this.name === undefined && Template.instance().firstCondition) {
diff --git a/packages/rocketchat-livechat/client/views/sideNav/livechat.js b/packages/rocketchat-livechat/client/views/sideNav/livechat.js
index 88a3bd3287d48af5589870ec175cf7820993059b..26f7554c835de6f9115a6212d79f97e71b156995 100644
--- a/packages/rocketchat-livechat/client/views/sideNav/livechat.js
+++ b/packages/rocketchat-livechat/client/views/sideNav/livechat.js
@@ -1,4 +1,10 @@
 /* globals LivechatInquiry, KonchatNotification */
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
+
 Template.livechat.helpers({
 	isActive() {
 		const query = {
diff --git a/packages/rocketchat-livechat/client/views/sideNav/livechatFlex.js b/packages/rocketchat-livechat/client/views/sideNav/livechatFlex.js
index 30c4155825da36cc4eccb7b2aed8cfbbe354312a..dc3e5cd3025e3d054d984e11ef448be179ff0ccb 100644
--- a/packages/rocketchat-livechat/client/views/sideNav/livechatFlex.js
+++ b/packages/rocketchat-livechat/client/views/sideNav/livechatFlex.js
@@ -1,3 +1,5 @@
+import { Template } from 'meteor/templating';
+
 Template.livechatFlex.helpers({
 	menuItem(name, icon, section) {
 		return {
diff --git a/packages/rocketchat-livechat/config.js b/packages/rocketchat-livechat/config.js
index 6a032491299ad2187c3221d8809402fb74a226e0..f852de56051ace80fdb6d710563a8246eeb72b1a 100644
--- a/packages/rocketchat-livechat/config.js
+++ b/packages/rocketchat-livechat/config.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.startup(function() {
 	RocketChat.settings.addGroup('Livechat');
 
diff --git a/packages/rocketchat-livechat/imports/LivechatRoomType.js b/packages/rocketchat-livechat/imports/LivechatRoomType.js
index 13bff59c190e4bd2a13306493f560fb21d9efcfe..4bb9600ed436e84cc8ae11f811667e88dbf31019 100644
--- a/packages/rocketchat-livechat/imports/LivechatRoomType.js
+++ b/packages/rocketchat-livechat/imports/LivechatRoomType.js
@@ -1,4 +1,5 @@
 /* globals openRoom, LivechatInquiry */
+import { Session } from 'meteor/session';
 import { RoomSettingsEnum, RoomTypeConfig, RoomTypeRouteConfig, UiTextContext } from 'meteor/rocketchat:lib';
 
 class LivechatRoomRoute extends RoomTypeRouteConfig {
@@ -44,7 +45,7 @@ export default class LivechatRoomType extends RoomTypeConfig {
 	}
 
 	condition() {
-		return RocketChat.settings.get('Livechat_enabled') && RocketChat.authz.hasAllPermission('view-l-room');
+		return RocketChat.settings.get('Livechat_enabled') && RocketChat.authz.hasPermission('view-l-room');
 	}
 
 	canSendMessage(roomId) {
diff --git a/packages/rocketchat-livechat/imports/server/rest/departments.js b/packages/rocketchat-livechat/imports/server/rest/departments.js
index e5227b76af799b81ffba2ec0e93aa933a62d8c37..496eb683723bff791f328ad6578b9c3d5362129f 100644
--- a/packages/rocketchat-livechat/imports/server/rest/departments.js
+++ b/packages/rocketchat-livechat/imports/server/rest/departments.js
@@ -1,3 +1,5 @@
+import { check } from 'meteor/check';
+
 RocketChat.API.v1.addRoute('livechat/department', { authRequired: true }, {
 	get() {
 		if (!RocketChat.authz.hasPermission(this.userId, 'view-livechat-manager')) {
diff --git a/packages/rocketchat-livechat/imports/server/rest/facebook.js b/packages/rocketchat-livechat/imports/server/rest/facebook.js
index 54a401fe7c4cee3388b79da6e3b23933941460e6..bfab014fff9c36948597878f69319484f5bc859b 100644
--- a/packages/rocketchat-livechat/imports/server/rest/facebook.js
+++ b/packages/rocketchat-livechat/imports/server/rest/facebook.js
@@ -1,4 +1,5 @@
 import crypto from 'crypto';
+import { Random } from 'meteor/random';
 
 import LivechatVisitors from '../../../server/models/LivechatVisitors';
 
diff --git a/packages/rocketchat-livechat/imports/server/rest/sms.js b/packages/rocketchat-livechat/imports/server/rest/sms.js
index 1f4b9ccce17318a886e533d219dacbef067a123a..216696fff343be01d2ec714aab87d65ee89ce152 100644
--- a/packages/rocketchat-livechat/imports/server/rest/sms.js
+++ b/packages/rocketchat-livechat/imports/server/rest/sms.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { Random } from 'meteor/random';
 import LivechatVisitors from '../../../server/models/LivechatVisitors';
 
 RocketChat.API.v1.addRoute('livechat/sms-incoming/:service', {
diff --git a/packages/rocketchat-livechat/imports/server/rest/upload.js b/packages/rocketchat-livechat/imports/server/rest/upload.js
index f7e8078cd16f3c3f1f9b2a3008b4e8510b43e508..37fe97ef1ee57ce9670b6214d309cc7be9cef81d 100644
--- a/packages/rocketchat-livechat/imports/server/rest/upload.js
+++ b/packages/rocketchat-livechat/imports/server/rest/upload.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import Busboy from 'busboy';
 import filesize from 'filesize';
 import LivechatVisitors from '../../../server/models/LivechatVisitors';
diff --git a/packages/rocketchat-livechat/imports/server/rest/users.js b/packages/rocketchat-livechat/imports/server/rest/users.js
index 02452a1b6659a7427febfc8feb0f490d805852c4..3342fbfbff25bc105f47745a9bf8a83ac0ce8dd6 100644
--- a/packages/rocketchat-livechat/imports/server/rest/users.js
+++ b/packages/rocketchat-livechat/imports/server/rest/users.js
@@ -1,3 +1,4 @@
+import { check } from 'meteor/check';
 import _ from 'underscore';
 
 RocketChat.API.v1.addRoute('livechat/users/:type', { authRequired: true }, {
diff --git a/packages/rocketchat-livechat/livechat.js b/packages/rocketchat-livechat/livechat.js
index ad6654b70e527800c9f42578f537cec6ee309c82..ca7013d64052efa2cfefb9a09e316a501393b1b6 100644
--- a/packages/rocketchat-livechat/livechat.js
+++ b/packages/rocketchat-livechat/livechat.js
@@ -1,8 +1,8 @@
-/* globals WebApp:true */
+import { Meteor } from 'meteor/meteor';
+import { WebApp } from 'meteor/webapp';
 import _ from 'underscore';
 import url from 'url';
 
-const { WebApp } = Package.webapp;
 const { Autoupdate } = Package.autoupdate;
 
 WebApp.connectHandlers.use('/livechat', Meteor.bindEnvironment((req, res, next) => {
diff --git a/packages/rocketchat-livechat/messageTypes.js b/packages/rocketchat-livechat/messageTypes.js
index 5b59e770edf7d667cd5fbf78901bd01de3a47309..8a71e78c40fafca5e96f0d4390ed8ea9ce745b99 100644
--- a/packages/rocketchat-livechat/messageTypes.js
+++ b/packages/rocketchat-livechat/messageTypes.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { TAPi18n } from 'meteor/tap:i18n';
+
 RocketChat.MessageTypes.registerType({
 	id: 'livechat_navigation_history',
 	system: true,
diff --git a/packages/rocketchat-livechat/package.js b/packages/rocketchat-livechat/package.js
index 2ed90991e7bda0f30ccbd085b420f493a67ed0df..e6708afa22bf94a14e4de727cc9a5ec5cce18ad4 100644
--- a/packages/rocketchat-livechat/package.js
+++ b/packages/rocketchat-livechat/package.js
@@ -32,6 +32,7 @@ Package.onUse(function(api) {
 	api.use('konecty:user-presence');
 	api.use('rocketchat:ui');
 	api.use('kadira:flow-router', 'client');
+	api.use('kadira:blaze-layout', 'client');
 	api.use('templating', 'client');
 	api.use('http');
 	api.use('check');
diff --git a/packages/rocketchat-livechat/permissions.js b/packages/rocketchat-livechat/permissions.js
index 8c6a00bcd6dc693a6b92607a01457770ae84e099..78fac7adef6078a5000fc17190e7feba210fdd4b 100644
--- a/packages/rocketchat-livechat/permissions.js
+++ b/packages/rocketchat-livechat/permissions.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import _ from 'underscore';
 
 Meteor.startup(() => {
diff --git a/packages/rocketchat-livechat/server/api/lib/livechat.js b/packages/rocketchat-livechat/server/api/lib/livechat.js
index 16119f9451f686247dda7f6b26329da66b6cb5eb..43c2043615b126515c1520a4162a133deb13381b 100644
--- a/packages/rocketchat-livechat/server/api/lib/livechat.js
+++ b/packages/rocketchat-livechat/server/api/lib/livechat.js
@@ -1,3 +1,4 @@
+import { Random } from 'meteor/random';
 import _ from 'underscore';
 import LivechatVisitors from '../../models/LivechatVisitors';
 
diff --git a/packages/rocketchat-livechat/server/api/v1/agent.js b/packages/rocketchat-livechat/server/api/v1/agent.js
index 2543bb4befddf90f3afaaaaf1d5bdb3c92b0762d..75ac4c8f0c17ec320ac252ddc80939968742ff36 100644
--- a/packages/rocketchat-livechat/server/api/v1/agent.js
+++ b/packages/rocketchat-livechat/server/api/v1/agent.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
 import { findRoom, findGuest, findAgent } from '../lib/livechat';
 
 RocketChat.API.v1.addRoute('livechat/agent.info/:rid/:token', {
diff --git a/packages/rocketchat-livechat/server/api/v1/config.js b/packages/rocketchat-livechat/server/api/v1/config.js
index 2dfd7746eddd3a84bcaf754ca2a1641d750ab83d..1ddb8938102d533509d225a27fb1324209800e35 100644
--- a/packages/rocketchat-livechat/server/api/v1/config.js
+++ b/packages/rocketchat-livechat/server/api/v1/config.js
@@ -1,4 +1,5 @@
 import { findRoom, findGuest, settings, online } from '../lib/livechat';
+import { Match, check } from 'meteor/check';
 
 RocketChat.API.v1.addRoute('livechat/config', {
 	get() {
diff --git a/packages/rocketchat-livechat/server/api/v1/customField.js b/packages/rocketchat-livechat/server/api/v1/customField.js
index 810532dc621bc95b119b8de2f429d5aeac25de97..43a6367e8426dd2b9733ca73c405985e45932c21 100644
--- a/packages/rocketchat-livechat/server/api/v1/customField.js
+++ b/packages/rocketchat-livechat/server/api/v1/customField.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
 import { findGuest } from '../lib/livechat';
 
 RocketChat.API.v1.addRoute('livechat/custom.field', {
diff --git a/packages/rocketchat-livechat/server/api/v1/message.js b/packages/rocketchat-livechat/server/api/v1/message.js
index e9d7046eea65e6243e756c14a39bb3763ef15bbf..61d6144e1be18345cef693f934f7ee32c16f2ceb 100644
--- a/packages/rocketchat-livechat/server/api/v1/message.js
+++ b/packages/rocketchat-livechat/server/api/v1/message.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
+import { Random } from 'meteor/random';
 import LivechatVisitors from '../../../server/models/LivechatVisitors';
 import { findGuest, findRoom } from '../lib/livechat';
 
diff --git a/packages/rocketchat-livechat/server/api/v1/offlineMessage.js b/packages/rocketchat-livechat/server/api/v1/offlineMessage.js
index 219f658196015135d492dfa2dfdc66dd3c67c5eb..7658beb3d6fa25f6ce44c57e56214b27cd94f18a 100644
--- a/packages/rocketchat-livechat/server/api/v1/offlineMessage.js
+++ b/packages/rocketchat-livechat/server/api/v1/offlineMessage.js
@@ -1,3 +1,6 @@
+import { check } from 'meteor/check';
+import { TAPi18n } from 'meteor/tap:i18n';
+
 RocketChat.API.v1.addRoute('livechat/offline.message', {
 	post() {
 		try {
diff --git a/packages/rocketchat-livechat/server/api/v1/pageVisited.js b/packages/rocketchat-livechat/server/api/v1/pageVisited.js
index 0744dc3c87a7b3b728bd370bffee697625dab5a8..8ac49c75fd30eae4cc419179c3b19511f6c256a1 100644
--- a/packages/rocketchat-livechat/server/api/v1/pageVisited.js
+++ b/packages/rocketchat-livechat/server/api/v1/pageVisited.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
 import _ from 'underscore';
 import { findGuest, findRoom } from '../lib/livechat';
 
diff --git a/packages/rocketchat-livechat/server/api/v1/room.js b/packages/rocketchat-livechat/server/api/v1/room.js
index a9dc08ab064d7ead5ab25f08035ddb626cfc94c4..4dcecb4d6eda2cb3bb03ea4687ffe252424a6230 100644
--- a/packages/rocketchat-livechat/server/api/v1/room.js
+++ b/packages/rocketchat-livechat/server/api/v1/room.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
+import { Random } from 'meteor/random';
+import { TAPi18n } from 'meteor/tap:i18n';
 import { findGuest, findRoom, getRoom, settings } from '../lib/livechat';
 
 RocketChat.API.v1.addRoute('livechat/room', {
diff --git a/packages/rocketchat-livechat/server/api/v1/transcript.js b/packages/rocketchat-livechat/server/api/v1/transcript.js
index 447310198d95476017bd98b3636c3d5072c9407b..43a0f57deb81148dd59c0f0424797d93de20c063 100644
--- a/packages/rocketchat-livechat/server/api/v1/transcript.js
+++ b/packages/rocketchat-livechat/server/api/v1/transcript.js
@@ -1,3 +1,6 @@
+import { check } from 'meteor/check';
+import { TAPi18n } from 'meteor/tap:i18n';
+
 RocketChat.API.v1.addRoute('livechat/transcript', {
 	post() {
 		try {
diff --git a/packages/rocketchat-livechat/server/api/v1/videoCall.js b/packages/rocketchat-livechat/server/api/v1/videoCall.js
index 36f1dfd3760b09cb4b7a58cee403b2b69a5a7980..dbb99179c840548393c1269e4bed24e4000cfc7e 100644
--- a/packages/rocketchat-livechat/server/api/v1/videoCall.js
+++ b/packages/rocketchat-livechat/server/api/v1/videoCall.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
+import { Random } from 'meteor/random';
 import { findGuest, getRoom, settings } from '../lib/livechat';
 
 RocketChat.API.v1.addRoute('livechat/video.call/:token', {
diff --git a/packages/rocketchat-livechat/server/api/v1/visitor.js b/packages/rocketchat-livechat/server/api/v1/visitor.js
index aabf281cb3097731bc9b70e7389dc13cc5140afa..249cd80cf67a61810c39960f2b4a1470f094fb69 100644
--- a/packages/rocketchat-livechat/server/api/v1/visitor.js
+++ b/packages/rocketchat-livechat/server/api/v1/visitor.js
@@ -1,3 +1,4 @@
+import { Match, check } from 'meteor/check';
 import LivechatVisitors from '../../../server/models/LivechatVisitors';
 
 RocketChat.API.v1.addRoute('livechat/visitor', {
@@ -35,7 +36,7 @@ RocketChat.API.v1.addRoute('livechat/visitor', {
 				customFields.forEach((field) => {
 					const customField = RocketChat.models.LivechatCustomField.findOneById(field.key);
 					if (!customField) {
-						throw new Meteor.Error('invalid-custom-field');
+						return;
 					}
 					const { key, value, overwrite } = field;
 					if (customField.scope === 'visitor' && !LivechatVisitors.updateLivechatDataByToken(token, key, value, overwrite)) {
diff --git a/packages/rocketchat-livechat/server/hooks/RDStation.js b/packages/rocketchat-livechat/server/hooks/RDStation.js
index 04e9b5df19e83cdb80a93868442aeeda53b0205b..f464fa78b5d8b87adfd1b6c3b9149f112a3aff9f 100644
--- a/packages/rocketchat-livechat/server/hooks/RDStation.js
+++ b/packages/rocketchat-livechat/server/hooks/RDStation.js
@@ -1,3 +1,5 @@
+import { HTTP } from 'meteor/http';
+
 function sendToRDStation(room) {
 	if (!RocketChat.settings.get('Livechat_RDStation_Token')) {
 		return room;
diff --git a/packages/rocketchat-livechat/server/hooks/externalMessage.js b/packages/rocketchat-livechat/server/hooks/externalMessage.js
index e384c51dee495bf2ee1ab98da04b0933a0e8423e..0bf60cb29a9ac82b86f02b6aae13bc4912db9f1e 100644
--- a/packages/rocketchat-livechat/server/hooks/externalMessage.js
+++ b/packages/rocketchat-livechat/server/hooks/externalMessage.js
@@ -1,4 +1,5 @@
 /* globals HTTP, SystemLogger */
+import { Meteor } from 'meteor/meteor';
 import _ from 'underscore';
 
 let knowledgeEnabled = false;
diff --git a/packages/rocketchat-livechat/server/hooks/markRoomResponded.js b/packages/rocketchat-livechat/server/hooks/markRoomResponded.js
index 9c4a26660d5226b0e5f26a56f76befe59475eb91..648e73a5824b4b72897608017d161fe83d101007 100644
--- a/packages/rocketchat-livechat/server/hooks/markRoomResponded.js
+++ b/packages/rocketchat-livechat/server/hooks/markRoomResponded.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 RocketChat.callbacks.add('afterSaveMessage', function(message, room) {
 	// skips this callback if the message was edited
 	if (!message || message.editedAt) {
diff --git a/packages/rocketchat-livechat/server/hooks/saveAnalyticsData.js b/packages/rocketchat-livechat/server/hooks/saveAnalyticsData.js
index 845b6f3087fe4c38b5ebe1d173a6bb0eeb030b71..d1187ceac374535f3b2f71aa35bb422276b19560 100644
--- a/packages/rocketchat-livechat/server/hooks/saveAnalyticsData.js
+++ b/packages/rocketchat-livechat/server/hooks/saveAnalyticsData.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 RocketChat.callbacks.add('afterSaveMessage', function(message, room) {
 	// skips this callback if the message was edited
 	if (!message || message.editedAt) {
diff --git a/packages/rocketchat-livechat/server/lib/Livechat.js b/packages/rocketchat-livechat/server/lib/Livechat.js
index 9e3d56c23726f75ec0f162f11996a9c47f235bef..5863a407e4fe8a4e0ab9d5d7fce56470b22836cf 100644
--- a/packages/rocketchat-livechat/server/lib/Livechat.js
+++ b/packages/rocketchat-livechat/server/lib/Livechat.js
@@ -1,4 +1,8 @@
 /* globals HTTP */
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
+import { Random } from 'meteor/random';
+import { TAPi18n } from 'meteor/tap:i18n';
 import _ from 'underscore';
 import s from 'underscore.string';
 import moment from 'moment';
diff --git a/packages/rocketchat-livechat/server/lib/OfficeClock.js b/packages/rocketchat-livechat/server/lib/OfficeClock.js
index 542f0adeec1de50d9e0033707c023aeeeb42bb2e..1ff5c067e673a2a110fdcde6588b77534f3c0d13 100644
--- a/packages/rocketchat-livechat/server/lib/OfficeClock.js
+++ b/packages/rocketchat-livechat/server/lib/OfficeClock.js
@@ -1,4 +1,6 @@
 // Every minute check if office closed
+import { Meteor } from 'meteor/meteor';
+
 Meteor.setInterval(function() {
 	if (RocketChat.settings.get('Livechat_enable_office_hours')) {
 		if (RocketChat.models.LivechatOfficeHour.isOpeningTime()) {
diff --git a/packages/rocketchat-livechat/server/lib/OmniChannel.js b/packages/rocketchat-livechat/server/lib/OmniChannel.js
index 139b4ec5d9f7a79c771cd2b50b054589bfb0fa2e..f4855b5d3920fad53436c9793302a772a09d7fd3 100644
--- a/packages/rocketchat-livechat/server/lib/OmniChannel.js
+++ b/packages/rocketchat-livechat/server/lib/OmniChannel.js
@@ -1,3 +1,5 @@
+import { HTTP } from 'meteor/http';
+
 const gatewayURL = 'https://omni.rocket.chat';
 
 export default {
diff --git a/packages/rocketchat-livechat/server/lib/QueueMethods.js b/packages/rocketchat-livechat/server/lib/QueueMethods.js
index b9a237b6728afd4d9da3922d39c7a55c436ec72e..fc77e8cf57c26727065dd386bb351eab339ed4b3 100644
--- a/packages/rocketchat-livechat/server/lib/QueueMethods.js
+++ b/packages/rocketchat-livechat/server/lib/QueueMethods.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { TAPi18n } from 'meteor/tap:i18n';
 import _ from 'underscore';
 import { sendNotification } from 'meteor/rocketchat:lib';
 
diff --git a/packages/rocketchat-livechat/server/methods/addAgent.js b/packages/rocketchat-livechat/server/methods/addAgent.js
index c6893c6249861faab738b3175890f66c824d0b49..8335d4f5eef093d17cbcd0a12e600820387fbab5 100644
--- a/packages/rocketchat-livechat/server/methods/addAgent.js
+++ b/packages/rocketchat-livechat/server/methods/addAgent.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	'livechat:addAgent'(username) {
 		if (!Meteor.userId() || !RocketChat.authz.hasPermission(Meteor.userId(), 'view-livechat-manager')) {
diff --git a/packages/rocketchat-livechat/server/methods/addManager.js b/packages/rocketchat-livechat/server/methods/addManager.js
index b3a079446faea8de44dacd13e773bf68c0ab35a2..125aeccd624416148a5aa59da6b79f512c6ff9c2 100644
--- a/packages/rocketchat-livechat/server/methods/addManager.js
+++ b/packages/rocketchat-livechat/server/methods/addManager.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	'livechat:addManager'(username) {
 		if (!Meteor.userId() || !RocketChat.authz.hasPermission(Meteor.userId(), 'view-livechat-manager')) {
diff --git a/packages/rocketchat-livechat/server/methods/changeLivechatStatus.js b/packages/rocketchat-livechat/server/methods/changeLivechatStatus.js
index 1cb292316a3483b13a4e316201ab8e5b6fba5f0a..7fbd9c1b0e1016d7b098275853205eaf6d207da2 100644
--- a/packages/rocketchat-livechat/server/methods/changeLivechatStatus.js
+++ b/packages/rocketchat-livechat/server/methods/changeLivechatStatus.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	'livechat:changeLivechatStatus'() {
 		if (!Meteor.userId()) {
diff --git a/packages/rocketchat-livechat/server/methods/closeByVisitor.js b/packages/rocketchat-livechat/server/methods/closeByVisitor.js
index 3eb4a8adf21de71a4d50613d565beb6a77d86b69..fce639493ca472572d0ff3aa8e33011adaa4247b 100644
--- a/packages/rocketchat-livechat/server/methods/closeByVisitor.js
+++ b/packages/rocketchat-livechat/server/methods/closeByVisitor.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { TAPi18n } from 'meteor/tap:i18n';
 import LivechatVisitors from '../models/LivechatVisitors';
 
 Meteor.methods({
diff --git a/packages/rocketchat-livechat/server/methods/closeRoom.js b/packages/rocketchat-livechat/server/methods/closeRoom.js
index fb4896b3f37b1b4f33f2acec8437f7aba223f6ae..cc544828eca338f51f5184d7530b05879d2e46ab 100644
--- a/packages/rocketchat-livechat/server/methods/closeRoom.js
+++ b/packages/rocketchat-livechat/server/methods/closeRoom.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	'livechat:closeRoom'(roomId, comment) {
 		const userId = Meteor.userId();
diff --git a/packages/rocketchat-livechat/server/methods/facebook.js b/packages/rocketchat-livechat/server/methods/facebook.js
index 7caa47d2e53df9e9ab673f1b9ab463eb54510247..2422d7e0c52cbd8ab7c6d039c14b0672e906de8d 100644
--- a/packages/rocketchat-livechat/server/methods/facebook.js
+++ b/packages/rocketchat-livechat/server/methods/facebook.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import OmniChannel from '../lib/OmniChannel';
 
 Meteor.methods({
diff --git a/packages/rocketchat-livechat/server/methods/getAgentData.js b/packages/rocketchat-livechat/server/methods/getAgentData.js
index 2bff59ab02ed70d52daec76738abdcf705afcabb..1711bdbbf814569b2bc0571f0c050a2f08ccc1bd 100644
--- a/packages/rocketchat-livechat/server/methods/getAgentData.js
+++ b/packages/rocketchat-livechat/server/methods/getAgentData.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
 import LivechatVisitors from '../models/LivechatVisitors';
 
 Meteor.methods({
diff --git a/packages/rocketchat-livechat/server/methods/getAgentOverviewData.js b/packages/rocketchat-livechat/server/methods/getAgentOverviewData.js
index 7b29855cf34a5e9fd0853947305104dd10c0284d..5a83b4752d0f277bcab1b94d4722186c01ecd497 100644
--- a/packages/rocketchat-livechat/server/methods/getAgentOverviewData.js
+++ b/packages/rocketchat-livechat/server/methods/getAgentOverviewData.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	'livechat:getAgentOverviewData'(options) {
 		if (!Meteor.userId() || !RocketChat.authz.hasPermission(Meteor.userId(), 'view-livechat-manager')) {
diff --git a/packages/rocketchat-livechat/server/methods/getAnalyticsChartData.js b/packages/rocketchat-livechat/server/methods/getAnalyticsChartData.js
index c6669abf2a097fa81b788305ca74e710c9f9b027..70ef9452d4cf447666dc98c65905c613c4c47574 100644
--- a/packages/rocketchat-livechat/server/methods/getAnalyticsChartData.js
+++ b/packages/rocketchat-livechat/server/methods/getAnalyticsChartData.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	'livechat:getAnalyticsChartData'(options) {
 		if (!Meteor.userId() || !RocketChat.authz.hasPermission(Meteor.userId(), 'view-livechat-manager')) {
diff --git a/packages/rocketchat-livechat/server/methods/getAnalyticsOverviewData.js b/packages/rocketchat-livechat/server/methods/getAnalyticsOverviewData.js
index a7a1e108c41b484d8bdcc01031540f88a8a273b1..5ef410f2791e1bf2a75da579480631ac0f1f2c83 100644
--- a/packages/rocketchat-livechat/server/methods/getAnalyticsOverviewData.js
+++ b/packages/rocketchat-livechat/server/methods/getAnalyticsOverviewData.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	'livechat:getAnalyticsOverviewData'(options) {
 		if (!Meteor.userId() || !RocketChat.authz.hasPermission(Meteor.userId(), 'view-livechat-manager')) {
diff --git a/packages/rocketchat-livechat/server/methods/getCustomFields.js b/packages/rocketchat-livechat/server/methods/getCustomFields.js
index 95bff3afc8ca59aab37f6dd271fb2e7daf81017c..6b2acf85594f740620994fdf30002405040476c7 100644
--- a/packages/rocketchat-livechat/server/methods/getCustomFields.js
+++ b/packages/rocketchat-livechat/server/methods/getCustomFields.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	'livechat:getCustomFields'() {
 		return RocketChat.models.LivechatCustomField.find().fetch();
diff --git a/packages/rocketchat-livechat/server/methods/getInitialData.js b/packages/rocketchat-livechat/server/methods/getInitialData.js
index 1a04d8d9717a9a7c8eaef1cbcb524a8c02e00955..d87f8ec3f07bb22b4789b3ed316d1225caa81017 100644
--- a/packages/rocketchat-livechat/server/methods/getInitialData.js
+++ b/packages/rocketchat-livechat/server/methods/getInitialData.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import _ from 'underscore';
 
 import LivechatVisitors from '../models/LivechatVisitors';
diff --git a/packages/rocketchat-livechat/server/methods/getNextAgent.js b/packages/rocketchat-livechat/server/methods/getNextAgent.js
index da26ac6a30299af51e0ec573e2a17e1fc0d09d91..8fc2781f3024a0a9b5f14a1ecc7cc3124d271ac0 100644
--- a/packages/rocketchat-livechat/server/methods/getNextAgent.js
+++ b/packages/rocketchat-livechat/server/methods/getNextAgent.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	'livechat:getNextAgent'({ token, department }) {
 		check(token, String);
diff --git a/packages/rocketchat-livechat/server/methods/loadHistory.js b/packages/rocketchat-livechat/server/methods/loadHistory.js
index 1cd8309073ed9a6e11c7bc4aa7bf64e9992e4448..558a1de0fedf6f3b32929dea12fed4919f0dea43 100644
--- a/packages/rocketchat-livechat/server/methods/loadHistory.js
+++ b/packages/rocketchat-livechat/server/methods/loadHistory.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import LivechatVisitors from '../models/LivechatVisitors';
 
 Meteor.methods({
diff --git a/packages/rocketchat-livechat/server/methods/loginByToken.js b/packages/rocketchat-livechat/server/methods/loginByToken.js
index b086d820d737bd8efde3f19a86e19995f1ecbe3c..1eaae13492bc9bffcd982386d8da4612f5d94d38 100644
--- a/packages/rocketchat-livechat/server/methods/loginByToken.js
+++ b/packages/rocketchat-livechat/server/methods/loginByToken.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import LivechatVisitors from '../models/LivechatVisitors';
 
 Meteor.methods({
diff --git a/packages/rocketchat-livechat/server/methods/pageVisited.js b/packages/rocketchat-livechat/server/methods/pageVisited.js
index b7f9cd25cb285ad2c3a1106da6aefe46dc291ae1..2bc5877ab62ae7d09e18f8836f57df87d067b690 100644
--- a/packages/rocketchat-livechat/server/methods/pageVisited.js
+++ b/packages/rocketchat-livechat/server/methods/pageVisited.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	'livechat:pageVisited'(token, room, pageInfo) {
 		RocketChat.Livechat.savePageHistory(token, room, pageInfo);
diff --git a/packages/rocketchat-livechat/server/methods/registerGuest.js b/packages/rocketchat-livechat/server/methods/registerGuest.js
index 41dc5b236801973c8ecabde6f7076666d253a9d8..ba9935bfec36f31b81c0445d4d61e207aa434e8f 100644
--- a/packages/rocketchat-livechat/server/methods/registerGuest.js
+++ b/packages/rocketchat-livechat/server/methods/registerGuest.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import LivechatVisitors from '../models/LivechatVisitors';
 
 Meteor.methods({
diff --git a/packages/rocketchat-livechat/server/methods/removeAgent.js b/packages/rocketchat-livechat/server/methods/removeAgent.js
index 2af253980f32cdb1e2c03cd4a5f2b968c46a19c8..cbb79677868474f158bc21e294b35ec0f52c5495 100644
--- a/packages/rocketchat-livechat/server/methods/removeAgent.js
+++ b/packages/rocketchat-livechat/server/methods/removeAgent.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	'livechat:removeAgent'(username) {
 		if (!Meteor.userId() || !RocketChat.authz.hasPermission(Meteor.userId(), 'view-livechat-manager')) {
diff --git a/packages/rocketchat-livechat/server/methods/removeCustomField.js b/packages/rocketchat-livechat/server/methods/removeCustomField.js
index 5c9ca572b2c7c4bf1569fa46e4a4698ca5a9a048..58013bd7ce84678e28d2dd522ffa0ca387f7f118 100644
--- a/packages/rocketchat-livechat/server/methods/removeCustomField.js
+++ b/packages/rocketchat-livechat/server/methods/removeCustomField.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	'livechat:removeCustomField'(_id) {
 		if (!Meteor.userId() || !RocketChat.authz.hasPermission(Meteor.userId(), 'view-livechat-manager')) {
diff --git a/packages/rocketchat-livechat/server/methods/removeDepartment.js b/packages/rocketchat-livechat/server/methods/removeDepartment.js
index d7fc5dd6d0e26ab341bac5d41da01cc2054c2154..cfa0e454d8d60ed4562d22eff51599cbbaea7c59 100644
--- a/packages/rocketchat-livechat/server/methods/removeDepartment.js
+++ b/packages/rocketchat-livechat/server/methods/removeDepartment.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	'livechat:removeDepartment'(_id) {
 		if (!Meteor.userId() || !RocketChat.authz.hasPermission(Meteor.userId(), 'view-livechat-manager')) {
diff --git a/packages/rocketchat-livechat/server/methods/removeManager.js b/packages/rocketchat-livechat/server/methods/removeManager.js
index 7e3a414e27ea6856eaa1e7b45307029cbc84d9af..202dccb01dd428f78a85b30d1ba9e2ac27006983 100644
--- a/packages/rocketchat-livechat/server/methods/removeManager.js
+++ b/packages/rocketchat-livechat/server/methods/removeManager.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	'livechat:removeManager'(username) {
 		if (!Meteor.userId() || !RocketChat.authz.hasPermission(Meteor.userId(), 'view-livechat-manager')) {
diff --git a/packages/rocketchat-livechat/server/methods/removeRoom.js b/packages/rocketchat-livechat/server/methods/removeRoom.js
index e95f6d7a3aacf4f6008e08d592e452c3e7b27b80..81f753f8ccb811c0ff89acef2b28046df2f13523 100644
--- a/packages/rocketchat-livechat/server/methods/removeRoom.js
+++ b/packages/rocketchat-livechat/server/methods/removeRoom.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	'livechat:removeRoom'(rid) {
 		if (!Meteor.userId() || !RocketChat.authz.hasPermission(Meteor.userId(), 'remove-closed-livechat-rooms')) {
diff --git a/packages/rocketchat-livechat/server/methods/removeTrigger.js b/packages/rocketchat-livechat/server/methods/removeTrigger.js
index 6e76af37bce94fd94c6a03546e081f767fac4116..de7eb7316bf6aa52de7f8868d38f62c9cda7afa2 100644
--- a/packages/rocketchat-livechat/server/methods/removeTrigger.js
+++ b/packages/rocketchat-livechat/server/methods/removeTrigger.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	'livechat:removeTrigger'(triggerId) {
 		if (!Meteor.userId() || !RocketChat.authz.hasPermission(Meteor.userId(), 'view-livechat-manager')) {
diff --git a/packages/rocketchat-livechat/server/methods/returnAsInquiry.js b/packages/rocketchat-livechat/server/methods/returnAsInquiry.js
index d00fb12fad2ddb0fd6980bff979527fb4d603e5d..e82495dc8fee8713c880aebf39ceab0067c02a02 100644
--- a/packages/rocketchat-livechat/server/methods/returnAsInquiry.js
+++ b/packages/rocketchat-livechat/server/methods/returnAsInquiry.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	'livechat:returnAsInquiry'(rid, departmentId) {
 		if (!Meteor.userId() || !RocketChat.authz.hasPermission(Meteor.userId(), 'view-l-room')) {
diff --git a/packages/rocketchat-livechat/server/methods/saveAppearance.js b/packages/rocketchat-livechat/server/methods/saveAppearance.js
index ac79ae02301b1c12f45a6a4a81ef38b29f47e7ed..73c511412c845869b22ecc188af19e8b1bff19d7 100644
--- a/packages/rocketchat-livechat/server/methods/saveAppearance.js
+++ b/packages/rocketchat-livechat/server/methods/saveAppearance.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	'livechat:saveAppearance'(settings) {
 		if (!Meteor.userId() || !RocketChat.authz.hasPermission(Meteor.userId(), 'view-livechat-manager')) {
diff --git a/packages/rocketchat-livechat/server/methods/saveCustomField.js b/packages/rocketchat-livechat/server/methods/saveCustomField.js
index 67464c5acaf86714a2359ac610d38559cac25526..da51d96f7825939ac2fea4b4bd0e4ffeeac34bc7 100644
--- a/packages/rocketchat-livechat/server/methods/saveCustomField.js
+++ b/packages/rocketchat-livechat/server/methods/saveCustomField.js
@@ -1,4 +1,6 @@
 /* eslint new-cap: [2, {"capIsNewExceptions": ["Match.ObjectIncluding", "Match.Optional"]}] */
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
 
 Meteor.methods({
 	'livechat:saveCustomField'(_id, customFieldData) {
diff --git a/packages/rocketchat-livechat/server/methods/saveDepartment.js b/packages/rocketchat-livechat/server/methods/saveDepartment.js
index 8700bee2372ce2d8e8a4fb80b8602f358ee32f9e..c9108870b6ca16cd18150129d8c5fa17be6ae263 100644
--- a/packages/rocketchat-livechat/server/methods/saveDepartment.js
+++ b/packages/rocketchat-livechat/server/methods/saveDepartment.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	'livechat:saveDepartment'(_id, departmentData, departmentAgents) {
 		if (!Meteor.userId() || !RocketChat.authz.hasPermission(Meteor.userId(), 'view-livechat-manager')) {
diff --git a/packages/rocketchat-livechat/server/methods/saveInfo.js b/packages/rocketchat-livechat/server/methods/saveInfo.js
index 023d69f16fe7b34032f3ad233f20649ee7fa70aa..152cf5affaae8a9cd0ae4c4a09dfd238ae1207d4 100644
--- a/packages/rocketchat-livechat/server/methods/saveInfo.js
+++ b/packages/rocketchat-livechat/server/methods/saveInfo.js
@@ -1,4 +1,6 @@
 /* eslint new-cap: [2, {"capIsNewExceptions": ["Match.ObjectIncluding", "Match.Optional"]}] */
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
 
 Meteor.methods({
 	'livechat:saveInfo'(guestData, roomData) {
diff --git a/packages/rocketchat-livechat/server/methods/saveIntegration.js b/packages/rocketchat-livechat/server/methods/saveIntegration.js
index 23a26d52aefe0904d0968fff63e40116d9e934db..cf0fd16d9e455959b8af456d68bc9f0c9384bd2b 100644
--- a/packages/rocketchat-livechat/server/methods/saveIntegration.js
+++ b/packages/rocketchat-livechat/server/methods/saveIntegration.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import s from 'underscore.string';
 
 Meteor.methods({
diff --git a/packages/rocketchat-livechat/server/methods/saveOfficeHours.js b/packages/rocketchat-livechat/server/methods/saveOfficeHours.js
index f7d6284e4024bdef39b630b88531df7cad3e16fd..945ca619238398db3a117fdf6029e3937e6ea034 100644
--- a/packages/rocketchat-livechat/server/methods/saveOfficeHours.js
+++ b/packages/rocketchat-livechat/server/methods/saveOfficeHours.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	'livechat:saveOfficeHours'(day, start, finish, open) {
 		RocketChat.models.LivechatOfficeHour.updateHours(day, start, finish, open);
diff --git a/packages/rocketchat-livechat/server/methods/saveSurveyFeedback.js b/packages/rocketchat-livechat/server/methods/saveSurveyFeedback.js
index 8cdd411154a3fdd7ed5db15fcb544e5247e25829..56cd820a5957f77b263f2a3bd54a9d10081bfa14 100644
--- a/packages/rocketchat-livechat/server/methods/saveSurveyFeedback.js
+++ b/packages/rocketchat-livechat/server/methods/saveSurveyFeedback.js
@@ -1,4 +1,6 @@
 /* eslint new-cap: [2, {"capIsNewExceptions": ["Match.ObjectIncluding"]}] */
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
 import LivechatVisitors from '../models/LivechatVisitors';
 import _ from 'underscore';
 
diff --git a/packages/rocketchat-livechat/server/methods/saveTrigger.js b/packages/rocketchat-livechat/server/methods/saveTrigger.js
index 183ab67044715c27a6f711694664ef85746b77ed..fec33995500396f1b06c18faa19dfbf824580e63 100644
--- a/packages/rocketchat-livechat/server/methods/saveTrigger.js
+++ b/packages/rocketchat-livechat/server/methods/saveTrigger.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
+
 Meteor.methods({
 	'livechat:saveTrigger'(trigger) {
 		if (!Meteor.userId() || !RocketChat.authz.hasPermission(Meteor.userId(), 'view-livechat-manager')) {
diff --git a/packages/rocketchat-livechat/server/methods/searchAgent.js b/packages/rocketchat-livechat/server/methods/searchAgent.js
index 01f0c2cb8ebdeb2e4b8a3ab70bf367fc8d4bbc0f..f2a752e0d151db01b295aa75feef232e11bfb0ff 100644
--- a/packages/rocketchat-livechat/server/methods/searchAgent.js
+++ b/packages/rocketchat-livechat/server/methods/searchAgent.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import _ from 'underscore';
 
 Meteor.methods({
diff --git a/packages/rocketchat-livechat/server/methods/sendFileLivechatMessage.js b/packages/rocketchat-livechat/server/methods/sendFileLivechatMessage.js
index d9056982db2f14c2e8f648e4845df0d88a5c6d4c..0968b8e5a2e6915cbcee1d9f881ae1bc9a2d8dde 100644
--- a/packages/rocketchat-livechat/server/methods/sendFileLivechatMessage.js
+++ b/packages/rocketchat-livechat/server/methods/sendFileLivechatMessage.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
+import { Random } from 'meteor/random';
 import LivechatVisitors from '../models/LivechatVisitors';
 
 Meteor.methods({
diff --git a/packages/rocketchat-livechat/server/methods/sendMessageLivechat.js b/packages/rocketchat-livechat/server/methods/sendMessageLivechat.js
index 3a91744d43ebbb6d5aae2550f69961fa39a0e058..2efafe1ef7880bfcdb54ef1339dd700b519f529b 100644
--- a/packages/rocketchat-livechat/server/methods/sendMessageLivechat.js
+++ b/packages/rocketchat-livechat/server/methods/sendMessageLivechat.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
 import LivechatVisitors from '../models/LivechatVisitors';
 
 Meteor.methods({
diff --git a/packages/rocketchat-livechat/server/methods/sendOfflineMessage.js b/packages/rocketchat-livechat/server/methods/sendOfflineMessage.js
index 59fb357478a40d0d45f6fa3489bbe80fd1cd0890..b8c00c98c31c610462c3cdfd5aa4e41c46b01bc0 100644
--- a/packages/rocketchat-livechat/server/methods/sendOfflineMessage.js
+++ b/packages/rocketchat-livechat/server/methods/sendOfflineMessage.js
@@ -1,4 +1,6 @@
 /* globals DDPRateLimiter */
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
 
 Meteor.methods({
 	'livechat:sendOfflineMessage'(data) {
diff --git a/packages/rocketchat-livechat/server/methods/sendTranscript.js b/packages/rocketchat-livechat/server/methods/sendTranscript.js
index 793a757f916b879a629451cd8c08bca69f1aa8ee..65b582f88ea4a9c897a663f0a78e50ef89ab84e8 100644
--- a/packages/rocketchat-livechat/server/methods/sendTranscript.js
+++ b/packages/rocketchat-livechat/server/methods/sendTranscript.js
@@ -1,4 +1,6 @@
 /* globals DDPRateLimiter */
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
 
 Meteor.methods({
 	'livechat:sendTranscript'(token, rid, email) {
diff --git a/packages/rocketchat-livechat/server/methods/setCustomField.js b/packages/rocketchat-livechat/server/methods/setCustomField.js
index 74460d4927539f187078a476589f968fc750c8cc..cc4ca09ba1f33499d81c9564e9efec132717a0ee 100644
--- a/packages/rocketchat-livechat/server/methods/setCustomField.js
+++ b/packages/rocketchat-livechat/server/methods/setCustomField.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import LivechatVisitors from '../models/LivechatVisitors';
 
 Meteor.methods({
diff --git a/packages/rocketchat-livechat/server/methods/setDepartmentForVisitor.js b/packages/rocketchat-livechat/server/methods/setDepartmentForVisitor.js
index 484a6193f27f3724e565bcad0eb6be8bcb61885f..b3303d31de7c432ccece8a7df7d17f36c0aec9da 100644
--- a/packages/rocketchat-livechat/server/methods/setDepartmentForVisitor.js
+++ b/packages/rocketchat-livechat/server/methods/setDepartmentForVisitor.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
 import LivechatVisitors from '../models/LivechatVisitors';
 
 Meteor.methods({
diff --git a/packages/rocketchat-livechat/server/methods/startFileUploadRoom.js b/packages/rocketchat-livechat/server/methods/startFileUploadRoom.js
index 88ecdda8a38aa59820c3702777d94dcc2beccec2..495c51fb03bad512228b21a0d970460b5b58d6b2 100644
--- a/packages/rocketchat-livechat/server/methods/startFileUploadRoom.js
+++ b/packages/rocketchat-livechat/server/methods/startFileUploadRoom.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { Random } from 'meteor/random';
 import LivechatVisitors from '../models/LivechatVisitors';
 
 Meteor.methods({
diff --git a/packages/rocketchat-livechat/server/methods/startVideoCall.js b/packages/rocketchat-livechat/server/methods/startVideoCall.js
index f9d60215f677601652bdf1b9d47f644b30b1a28e..e32033b6874b1ad7965611124aa8046fbf55f3a9 100644
--- a/packages/rocketchat-livechat/server/methods/startVideoCall.js
+++ b/packages/rocketchat-livechat/server/methods/startVideoCall.js
@@ -1,4 +1,7 @@
 /* eslint new-cap: [2, {"capIsNewExceptions": ["MD5"]}] */
+import { Meteor } from 'meteor/meteor';
+import { Random } from 'meteor/random';
+
 Meteor.methods({
 	'livechat:startVideoCall'(roomId) {
 		if (!Meteor.userId()) {
diff --git a/packages/rocketchat-livechat/server/methods/takeInquiry.js b/packages/rocketchat-livechat/server/methods/takeInquiry.js
index 18a784f0eedea7c72fccccbb6d5352c663f45b84..680af9110f36c3c56023da64b386f159900917ce 100644
--- a/packages/rocketchat-livechat/server/methods/takeInquiry.js
+++ b/packages/rocketchat-livechat/server/methods/takeInquiry.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	'livechat:takeInquiry'(inquiryId) {
 		if (!Meteor.userId() || !RocketChat.authz.hasPermission(Meteor.userId(), 'view-l-room')) {
diff --git a/packages/rocketchat-livechat/server/methods/transfer.js b/packages/rocketchat-livechat/server/methods/transfer.js
index 3b89142bf45045a87143fa949b46d61a17c6a49d..9e25c450a6c567a62e61f8695d3a926b32a81100 100644
--- a/packages/rocketchat-livechat/server/methods/transfer.js
+++ b/packages/rocketchat-livechat/server/methods/transfer.js
@@ -1,5 +1,7 @@
 /* eslint new-cap: [2, {"capIsNewExceptions": ["Match.Optional"]}] */
 
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
 import LivechatVisitors from '../models/LivechatVisitors';
 
 Meteor.methods({
diff --git a/packages/rocketchat-livechat/server/methods/webhookTest.js b/packages/rocketchat-livechat/server/methods/webhookTest.js
index e6eaae3c49b66c7d87d30fefcf79e4c61e3e7a6b..27ce96c1ab030d0cd74d7a29a9b023b9778f6099 100644
--- a/packages/rocketchat-livechat/server/methods/webhookTest.js
+++ b/packages/rocketchat-livechat/server/methods/webhookTest.js
@@ -1,4 +1,6 @@
 /* globals HTTP */
+import { Meteor } from 'meteor/meteor';
+
 const postCatchError = Meteor.wrapAsync(function(url, options, resolve) {
 	HTTP.post(url, options, function(err, res) {
 		if (err) {
diff --git a/packages/rocketchat-livechat/server/models/LivechatDepartmentAgents.js b/packages/rocketchat-livechat/server/models/LivechatDepartmentAgents.js
index abbca57ab45302cc37447ba613215de03700b25c..c22aecb6f9a2c4dfb5768f372889b229a7b781ae 100644
--- a/packages/rocketchat-livechat/server/models/LivechatDepartmentAgents.js
+++ b/packages/rocketchat-livechat/server/models/LivechatDepartmentAgents.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import _ from 'underscore';
 /**
  * Livechat Department model
diff --git a/packages/rocketchat-livechat/server/models/LivechatExternalMessage.js b/packages/rocketchat-livechat/server/models/LivechatExternalMessage.js
index 08dcf12781e405cf92ebdae7bfcc0afd189bdab2..6ee9937d7bcad0dd1b8dee1da1689097d69093cb 100644
--- a/packages/rocketchat-livechat/server/models/LivechatExternalMessage.js
+++ b/packages/rocketchat-livechat/server/models/LivechatExternalMessage.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 class LivechatExternalMessage extends RocketChat.models._Base {
 	constructor() {
 		super('livechat_external_message');
diff --git a/packages/rocketchat-livechat/server/models/LivechatVisitors.js b/packages/rocketchat-livechat/server/models/LivechatVisitors.js
index 20d1a75de464efa8663c17ae7ea80965e5b04c7f..b1838bcc2371da423adede0ff461c3654756df46 100644
--- a/packages/rocketchat-livechat/server/models/LivechatVisitors.js
+++ b/packages/rocketchat-livechat/server/models/LivechatVisitors.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import _ from 'underscore';
 import s from 'underscore.string';
 
diff --git a/packages/rocketchat-livechat/server/models/Rooms.js b/packages/rocketchat-livechat/server/models/Rooms.js
index 40dd56908e9bde5b20b9ef3c8744d236261c9742..ad6fde31897e0cabdf1d990099aec8aea069f46f 100644
--- a/packages/rocketchat-livechat/server/models/Rooms.js
+++ b/packages/rocketchat-livechat/server/models/Rooms.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import _ from 'underscore';
 
 /**
diff --git a/packages/rocketchat-livechat/server/models/Users.js b/packages/rocketchat-livechat/server/models/Users.js
index 59350639c16f5675e3dbaf2696fa114f735549c1..4e8e624b4cd68be94dec9f20ec4df99b3430c141 100644
--- a/packages/rocketchat-livechat/server/models/Users.js
+++ b/packages/rocketchat-livechat/server/models/Users.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 /**
  * Sets an user as (non)operator
  * @param {string} _id - User's _id
diff --git a/packages/rocketchat-livechat/server/models/indexes.js b/packages/rocketchat-livechat/server/models/indexes.js
index 21cb6534284f900ba729f62fb27718b696d2e041..b707315cf1808d13d4e8268b3fb4fb3613a70e5b 100644
--- a/packages/rocketchat-livechat/server/models/indexes.js
+++ b/packages/rocketchat-livechat/server/models/indexes.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.startup(function() {
 	RocketChat.models.Rooms.tryEnsureIndex({ open: 1 }, { sparse: 1 });
 	RocketChat.models.Rooms.tryEnsureIndex({ departmentId: 1 }, { sparse: 1 });
diff --git a/packages/rocketchat-livechat/server/publications/customFields.js b/packages/rocketchat-livechat/server/publications/customFields.js
index b01590fe0688e751550d1f2493f3d187a268c3b9..87b8af5f6c728662da41994a74ac09591e35dcaf 100644
--- a/packages/rocketchat-livechat/server/publications/customFields.js
+++ b/packages/rocketchat-livechat/server/publications/customFields.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import s from 'underscore.string';
 
 Meteor.publish('livechat:customFields', function(_id) {
diff --git a/packages/rocketchat-livechat/server/publications/departmentAgents.js b/packages/rocketchat-livechat/server/publications/departmentAgents.js
index 47d30df37e18febd495b9e8721ab50421de245bc..806d6df1c5a31a36e14e4b5a6fdcb38f6c1224f6 100644
--- a/packages/rocketchat-livechat/server/publications/departmentAgents.js
+++ b/packages/rocketchat-livechat/server/publications/departmentAgents.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.publish('livechat:departmentAgents', function(departmentId) {
 	if (!this.userId) {
 		return this.error(new Meteor.Error('error-not-authorized', 'Not authorized', { publish: 'livechat:departmentAgents' }));
diff --git a/packages/rocketchat-livechat/server/publications/externalMessages.js b/packages/rocketchat-livechat/server/publications/externalMessages.js
index 3cd8defdbac390d140a88044e3669484ff067bfb..b124dbe5b44872ad75aec573c07e5e38e5e3b9c2 100644
--- a/packages/rocketchat-livechat/server/publications/externalMessages.js
+++ b/packages/rocketchat-livechat/server/publications/externalMessages.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.publish('livechat:externalMessages', function(roomId) {
 	return RocketChat.models.LivechatExternalMessage.findByRoomId(roomId);
 });
diff --git a/packages/rocketchat-livechat/server/publications/livechatAgents.js b/packages/rocketchat-livechat/server/publications/livechatAgents.js
index 8849e5c77b6ad69b34b3e46a02c205d772934e75..8356a2537ec0c5d68d499886792f12cfe2491090 100644
--- a/packages/rocketchat-livechat/server/publications/livechatAgents.js
+++ b/packages/rocketchat-livechat/server/publications/livechatAgents.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.publish('livechat:agents', function() {
 	if (!this.userId) {
 		return this.error(new Meteor.Error('error-not-authorized', 'Not authorized', { publish: 'livechat:agents' }));
diff --git a/packages/rocketchat-livechat/server/publications/livechatAppearance.js b/packages/rocketchat-livechat/server/publications/livechatAppearance.js
index 1af99eaa8d9822bdd3d29afcca73e134ee9fcd9a..c48eb1721e4872dee739cf995642194c1f53fcc6 100644
--- a/packages/rocketchat-livechat/server/publications/livechatAppearance.js
+++ b/packages/rocketchat-livechat/server/publications/livechatAppearance.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.publish('livechat:appearance', function() {
 	if (!this.userId) {
 		return this.error(new Meteor.Error('error-not-authorized', 'Not authorized', { publish: 'livechat:appearance' }));
diff --git a/packages/rocketchat-livechat/server/publications/livechatDepartments.js b/packages/rocketchat-livechat/server/publications/livechatDepartments.js
index c0036a030df164762aea45b77e516a0f35d4a164..81078804525c1683412a8ad6ea9f906b268333a2 100644
--- a/packages/rocketchat-livechat/server/publications/livechatDepartments.js
+++ b/packages/rocketchat-livechat/server/publications/livechatDepartments.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.publish('livechat:departments', function(_id) {
 	if (!this.userId) {
 		return this.error(new Meteor.Error('error-not-authorized', 'Not authorized', { publish: 'livechat:agents' }));
diff --git a/packages/rocketchat-livechat/server/publications/livechatInquiries.js b/packages/rocketchat-livechat/server/publications/livechatInquiries.js
index 65757f72110a6dbdc16cb886d326e9d097ace89a..84976c604d43d4ee0aa9c7e45d006f4c961544bf 100644
--- a/packages/rocketchat-livechat/server/publications/livechatInquiries.js
+++ b/packages/rocketchat-livechat/server/publications/livechatInquiries.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.publish('livechat:inquiry', function() {
 	if (!this.userId) {
 		return this.error(new Meteor.Error('error-not-authorized', 'Not authorized', { publish: 'livechat:inquiry' }));
diff --git a/packages/rocketchat-livechat/server/publications/livechatIntegration.js b/packages/rocketchat-livechat/server/publications/livechatIntegration.js
index eaf02b0df2e318c5bca9e7670776623b895a8697..ef4805d2b1bf5246d786e2f2ff4583587bdb026d 100644
--- a/packages/rocketchat-livechat/server/publications/livechatIntegration.js
+++ b/packages/rocketchat-livechat/server/publications/livechatIntegration.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.publish('livechat:integration', function() {
 	if (!this.userId) {
 		return this.error(new Meteor.Error('error-not-authorized', 'Not authorized', { publish: 'livechat:integration' }));
diff --git a/packages/rocketchat-livechat/server/publications/livechatManagers.js b/packages/rocketchat-livechat/server/publications/livechatManagers.js
index b6dae818d91897a5d1e0db023e78f83a3124363a..deccf102839435c71ced8b6d9bf337a105ca0370 100644
--- a/packages/rocketchat-livechat/server/publications/livechatManagers.js
+++ b/packages/rocketchat-livechat/server/publications/livechatManagers.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.publish('livechat:managers', function() {
 	if (!this.userId) {
 		return this.error(new Meteor.Error('error-not-authorized', 'Not authorized', { publish: 'livechat:managers' }));
diff --git a/packages/rocketchat-livechat/server/publications/livechatMonitoring.js b/packages/rocketchat-livechat/server/publications/livechatMonitoring.js
index 95140dda2b51647cb907494ec11de1f7a9b3feb9..8fa094e382427b0f851e8c4dbab56c3567df12ea 100644
--- a/packages/rocketchat-livechat/server/publications/livechatMonitoring.js
+++ b/packages/rocketchat-livechat/server/publications/livechatMonitoring.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.publish('livechat:monitoring', function(date) {
 	if (!this.userId) {
 		return this.error(new Meteor.Error('error-not-authorized', 'Not authorized', { publish: 'livechat:monitoring' }));
diff --git a/packages/rocketchat-livechat/server/publications/livechatOfficeHours.js b/packages/rocketchat-livechat/server/publications/livechatOfficeHours.js
index 566a79012a717f5600312db5c109e929f56ad739..79a9a4c6794db8c450cd1c1162d9d3f5e0993e1c 100644
--- a/packages/rocketchat-livechat/server/publications/livechatOfficeHours.js
+++ b/packages/rocketchat-livechat/server/publications/livechatOfficeHours.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.publish('livechat:officeHour', function() {
 	if (!RocketChat.authz.hasPermission(this.userId, 'view-l-room')) {
 		return this.error(new Meteor.Error('error-not-authorized', 'Not authorized', { publish: 'livechat:agents' }));
diff --git a/packages/rocketchat-livechat/server/publications/livechatQueue.js b/packages/rocketchat-livechat/server/publications/livechatQueue.js
index 3cce14f9ab1d8b0906caee0f19aa18e1be9e6844..c40c33d7f377b4ea2ce5728cd9cd0a4d307b5110 100644
--- a/packages/rocketchat-livechat/server/publications/livechatQueue.js
+++ b/packages/rocketchat-livechat/server/publications/livechatQueue.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.publish('livechat:queue', function() {
 	if (!this.userId) {
 		return this.error(new Meteor.Error('error-not-authorized', 'Not authorized', { publish: 'livechat:queue' }));
diff --git a/packages/rocketchat-livechat/server/publications/livechatRooms.js b/packages/rocketchat-livechat/server/publications/livechatRooms.js
index 075dbef562f56c8af65a2fef71938523c49f26d6..da8ae754c41231f2593baeb2cdcc8588bcceac8c 100644
--- a/packages/rocketchat-livechat/server/publications/livechatRooms.js
+++ b/packages/rocketchat-livechat/server/publications/livechatRooms.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
+
 Meteor.publish('livechat:rooms', function(filter = {}, offset = 0, limit = 20) {
 	if (!this.userId) {
 		return this.error(new Meteor.Error('error-not-authorized', 'Not authorized', { publish: 'livechat:rooms' }));
diff --git a/packages/rocketchat-livechat/server/publications/livechatTriggers.js b/packages/rocketchat-livechat/server/publications/livechatTriggers.js
index 3baeb011f402bb69c8a37a3f1dbba11b8828039b..6c21040fb489f7654eefe9300045fdd0e8779c25 100644
--- a/packages/rocketchat-livechat/server/publications/livechatTriggers.js
+++ b/packages/rocketchat-livechat/server/publications/livechatTriggers.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.publish('livechat:triggers', function(_id) {
 	if (!this.userId) {
 		return this.error(new Meteor.Error('error-not-authorized', 'Not authorized', { publish: 'livechat:triggers' }));
diff --git a/packages/rocketchat-livechat/server/publications/livechatVisitors.js b/packages/rocketchat-livechat/server/publications/livechatVisitors.js
index ed5a34f0576f79dc2fdaae60e9b52cfa923d2136..b14726acc2eefa2a4df643fdcad5fcc5e6d4d219 100644
--- a/packages/rocketchat-livechat/server/publications/livechatVisitors.js
+++ b/packages/rocketchat-livechat/server/publications/livechatVisitors.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
 import LivechatVisitors from '../models/LivechatVisitors';
 
 Meteor.publish('livechat:visitors', function(date) {
diff --git a/packages/rocketchat-livechat/server/publications/visitorHistory.js b/packages/rocketchat-livechat/server/publications/visitorHistory.js
index 36227a2215ca20b4eb071cbcdc0bf7023039c6e6..0f03353f457d2f277c7304e9d755f2804f40915c 100644
--- a/packages/rocketchat-livechat/server/publications/visitorHistory.js
+++ b/packages/rocketchat-livechat/server/publications/visitorHistory.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.publish('livechat:visitorHistory', function({ rid: roomId }) {
 	if (!this.userId) {
 		return this.error(new Meteor.Error('error-not-authorized', 'Not authorized', { publish: 'livechat:visitorHistory' }));
diff --git a/packages/rocketchat-livechat/server/publications/visitorInfo.js b/packages/rocketchat-livechat/server/publications/visitorInfo.js
index b09b0d9dac8fadf1a3af9bfecbfd3ff5306332e9..23022a1914a7f5043c3a6a3d5a18caa403e49adf 100644
--- a/packages/rocketchat-livechat/server/publications/visitorInfo.js
+++ b/packages/rocketchat-livechat/server/publications/visitorInfo.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import LivechatVisitors from '../models/LivechatVisitors';
 
 Meteor.publish('livechat:visitorInfo', function({ rid: roomId }) {
diff --git a/packages/rocketchat-livechat/server/publications/visitorPageVisited.js b/packages/rocketchat-livechat/server/publications/visitorPageVisited.js
index d74d343d90a58dc57f57aa268289c791af8cd86a..dbbc3f4fe127e701ac39aa2020b46a932addc565 100644
--- a/packages/rocketchat-livechat/server/publications/visitorPageVisited.js
+++ b/packages/rocketchat-livechat/server/publications/visitorPageVisited.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.publish('livechat:visitorPageVisited', function({ rid: roomId }) {
 
 	if (!this.userId) {
diff --git a/packages/rocketchat-livechat/server/startup.js b/packages/rocketchat-livechat/server/startup.js
index 9ef7139ec07adf623315e1ffa75e40d5f98d7118..dcc89dbd2da8c75f5f3c831bb1e3554422daf49a 100644
--- a/packages/rocketchat-livechat/server/startup.js
+++ b/packages/rocketchat-livechat/server/startup.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { TAPi18n } from 'meteor/tap:i18n';
+
 Meteor.startup(() => {
 	RocketChat.roomTypes.setRoomFind('l', (_id) => RocketChat.models.Rooms.findLivechatById(_id).fetch());
 
diff --git a/packages/rocketchat-livechat/server/unclosedLivechats.js b/packages/rocketchat-livechat/server/unclosedLivechats.js
index d0212426fa04484a471f6f1f72c712d4eb8d8db1..19395d5be3617c3454b1526a19dd683f16f3f2ae 100644
--- a/packages/rocketchat-livechat/server/unclosedLivechats.js
+++ b/packages/rocketchat-livechat/server/unclosedLivechats.js
@@ -1,4 +1,5 @@
 /* globals UserPresenceMonitor */
+import { Meteor } from 'meteor/meteor';
 
 let agentsHandler;
 let monitorAgents = false;
diff --git a/packages/rocketchat-livechat/server/visitorStatus.js b/packages/rocketchat-livechat/server/visitorStatus.js
index 4c31c386e71cf01024b4d210153d48cc0869b0b9..611a6f00d5cc3178dabe63c0746f0f7a4f98539d 100644
--- a/packages/rocketchat-livechat/server/visitorStatus.js
+++ b/packages/rocketchat-livechat/server/visitorStatus.js
@@ -1,4 +1,6 @@
 /* globals UserPresenceEvents */
+import { Meteor } from 'meteor/meteor';
+
 Meteor.startup(() => {
 	UserPresenceEvents.on('setStatus', (session, status, metadata) => {
 		if (metadata && metadata.visitor) {
diff --git a/packages/rocketchat-livestream/client/index.js b/packages/rocketchat-livestream/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..b118255a4cb3117197989b610f2421c9c2c62658
--- /dev/null
+++ b/packages/rocketchat-livestream/client/index.js
@@ -0,0 +1,10 @@
+import './styles/liveStreamTab.css';
+import './views/liveStreamTab.html';
+import './views/liveStreamTab';
+import './views/livestreamBroadcast.html';
+import './views/livestreamBroadcast';
+import './views/broadcastView.html';
+import './views/broadcastView';
+import './views/liveStreamView.html';
+import './views/liveStreamView';
+import './tabBar';
diff --git a/packages/rocketchat-livestream/client/oauth.js b/packages/rocketchat-livestream/client/oauth.js
index c797e87fb29e09ea3e65ab304b55e4472315ca0d..eb9b5358be4d6ebe1734b5f348506cb60de56e59 100644
--- a/packages/rocketchat-livestream/client/oauth.js
+++ b/packages/rocketchat-livestream/client/oauth.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 export const close = (popup) => new Promise(function(resolve) {
 	const checkInterval = setInterval(() => {
 		if (popup.closed) {
diff --git a/packages/rocketchat-livestream/client/tabBar.js b/packages/rocketchat-livestream/client/tabBar.js
index 362e56cfbda88e9c1953e6bae6d7edf9fd370e91..7741f96a3e36fe0edbeb6d7e64c219e9ab0eaf0a 100644
--- a/packages/rocketchat-livestream/client/tabBar.js
+++ b/packages/rocketchat-livestream/client/tabBar.js
@@ -1,3 +1,8 @@
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
+import { Session } from 'meteor/session';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.startup(function() {
 	Tracker.autorun(function() {
 		RocketChat.TabBar.removeButton('livestream');
diff --git a/packages/rocketchat-livestream/client/views/broadcastView.js b/packages/rocketchat-livestream/client/views/broadcastView.js
index ca2705afa26f0409b51a7558ed0444c6312c721e..e2feea2e05f8edc471e39a82dd74f425acf21019 100644
--- a/packages/rocketchat-livestream/client/views/broadcastView.js
+++ b/packages/rocketchat-livestream/client/views/broadcastView.js
@@ -1,3 +1,9 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
+import { RocketChat, handleError } from 'meteor/rocketchat:lib';
+
 const getMedia = () => navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;
 const createAndConnect = (url) => {
 	if (!'WebSocket' in window) { // eslint-disable-line no-negated-in-lhs
diff --git a/packages/rocketchat-livestream/client/views/liveStreamTab.js b/packages/rocketchat-livestream/client/views/liveStreamTab.js
index 104f6be88fc888b7c81284ca12b6db9c861e01b2..ebd843664b08098db4a73a727a147950dd733407 100644
--- a/packages/rocketchat-livestream/client/views/liveStreamTab.js
+++ b/packages/rocketchat-livestream/client/views/liveStreamTab.js
@@ -1,8 +1,13 @@
-/* globals popout */
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Blaze } from 'meteor/blaze';
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
 import toastr from 'toastr';
 import { auth } from '../oauth.js';
-import { RocketChatAnnouncement } from 'meteor/rocketchat:lib';
-
+import { RocketChatAnnouncement, RocketChat, handleError } from 'meteor/rocketchat:lib';
+import { popout, t } from 'meteor/rocketchat:ui';
 
 export const call = (...args) => new Promise(function(resolve, reject) {
 	Meteor.call(...args, function(err, result) {
diff --git a/packages/rocketchat-livestream/client/views/liveStreamView.js b/packages/rocketchat-livestream/client/views/liveStreamView.js
index d5c10cc6ca599f4ee7579f90ea9aba7f65bb0487..588a6e2d1b903878fab454d13c2e7123d40821be 100644
--- a/packages/rocketchat-livestream/client/views/liveStreamView.js
+++ b/packages/rocketchat-livestream/client/views/liveStreamView.js
@@ -1,3 +1,5 @@
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Template } from 'meteor/templating';
 
 this.onYouTubePlayerAPIReady = function() {
 	const playerReadyEvent = new Event('playerReady');
diff --git a/packages/rocketchat-livestream/package.js b/packages/rocketchat-livestream/package.js
index dc0ba5a76b7ed8e7a16d805a2e72c14a96a1cd99..6e2c55f39a06297edca8adcccc83c067026b08ea 100644
--- a/packages/rocketchat-livestream/package.js
+++ b/packages/rocketchat-livestream/package.js
@@ -6,31 +6,14 @@ Package.describe({
 });
 
 Package.onUse(function(api) {
-	api.use('templating', 'client');
 	api.use([
 		'ecmascript',
 		'rocketchat:lib',
+		'rocketchat:ui',
+		'templating',
 	]);
-	api.addFiles([
-		'client/views/liveStreamTab.html',
-		'client/views/livestreamBroadcast.html',
-		'client/views/livestreamBroadcast.js',
-		'client/views/liveStreamTab.js',
-		'client/views/broadcastView.html',
-		'client/views/broadcastView.js',
-		'client/styles/liveStreamTab.css',
-		'client/views/liveStreamView.html',
-		'client/views/liveStreamView.js',
-		'client/tabBar.js',
-	], 'client');
-
-	api.addFiles([
-		'server/index.js',
-		'server/models/Rooms.js',
-		'server/functions/saveStreamingOptions.js',
-		'server/settings.js',
-	], 'server');
-
+	api.mainModule('client/index.js', 'client');
+	api.mainModule('server/index.js', 'server');
 	Npm.depends({
 		googleapis: '25.0.0',
 	});
diff --git a/packages/rocketchat-livestream/server/functions/saveStreamingOptions.js b/packages/rocketchat-livestream/server/functions/saveStreamingOptions.js
index be0e655cd815093e6c536f28390d68e5e4bad2d6..f0a2d013a4d4afad78118a11a696ea00c26eb387 100644
--- a/packages/rocketchat-livestream/server/functions/saveStreamingOptions.js
+++ b/packages/rocketchat-livestream/server/functions/saveStreamingOptions.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.saveStreamingOptions = function(rid, options) {
 	if (!Match.test(rid, String)) {
 		throw new Meteor.Error('invalid-room', 'Invalid room', {
diff --git a/packages/rocketchat-livestream/server/index.js b/packages/rocketchat-livestream/server/index.js
index 63ea14561bf5506ef186b520c62330f2e1f01b6b..0f5c850442a4d4bebad8c5dfe26bde8c791d6084 100644
--- a/packages/rocketchat-livestream/server/index.js
+++ b/packages/rocketchat-livestream/server/index.js
@@ -1,2 +1,5 @@
+import './models/Rooms';
+import './functions/saveStreamingOptions';
 import './routes.js';
 import './methods.js';
+import './settings';
diff --git a/packages/rocketchat-livestream/server/methods.js b/packages/rocketchat-livestream/server/methods.js
index 66e9be9c090801d51e4258fc2d806d7eaf6695af..3625c74ceb56e3a0e036a4cbdbc84faf37f5ff4d 100644
--- a/packages/rocketchat-livestream/server/methods.js
+++ b/packages/rocketchat-livestream/server/methods.js
@@ -1,4 +1,5 @@
 import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
 import { createLiveStream, statusLiveStream, statusStreamLiveStream, getBroadcastStatus, setBroadcastStatus } from './functions/livestream';
 
 const selectLivestreamSettings = (user) => user && user.settings && user.settings.livestream;
diff --git a/packages/rocketchat-livestream/server/models/Rooms.js b/packages/rocketchat-livestream/server/models/Rooms.js
index b0b7a3be67277f7b902bf28e1fb0c63a04204f19..24857be9004c110593eafd59715096a1ec354733 100644
--- a/packages/rocketchat-livestream/server/models/Rooms.js
+++ b/packages/rocketchat-livestream/server/models/Rooms.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.models.Rooms.setStreamingOptionsById = function(_id, streamingOptions) {
 	const update = {
 		$set: {
diff --git a/packages/rocketchat-livestream/server/routes.js b/packages/rocketchat-livestream/server/routes.js
index 9d9436333a43e497025484123a55126a9f0492d5..5806dc03174a74d22fa86b8f750a6d473175a7c7 100644
--- a/packages/rocketchat-livestream/server/routes.js
+++ b/packages/rocketchat-livestream/server/routes.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
 import google from 'googleapis';
 const { OAuth2 } = google.auth;
 
diff --git a/packages/rocketchat-livestream/server/settings.js b/packages/rocketchat-livestream/server/settings.js
index 97177dc19099b7855b2aaf09f5359f88f47e4965..f5ba52b6343ee5b635753b0ca70ee711f07be6f7 100644
--- a/packages/rocketchat-livestream/server/settings.js
+++ b/packages/rocketchat-livestream/server/settings.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.startup(function() {
 	RocketChat.settings.addGroup('LiveStream & Broadcasting', function() {
 
diff --git a/packages/rocketchat-logger/client/viewLogs.js b/packages/rocketchat-logger/client/viewLogs.js
index 30f674e231c2cf72a2e08d701e3e688fccfac7bb..81df547fa3974823dab4f5ecc8a84712fbd5e0ea 100644
--- a/packages/rocketchat-logger/client/viewLogs.js
+++ b/packages/rocketchat-logger/client/viewLogs.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { Mongo } from 'meteor/mongo';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { BlazeLayout } from 'meteor/kadira:blaze-layout';
 
 this.stdout = new Mongo.Collection('stdout');
 
diff --git a/packages/rocketchat-logger/client/views/viewLogs.js b/packages/rocketchat-logger/client/views/viewLogs.js
index 176805af9e97263a0ebf38d52a00451471116f7e..72a62d105a9a1a40943eb1c8a2a0e1eea4a281f1 100644
--- a/packages/rocketchat-logger/client/views/viewLogs.js
+++ b/packages/rocketchat-logger/client/views/viewLogs.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { Template } from 'meteor/templating';
 import _ from 'underscore';
 import moment from 'moment';
 // TODO: remove this globals
diff --git a/packages/rocketchat-logger/package.js b/packages/rocketchat-logger/package.js
index c0fc699793548bd3bd22d7d2cb1ad6972c0499d9..8362406f63fb7ab54faaf582c72d8fc0c86a9bb6 100644
--- a/packages/rocketchat-logger/package.js
+++ b/packages/rocketchat-logger/package.js
@@ -13,7 +13,7 @@ Package.onUse(function(api) {
 	api.use('raix:eventemitter');
 	api.use('templating', 'client');
 	api.use('kadira:flow-router', 'client');
-
+	api.use('kadira:blaze-layout', 'client');
 	api.addFiles('client/ansispan.js', 'client');
 	api.addFiles('client/logger.js', 'client');
 	api.addFiles('client/viewLogs.js', 'client');
diff --git a/packages/rocketchat-logger/server/server.js b/packages/rocketchat-logger/server/server.js
index dc519f8d097c1859e9f7533bc788658eecfd9303..06a938dbec5a52b7da5fce5e0dbbc9f8d817202a 100644
--- a/packages/rocketchat-logger/server/server.js
+++ b/packages/rocketchat-logger/server/server.js
@@ -1,4 +1,7 @@
 /* globals EventEmitter LoggerManager SystemLogger Log*/
+import { Meteor } from 'meteor/meteor';
+import { Random } from 'meteor/random';
+import { EJSON } from 'meteor/ejson';
 import _ from 'underscore';
 import s from 'underscore.string';
 
diff --git a/packages/rocketchat-mail-messages/client/index.js b/packages/rocketchat-mail-messages/client/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..75419b8457309430f6af5d28863ab90db913551c
--- /dev/null
+++ b/packages/rocketchat-mail-messages/client/index.js
@@ -0,0 +1,6 @@
+import './startup';
+import './router';
+import './views/mailer.html';
+import './views/mailer';
+import './views/mailerUnsubscribe.html';
+import './views/mailerUnsubscribe';
diff --git a/packages/rocketchat-mail-messages/client/router.js b/packages/rocketchat-mail-messages/client/router.js
index b4a49f31f36d8fe0c14c8b1b5e4d8545c3d66a72..3302b6a56fd1c6d63633afa8ba5a774a151bba0b 100644
--- a/packages/rocketchat-mail-messages/client/router.js
+++ b/packages/rocketchat-mail-messages/client/router.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { BlazeLayout } from 'meteor/kadira:blaze-layout';
+
 FlowRouter.route('/mailer', {
 	name: 'mailer',
 	action() {
diff --git a/packages/rocketchat-mail-messages/client/startup.js b/packages/rocketchat-mail-messages/client/startup.js
index 7908936cc57fcc4b06c167661ce393a099650102..285fc2297ca11bc393015fdad1e07943eb1e9be7 100644
--- a/packages/rocketchat-mail-messages/client/startup.js
+++ b/packages/rocketchat-mail-messages/client/startup.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.AdminBox.addOption({
 	href: 'mailer',
 	i18nLabel: 'Mailer',
diff --git a/packages/rocketchat-mail-messages/client/views/mailer.js b/packages/rocketchat-mail-messages/client/views/mailer.js
index aaf4f2fdd50ec4c1f607a4ecf127046c79d2570f..a59ef3f18f841fec38cb206c4910629465c7c19c 100644
--- a/packages/rocketchat-mail-messages/client/views/mailer.js
+++ b/packages/rocketchat-mail-messages/client/views/mailer.js
@@ -1,4 +1,9 @@
+import { Meteor } from 'meteor/meteor';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
+import { RocketChat, handleError } from 'meteor/rocketchat:lib';
 import toastr from 'toastr';
+
 Template.mailer.helpers({
 	fromEmail() {
 		return RocketChat.settings.get('From_Email');
diff --git a/packages/rocketchat-mail-messages/client/views/mailerUnsubscribe.js b/packages/rocketchat-mail-messages/client/views/mailerUnsubscribe.js
index 8012c4deb519cb4039414465ff3b241eeee98699..b17122c8542df2b0802dcbd8383bd537bbc67a41 100644
--- a/packages/rocketchat-mail-messages/client/views/mailerUnsubscribe.js
+++ b/packages/rocketchat-mail-messages/client/views/mailerUnsubscribe.js
@@ -1,3 +1,5 @@
+import { Template } from 'meteor/templating';
+
 Template.mailerUnsubscribe.onRendered(function() {
 	return $('#initial-page-loading').remove();
 });
diff --git a/packages/rocketchat-mail-messages/lib/Mailer.js b/packages/rocketchat-mail-messages/lib/Mailer.js
deleted file mode 100644
index e7e30cfebe4a4c3d77958073b2cd07714b135695..0000000000000000000000000000000000000000
--- a/packages/rocketchat-mail-messages/lib/Mailer.js
+++ /dev/null
@@ -1 +0,0 @@
-Mailer = {};//eslint-disable-line
diff --git a/packages/rocketchat-mail-messages/package.js b/packages/rocketchat-mail-messages/package.js
index 44a975dc2f5b190409a118b3a275ef458cb159ae..d47bba2236a1c20ce796291bc914ca4bc776fa4c 100644
--- a/packages/rocketchat-mail-messages/package.js
+++ b/packages/rocketchat-mail-messages/package.js
@@ -9,31 +9,11 @@ Package.onUse(function(api) {
 		'ecmascript',
 		'ddp-rate-limiter',
 		'kadira:flow-router',
+		'kadira:blaze-layout',
 		'rocketchat:lib',
 		'rocketchat:authorization',
+		'templating',
 	]);
-
-	api.use('templating', 'client');
-
-	api.addFiles('lib/Mailer.js');
-
-	api.addFiles([
-		'client/startup.js',
-		'client/router.js',
-		'client/views/mailer.html',
-		'client/views/mailer.js',
-		'client/views/mailerUnsubscribe.html',
-		'client/views/mailerUnsubscribe.js',
-	], 'client');
-
-	api.addFiles([
-		'server/startup.js',
-		'server/models/Users.js',
-		'server/functions/sendMail.js',
-		'server/functions/unsubscribe.js',
-		'server/methods/sendMail.js',
-		'server/methods/unsubscribe.js',
-	], 'server');
-
-	api.export('Mailer');
+	api.mainModule('client/index.js', 'client');
+	api.mainModule('server/index.js', 'server');
 });
diff --git a/packages/rocketchat-mail-messages/server/functions/sendMail.js b/packages/rocketchat-mail-messages/server/functions/sendMail.js
index 5e671a51365f886730f1998b82bb1f95d8e4d450..262105588683910121fcde8b0e77f6f97940848f 100644
--- a/packages/rocketchat-mail-messages/server/functions/sendMail.js
+++ b/packages/rocketchat-mail-messages/server/functions/sendMail.js
@@ -1,8 +1,11 @@
-/* globals */
+import { Meteor } from 'meteor/meteor';
+import { EJSON } from 'meteor/ejson';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { RocketChat } from 'meteor/rocketchat:lib';
 import s from 'underscore.string';
 import * as Mailer from 'meteor/rocketchat:mailer';
 
-Mailer.sendMail = function(from, subject, body, dryrun, query) {
+export const sendMail = function(from, subject, body, dryrun, query) {
 	Mailer.checkAddressFormatAndThrow(from, 'Mailer.sendMail');
 	if (body.indexOf('[unsubscribe]') === -1) {
 		throw new Meteor.Error('error-missing-unsubscribe-link', 'You must provide the [unsubscribe] link.', {
diff --git a/packages/rocketchat-mail-messages/server/functions/unsubscribe.js b/packages/rocketchat-mail-messages/server/functions/unsubscribe.js
index 4e0bbc838ad92425c3994f109612b3f8fbb88f63..721ff5eee0bbaaad95c27a4864467af6803b3adc 100644
--- a/packages/rocketchat-mail-messages/server/functions/unsubscribe.js
+++ b/packages/rocketchat-mail-messages/server/functions/unsubscribe.js
@@ -1,5 +1,6 @@
-/* globals Mailer */
-Mailer.unsubscribe = function(_id, createdAt) {
+import { RocketChat } from 'meteor/rocketchat:lib';
+
+export const unsubscribe = function(_id, createdAt) {
 	if (_id && createdAt) {
 		return RocketChat.models.Users.rocketMailUnsubscribe(_id, createdAt) === 1;
 	}
diff --git a/packages/rocketchat-mail-messages/server/index.js b/packages/rocketchat-mail-messages/server/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..e547390cb72b53a899aa52dbd646389aec8640e8
--- /dev/null
+++ b/packages/rocketchat-mail-messages/server/index.js
@@ -0,0 +1,9 @@
+import './startup';
+import './models/Users';
+import './methods/sendMail';
+import './methods/unsubscribe';
+import { Mailer } from './lib/Mailer';
+
+export {
+	Mailer,
+};
diff --git a/packages/rocketchat-mail-messages/server/lib/Mailer.js b/packages/rocketchat-mail-messages/server/lib/Mailer.js
new file mode 100644
index 0000000000000000000000000000000000000000..ee55cbc15990c588f01cfc2495b3b7fd5888d0b4
--- /dev/null
+++ b/packages/rocketchat-mail-messages/server/lib/Mailer.js
@@ -0,0 +1,7 @@
+import { sendMail } from '../functions/sendMail';
+import { unsubscribe } from '../functions/unsubscribe';
+
+export const Mailer = {
+	sendMail,
+	unsubscribe,
+};
diff --git a/packages/rocketchat-mail-messages/server/methods/sendMail.js b/packages/rocketchat-mail-messages/server/methods/sendMail.js
index f40aebd1469bd88dbeafddf2eac30ec901ec07a5..8b6bdaa75d8a122fb46afe899691db326a9737ab 100644
--- a/packages/rocketchat-mail-messages/server/methods/sendMail.js
+++ b/packages/rocketchat-mail-messages/server/methods/sendMail.js
@@ -1,4 +1,7 @@
-/* globals Mailer */
+import { Meteor } from 'meteor/meteor';
+import { Mailer } from '../lib/Mailer';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.methods({
 	'Mailer.sendMail'(from, subject, body, dryrun, query) {
 		const userId = Meteor.userId();
diff --git a/packages/rocketchat-mail-messages/server/methods/unsubscribe.js b/packages/rocketchat-mail-messages/server/methods/unsubscribe.js
index 788c0b3d0c64cf0ee27bcf562a26b9ef8305e7b8..c5bb3e8c9d5fa8527fc61d223169981c44f79721 100644
--- a/packages/rocketchat-mail-messages/server/methods/unsubscribe.js
+++ b/packages/rocketchat-mail-messages/server/methods/unsubscribe.js
@@ -1,4 +1,7 @@
-/* globals Mailer */
+import { Meteor } from 'meteor/meteor';
+import { DDPRateLimiter } from 'meteor/ddp-rate-limiter';
+import { Mailer } from '../lib/Mailer';
+
 Meteor.methods({
 	'Mailer:unsubscribe'(_id, createdAt) {
 		return Mailer.unsubscribe(_id, createdAt);
diff --git a/packages/rocketchat-mail-messages/server/models/Users.js b/packages/rocketchat-mail-messages/server/models/Users.js
index d18df7a60315d02712af3a39dbb0d79f17b8677b..b9e4eca24bf1b3db48bf7a5ca9d3ab3d6af07661 100644
--- a/packages/rocketchat-mail-messages/server/models/Users.js
+++ b/packages/rocketchat-mail-messages/server/models/Users.js
@@ -1,3 +1,5 @@
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 RocketChat.models.Users.rocketMailUnsubscribe = function(_id, createdAt) {
 	const query = {
 		_id,
diff --git a/packages/rocketchat-mail-messages/server/startup.js b/packages/rocketchat-mail-messages/server/startup.js
index 2f0105eb31e2fa00e3851d17a89157280b6d79a1..f8c063d8d7b9c30a7c5a2c953ae874df12879576 100644
--- a/packages/rocketchat-mail-messages/server/startup.js
+++ b/packages/rocketchat-mail-messages/server/startup.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { RocketChat } from 'meteor/rocketchat:lib';
+
 Meteor.startup(function() {
 	return RocketChat.models.Permissions.upsert('access-mailer', {
 		$setOnInsert: {
diff --git a/packages/rocketchat-mailer/package.js b/packages/rocketchat-mailer/package.js
index 0d3d26d051ac54ed196867f71dde627fae3f24d5..f2b41e9ceed7074fb6d5bb79093be11c45d6707e 100644
--- a/packages/rocketchat-mailer/package.js
+++ b/packages/rocketchat-mailer/package.js
@@ -7,6 +7,7 @@ Package.describe({
 Package.onUse(function(api) {
 	api.use([
 		'ecmascript',
+		'email',
 		'ddp-rate-limiter',
 		'rocketchat:i18n',
 	]);
diff --git a/packages/rocketchat-mailer/server/api.js b/packages/rocketchat-mailer/server/api.js
index d357132d58e1cc1eb64b252a7e57bcca702215dc..bf5ec59b972be9815c084566ebcd23f359e2db39 100644
--- a/packages/rocketchat-mailer/server/api.js
+++ b/packages/rocketchat-mailer/server/api.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Email } from 'meteor/email';
+import { TAPi18n } from 'meteor/tap:i18n';
 import _ from 'underscore';
 import s from 'underscore.string';
 import juice from 'juice';
diff --git a/packages/rocketchat-mapview/client/mapview.js b/packages/rocketchat-mapview/client/mapview.js
index a8f9be92d358607ebe4f0e4ee6b279a6e33b5b2b..9223c6bfd71e0a2b6cf60a3dc569d0121c9157fa 100644
--- a/packages/rocketchat-mapview/client/mapview.js
+++ b/packages/rocketchat-mapview/client/mapview.js
@@ -1,3 +1,4 @@
+import { TAPi18n } from 'meteor/tap:i18n';
 /*
  * MapView is a named function that will replace geolocation in messages with a Google Static Map
  * @param {Object} message - The message object
diff --git a/packages/rocketchat-mapview/server/settings.js b/packages/rocketchat-mapview/server/settings.js
index b79cea6df6465f3042d38c8df760b5d2b552a3be..185a2c6c781893baf69b2ca0b32fd25d607a9368 100644
--- a/packages/rocketchat-mapview/server/settings.js
+++ b/packages/rocketchat-mapview/server/settings.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.startup(function() {
 	RocketChat.settings.add('MapView_Enabled', false, { type: 'boolean', group: 'Message', section: 'Google Maps', public: true, i18nLabel: 'MapView_Enabled', i18nDescription: 'MapView_Enabled_Description' });
 	return RocketChat.settings.add('MapView_GMapsAPIKey', '', { type: 'string', group: 'Message', section: 'Google Maps', public: true, i18nLabel: 'MapView_GMapsAPIKey', i18nDescription: 'MapView_GMapsAPIKey_Description' });
diff --git a/packages/rocketchat-mentions-flextab/client/actionButton.js b/packages/rocketchat-mentions-flextab/client/actionButton.js
index 67a4df2af2ca04df41478b53871d16dd04de9e2d..29f750de54ea998ab4ad44517d4ff3883ac41686 100644
--- a/packages/rocketchat-mentions-flextab/client/actionButton.js
+++ b/packages/rocketchat-mentions-flextab/client/actionButton.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Template } from 'meteor/templating';
+
 Meteor.startup(function() {
 	RocketChat.MessageAction.addButton({
 		id: 'jump-to-message',
diff --git a/packages/rocketchat-mentions-flextab/client/lib/MentionedMessage.js b/packages/rocketchat-mentions-flextab/client/lib/MentionedMessage.js
index fffbdd257ebaf74d11c554db5d620bca337c7315..2f10c002b3b3c4e4cdcd4103eef83735667176df 100644
--- a/packages/rocketchat-mentions-flextab/client/lib/MentionedMessage.js
+++ b/packages/rocketchat-mentions-flextab/client/lib/MentionedMessage.js
@@ -1 +1,3 @@
+import { Mongo } from 'meteor/mongo';
+
 this.MentionedMessage = new Mongo.Collection('rocketchat_mentioned_message');
diff --git a/packages/rocketchat-mentions-flextab/client/tabBar.js b/packages/rocketchat-mentions-flextab/client/tabBar.js
index 74816a1d4aa0a059695be9b5f6acd43d32abffca..619c5dc51ae1c750bc64e5923a43e8d2cd7895de 100644
--- a/packages/rocketchat-mentions-flextab/client/tabBar.js
+++ b/packages/rocketchat-mentions-flextab/client/tabBar.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.startup(function() {
 	return RocketChat.TabBar.addButton({
 		groups: ['channel', 'group'],
diff --git a/packages/rocketchat-mentions-flextab/client/views/mentionsFlexTab.js b/packages/rocketchat-mentions-flextab/client/views/mentionsFlexTab.js
index cd0553eb6dce3689331eac6cf47c878a39220193..c08917cd7b9c1e037ed03c881e7efe657e5fb8ad 100644
--- a/packages/rocketchat-mentions-flextab/client/views/mentionsFlexTab.js
+++ b/packages/rocketchat-mentions-flextab/client/views/mentionsFlexTab.js
@@ -1,5 +1,7 @@
 /* globals MentionedMessage */
 import _ from 'underscore';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Template } from 'meteor/templating';
 
 Template.mentionsFlexTab.helpers({
 	hasMessages() {
diff --git a/packages/rocketchat-mentions-flextab/server/publications/mentionedMessages.js b/packages/rocketchat-mentions-flextab/server/publications/mentionedMessages.js
index d6e50dc23f878f0db8382c0b14902d7f09e02907..ff854b33189bb4cccc93118eef91e49d504e7b9e 100644
--- a/packages/rocketchat-mentions-flextab/server/publications/mentionedMessages.js
+++ b/packages/rocketchat-mentions-flextab/server/publications/mentionedMessages.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.publish('mentionedMessages', function(rid, limit = 50) {
 	if (!this.userId) {
 		return this.ready();
@@ -7,6 +9,9 @@ Meteor.publish('mentionedMessages', function(rid, limit = 50) {
 	if (!user) {
 		return this.ready();
 	}
+	if (!Meteor.call('canAccessRoom', rid, this.userId)) {
+		return this.ready();
+	}
 	const cursorHandle = RocketChat.models.Messages.findVisibleByMentionAndRoomId(user.username, rid, {
 		sort: {
 			ts: -1,
diff --git a/packages/rocketchat-mentions/client/client.js b/packages/rocketchat-mentions/client/client.js
index fe1329f75983e3602b2e06504cdf973c4ecfaca4..84b4a6b9fe7e6ad0080c78ba6cbe11dd785ad32c 100644
--- a/packages/rocketchat-mentions/client/client.js
+++ b/packages/rocketchat-mentions/client/client.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import Mentions from '../Mentions';
 const MentionsClient = new Mentions({
 	pattern() {
diff --git a/packages/rocketchat-mentions/server/methods/getUserMentionsByChannel.js b/packages/rocketchat-mentions/server/methods/getUserMentionsByChannel.js
index 1d1701d98afa5474e0ad70ec3f3a154d5ab40141..41c7af9f60d4daf3d44aa351e6b7233518f1ba61 100644
--- a/packages/rocketchat-mentions/server/methods/getUserMentionsByChannel.js
+++ b/packages/rocketchat-mentions/server/methods/getUserMentionsByChannel.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	getUserMentionsByChannel({ roomId, options }) {
 		check(roomId, String);
diff --git a/packages/rocketchat-mentions/server/server.js b/packages/rocketchat-mentions/server/server.js
index ea491b619701f358b905b892b08f2a8431a877bf..b0ad7d1598d1ce59b33fb3c16e807b8b5363e049 100644
--- a/packages/rocketchat-mentions/server/server.js
+++ b/packages/rocketchat-mentions/server/server.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Random } from 'meteor/random';
+import { TAPi18n } from 'meteor/tap:i18n';
 import _ from 'underscore';
 import MentionsServer from './Mentions';
 
diff --git a/packages/rocketchat-message-action/client/messageAction.js b/packages/rocketchat-message-action/client/messageAction.js
index e1ab79e05ff73a1bb83972fd61ab46adcf0f221c..8ec8fcee03c372c2e2284b1616377f3bf7e898d1 100644
--- a/packages/rocketchat-message-action/client/messageAction.js
+++ b/packages/rocketchat-message-action/client/messageAction.js
@@ -1,3 +1,5 @@
+import { Template } from 'meteor/templating';
+
 Template.messageAction.helpers({
 	isButton() {
 		return this.type === 'button';
diff --git a/packages/rocketchat-message-attachments/client/messageAttachment.js b/packages/rocketchat-message-attachments/client/messageAttachment.js
index 49081a449acf3814528de272f5c98cc81a2f434e..90f09703bfcd9d8830bb6cdbe9cb130dd46df1ed 100644
--- a/packages/rocketchat-message-attachments/client/messageAttachment.js
+++ b/packages/rocketchat-message-attachments/client/messageAttachment.js
@@ -1,5 +1,7 @@
+import { Meteor } from 'meteor/meteor';
 import { DateFormat } from 'meteor/rocketchat:lib';
 import { fixCordova } from 'meteor/rocketchat:lazy-load';
+import { Template } from 'meteor/templating';
 const colors = {
 	good: '#35AC19',
 	warning: '#FCB316',
diff --git a/packages/rocketchat-message-attachments/client/stylesheets/messageAttachments.css b/packages/rocketchat-message-attachments/client/stylesheets/messageAttachments.css
index e4e39ed64cfc0d1f06ca97bac6ca67256f6817a0..b381f30b41fa3d102f8c6d948fde705559eae73a 100644
--- a/packages/rocketchat-message-attachments/client/stylesheets/messageAttachments.css
+++ b/packages/rocketchat-message-attachments/client/stylesheets/messageAttachments.css
@@ -152,6 +152,8 @@ html.rtl .attachment {
 	& .attachment-pdf-loading {
 		display: none;
 
+		animation: spin 1s linear infinite;
+
 		font-size: 1.5rem;
 	}
 
diff --git a/packages/rocketchat-message-mark-as-unread/client/actionButton.js b/packages/rocketchat-message-mark-as-unread/client/actionButton.js
index f540565ef53f9ef846484a51232e4f99f9b893ab..498c332838a214cc7c932ba45c0f06fbc7e4e659 100644
--- a/packages/rocketchat-message-mark-as-unread/client/actionButton.js
+++ b/packages/rocketchat-message-mark-as-unread/client/actionButton.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+
 Meteor.startup(() => {
 	RocketChat.MessageAction.addButton({
 		id: 'mark-message-as-unread',
diff --git a/packages/rocketchat-message-mark-as-unread/server/unreadMessages.js b/packages/rocketchat-message-mark-as-unread/server/unreadMessages.js
index 02a7ff4919f1913ddc06d57fefed54986e0ec6f9..26d2f7c4df932e4e9c198541d7bc9b112f2e4e39 100644
--- a/packages/rocketchat-message-mark-as-unread/server/unreadMessages.js
+++ b/packages/rocketchat-message-mark-as-unread/server/unreadMessages.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import logger from './logger';
 Meteor.methods({
 	unreadMessages(firstUnreadMessage, room) {
diff --git a/packages/rocketchat-message-pin/client/actionButton.js b/packages/rocketchat-message-pin/client/actionButton.js
index 98893067e8e41cff869feb1ec9aa4a15174ec726..dfcbe63fdb46d99de6b5a915da66417cacb2defd 100644
--- a/packages/rocketchat-message-pin/client/actionButton.js
+++ b/packages/rocketchat-message-pin/client/actionButton.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
 import toastr from 'toastr';
 
 Meteor.startup(function() {
diff --git a/packages/rocketchat-message-pin/client/lib/PinnedMessage.js b/packages/rocketchat-message-pin/client/lib/PinnedMessage.js
index a6c9b072f91559e11b963cd7dbaa8458aa08ec32..79a571cc6b4a7daa0c629d5f26e2ef86df3c0d60 100644
--- a/packages/rocketchat-message-pin/client/lib/PinnedMessage.js
+++ b/packages/rocketchat-message-pin/client/lib/PinnedMessage.js
@@ -1 +1,3 @@
+import { Mongo } from 'meteor/mongo';
+
 this.PinnedMessage = new Mongo.Collection('rocketchat_pinned_message');
diff --git a/packages/rocketchat-message-pin/client/messageType.js b/packages/rocketchat-message-pin/client/messageType.js
index 5e798020e6d63ec24781758ae3216dd065f4701d..05e050303f22018d58f92934f4d8fb43fd67ba22 100644
--- a/packages/rocketchat-message-pin/client/messageType.js
+++ b/packages/rocketchat-message-pin/client/messageType.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.startup(function() {
 	RocketChat.MessageTypes.registerType({
 		id: 'message_pinned',
diff --git a/packages/rocketchat-message-pin/client/pinMessage.js b/packages/rocketchat-message-pin/client/pinMessage.js
index b5d2881d40459b126c92e3c21602e244ebed076b..890b28b7f420857b32b41dce4c6e8b81be53dec9 100644
--- a/packages/rocketchat-message-pin/client/pinMessage.js
+++ b/packages/rocketchat-message-pin/client/pinMessage.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	pinMessage(message) {
 		if (!Meteor.userId()) {
diff --git a/packages/rocketchat-message-pin/client/tabBar.js b/packages/rocketchat-message-pin/client/tabBar.js
index 5a7dbeb194b2d2e9aeb4c67076e8c2bf36786bcc..879f5b6ca2a868f6a3e3de1dff5edeed88747733 100644
--- a/packages/rocketchat-message-pin/client/tabBar.js
+++ b/packages/rocketchat-message-pin/client/tabBar.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
+
 Meteor.startup(function() {
 	return Tracker.autorun(function() {
 		if (RocketChat.settings.get('Message_AllowPinning')) {
diff --git a/packages/rocketchat-message-pin/client/views/pinnedMessages.js b/packages/rocketchat-message-pin/client/views/pinnedMessages.js
index 3331d93211be256089f3f88a2e2e8f325af63391..314242cdb9ec5fe7a4d48992f5fc410a92dd1bfa 100644
--- a/packages/rocketchat-message-pin/client/views/pinnedMessages.js
+++ b/packages/rocketchat-message-pin/client/views/pinnedMessages.js
@@ -1,5 +1,7 @@
 /* globals PinnedMessage */
 import _ from 'underscore';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Template } from 'meteor/templating';
 
 Template.pinnedMessages.helpers({
 	hasMessages() {
diff --git a/packages/rocketchat-message-pin/server/pinMessage.js b/packages/rocketchat-message-pin/server/pinMessage.js
index 2abd64bda757b2ae130aa0b154bd39b24fa7cb2d..214ff1b0ac0376351cdb01c45dcacddb053cb58e 100644
--- a/packages/rocketchat-message-pin/server/pinMessage.js
+++ b/packages/rocketchat-message-pin/server/pinMessage.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 const recursiveRemove = (msg, deep = 1) => {
 	if (!msg) {
 		return;
diff --git a/packages/rocketchat-message-pin/server/publications/pinnedMessages.js b/packages/rocketchat-message-pin/server/publications/pinnedMessages.js
index 9606db2a9d54786b0fdf17f8a945e7207948a42a..d19f65f7795f7ab778878142e2bcb04d6f8c572b 100644
--- a/packages/rocketchat-message-pin/server/publications/pinnedMessages.js
+++ b/packages/rocketchat-message-pin/server/publications/pinnedMessages.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.publish('pinnedMessages', function(rid, limit = 50) {
 	if (!this.userId) {
 		return this.ready();
@@ -8,6 +10,9 @@ Meteor.publish('pinnedMessages', function(rid, limit = 50) {
 	if (!user) {
 		return this.ready();
 	}
+	if (!Meteor.call('canAccessRoom', rid, this.userId)) {
+		return this.ready();
+	}
 	const cursorHandle = RocketChat.models.Messages.findPinnedByRoom(rid, { sort: { ts: -1 }, limit }).observeChanges({
 		added(_id, record) {
 			return publication.added('rocketchat_pinned_message', _id, record);
diff --git a/packages/rocketchat-message-pin/server/settings.js b/packages/rocketchat-message-pin/server/settings.js
index eccfef09bfadf0ab840dac2d58442d62e064b16e..10a4d2feb3dbeac610e980365c32b9513eccb655 100644
--- a/packages/rocketchat-message-pin/server/settings.js
+++ b/packages/rocketchat-message-pin/server/settings.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.startup(function() {
 	RocketChat.settings.add('Message_AllowPinning', true, {
 		type: 'boolean',
diff --git a/packages/rocketchat-message-pin/server/startup/indexes.js b/packages/rocketchat-message-pin/server/startup/indexes.js
index c2b68656d1c35e311a41a612ee6de6299b3d7a14..b63862c64bcd461bc1e8c76c065a36a21c74ae64 100644
--- a/packages/rocketchat-message-pin/server/startup/indexes.js
+++ b/packages/rocketchat-message-pin/server/startup/indexes.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.startup(function() {
 	return Meteor.defer(function() {
 		return RocketChat.models.Messages.tryEnsureIndex({
diff --git a/packages/rocketchat-message-snippet/client/actionButton.js b/packages/rocketchat-message-snippet/client/actionButton.js
index 473390600d2065ba80ad1a25477cb2fea92e4044..f3b0023ab160c190822766055cd4e47d888c0684 100644
--- a/packages/rocketchat-message-snippet/client/actionButton.js
+++ b/packages/rocketchat-message-snippet/client/actionButton.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.startup(function() {
 	RocketChat.MessageAction.addButton({
 		id: 'snippeted-message',
diff --git a/packages/rocketchat-message-snippet/client/lib/collections.js b/packages/rocketchat-message-snippet/client/lib/collections.js
index 6182ddb3b2357e42772d6bce235bf350df0e4206..c0091ff67218b0b7046f4767e07728550f53a796 100644
--- a/packages/rocketchat-message-snippet/client/lib/collections.js
+++ b/packages/rocketchat-message-snippet/client/lib/collections.js
@@ -1 +1,3 @@
+import { Mongo } from 'meteor/mongo';
+
 this.SnippetedMessages = new Mongo.Collection('rocketchat_snippeted_message');
diff --git a/packages/rocketchat-message-snippet/client/messageType.js b/packages/rocketchat-message-snippet/client/messageType.js
index 78a5210f4e2b0c89e80ee83502daaa6277118752..ce827b99eb76a48b65691f8b340e9b3add6498f9 100644
--- a/packages/rocketchat-message-snippet/client/messageType.js
+++ b/packages/rocketchat-message-snippet/client/messageType.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import s from 'underscore.string';
 
 Meteor.startup(function() {
diff --git a/packages/rocketchat-message-snippet/client/page/snippetPage.js b/packages/rocketchat-message-snippet/client/page/snippetPage.js
index a5242ccb3f06b5c631405f00049cd084a7c07a47..8e7089fb7ac8abcf6a6ab937465b3d8b7d17b046 100644
--- a/packages/rocketchat-message-snippet/client/page/snippetPage.js
+++ b/packages/rocketchat-message-snippet/client/page/snippetPage.js
@@ -1,5 +1,9 @@
 /* global SnippetedMessages */
+import { Meteor } from 'meteor/meteor';
 import { DateFormat } from 'meteor/rocketchat:lib';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
+import moment from 'moment';
 
 Template.snippetPage.helpers({
 	snippet() {
diff --git a/packages/rocketchat-message-snippet/client/router.js b/packages/rocketchat-message-snippet/client/router.js
index d921f8110120c7c06c25f8cf53ff0db90a44dabf..b9b230227d34a7e03855c1fe1131016a17932ac6 100644
--- a/packages/rocketchat-message-snippet/client/router.js
+++ b/packages/rocketchat-message-snippet/client/router.js
@@ -1,4 +1,6 @@
-/* global FlowRouter, BlazeLayout */
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { BlazeLayout } from 'meteor/kadira:blaze-layout';
+
 FlowRouter.route('/snippet/:snippetId/:snippetName', {
 	name: 'snippetView',
 	action() {
diff --git a/packages/rocketchat-message-snippet/client/snippetMessage.js b/packages/rocketchat-message-snippet/client/snippetMessage.js
index b0a99871d0dfd31f5c565b1e6df87b90007ad2af..28da80d4eed85dc4dbb4745200290d2a1e8ce1eb 100644
--- a/packages/rocketchat-message-snippet/client/snippetMessage.js
+++ b/packages/rocketchat-message-snippet/client/snippetMessage.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	snippetMessage(message) {
 		if (typeof Meteor.userId() === 'undefined' || Meteor.userId() === null) {
diff --git a/packages/rocketchat-message-snippet/client/tabBar/tabBar.js b/packages/rocketchat-message-snippet/client/tabBar/tabBar.js
index c216c164afb84d404dba571b3f14d8cb1f9b7bde..850f8ba5fc759ae15013a3c289c3230316ce33c7 100644
--- a/packages/rocketchat-message-snippet/client/tabBar/tabBar.js
+++ b/packages/rocketchat-message-snippet/client/tabBar/tabBar.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
+
 Meteor.startup(function() {
 	Tracker.autorun(function() {
 		if (RocketChat.settings.get('Message_AllowSnippeting')) {
diff --git a/packages/rocketchat-message-snippet/client/tabBar/views/snippetedMessages.js b/packages/rocketchat-message-snippet/client/tabBar/views/snippetedMessages.js
index 840984b26578b2223c316f63eacf21a2019dda12..bce0a5a976f7554d6117d1a3debb6ffd7402be52 100644
--- a/packages/rocketchat-message-snippet/client/tabBar/views/snippetedMessages.js
+++ b/packages/rocketchat-message-snippet/client/tabBar/views/snippetedMessages.js
@@ -1,4 +1,6 @@
 import _ from 'underscore';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Template } from 'meteor/templating';
 
 /* global SnippetedMessages */
 Template.snippetedMessages.helpers({
diff --git a/packages/rocketchat-message-snippet/package.js b/packages/rocketchat-message-snippet/package.js
index 5292dba032cb7e170bbc1e15cd9dbcb4fc316ae2..09d17d77e599dd8df21f8153c46e89152bc61e81 100644
--- a/packages/rocketchat-message-snippet/package.js
+++ b/packages/rocketchat-message-snippet/package.js
@@ -22,6 +22,7 @@ Package.onUse(function(api) {
 	api.use([
 		'templating',
 		'kadira:flow-router',
+		'kadira:blaze-layout',
 	], 'client');
 
 
diff --git a/packages/rocketchat-message-snippet/server/methods/snippetMessage.js b/packages/rocketchat-message-snippet/server/methods/snippetMessage.js
index ff7a6e0b476f1d4c9ab0c8e105dcc7edf14d795c..61692e20418563fb1095d0d6575351bf436f37a0 100644
--- a/packages/rocketchat-message-snippet/server/methods/snippetMessage.js
+++ b/packages/rocketchat-message-snippet/server/methods/snippetMessage.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	snippetMessage(message, filename) {
 		if (Meteor.userId() == null) {
diff --git a/packages/rocketchat-message-snippet/server/publications/snippetedMessage.js b/packages/rocketchat-message-snippet/server/publications/snippetedMessage.js
index 7a5238292c4fb885cddbfbfa29292504b323c58c..bd5c6866a34f7549c9ba05ff2177a072ed0210a5 100644
--- a/packages/rocketchat-message-snippet/server/publications/snippetedMessage.js
+++ b/packages/rocketchat-message-snippet/server/publications/snippetedMessage.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.publish('snippetedMessage', function(_id) {
 	if (typeof this.userId === 'undefined' || this.userId === null) {
 		return this.ready();
@@ -14,6 +16,10 @@ Meteor.publish('snippetedMessage', function(_id) {
 		},
 	};
 
+	if (!Meteor.call('canAccessRoom', snippet.rid, this.userId)) {
+		return this.ready();
+	}
+
 	if (RocketChat.models.Rooms.findOne(roomSnippetQuery) === undefined) {
 		return this.ready();
 	}
diff --git a/packages/rocketchat-message-snippet/server/publications/snippetedMessagesByRoom.js b/packages/rocketchat-message-snippet/server/publications/snippetedMessagesByRoom.js
index fa5d4ac25ef7f6b19e9c1329dc0dd60fd4cf831c..3aca49b586da3381569d0ee6e62693139379ef25 100644
--- a/packages/rocketchat-message-snippet/server/publications/snippetedMessagesByRoom.js
+++ b/packages/rocketchat-message-snippet/server/publications/snippetedMessagesByRoom.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.publish('snippetedMessages', function(rid, limit = 50) {
 	if (typeof this.userId === 'undefined' || this.userId === null) {
 		return this.ready();
@@ -11,6 +13,10 @@ Meteor.publish('snippetedMessages', function(rid, limit = 50) {
 		return this.ready();
 	}
 
+	if (!Meteor.call('canAccessRoom', rid, this.userId)) {
+		return this.ready();
+	}
+
 	const cursorHandle = RocketChat.models.Messages.findSnippetedByRoom(
 		rid,
 		{
diff --git a/packages/rocketchat-message-snippet/server/requests.js b/packages/rocketchat-message-snippet/server/requests.js
index 5b54b8f6faed82f86236ac5e283ec0bccdfd7cf5..65d1a1089fe52eceb2676001066a0d3295a66925 100644
--- a/packages/rocketchat-message-snippet/server/requests.js
+++ b/packages/rocketchat-message-snippet/server/requests.js
@@ -1,4 +1,6 @@
 /* global Cookies */
+import { WebApp } from 'meteor/webapp';
+
 WebApp.connectHandlers.use('/snippet/download', function(req, res) {
 	let rawCookies;
 	let token;
diff --git a/packages/rocketchat-message-snippet/server/startup/settings.js b/packages/rocketchat-message-snippet/server/startup/settings.js
index a147ab3d8a11ae52fd213008339fcf0b0b88452f..cbe192ff95436f4d276e0fb6aee03087da447558 100644
--- a/packages/rocketchat-message-snippet/server/startup/settings.js
+++ b/packages/rocketchat-message-snippet/server/startup/settings.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.startup(function() {
 	RocketChat.settings.add('Message_AllowSnippeting', false, {
 		type: 'boolean',
diff --git a/packages/rocketchat-message-star/client/actionButton.js b/packages/rocketchat-message-star/client/actionButton.js
index 52b2fd2014927dbbe1b974a37208cc4b9c2c0606..38275236fb4565a6f25480f3b2f64a84ded62910 100644
--- a/packages/rocketchat-message-star/client/actionButton.js
+++ b/packages/rocketchat-message-star/client/actionButton.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
 import toastr from 'toastr';
 
 Meteor.startup(function() {
diff --git a/packages/rocketchat-message-star/client/lib/StarredMessage.js b/packages/rocketchat-message-star/client/lib/StarredMessage.js
index cd014935ac3f37de474a8b0dc32a8491de9055d9..083be7cd3070ba2444d63251723ac1075628b1df 100644
--- a/packages/rocketchat-message-star/client/lib/StarredMessage.js
+++ b/packages/rocketchat-message-star/client/lib/StarredMessage.js
@@ -1 +1,3 @@
+import { Mongo } from 'meteor/mongo';
+
 this.StarredMessage = new Mongo.Collection('rocketchat_starred_message');
diff --git a/packages/rocketchat-message-star/client/starMessage.js b/packages/rocketchat-message-star/client/starMessage.js
index a7eaa16ab4bf527ad46ce3bc64878749d62c89ae..d476d7fb6d4e757c46dfc6d21a926c96c4c75f88 100644
--- a/packages/rocketchat-message-star/client/starMessage.js
+++ b/packages/rocketchat-message-star/client/starMessage.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	starMessage(message) {
 		if (!Meteor.userId()) {
diff --git a/packages/rocketchat-message-star/client/tabBar.js b/packages/rocketchat-message-star/client/tabBar.js
index cee7e2134f69c564f138f3f23d3abb6ae096d79b..11c82757e402577dfde5ec7762bd0795e676df5e 100644
--- a/packages/rocketchat-message-star/client/tabBar.js
+++ b/packages/rocketchat-message-star/client/tabBar.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.startup(function() {
 	RocketChat.TabBar.addButton({
 		groups: ['channel', 'group', 'direct'],
diff --git a/packages/rocketchat-message-star/client/views/starredMessages.js b/packages/rocketchat-message-star/client/views/starredMessages.js
index 63f490632ea2e9cf7056c9fa2518659b50b3e829..8bc3b838b06eea34e1a830a4d74dcf92de6de053 100644
--- a/packages/rocketchat-message-star/client/views/starredMessages.js
+++ b/packages/rocketchat-message-star/client/views/starredMessages.js
@@ -1,5 +1,7 @@
 /* globals StarredMessage */
 import _ from 'underscore';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Template } from 'meteor/templating';
 
 Template.starredMessages.helpers({
 	hasMessages() {
diff --git a/packages/rocketchat-message-star/server/publications/starredMessages.js b/packages/rocketchat-message-star/server/publications/starredMessages.js
index 44d2a530a8dd2504d2696f409db10589a1fec847..ef1eebe3249f9425a02ceeb43555fe9ddefcd4b1 100644
--- a/packages/rocketchat-message-star/server/publications/starredMessages.js
+++ b/packages/rocketchat-message-star/server/publications/starredMessages.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.publish('starredMessages', function(rid, limit = 50) {
 	if (!this.userId) {
 		return this.ready();
@@ -7,6 +9,9 @@ Meteor.publish('starredMessages', function(rid, limit = 50) {
 	if (!user) {
 		return this.ready();
 	}
+	if (!Meteor.call('canAccessRoom', rid, this.userId)) {
+		return this.ready();
+	}
 	const cursorHandle = RocketChat.models.Messages.findStarredByUserAtRoom(this.userId, rid, {
 		sort: {
 			ts: -1,
diff --git a/packages/rocketchat-message-star/server/settings.js b/packages/rocketchat-message-star/server/settings.js
index a28663389bf88e4665d62f2a7169fd942b157d27..1bdd83841f576d74fc62efa0dfb3466ead73b9b7 100644
--- a/packages/rocketchat-message-star/server/settings.js
+++ b/packages/rocketchat-message-star/server/settings.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.startup(function() {
 	return RocketChat.settings.add('Message_AllowStarring', true, {
 		type: 'boolean',
diff --git a/packages/rocketchat-message-star/server/starMessage.js b/packages/rocketchat-message-star/server/starMessage.js
index 1b64fadb9b5cc174c0b6b09f749c61644a243a9b..2f49cac9dc4032dfea13b1b8f1f458012eafd9cb 100644
--- a/packages/rocketchat-message-star/server/starMessage.js
+++ b/packages/rocketchat-message-star/server/starMessage.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	starMessage(message) {
 		if (!Meteor.userId()) {
diff --git a/packages/rocketchat-message-star/server/startup/indexes.js b/packages/rocketchat-message-star/server/startup/indexes.js
index 7b2a6e5e06f327fbeee15d93f3bef6b24c1933ad..cf66635a235bd7b04d823d5867a30a5fdf2050b4 100644
--- a/packages/rocketchat-message-star/server/startup/indexes.js
+++ b/packages/rocketchat-message-star/server/startup/indexes.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.startup(function() {
 	return Meteor.defer(function() {
 		return RocketChat.models.Messages.tryEnsureIndex({
diff --git a/packages/rocketchat-migrations/migrations.js b/packages/rocketchat-migrations/migrations.js
index 4cc64ab8bae1f789091232e05000d5572fae2dcc..a8cfbf6421e7f52b7331df6d97a399f53b58a01b 100644
--- a/packages/rocketchat-migrations/migrations.js
+++ b/packages/rocketchat-migrations/migrations.js
@@ -1,5 +1,8 @@
 /* eslint no-use-before-define:0 */
 /* globals Log*/
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
+import { Mongo } from 'meteor/mongo';
 import _ from 'underscore';
 import s from 'underscore.string';
 import moment from 'moment';
diff --git a/packages/rocketchat-nrr/nrr.js b/packages/rocketchat-nrr/nrr.js
index 284beafc7256b7c695dca29695cdc80d549d310e..8376a64258697b927c3f80f634e85a263c3b6888 100644
--- a/packages/rocketchat-nrr/nrr.js
+++ b/packages/rocketchat-nrr/nrr.js
@@ -1,5 +1,6 @@
 /* eslint new-cap:0 */
 
+import { Meteor } from 'meteor/meteor';
 import { Template } from 'meteor/templating';
 import { Blaze } from 'meteor/blaze';
 import { HTML } from 'meteor/htmljs';
diff --git a/packages/rocketchat-oauth2-server-config/admin/client/collection.js b/packages/rocketchat-oauth2-server-config/admin/client/collection.js
index f196d7dc17ebd168e0cb33379cfdf449be5fcedc..5fbd5c5042c362839246f8e50c4f6a2f4ee323ca 100644
--- a/packages/rocketchat-oauth2-server-config/admin/client/collection.js
+++ b/packages/rocketchat-oauth2-server-config/admin/client/collection.js
@@ -1 +1,3 @@
+import { Mongo } from 'meteor/mongo';
+
 this.ChatOAuthApps = new Mongo.Collection('rocketchat_oauth_apps');
diff --git a/packages/rocketchat-oauth2-server-config/admin/client/route.js b/packages/rocketchat-oauth2-server-config/admin/client/route.js
index 020435333ef6638591433123073e36e914943341..dc1433a0479c3482af9a6ba79c69a6c14acfeb09 100644
--- a/packages/rocketchat-oauth2-server-config/admin/client/route.js
+++ b/packages/rocketchat-oauth2-server-config/admin/client/route.js
@@ -1,3 +1,6 @@
+import { FlowRouter } from 'meteor/kadira:flow-router' ;
+import { BlazeLayout } from 'meteor/kadira:blaze-layout';
+
 FlowRouter.route('/admin/oauth-apps', {
 	name: 'admin-oauth-apps',
 	action() {
diff --git a/packages/rocketchat-oauth2-server-config/admin/client/views/oauthApp.js b/packages/rocketchat-oauth2-server-config/admin/client/views/oauthApp.js
index fea5989cc9f367f69612f4db346818982bcc5d98..3991ad8312352c7631328603582096457991bff6 100644
--- a/packages/rocketchat-oauth2-server-config/admin/client/views/oauthApp.js
+++ b/packages/rocketchat-oauth2-server-config/admin/client/views/oauthApp.js
@@ -1,4 +1,10 @@
 /* globals ChatOAuthApps */
+
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
 import toastr from 'toastr';
 
 Template.oauthApp.onCreated(function() {
diff --git a/packages/rocketchat-oauth2-server-config/admin/client/views/oauthApps.js b/packages/rocketchat-oauth2-server-config/admin/client/views/oauthApps.js
index 7cd4dda76ab7bbcdfe7707d2f479b3594d087a0a..fd7eead8b6e10a57de27bea6c861e57d8c357a35 100644
--- a/packages/rocketchat-oauth2-server-config/admin/client/views/oauthApps.js
+++ b/packages/rocketchat-oauth2-server-config/admin/client/views/oauthApps.js
@@ -1,4 +1,5 @@
 /* globals ChatOAuthApps */
+import { Template } from 'meteor/templating';
 import moment from 'moment';
 
 Template.oauthApps.onCreated(function() {
diff --git a/packages/rocketchat-oauth2-server-config/admin/server/methods/addOAuthApp.js b/packages/rocketchat-oauth2-server-config/admin/server/methods/addOAuthApp.js
index 20ef0cdb9c6e8ac4d46529717eecdb2c9a402343..5d915849217bf128d2d748ceba99c1673ab81d60 100644
--- a/packages/rocketchat-oauth2-server-config/admin/server/methods/addOAuthApp.js
+++ b/packages/rocketchat-oauth2-server-config/admin/server/methods/addOAuthApp.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { Random } from 'meteor/random';
 import _ from 'underscore';
 
 Meteor.methods({
diff --git a/packages/rocketchat-oauth2-server-config/admin/server/methods/deleteOAuthApp.js b/packages/rocketchat-oauth2-server-config/admin/server/methods/deleteOAuthApp.js
index 7d2d95099ee258525de6877e230aa8ae07297bdd..b9baddc7ee55975cfc3d7568c449b3b71c97ce7d 100644
--- a/packages/rocketchat-oauth2-server-config/admin/server/methods/deleteOAuthApp.js
+++ b/packages/rocketchat-oauth2-server-config/admin/server/methods/deleteOAuthApp.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	deleteOAuthApp(applicationId) {
 		if (!RocketChat.authz.hasPermission(this.userId, 'manage-oauth-apps')) {
diff --git a/packages/rocketchat-oauth2-server-config/admin/server/methods/updateOAuthApp.js b/packages/rocketchat-oauth2-server-config/admin/server/methods/updateOAuthApp.js
index b24e3787d84da76955dc574e8a450a14bfb81d28..4e2813f52dc3f8ff8c5e40382cbbebf67979e277 100644
--- a/packages/rocketchat-oauth2-server-config/admin/server/methods/updateOAuthApp.js
+++ b/packages/rocketchat-oauth2-server-config/admin/server/methods/updateOAuthApp.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import _ from 'underscore';
 
 Meteor.methods({
diff --git a/packages/rocketchat-oauth2-server-config/admin/server/publications/oauthApps.js b/packages/rocketchat-oauth2-server-config/admin/server/publications/oauthApps.js
index 33cc5f5ff9550560b32234d1a7ce96616f7142fb..f982776b1d43de924a5cfa7aed0da1b94a0e2995 100644
--- a/packages/rocketchat-oauth2-server-config/admin/server/publications/oauthApps.js
+++ b/packages/rocketchat-oauth2-server-config/admin/server/publications/oauthApps.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.publish('oauthApps', function() {
 	if (!this.userId) {
 		return this.ready();
diff --git a/packages/rocketchat-oauth2-server-config/oauth/client/oauth2-client.js b/packages/rocketchat-oauth2-server-config/oauth/client/oauth2-client.js
index ba40305b5fc1516f7c3bf01ee9719cd18b4e1d57..3c4df1b89f4bc52c293a0f8e7067b0134971febd 100644
--- a/packages/rocketchat-oauth2-server-config/oauth/client/oauth2-client.js
+++ b/packages/rocketchat-oauth2-server-config/oauth/client/oauth2-client.js
@@ -1,5 +1,10 @@
 // @ChatOAuthApps = new Mongo.Collection 'rocketchat_oauth_apps'
 /* globals ChatOAuthApps */
+import { Meteor } from 'meteor/meteor';
+import { FlowRouter } from 'meteor/kadira:flow-router' ;
+import { BlazeLayout } from 'meteor/kadira:blaze-layout';
+import { Template } from 'meteor/templating';
+
 FlowRouter.route('/oauth/authorize', {
 	action(params, queryParams) {
 		BlazeLayout.render('main', {
diff --git a/packages/rocketchat-oauth2-server-config/oauth/server/oauth2-server.js b/packages/rocketchat-oauth2-server-config/oauth/server/oauth2-server.js
index 4c6ee2dba9d0613b3bc4e2d985ae64325de5c22d..77cca296e01570c15699658189118e275b584faf 100644
--- a/packages/rocketchat-oauth2-server-config/oauth/server/oauth2-server.js
+++ b/packages/rocketchat-oauth2-server-config/oauth/server/oauth2-server.js
@@ -1,4 +1,6 @@
 /* global OAuth2Server */
+import { Meteor } from 'meteor/meteor';
+import { WebApp } from 'meteor/webapp';
 
 const oauth2server = new OAuth2Server({
 	accessTokensCollectionName: 'rocketchat_oauth_access_tokens',
diff --git a/packages/rocketchat-oauth2-server-config/package.js b/packages/rocketchat-oauth2-server-config/package.js
index 3a3381fb447e58775d5afa0859a9eb81098adc06..cad6a769f8bdaca21cf768cc9ec8a06b45297f10 100644
--- a/packages/rocketchat-oauth2-server-config/package.js
+++ b/packages/rocketchat-oauth2-server-config/package.js
@@ -15,6 +15,7 @@ Package.onUse(function(api) {
 
 	api.use('templating', 'client');
 	api.use('kadira:flow-router', 'client');
+	api.use('kadira:blaze-layout', 'client');
 
 	// // General //
 	// Server
diff --git a/packages/rocketchat-oembed/client/baseWidget.js b/packages/rocketchat-oembed/client/baseWidget.js
index e95d8c00fa06880a5d03a942dc2456afbbbfbcf2..66263dcf5992515855657f69fe89fcc2ad62a864 100644
--- a/packages/rocketchat-oembed/client/baseWidget.js
+++ b/packages/rocketchat-oembed/client/baseWidget.js
@@ -1,3 +1,5 @@
+import { Template } from 'meteor/templating';
+
 Template.oembedBaseWidget.helpers({
 	template() {
 		let contentType;
diff --git a/packages/rocketchat-oembed/client/oembedAudioWidget.js b/packages/rocketchat-oembed/client/oembedAudioWidget.js
index 9b4b997cba0952355699be36d9f65a5054a284e5..194b00ae3b818d1e2092be82d8193826ac8f982a 100644
--- a/packages/rocketchat-oembed/client/oembedAudioWidget.js
+++ b/packages/rocketchat-oembed/client/oembedAudioWidget.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Template } from 'meteor/templating';
+
 Template.oembedAudioWidget.helpers({
 	collapsed() {
 		if (this.collapsed) {
diff --git a/packages/rocketchat-oembed/client/oembedFrameWidget.js b/packages/rocketchat-oembed/client/oembedFrameWidget.js
index 59eabfe5d26eacae44bc49f342584c5f66f44c72..3f5c69792c39937511bc5db2e7f35e8800d9e85b 100644
--- a/packages/rocketchat-oembed/client/oembedFrameWidget.js
+++ b/packages/rocketchat-oembed/client/oembedFrameWidget.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Template } from 'meteor/templating';
+
 Template.oembedFrameWidget.helpers({
 	collapsed() {
 		if (this.collapsed) {
diff --git a/packages/rocketchat-oembed/client/oembedImageWidget.js b/packages/rocketchat-oembed/client/oembedImageWidget.js
index a9e6f994c6a1be63d1da6c80eb6af8acb41b1289..cf80d8087a19dcbea140835e22107d49e16aea76 100644
--- a/packages/rocketchat-oembed/client/oembedImageWidget.js
+++ b/packages/rocketchat-oembed/client/oembedImageWidget.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Template } from 'meteor/templating';
+
 Template.oembedImageWidget.helpers({
 	loadImage() {
 		if (RocketChat.getUserPreference(Meteor.userId(), 'autoImageLoad') === false && this.downloadImages == null) {
diff --git a/packages/rocketchat-oembed/client/oembedSandstormGrain.js b/packages/rocketchat-oembed/client/oembedSandstormGrain.js
index f99fab7c693a134c34f83794709d7f4e8114c1e4..bbb24b9503fb8cbdb9e878af060ab5aa4dbc821c 100644
--- a/packages/rocketchat-oembed/client/oembedSandstormGrain.js
+++ b/packages/rocketchat-oembed/client/oembedSandstormGrain.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Template } from 'meteor/templating';
+
 Template.oembedSandstormGrain.helpers({
 	token() {
 		return this.meta.sandstorm.grain.token;
diff --git a/packages/rocketchat-oembed/client/oembedUrlWidget.js b/packages/rocketchat-oembed/client/oembedUrlWidget.js
index c8abef9ef4c3a521b93e210a69fef50ccac2e46a..e486a97c5293807c31d915b8e40937791092e4d0 100644
--- a/packages/rocketchat-oembed/client/oembedUrlWidget.js
+++ b/packages/rocketchat-oembed/client/oembedUrlWidget.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Blaze } from 'meteor/blaze';
+import { Template } from 'meteor/templating';
 import _ from 'underscore';
 
 const getTitle = function(self) {
diff --git a/packages/rocketchat-oembed/client/oembedVideoWidget.js b/packages/rocketchat-oembed/client/oembedVideoWidget.js
index 456b99b0dd05c93c833144ae6260c900cd334f96..e12ddd2790d6cfeab7e6e10aee136fb67f3289c6 100644
--- a/packages/rocketchat-oembed/client/oembedVideoWidget.js
+++ b/packages/rocketchat-oembed/client/oembedVideoWidget.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Template } from 'meteor/templating';
+
 const getTitle = function(self) {
 	if (self.meta == null) {
 		return;
diff --git a/packages/rocketchat-oembed/client/oembedYoutubeWidget.js b/packages/rocketchat-oembed/client/oembedYoutubeWidget.js
index e61b01211f360115cec6054749670feed09b481c..2312f2bf04451e5c225c6de98fa62e4870756e93 100644
--- a/packages/rocketchat-oembed/client/oembedYoutubeWidget.js
+++ b/packages/rocketchat-oembed/client/oembedYoutubeWidget.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Template } from 'meteor/templating';
+
 Template.oembedYoutubeWidget.helpers({
 	collapsed() {
 		if (this.collapsed) {
diff --git a/packages/rocketchat-oembed/server/jumpToMessage.js b/packages/rocketchat-oembed/server/jumpToMessage.js
index 10f877c3379141eedbb4156726f4233732f79c53..3dda81d070ceaf3ee6124e7e538a2237d58eb241 100644
--- a/packages/rocketchat-oembed/server/jumpToMessage.js
+++ b/packages/rocketchat-oembed/server/jumpToMessage.js
@@ -1,4 +1,5 @@
 /* globals getAvatarUrlFromUsername */
+import { Meteor } from 'meteor/meteor';
 import _ from 'underscore';
 import URL from 'url';
 import QueryString from 'querystring';
diff --git a/packages/rocketchat-oembed/server/server.js b/packages/rocketchat-oembed/server/server.js
index b9c30bcce64cbaf8c1729deff5e5f04dfc69676b..b54b2a5ab754b9b20300c1b1785b280d7055c53e 100644
--- a/packages/rocketchat-oembed/server/server.js
+++ b/packages/rocketchat-oembed/server/server.js
@@ -1,4 +1,5 @@
 /* globals HTTPInternals, changeCase */
+import { Meteor } from 'meteor/meteor';
 import _ from 'underscore';
 import URL from 'url';
 import querystring from 'querystring';
diff --git a/packages/rocketchat-otr/client/rocketchat.otr.js b/packages/rocketchat-otr/client/rocketchat.otr.js
index 09df70ba9060810d09fe0f0e89f47726bb0de215..f0ce0a582017f2f5d43d6c65a255646b39090b52 100644
--- a/packages/rocketchat-otr/client/rocketchat.otr.js
+++ b/packages/rocketchat-otr/client/rocketchat.otr.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Tracker } from 'meteor/tracker';
+
 class OTR {
 	constructor() {
 		this.enabled = new ReactiveVar(false);
diff --git a/packages/rocketchat-otr/client/rocketchat.otr.room.js b/packages/rocketchat-otr/client/rocketchat.otr.room.js
index 792a25d45a67c3354faca21f6a6126a583d83d70..85a36a4bd90a97af9702ded12b4fae0a8c33433b 100644
--- a/packages/rocketchat-otr/client/rocketchat.otr.room.js
+++ b/packages/rocketchat-otr/client/rocketchat.otr.room.js
@@ -1,3 +1,11 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Random } from 'meteor/random';
+import { EJSON } from 'meteor/ejson';
+import { Tracker } from 'meteor/tracker';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { TAPi18n } from 'meteor/tap:i18n';
+import { TimeSync } from 'meteor/mizzao:timesync';
 import _ from 'underscore';
 import toastr from 'toastr';
 /* globals crypto */
diff --git a/packages/rocketchat-otr/client/tabBar.js b/packages/rocketchat-otr/client/tabBar.js
index ee40389e8a179bb5842232a059e784ade06deede..9ea07136c7c89b2bc3356ace8100ef036975d502 100644
--- a/packages/rocketchat-otr/client/tabBar.js
+++ b/packages/rocketchat-otr/client/tabBar.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
+
 Meteor.startup(function() {
 	Tracker.autorun(function() {
 		if (RocketChat.settings.get('OTR_Enable') && window.crypto) {
diff --git a/packages/rocketchat-otr/client/views/otrFlexTab.js b/packages/rocketchat-otr/client/views/otrFlexTab.js
index 28712ff3205e561bb709ca717be3f21911d85660..8503015e855efb333f267e288a47ba7a568ea207 100644
--- a/packages/rocketchat-otr/client/views/otrFlexTab.js
+++ b/packages/rocketchat-otr/client/views/otrFlexTab.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Template } from 'meteor/templating';
+
 Template.otrFlexTab.helpers({
 	otrAvailable() {
 		return RocketChat.OTR && RocketChat.OTR.isEnabled();
diff --git a/packages/rocketchat-otr/server/methods/deleteOldOTRMessages.js b/packages/rocketchat-otr/server/methods/deleteOldOTRMessages.js
index 0ad0dd3fc02ea5f6a98bb34e38eda48279bc8df0..4a9f150541f65e09cc04e65b40769168fa6b77f6 100644
--- a/packages/rocketchat-otr/server/methods/deleteOldOTRMessages.js
+++ b/packages/rocketchat-otr/server/methods/deleteOldOTRMessages.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	deleteOldOTRMessages(roomId) {
 		if (!Meteor.userId()) {
diff --git a/packages/rocketchat-otr/server/methods/updateOTRAck.js b/packages/rocketchat-otr/server/methods/updateOTRAck.js
index 776e78a1bd99e009d8c31f5dbe733a16faa7d9c0..4d09c1efda90e93d15dfe2031f6739f1db08868b 100644
--- a/packages/rocketchat-otr/server/methods/updateOTRAck.js
+++ b/packages/rocketchat-otr/server/methods/updateOTRAck.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	updateOTRAck(_id, ack) {
 		if (!Meteor.userId()) {
diff --git a/packages/rocketchat-postcss/.npm/plugin/minifier-postcss/.gitignore b/packages/rocketchat-postcss/.npm/plugin/minifier-postcss/.gitignore
deleted file mode 100644
index 3c3629e647f5ddf82548912e337bea9826b434af..0000000000000000000000000000000000000000
--- a/packages/rocketchat-postcss/.npm/plugin/minifier-postcss/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-node_modules
diff --git a/packages/rocketchat-postcss/.npm/plugin/minifier-postcss/README b/packages/rocketchat-postcss/.npm/plugin/minifier-postcss/README
deleted file mode 100644
index 3d492553a438e46facd411cd3e206a648395a38c..0000000000000000000000000000000000000000
--- a/packages/rocketchat-postcss/.npm/plugin/minifier-postcss/README
+++ /dev/null
@@ -1,7 +0,0 @@
-This directory and the files immediately inside it are automatically generated
-when you change this package's NPM dependencies. Commit the files in this
-directory (npm-shrinkwrap.json, .gitignore, and this README) to source control
-so that others run the same versions of sub-dependencies.
-
-You should NOT check in the node_modules directory that Meteor automatically
-creates; if you are using git, the .gitignore file tells git to ignore it.
diff --git a/packages/rocketchat-postcss/.npm/plugin/minifier-postcss/npm-shrinkwrap.json b/packages/rocketchat-postcss/.npm/plugin/minifier-postcss/npm-shrinkwrap.json
deleted file mode 100644
index 5cd44c13e1b83e69cd274289ab64ce7a294f0e37..0000000000000000000000000000000000000000
--- a/packages/rocketchat-postcss/.npm/plugin/minifier-postcss/npm-shrinkwrap.json
+++ /dev/null
@@ -1,62 +0,0 @@
-{
-  "lockfileVersion": 1,
-  "dependencies": {
-    "ansi-styles": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
-      "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug=="
-    },
-    "app-module-path": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/app-module-path/-/app-module-path-2.2.0.tgz",
-      "integrity": "sha1-ZBqlXft9am8KgUHEucCqULbCTdU="
-    },
-    "chalk": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
-      "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q=="
-    },
-    "color-convert": {
-      "version": "1.9.1",
-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz",
-      "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ=="
-    },
-    "color-name": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
-      "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
-    },
-    "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="
-    },
-    "has-flag": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
-      "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE="
-    },
-    "postcss": {
-      "version": "6.0.13",
-      "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz",
-      "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==",
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
-        }
-      }
-    },
-    "source-map": {
-      "version": "0.5.6",
-      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
-      "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI="
-    },
-    "supports-color": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
-      "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s="
-    }
-  }
-}
diff --git a/packages/rocketchat-postcss/package.js b/packages/rocketchat-postcss/package.js
deleted file mode 100644
index 2e30ff6f7812875433ab9332610cfeaa1951cf2a..0000000000000000000000000000000000000000
--- a/packages/rocketchat-postcss/package.js
+++ /dev/null
@@ -1,25 +0,0 @@
-Package.describe({
-	summary: 'Minifier for Meteor with PostCSS processing',
-	version: '1.0.0',
-	name: 'rocketchat:postcss',
-});
-
-Package.registerBuildPlugin({
-	name: 'minifier-postcss',
-	use: [
-		'ecmascript',
-		'minifier-css',
-	],
-	npmDependencies: {
-		'app-module-path': '2.2.0',
-		postcss: '6.0.13',
-		'source-map': '0.5.6',
-	},
-	sources: [
-		'plugin/minify-css.js',
-	],
-});
-
-Package.onUse(function(api) {
-	api.use('isobuild:minifier-plugin');
-});
diff --git a/packages/rocketchat-postcss/plugin/minify-css.js b/packages/rocketchat-postcss/plugin/minify-css.js
deleted file mode 100644
index 34d1b92d7cf2721aa39f933e2c810d18072fe696..0000000000000000000000000000000000000000
--- a/packages/rocketchat-postcss/plugin/minify-css.js
+++ /dev/null
@@ -1,198 +0,0 @@
-/* global CssTools */
-
-import appModulePath from 'app-module-path';
-import Future from 'fibers/future';
-import fs from 'fs';
-import path from 'path';
-import postCSS from 'postcss';
-import sourcemap from 'source-map';
-
-appModulePath.addPath(`${ process.cwd() }/node_modules/`);
-
-const postCSSConfigFile = path.resolve(process.cwd(), '.postcssrc');
-
-const postCSSConfig = JSON.parse(fs.readFileSync(postCSSConfigFile));
-
-const getPostCSSPlugins = () => {
-	const plugins = [];
-	if (postCSSConfig.plugins) {
-		Object.keys(postCSSConfig.plugins).forEach((pluginName) => {
-			const postCSSPlugin = require(pluginName);
-			if (postCSSPlugin && postCSSPlugin().postcssPlugin) {
-				plugins.push(postCSSPlugin(postCSSConfig.plugins ? postCSSConfig.plugins[pluginName] : {}));
-			}
-		});
-	}
-
-	return plugins;
-};
-
-const getExcludedPackages = () => {
-	if (postCSSConfig.excludedPackages && postCSSConfig.excludedPackages instanceof Array) {
-		return postCSSConfig.excludedPackages;
-	}
-
-	return false;
-};
-
-const isNotInExcludedPackages = (excludedPackages, pathInBundle) => {
-	let exclArr = [];
-	if (excludedPackages && excludedPackages instanceof Array) {
-		exclArr = excludedPackages.map((packageName) => pathInBundle && pathInBundle.indexOf(`packages/${ packageName.replace(':', '_') }`) > -1);
-	}
-
-	return exclArr.indexOf(true) === -1;
-};
-
-const isNotImport = (inputFileUrl) => !(/\.import\.css$/.test(inputFileUrl) || /(?:^|\/)imports\//.test(inputFileUrl));
-
-const mergeCss = (css) => {
-	const originals = {};
-	const excludedPackagesArr = getExcludedPackages();
-
-	const cssAsts = css.map((file) => {
-		const filename = file.getPathInBundle();
-		originals[filename] = file;
-
-		const f = new Future;
-
-		let css;
-		let postres;
-		const isFileForPostCSS = isNotInExcludedPackages(excludedPackagesArr, file.getPathInBundle());
-		postCSS(isFileForPostCSS ? getPostCSSPlugins() : [])
-			.process(file.getContentsAsString(), {
-				from: process.cwd() + file._source.url.replace('_', '-'),
-			})
-			.then((result) => {
-				result.warnings().forEach((warn) => {
-					process.stderr.write(warn.toString());
-				});
-				f.return(result);
-			})
-			.catch((error) => {
-				if (error.name === 'CssSyntaxError') {
-					error.message = `${ error.message }\n\nCss Syntax Error.\n\n${ error.message }${ error.showSourceCode() }`;
-				}
-				f.return(error);
-			});
-
-		try {
-			const parseOptions = {
-				source: filename,
-				position: true,
-			};
-
-			postres = f.wait();
-
-			if (postres.name === 'CssSyntaxError') {
-				throw postres;
-			}
-
-			css = postres.css;
-
-			const ast = CssTools.parseCss(css, parseOptions);
-			ast.filename = filename;
-
-			return ast;
-		} catch (e) {
-			if (e.name === 'CssSyntaxError') {
-				file.error({
-					message: e.message,
-					line: e.line,
-					column: e.column,
-				});
-			} else if (e.reason) {
-				file.error({
-					message: e.reason,
-					line: e.line,
-					column: e.column,
-				});
-			} else {
-				file.error({
-					message: e.message,
-				});
-			}
-
-			return {
-				type: 'stylesheet',
-				stylesheet: { rules: [] },
-				filename,
-			};
-		}
-	});
-	const mergedCssAst = CssTools.mergeCssAsts(cssAsts, (filename, msg) => {
-		console.log(`${ filename }: warn: ${ msg }`);
-	});
-
-	const stringifiedCss = CssTools.stringifyCss(mergedCssAst, {
-		sourcemap: true,
-		inputSourcemaps: false,
-	});
-
-	if (!stringifiedCss.code) {
-		return { code: '' };
-	}
-
-	stringifiedCss.map.sourcesContent =
-		stringifiedCss.map.sources.map((filename) => originals[filename].getContentsAsString());
-
-	const newMap = sourcemap.SourceMapGenerator.fromSourceMap(new sourcemap.SourceMapConsumer(stringifiedCss.map));
-
-	Object.keys(originals).forEach((name) => {
-		const file = originals[name];
-		if (!file.getSourceMap()) {
-			return false;
-		}
-		try {
-			newMap.applySourceMap(new sourcemap.SourceMapConsumer(file.getSourceMap()), name);
-		} catch (err) {
-			// If can't apply the source map, silently drop it.
-		}
-	});
-
-	return {
-		code: stringifiedCss.code,
-		sourceMap: newMap.toString(),
-	};
-};
-
-class CssToolsMinifier {
-	processFilesForBundle(files, options) {
-		const mode = options.minifyMode;
-
-		if (!files.length) {
-			return false;
-		}
-
-		const filesToMerge = [];
-
-		files.forEach((file) => {
-			if (isNotImport(file._source.url)) {
-				filesToMerge.push(file);
-			}
-		});
-
-		const merged = mergeCss(filesToMerge);
-
-		if (mode === 'development') {
-			files[0].addStylesheet({
-				data: merged.code,
-				sourceMap: merged.sourceMap,
-				path: 'merged-stylesheets.css',
-			});
-			return false;
-		}
-
-		const minifiedFiles = CssTools.minifyCss(merged.code);
-
-		if (files.length) {
-			minifiedFiles.forEach((minified) => {
-				files[0].addStylesheet({
-					data: minified,
-				});
-			});
-		}
-	}
-}
-
-Plugin.registerMinifier({ extensions: ['css'] }, () => new CssToolsMinifier);
diff --git a/packages/rocketchat-push-notifications/client/tabBar.js b/packages/rocketchat-push-notifications/client/tabBar.js
index 4a287651a3e787ff5b5d9a3bf7f22301dea3b6e7..075fdc4ad1925883bbe145c513f5859bf8b60cfa 100644
--- a/packages/rocketchat-push-notifications/client/tabBar.js
+++ b/packages/rocketchat-push-notifications/client/tabBar.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.startup(function() {
 	RocketChat.TabBar.addButton({
 		groups: ['channel', 'group', 'direct'],
diff --git a/packages/rocketchat-push-notifications/client/views/pushNotificationsFlexTab.html b/packages/rocketchat-push-notifications/client/views/pushNotificationsFlexTab.html
index 962ab0c2ef8108e5eed19555fdca93b0e7483d77..a32f1b6e9713eb7f4cd6ce9509e4c91bf91f45bd 100644
--- a/packages/rocketchat-push-notifications/client/views/pushNotificationsFlexTab.html
+++ b/packages/rocketchat-push-notifications/client/views/pushNotificationsFlexTab.html
@@ -102,7 +102,7 @@
 						{{/with}}
 					</div>
 					<div class="rc-user-info__config-content">
-						<div class="rc-user-info__config-name">{{_ "Notifications Duration"}}:</div>
+						<div class="rc-user-info__config-name">{{_ "Notifications_Duration"}}:</div>
 						{{# with "desktopNotificationDuration"}}
 							<div class="rc-user-info__config-value">
 								{{#if desktopNotificationDuration }}
diff --git a/packages/rocketchat-push-notifications/client/views/pushNotificationsFlexTab.js b/packages/rocketchat-push-notifications/client/views/pushNotificationsFlexTab.js
index a91b18f5db3b835eebbc0fd58bfd645eb3710318..1577b1957466ba5c0f46b411bee771975c0ccf24 100644
--- a/packages/rocketchat-push-notifications/client/views/pushNotificationsFlexTab.js
+++ b/packages/rocketchat-push-notifications/client/views/pushNotificationsFlexTab.js
@@ -1,4 +1,8 @@
 /* globals ChatSubscription popover */
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
 
 const notificationLabels = {
 	all: 'All_messages',
diff --git a/packages/rocketchat-push-notifications/server/methods/saveNotificationSettings.js b/packages/rocketchat-push-notifications/server/methods/saveNotificationSettings.js
index 1f674c49957fefaad57cb6cc99f76a9b541cb4f1..e4ff4c3ea50b561b85332c9929ef61d6efa30d41 100644
--- a/packages/rocketchat-push-notifications/server/methods/saveNotificationSettings.js
+++ b/packages/rocketchat-push-notifications/server/methods/saveNotificationSettings.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	saveNotificationSettings(roomId, field, value) {
 		if (!Meteor.userId()) {
diff --git a/packages/rocketchat-reactions/client/init.js b/packages/rocketchat-reactions/client/init.js
index b5177799a857a832f1f6ea6d16011b70fc279f5d..c5a0b9fffb6ac2a0ec95eaa071d44fca0fd73166 100644
--- a/packages/rocketchat-reactions/client/init.js
+++ b/packages/rocketchat-reactions/client/init.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { Blaze } from 'meteor/blaze';
+import { Template } from 'meteor/templating';
+
 Template.room.events({
 	'click .add-reaction, click [data-message-action="reaction-message"]'(event) {
 		event.preventDefault();
diff --git a/packages/rocketchat-reactions/client/methods/setReaction.js b/packages/rocketchat-reactions/client/methods/setReaction.js
index 28a626f645a693ab575fbffef4145dd208b87112..b00d0551c8023bb0d1956af869c029f319840816 100644
--- a/packages/rocketchat-reactions/client/methods/setReaction.js
+++ b/packages/rocketchat-reactions/client/methods/setReaction.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import _ from 'underscore';
 
 Meteor.methods({
diff --git a/packages/rocketchat-reactions/setReaction.js b/packages/rocketchat-reactions/setReaction.js
index f51303b7d572cd9094478d9862483d1e5c69657d..2c2a1ddd3e9ba54a13a1e83f24d514927c0a4937 100644
--- a/packages/rocketchat-reactions/setReaction.js
+++ b/packages/rocketchat-reactions/setReaction.js
@@ -1,4 +1,7 @@
 /* globals msgStream */
+import { Meteor } from 'meteor/meteor';
+import { Random } from 'meteor/random';
+import { TAPi18n } from 'meteor/tap:i18n';
 import _ from 'underscore';
 
 const removeUserReaction = (message, reaction, username) => {
diff --git a/packages/rocketchat-retention-policy/server/cronPruneMessages.js b/packages/rocketchat-retention-policy/server/cronPruneMessages.js
index 6aecf573ca0546d24fea7550a37663adbeecf1e9..10688adcc2e784fd456ab8847f9ca5a098f9efa1 100644
--- a/packages/rocketchat-retention-policy/server/cronPruneMessages.js
+++ b/packages/rocketchat-retention-policy/server/cronPruneMessages.js
@@ -1,4 +1,5 @@
 /* globals SyncedCron */
+import { Meteor } from 'meteor/meteor';
 
 let types = [];
 
diff --git a/packages/rocketchat-sandstorm/client/powerboxListener.js b/packages/rocketchat-sandstorm/client/powerboxListener.js
index 307b3c6b87465fd3c4acc39cbb1aa1d5a4ca8364..86a67456000d30e387805a0fde4a5ee78460d7bd 100644
--- a/packages/rocketchat-sandstorm/client/powerboxListener.js
+++ b/packages/rocketchat-sandstorm/client/powerboxListener.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 RocketChat.Sandstorm = RocketChat.Sandstorm || {};
 
 RocketChat.Sandstorm.request = function() {};
diff --git a/packages/rocketchat-sandstorm/client/setPath.js b/packages/rocketchat-sandstorm/client/setPath.js
index 004ab4cee8ea0d3d4496f5feab6b796279f498fa..3a9868c7e6b44c112da06eea5eff8ea2dde9a8ba 100644
--- a/packages/rocketchat-sandstorm/client/setPath.js
+++ b/packages/rocketchat-sandstorm/client/setPath.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+
 function updateSandstormMetaData(msg) {
 	return window.parent.postMessage(msg, '*');
 }
diff --git a/packages/rocketchat-sandstorm/server/events.js b/packages/rocketchat-sandstorm/server/events.js
index e7a1c968918d6b1fb19dfeb197be3b7673682d98..6666d67cce04304c726b83730307af0b60bbd99b 100644
--- a/packages/rocketchat-sandstorm/server/events.js
+++ b/packages/rocketchat-sandstorm/server/events.js
@@ -1,5 +1,5 @@
 /* globals getHttpBridge, waitPromise */
-
+import { Meteor } from 'meteor/meteor';
 import _ from 'underscore';
 
 RocketChat.Sandstorm.notify = function() {};
diff --git a/packages/rocketchat-sandstorm/server/powerbox.js b/packages/rocketchat-sandstorm/server/powerbox.js
index 16aa28a346cef2ea393b8e0314bf18f3193e0eff..32a70f532bba04c44014c0df0ef4aa2f7e9e16ca 100644
--- a/packages/rocketchat-sandstorm/server/powerbox.js
+++ b/packages/rocketchat-sandstorm/server/powerbox.js
@@ -1,5 +1,6 @@
 /* globals getHttpBridge, waitPromise */
 
+import { Meteor } from 'meteor/meteor';
 RocketChat.Sandstorm.offerUiView = function() {};
 
 if (process.env.SANDSTORM === '1') {
diff --git a/packages/rocketchat-search/client/provider/result.js b/packages/rocketchat-search/client/provider/result.js
index dfabcf802d347f7d0ee40dcfcd2dce3f89acaffc..bc1074046f5b82d82c1ddb671db09b9daebf9de7 100644
--- a/packages/rocketchat-search/client/provider/result.js
+++ b/packages/rocketchat-search/client/provider/result.js
@@ -1,4 +1,9 @@
-/* globals FlowRouter, RoomHistoryManager */
+/* globals RoomHistoryManager */
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
 import _ from 'underscore';
 
 Meteor.startup(function() {
diff --git a/packages/rocketchat-search/client/search/search.js b/packages/rocketchat-search/client/search/search.js
index de1c8300c9197dbbabf73cae6c1f6f5bf22618b9..3238c2c6ccd5a4c9f04851d65aedce5f42b18215 100644
--- a/packages/rocketchat-search/client/search/search.js
+++ b/packages/rocketchat-search/client/search/search.js
@@ -1,4 +1,7 @@
 /* globals ReactiveVar, TAPi18n */
+import { Meteor } from 'meteor/meteor';
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
 import toastr from 'toastr';
 import _ from 'underscore';
 
diff --git a/packages/rocketchat-search/server/provider/defaultProvider.js b/packages/rocketchat-search/server/provider/defaultProvider.js
index 808ace67aa210354215de61b4c704151e50dc137..2b28cc6cbbc04a8a7e6fe545c3e74ce52e4db623 100644
--- a/packages/rocketchat-search/server/provider/defaultProvider.js
+++ b/packages/rocketchat-search/server/provider/defaultProvider.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import { searchProviderService } from '../service/providerService';
 import SearchProvider from '../model/provider';
 
diff --git a/packages/rocketchat-search/server/service/providerService.js b/packages/rocketchat-search/server/service/providerService.js
index 701d34961b5f0acbc9bea3adff12c6336ac6ab5f..78d893f092eb786b3aadcb92ce162ac797ff72a3 100644
--- a/packages/rocketchat-search/server/service/providerService.js
+++ b/packages/rocketchat-search/server/service/providerService.js
@@ -1,4 +1,5 @@
 /* globals RocketChat */
+import { Meteor } from 'meteor/meteor';
 import _ from 'underscore';
 
 import { validationService } from '../service/validationService';
diff --git a/packages/rocketchat-search/server/service/validationService.js b/packages/rocketchat-search/server/service/validationService.js
index e39e0e1efc40f93179df6e11c3d5714643ea74c7..ab74cea615a3dd61e5eb814a0f2b340c45ed5087 100644
--- a/packages/rocketchat-search/server/service/validationService.js
+++ b/packages/rocketchat-search/server/service/validationService.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import SearchLogger from '../logger/logger';
 
 class ValidationService {
diff --git a/packages/rocketchat-setup-wizard/client/final.js b/packages/rocketchat-setup-wizard/client/final.js
index db9870cd55ef0faa9af2534905929e6ecb97285e..20c7b7ebc40d89cee6677e9f029b87ac8c34b77c 100644
--- a/packages/rocketchat-setup-wizard/client/final.js
+++ b/packages/rocketchat-setup-wizard/client/final.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
+
 Template.setupWizardFinal.onCreated(function() {
 	const isSetupWizardDone = localStorage.getItem('wizardFinal');
 	if (isSetupWizardDone === null) {
diff --git a/packages/rocketchat-setup-wizard/client/setupWizard.js b/packages/rocketchat-setup-wizard/client/setupWizard.js
index 33119a940ce4745fa91da0e4118e9c47cef1e8ae..0bac5d0e394aa24f3307a58d1ed9b558ad5595cd 100644
--- a/packages/rocketchat-setup-wizard/client/setupWizard.js
+++ b/packages/rocketchat-setup-wizard/client/setupWizard.js
@@ -1,3 +1,11 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { ReactiveDict } from 'meteor/reactive-dict';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
+
 const cannotSetup = () => {
 	const showSetupWizard = RocketChat.settings.get('Show_Setup_Wizard');
 	if (!showSetupWizard) {
diff --git a/packages/rocketchat-setup-wizard/server/getSetupWizardParameters.js b/packages/rocketchat-setup-wizard/server/getSetupWizardParameters.js
index 8e53d48a3196cd31c2733d902726b267635e39f9..664e00bbeca1ef8a73a0b49364f94aa9dada0341 100644
--- a/packages/rocketchat-setup-wizard/server/getSetupWizardParameters.js
+++ b/packages/rocketchat-setup-wizard/server/getSetupWizardParameters.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	getSetupWizardParameters() {
 		const userId = Meteor.userId();
diff --git a/packages/rocketchat-slackbridge/server/RocketAdapter.js b/packages/rocketchat-slackbridge/server/RocketAdapter.js
index 51f506e583760984eb698fdd6b91566523c540c1..9b92b9a25ce96f5c3738e9157986f8e83c267379 100644
--- a/packages/rocketchat-slackbridge/server/RocketAdapter.js
+++ b/packages/rocketchat-slackbridge/server/RocketAdapter.js
@@ -1,5 +1,9 @@
 /* globals logger*/
 
+import { Meteor } from 'meteor/meteor';
+import { Accounts } from 'meteor/accounts-base';
+import { Random } from 'meteor/random';
+import { HTTP } from 'meteor/http';
 import _ from 'underscore';
 
 export default class RocketAdapter {
diff --git a/packages/rocketchat-slackbridge/server/SlackAdapter.js b/packages/rocketchat-slackbridge/server/SlackAdapter.js
index 60c6500328142c1f4ceb716a50584a9acde18ebe..70b20da13afe73710126ef5b81c880aff05da250 100644
--- a/packages/rocketchat-slackbridge/server/SlackAdapter.js
+++ b/packages/rocketchat-slackbridge/server/SlackAdapter.js
@@ -1,4 +1,6 @@
 /* globals logger*/
+import { Meteor } from 'meteor/meteor';
+import { HTTP } from 'meteor/http';
 import _ from 'underscore';
 import url from 'url';
 import http from 'http';
diff --git a/packages/rocketchat-slackbridge/server/settings.js b/packages/rocketchat-slackbridge/server/settings.js
index 3105c6410fd11450f64da6fef609c95699807cb7..7414f7d08f002bd1bf669c4d8f9b7d0047647cce 100644
--- a/packages/rocketchat-slackbridge/server/settings.js
+++ b/packages/rocketchat-slackbridge/server/settings.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.startup(function() {
 	RocketChat.settings.addGroup('SlackBridge', function() {
 		this.add('SlackBridge_Enabled', false, {
diff --git a/packages/rocketchat-slackbridge/server/slackbridge_import.server.js b/packages/rocketchat-slackbridge/server/slackbridge_import.server.js
index 3e7cd0a2750363440d92112531e0472bed057c4f..eadd5e2d8ae9abe145aa2e840b2032ba1448a05f 100644
--- a/packages/rocketchat-slackbridge/server/slackbridge_import.server.js
+++ b/packages/rocketchat-slackbridge/server/slackbridge_import.server.js
@@ -1,4 +1,9 @@
 /* globals msgStream */
+import { Meteor } from 'meteor/meteor';
+import { Match } from 'meteor/check';
+import { Random } from 'meteor/random';
+import { TAPi18n } from 'meteor/tap:i18n';
+
 function SlackBridgeImport(command, params, item) {
 	if (command !== 'slackbridge-import' || !Match.test(params, String)) {
 		return;
diff --git a/packages/rocketchat-slashcommand-asciiarts/gimme.js b/packages/rocketchat-slashcommand-asciiarts/gimme.js
index 0c2b144e59abaa8577910498e0f672e9d8c0aa57..31477780a4e05c3ccbf58a195f4ddd2c316c7822 100644
--- a/packages/rocketchat-slashcommand-asciiarts/gimme.js
+++ b/packages/rocketchat-slashcommand-asciiarts/gimme.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 /*
 * Gimme is a named function that will replace /gimme commands
 * @param {Object} message - The message object
diff --git a/packages/rocketchat-slashcommand-asciiarts/lenny.js b/packages/rocketchat-slashcommand-asciiarts/lenny.js
index f6a076d4a95b23c34ab0cb956f7742538d25ac0e..1563524021a208465bec8bc109c62601d5303172 100644
--- a/packages/rocketchat-slashcommand-asciiarts/lenny.js
+++ b/packages/rocketchat-slashcommand-asciiarts/lenny.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 /*
 * Lenny is a named function that will replace /lenny commands
 * @param {Object} message - The message object
diff --git a/packages/rocketchat-slashcommand-asciiarts/shrug.js b/packages/rocketchat-slashcommand-asciiarts/shrug.js
index ebf7ce99011d5ac35ffc5835d63953b6c8061d1f..672284780f3f91d0825689ff8f11afc8d89ed202 100644
--- a/packages/rocketchat-slashcommand-asciiarts/shrug.js
+++ b/packages/rocketchat-slashcommand-asciiarts/shrug.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 /*
 * Shrug is a named function that will replace /shrug commands
 * @param {Object} message - The message object
diff --git a/packages/rocketchat-slashcommand-asciiarts/tableflip.js b/packages/rocketchat-slashcommand-asciiarts/tableflip.js
index 089190859ea0684fdcaf5a8d6b0a1a88f17859f3..56a9f859c48d74dcc738976792a9c27526642b82 100644
--- a/packages/rocketchat-slashcommand-asciiarts/tableflip.js
+++ b/packages/rocketchat-slashcommand-asciiarts/tableflip.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 /*
 * Tableflip is a named function that will replace /Tableflip commands
 * @param {Object} message - The message object
diff --git a/packages/rocketchat-slashcommand-asciiarts/unflip.js b/packages/rocketchat-slashcommand-asciiarts/unflip.js
index 43ecce05cd1b26a962e97abd5b9145d9b27ce463..6bedc8273c4c86b612d0b829b18827cd1b00283c 100644
--- a/packages/rocketchat-slashcommand-asciiarts/unflip.js
+++ b/packages/rocketchat-slashcommand-asciiarts/unflip.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 /*
 * Unflip is a named function that will replace /unflip commands
 * @param {Object} message - The message object
diff --git a/packages/rocketchat-slashcommands-archiveroom/server/server.js b/packages/rocketchat-slashcommands-archiveroom/server/server.js
index f3c49b46957be0f638259e728a5abc5c486dadc1..c87af690619837741d3a3e87d08797db22dfc30f 100644
--- a/packages/rocketchat-slashcommands-archiveroom/server/server.js
+++ b/packages/rocketchat-slashcommands-archiveroom/server/server.js
@@ -1,3 +1,8 @@
+import { Meteor } from 'meteor/meteor';
+import { Match } from 'meteor/check';
+import { Random } from 'meteor/random';
+import { TAPi18n } from 'meteor/tap:i18n';
+
 function Archive(command, params, item) {
 	if (command !== 'archive' || !Match.test(params, String)) {
 		return;
diff --git a/packages/rocketchat-slashcommands-create/server/server.js b/packages/rocketchat-slashcommands-create/server/server.js
index f4720daaf528f19490bbedbd664acacf18173e8f..461f941e2eb38bb91594376ecae87b8343d4cf37 100644
--- a/packages/rocketchat-slashcommands-create/server/server.js
+++ b/packages/rocketchat-slashcommands-create/server/server.js
@@ -1,3 +1,8 @@
+import { Meteor } from 'meteor/meteor';
+import { Match } from 'meteor/check';
+import { Random } from 'meteor/random';
+import { TAPi18n } from 'meteor/tap:i18n';
+
 function Create(command, params, item) {
 	function getParams(str) {
 		const regex = /(--(\w+))+/g;
diff --git a/packages/rocketchat-slashcommands-help/server.js b/packages/rocketchat-slashcommands-help/server.js
index 7c0ed451595addcec9c134be75ee3a1899bf88ce..90c89534613869934eda7176908cab4490ba2164 100644
--- a/packages/rocketchat-slashcommands-help/server.js
+++ b/packages/rocketchat-slashcommands-help/server.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Random } from 'meteor/random';
+import { TAPi18n } from 'meteor/tap:i18n';
 
 /*
 * Help is a named function that will replace /join commands
@@ -10,6 +13,9 @@ RocketChat.slashCommands.add('help', function Help(command, params, item) {
 	const keys = [{
 		Open_channel_user_search: 'Command (or Ctrl) + p OR Command (or Ctrl) + k',
 	},
+	{
+		Mark_all_as_read: 'Shift (or Ctrl) + ESC',
+	},
 	{
 		Edit_previous_message: 'Up Arrow',
 	},
diff --git a/packages/rocketchat-slashcommands-hide/server/hide.js b/packages/rocketchat-slashcommands-hide/server/hide.js
index 8462d8b91b53b48e8c8bdf9a272ed7f85f45f7a2..f7bfbc4e263836326fc47fb928101e50cb168999 100644
--- a/packages/rocketchat-slashcommands-hide/server/hide.js
+++ b/packages/rocketchat-slashcommands-hide/server/hide.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { Match } from 'meteor/check';
+import { Random } from 'meteor/random';
+import { TAPi18n } from 'meteor/tap:i18n';
 
 /*
 * Hide is a named function that will replace /hide commands
diff --git a/packages/rocketchat-slashcommands-invite/server/server.js b/packages/rocketchat-slashcommands-invite/server/server.js
index 4203ad8cef64cd50a46cd1286ea79ae4f652c3fa..1f58b0aff3ed19358c95cff67136739cece71e23 100644
--- a/packages/rocketchat-slashcommands-invite/server/server.js
+++ b/packages/rocketchat-slashcommands-invite/server/server.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { Match } from 'meteor/check';
+import { Random } from 'meteor/random';
+import { TAPi18n } from 'meteor/tap:i18n';
 
 /*
 * Invite is a named function that will replace /invite commands
diff --git a/packages/rocketchat-slashcommands-inviteall/server/server.js b/packages/rocketchat-slashcommands-inviteall/server/server.js
index d54f95b1515b39f6e27adc3cb74b17bbe80da890..fd3a50e402580c37086e32c21de3ae0bee2bde29 100644
--- a/packages/rocketchat-slashcommands-inviteall/server/server.js
+++ b/packages/rocketchat-slashcommands-inviteall/server/server.js
@@ -2,6 +2,10 @@
  * Invite is a named function that will replace /invite commands
  * @param {Object} message - The message object
  */
+import { Meteor } from 'meteor/meteor';
+import { Match } from 'meteor/check';
+import { Random } from 'meteor/random';
+import { TAPi18n } from 'meteor/tap:i18n';
 
 function inviteAll(type) {
 	return function inviteAll(command, params, item) {
diff --git a/packages/rocketchat-slashcommands-join/server/server.js b/packages/rocketchat-slashcommands-join/server/server.js
index b94a949c073216433b83652baa2a9269d0748a22..00b2df450e1a35e6f1fcdd4d829ede88e1be9b41 100644
--- a/packages/rocketchat-slashcommands-join/server/server.js
+++ b/packages/rocketchat-slashcommands-join/server/server.js
@@ -3,7 +3,10 @@
 * Join is a named function that will replace /join commands
 * @param {Object} message - The message object
 */
-
+import { Meteor } from 'meteor/meteor';
+import { Match } from 'meteor/check';
+import { Random } from 'meteor/random';
+import { TAPi18n } from 'meteor/tap:i18n';
 
 RocketChat.slashCommands.add('join', function Join(command, params, item) {
 
diff --git a/packages/rocketchat-slashcommands-kick/server/server.js b/packages/rocketchat-slashcommands-kick/server/server.js
index c0c3e78c5687d2a140c64e5f578723d72424b590..ee1e65702007709ae3501530b2c1437498f19c51 100644
--- a/packages/rocketchat-slashcommands-kick/server/server.js
+++ b/packages/rocketchat-slashcommands-kick/server/server.js
@@ -1,5 +1,9 @@
 
 // Kick is a named function that will replace /kick commands
+import { Meteor } from 'meteor/meteor';
+import { Match } from 'meteor/check';
+import { Random } from 'meteor/random';
+import { TAPi18n } from 'meteor/tap:i18n';
 
 const Kick = function(command, params, { rid }) {
 	if (command !== 'kick' || !Match.test(params, String)) {
diff --git a/packages/rocketchat-slashcommands-leave/leave.js b/packages/rocketchat-slashcommands-leave/leave.js
index e29efa8868ac9694b5aff8064313ecb121b1d6dd..bf231f304d2e25b2244ac86775e7b2ec9bc35498 100644
--- a/packages/rocketchat-slashcommands-leave/leave.js
+++ b/packages/rocketchat-slashcommands-leave/leave.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Random } from 'meteor/random';
+import { TAPi18n } from 'meteor/tap:i18n';
 
 /*
 * Leave is a named function that will replace /leave commands
diff --git a/packages/rocketchat-slashcommands-me/me.js b/packages/rocketchat-slashcommands-me/me.js
index 4489833ced4b91738e019b41bf2c46f4aab48ecc..bc6423fa757b6b5d4022a192dd5aa28909f40f10 100644
--- a/packages/rocketchat-slashcommands-me/me.js
+++ b/packages/rocketchat-slashcommands-me/me.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import s from 'underscore.string';
 
 /*
diff --git a/packages/rocketchat-slashcommands-msg/server.js b/packages/rocketchat-slashcommands-msg/server.js
index 01bbd6b925a071c40bd850f3f11430ee8f0ecaf6..6a276c732d937066af61bb5fc141b0ee724f1b10 100644
--- a/packages/rocketchat-slashcommands-msg/server.js
+++ b/packages/rocketchat-slashcommands-msg/server.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { Match } from 'meteor/check';
+import { Random } from 'meteor/random';
+import { TAPi18n } from 'meteor/tap:i18n';
 
 /*
 * Msg is a named function that will replace /msg commands
diff --git a/packages/rocketchat-slashcommands-mute/server/mute.js b/packages/rocketchat-slashcommands-mute/server/mute.js
index 4894b884d160bbe19ef043eac518886545fa927d..617ddd22e5aa2bbdb36e81a712655ef49f6660e5 100644
--- a/packages/rocketchat-slashcommands-mute/server/mute.js
+++ b/packages/rocketchat-slashcommands-mute/server/mute.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { Match } from 'meteor/check';
+import { Random } from 'meteor/random';
+import { TAPi18n } from 'meteor/tap:i18n';
 
 /*
 * Mute is a named function that will replace /mute commands
diff --git a/packages/rocketchat-slashcommands-mute/server/unmute.js b/packages/rocketchat-slashcommands-mute/server/unmute.js
index 7282b69d66bfe45c12279bb6b4307608cd4b08c4..869b727bca1db4273d10230898132c30f43903f4 100644
--- a/packages/rocketchat-slashcommands-mute/server/unmute.js
+++ b/packages/rocketchat-slashcommands-mute/server/unmute.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { Match } from 'meteor/check';
+import { Random } from 'meteor/random';
+import { TAPi18n } from 'meteor/tap:i18n';
 
 /*
 * Unmute is a named function that will replace /unmute commands
diff --git a/packages/rocketchat-slashcommands-open/client/client.js b/packages/rocketchat-slashcommands-open/client/client.js
index fc05bc8fafdb8c4e983de824527ca698135024f3..b61c47e7ea6d67b8b6fd2bea37437b82945a0921 100644
--- a/packages/rocketchat-slashcommands-open/client/client.js
+++ b/packages/rocketchat-slashcommands-open/client/client.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { Match } from 'meteor/check';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+
 function Open(command, params /* , item*/) {
 	const dict = {
 		'#': ['c', 'p'],
diff --git a/packages/rocketchat-slashcommands-topic/topic.js b/packages/rocketchat-slashcommands-topic/topic.js
index f68870d06a1ff5a434538508cbbb30d7a25a8fe2..0c579f657d944c086a7fa2ae23460f62ddd174c3 100644
--- a/packages/rocketchat-slashcommands-topic/topic.js
+++ b/packages/rocketchat-slashcommands-topic/topic.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 /*
  * Join is a named function that will replace /topic commands
  * @param {Object} message - The message object
@@ -5,7 +7,7 @@
 
 function Topic(command, params, item) {
 	if (command === 'topic') {
-		if ((Meteor.isClient && RocketChat.authz.hasAtLeastOnePermission('edit-room', item.rid)) || (Meteor.isServer && RocketChat.authz.hasPermission(Meteor.userId(), 'edit-room', item.rid))) {
+		if ((Meteor.isClient && RocketChat.authz.hasPermission('edit-room', item.rid)) || (Meteor.isServer && RocketChat.authz.hasPermission(Meteor.userId(), 'edit-room', item.rid))) {
 			Meteor.call('saveRoomSettings', item.rid, 'roomTopic', params, (err) => {
 				if (err) {
 					if (Meteor.isClient) {
diff --git a/packages/rocketchat-slashcommands-unarchiveroom/server/server.js b/packages/rocketchat-slashcommands-unarchiveroom/server/server.js
index 96f762eceee49b570e577feb564cbd7d90446130..fa2433cb5a54142afc959db481d3e53d5c009e02 100644
--- a/packages/rocketchat-slashcommands-unarchiveroom/server/server.js
+++ b/packages/rocketchat-slashcommands-unarchiveroom/server/server.js
@@ -1,3 +1,8 @@
+import { Meteor } from 'meteor/meteor';
+import { Match } from 'meteor/check';
+import { Random } from 'meteor/random';
+import { TAPi18n } from 'meteor/tap:i18n';
+
 function Unarchive(command, params, item) {
 	if (command !== 'unarchive' || !Match.test(params, String)) {
 		return;
diff --git a/packages/rocketchat-slider/rocketchat-slider.js b/packages/rocketchat-slider/rocketchat-slider.js
index 49341e759006e16b409b78dd8cc6c68f30e71070..098146dac1d5fca39f3a88ac8ab475d17353d24d 100644
--- a/packages/rocketchat-slider/rocketchat-slider.js
+++ b/packages/rocketchat-slider/rocketchat-slider.js
@@ -1,3 +1,5 @@
+import { Template } from 'meteor/templating';
+
 Template.slider.onRendered(function() {
 	const params = this.data;
 
diff --git a/packages/rocketchat-smarsh-connector/server/functions/generateEml.js b/packages/rocketchat-smarsh-connector/server/functions/generateEml.js
index 515ca33d52510e3540fea340cab06dd1abd24fa9..0ad7d46fa73a16edb35e4fe72a376645ed67f956 100644
--- a/packages/rocketchat-smarsh-connector/server/functions/generateEml.js
+++ b/packages/rocketchat-smarsh-connector/server/functions/generateEml.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { TAPi18n } from 'meteor/tap:i18n';
 import _ from 'underscore';
 import moment from 'moment';
 import 'moment-timezone';
diff --git a/packages/rocketchat-smarsh-connector/server/startup.js b/packages/rocketchat-smarsh-connector/server/startup.js
index b324b093670b6a6bcb834c173dc27a542de70005..22a1c879cfc393064f5a82f021b634b9a9fcdc4a 100644
--- a/packages/rocketchat-smarsh-connector/server/startup.js
+++ b/packages/rocketchat-smarsh-connector/server/startup.js
@@ -1,4 +1,5 @@
 /* globals SyncedCron */
+import { Meteor } from 'meteor/meteor';
 import _ from 'underscore';
 
 const smarshJobName = 'Smarsh EML Connector';
diff --git a/packages/rocketchat-sms/SMS.js b/packages/rocketchat-sms/SMS.js
index 60cfd7dbfeb84c62ac81e4b8894ec60077a1640c..42021bee8005ffe06326adb6869728284006cf60 100644
--- a/packages/rocketchat-sms/SMS.js
+++ b/packages/rocketchat-sms/SMS.js
@@ -1,4 +1,6 @@
 /* globals RocketChat */
+import { Meteor } from 'meteor/meteor';
+
 RocketChat.SMS = {
 	enabled: false,
 	services: {},
diff --git a/packages/rocketchat-sms/settings.js b/packages/rocketchat-sms/settings.js
index 9c91346d835570445838cd089f699ad8e92a4ced..e91f6e8e6178a7fbff11165c8cbab3d32f3470c0 100644
--- a/packages/rocketchat-sms/settings.js
+++ b/packages/rocketchat-sms/settings.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.startup(function() {
 	RocketChat.settings.addGroup('SMS', function() {
 		this.add('SMS_Enabled', false, {
diff --git a/packages/rocketchat-spotify/lib/client/widget.js b/packages/rocketchat-spotify/lib/client/widget.js
index d66f38a31eb1ba8d1a60254d6b53f05a4f906a0e..d5678ed1e96ba7b678f6c04f1a3cc57fb46c5858 100644
--- a/packages/rocketchat-spotify/lib/client/widget.js
+++ b/packages/rocketchat-spotify/lib/client/widget.js
@@ -1,3 +1,5 @@
+import { Template } from 'meteor/templating';
+
 Template.registerHelper('replace', function(source, find, replace, option) {
 	if (option.hash.regex === true) {
 		find = new RegExp(find);
diff --git a/packages/rocketchat-statistics/server/functions/get.js b/packages/rocketchat-statistics/server/functions/get.js
index 372aac151799608367420343ae385ea02f4a13f1..c9dd5d2f590e6059f36548baeaf301cc7f0117ec 100644
--- a/packages/rocketchat-statistics/server/functions/get.js
+++ b/packages/rocketchat-statistics/server/functions/get.js
@@ -1,4 +1,5 @@
 /* global InstanceStatus, MongoInternals */
+import { Meteor } from 'meteor/meteor';
 import _ from 'underscore';
 import os from 'os';
 import LivechatVisitors from 'meteor/rocketchat:livechat/server/models/LivechatVisitors';
diff --git a/packages/rocketchat-statistics/server/methods/getStatistics.js b/packages/rocketchat-statistics/server/methods/getStatistics.js
index 90312547183206babb15938aea859b9891b2aaee..9694eac257c6c1bb9d26db3e2705afabc01c63d7 100644
--- a/packages/rocketchat-statistics/server/methods/getStatistics.js
+++ b/packages/rocketchat-statistics/server/methods/getStatistics.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	getStatistics(refresh) {
 		if (!Meteor.userId()) {
diff --git a/packages/rocketchat-token-login/client/login_token_client.js b/packages/rocketchat-token-login/client/login_token_client.js
index 051e51d80ad9342700a366ec7192817f650ff71c..4809a81f241da2469474c5e1653261aaee9db4cf 100644
--- a/packages/rocketchat-token-login/client/login_token_client.js
+++ b/packages/rocketchat-token-login/client/login_token_client.js
@@ -1,3 +1,8 @@
+import { Meteor } from 'meteor/meteor';
+import { Accounts } from 'meteor/accounts-base';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { BlazeLayout } from 'meteor/kadira:blaze-layout';
+
 Meteor.loginWithLoginToken = function(token) {
 	Accounts.callLoginMethod({
 		methodArguments: [{
diff --git a/packages/rocketchat-token-login/package.js b/packages/rocketchat-token-login/package.js
index 785e5f333618abf686109736dc196efa338643e3..858c930284265d8ec0076984a69903797ee5074b 100644
--- a/packages/rocketchat-token-login/package.js
+++ b/packages/rocketchat-token-login/package.js
@@ -10,6 +10,7 @@ Package.onUse(function(api) {
 	api.use('rocketchat:logger', 'server');
 
 	api.use('kadira:flow-router', 'client');
+	api.use('kadira:blaze-layout', 'client');
 
 	api.use('rocketchat:lib');
 	api.use('accounts-base');
diff --git a/packages/rocketchat-token-login/server/login_token_server.js b/packages/rocketchat-token-login/server/login_token_server.js
index d3a20126d71cd964e791d09aa697d414d0da58c5..d46fe4a05ca6c099b4782d6703e0d9f4c96db279 100644
--- a/packages/rocketchat-token-login/server/login_token_server.js
+++ b/packages/rocketchat-token-login/server/login_token_server.js
@@ -1,4 +1,5 @@
 /* globals Accounts */
+import { Meteor } from 'meteor/meteor';
 
 Accounts.registerLoginHandler('login-token', function(result) {
 	if (!result.loginToken) {
diff --git a/packages/rocketchat-tokenpass/client/roomType.js b/packages/rocketchat-tokenpass/client/roomType.js
index 71aa74ae91e93fbadfc16c4702c2ee5f3425a39b..314401959b42836d74720b88b4a81da756516129 100644
--- a/packages/rocketchat-tokenpass/client/roomType.js
+++ b/packages/rocketchat-tokenpass/client/roomType.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import { RoomTypeConfig } from 'meteor/rocketchat:lib';
 
 class TokenPassRoomType extends RoomTypeConfig {
diff --git a/packages/rocketchat-tokenpass/client/startup.js b/packages/rocketchat-tokenpass/client/startup.js
index a878e904b628d3183dcc678f5e03d44891bb28c4..8416a26634ed2ce975e875cdc4fa37303829c351 100644
--- a/packages/rocketchat-tokenpass/client/startup.js
+++ b/packages/rocketchat-tokenpass/client/startup.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.startup(function() {
 	RocketChat.ChannelSettings.addOption({
 		group: ['room'],
diff --git a/packages/rocketchat-tokenpass/client/tokenChannelsList.js b/packages/rocketchat-tokenpass/client/tokenChannelsList.js
index 0044bb156aeb0385d5782f7ead1a03b45407e4a8..63e7306c4e2249e6381e2a54c4950e3067168dd7 100644
--- a/packages/rocketchat-tokenpass/client/tokenChannelsList.js
+++ b/packages/rocketchat-tokenpass/client/tokenChannelsList.js
@@ -1,3 +1,8 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Tracker } from 'meteor/tracker';
+import { Template } from 'meteor/templating';
+
 Template.tokenChannelsList.helpers({
 	rooms() {
 		return Template.instance().tokenpassRooms.get().filter((room) => RocketChat.models.Subscriptions.find({ rid: room._id }).count() === 0);
diff --git a/packages/rocketchat-tokenpass/client/tokenpassChannelSettings.js b/packages/rocketchat-tokenpass/client/tokenpassChannelSettings.js
index 0ea2a595a9027686755c98a7b9b30deb5218f7c1..07696dbbfa466d9c72ddaf0f3c4f19078ac909be 100644
--- a/packages/rocketchat-tokenpass/client/tokenpassChannelSettings.js
+++ b/packages/rocketchat-tokenpass/client/tokenpassChannelSettings.js
@@ -1,3 +1,8 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
+
 Template.channelSettings__tokenpass.helpers({
 	addDisabled() {
 		const { balance, token } = Template.instance();
diff --git a/packages/rocketchat-tokenpass/common.js b/packages/rocketchat-tokenpass/common.js
index 245d102d2cd6893a7ce14b688fe32c33010be956..ecc3d6ddc319167023f4924dcc9e7392bacee8ec 100644
--- a/packages/rocketchat-tokenpass/common.js
+++ b/packages/rocketchat-tokenpass/common.js
@@ -1,4 +1,6 @@
 /* global CustomOAuth */
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
 
 const config = {
 	serverURL: '',
diff --git a/packages/rocketchat-tokenpass/package.js b/packages/rocketchat-tokenpass/package.js
index 1b4fc709e790c9706fa5355019987e51b39ab3b2..6b71537a71ba8efecb77508f63be26c5c70c078a 100644
--- a/packages/rocketchat-tokenpass/package.js
+++ b/packages/rocketchat-tokenpass/package.js
@@ -10,7 +10,7 @@ Package.onUse(function(api) {
 	api.use('ecmascript');
 	api.use('service-configuration');
 	api.use('templating', 'client');
-	api.use('percolate:synced-cron');
+	api.use('littledata:synced-cron');
 	api.use('rocketchat:lib');
 	api.use('rocketchat:authorization');
 	api.use('rocketchat:custom-oauth');
diff --git a/packages/rocketchat-tokenpass/server/cronRemoveUsers.js b/packages/rocketchat-tokenpass/server/cronRemoveUsers.js
index f8540c089bda3a1541f8d9b12923dcbbfc1c64af..f941025069447c13df61d5f229ce90e6c6ff9cc5 100644
--- a/packages/rocketchat-tokenpass/server/cronRemoveUsers.js
+++ b/packages/rocketchat-tokenpass/server/cronRemoveUsers.js
@@ -1,4 +1,6 @@
 /* globals SyncedCron */
+import { Meteor } from 'meteor/meteor';
+
 function removeUsersFromTokenChannels() {
 	const rooms = {};
 
diff --git a/packages/rocketchat-tokenpass/server/functions/getProtectedTokenpassBalances.js b/packages/rocketchat-tokenpass/server/functions/getProtectedTokenpassBalances.js
index 7a8c440c4ed2757ca613df992801a2d3d4f51954..6b1bc586f597b384e4a5c828a6fee5f39f6ddf8c 100644
--- a/packages/rocketchat-tokenpass/server/functions/getProtectedTokenpassBalances.js
+++ b/packages/rocketchat-tokenpass/server/functions/getProtectedTokenpassBalances.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { HTTP } from 'meteor/http';
+
 let userAgent = 'Meteor';
 if (Meteor.release) { userAgent += `/${ Meteor.release }`; }
 
diff --git a/packages/rocketchat-tokenpass/server/functions/getPublicTokenpassBalances.js b/packages/rocketchat-tokenpass/server/functions/getPublicTokenpassBalances.js
index 719b58f66aad1b3eed1cc99595657e08aace640f..0083676c1b737ebf5b18f42abc9733cae80126c7 100644
--- a/packages/rocketchat-tokenpass/server/functions/getPublicTokenpassBalances.js
+++ b/packages/rocketchat-tokenpass/server/functions/getPublicTokenpassBalances.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { HTTP } from 'meteor/http';
+
 let userAgent = 'Meteor';
 if (Meteor.release) { userAgent += `/${ Meteor.release }`; }
 
diff --git a/packages/rocketchat-tokenpass/server/functions/saveRoomTokens.js b/packages/rocketchat-tokenpass/server/functions/saveRoomTokens.js
index 0a61985aea9c3d225e58371368e1a0f3f3596def..c591baefb7c7d4b9e41d7eaa9d5aa2bf2afd611a 100644
--- a/packages/rocketchat-tokenpass/server/functions/saveRoomTokens.js
+++ b/packages/rocketchat-tokenpass/server/functions/saveRoomTokens.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Match } from 'meteor/check';
+
 RocketChat.saveRoomTokenpass = function(rid, tokenpass) {
 	if (!Match.test(rid, String)) {
 		throw new Meteor.Error('invalid-room', 'Invalid room', {
diff --git a/packages/rocketchat-tokenpass/server/functions/saveRoomTokensMinimumBalance.js b/packages/rocketchat-tokenpass/server/functions/saveRoomTokensMinimumBalance.js
index 3012197cc109e49fa152be8caeb4fd9ea96f7c38..00f1eb809dbe356222da3be1f4b48c2d9c30fbf6 100644
--- a/packages/rocketchat-tokenpass/server/functions/saveRoomTokensMinimumBalance.js
+++ b/packages/rocketchat-tokenpass/server/functions/saveRoomTokensMinimumBalance.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { Match } from 'meteor/check';
 import s from 'underscore.string';
 
 RocketChat.saveRoomTokensMinimumBalance = function(rid, roomTokensMinimumBalance) {
diff --git a/packages/rocketchat-tokenpass/server/methods/findTokenChannels.js b/packages/rocketchat-tokenpass/server/methods/findTokenChannels.js
index c46915d3ee55d3d88c3dc2ccaca29b28f24ebd65..926c80715b27c232d8654bd144e74629094ede2a 100644
--- a/packages/rocketchat-tokenpass/server/methods/findTokenChannels.js
+++ b/packages/rocketchat-tokenpass/server/methods/findTokenChannels.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	findTokenChannels() {
 		if (!Meteor.userId()) {
diff --git a/packages/rocketchat-tokenpass/server/methods/getChannelTokenpass.js b/packages/rocketchat-tokenpass/server/methods/getChannelTokenpass.js
index da0928da81328a284fe0d8d4ecca5c502b1cad45..0f39a5684b2afa639ef435625beab90c148bf2f5 100644
--- a/packages/rocketchat-tokenpass/server/methods/getChannelTokenpass.js
+++ b/packages/rocketchat-tokenpass/server/methods/getChannelTokenpass.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	getChannelTokenpass(rid) {
 		check(rid, String);
diff --git a/packages/rocketchat-tokenpass/server/models/indexes.js b/packages/rocketchat-tokenpass/server/models/indexes.js
index d438b667bead8c3b3e8f280826dba5ed75375de4..63feff4a12a866a45d03de9ff89bd3310d738d07 100644
--- a/packages/rocketchat-tokenpass/server/models/indexes.js
+++ b/packages/rocketchat-tokenpass/server/models/indexes.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.startup(function() {
 	RocketChat.models.Rooms.tryEnsureIndex({ 'tokenpass.tokens.token': 1 });
 });
diff --git a/packages/rocketchat-tokenpass/server/startup.js b/packages/rocketchat-tokenpass/server/startup.js
index 19b3d89938a8b1ad21aece0f7e66ecbf72d32681..883f2424062e05be776c037d09b205c5f9d22370 100644
--- a/packages/rocketchat-tokenpass/server/startup.js
+++ b/packages/rocketchat-tokenpass/server/startup.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Accounts } from 'meteor/accounts-base';
+
 RocketChat.settings.addGroup('OAuth', function() {
 	this.section('Tokenpass', function() {
 		const enableQuery = {
diff --git a/packages/rocketchat-tooltip/client/init.js b/packages/rocketchat-tooltip/client/init.js
index 96dd52e7835b176083c343df22d89c9be5fb98d4..7ccc3f3ca1fb5dcd4f1092d9cff14551178c002f 100644
--- a/packages/rocketchat-tooltip/client/init.js
+++ b/packages/rocketchat-tooltip/client/init.js
@@ -1,3 +1,5 @@
+import { Template } from 'meteor/templating';
+
 Template.main.onCreated(function() {
 	RocketChat.tooltip.init();
 });
diff --git a/packages/rocketchat-tooltip/client/rocketchat-tooltip.js b/packages/rocketchat-tooltip/client/rocketchat-tooltip.js
index eea7f3f6689bcd69f0b1826ea68c560a8c21effa..69499047aa004a916d0be999853275ced8323850 100644
--- a/packages/rocketchat-tooltip/client/rocketchat-tooltip.js
+++ b/packages/rocketchat-tooltip/client/rocketchat-tooltip.js
@@ -1,4 +1,6 @@
 /* globals Blaze, RocketChat */
+import { Template } from 'meteor/templating';
+
 RocketChat.tooltip = {
 	source: null,
 	initiated: false,
diff --git a/packages/rocketchat-ui-account/client/account.js b/packages/rocketchat-ui-account/client/account.js
index 214d55abe8c614d84b784a996c3180ca5219db58..40a0e36da2aaee9afd84bc7c2e55880f7383d796 100644
--- a/packages/rocketchat-ui-account/client/account.js
+++ b/packages/rocketchat-ui-account/client/account.js
@@ -1,3 +1,6 @@
+import { Tracker } from 'meteor/tracker';
+import { Template } from 'meteor/templating';
+
 Template.account.onRendered(function() {
 	Tracker.afterFlush(function() {
 		SideNav.setFlex('accountFlex');
diff --git a/packages/rocketchat-ui-account/client/accountFlex.js b/packages/rocketchat-ui-account/client/accountFlex.js
index 40fca5532992384b77c1b09ec9bb02dafa8f47ce..f1c8d945636f3ebf4ba1b6900465d241d4c0b1ed 100644
--- a/packages/rocketchat-ui-account/client/accountFlex.js
+++ b/packages/rocketchat-ui-account/client/accountFlex.js
@@ -1,3 +1,5 @@
+import { Template } from 'meteor/templating';
+
 Template.accountFlex.events({
 	'click [data-action="close"]'() {
 		SideNav.closeFlex();
@@ -13,7 +15,7 @@ Template.accountFlex.helpers({
 		return RocketChat.settings.get('Accounts_AllowUserProfileChange');
 	},
 	accessTokensEnabled() {
-		return RocketChat.settings.get('API_Enable_Personal_Access_Tokens');
+		return RocketChat.authz.hasAllPermission(['create-personal-access-tokens']);
 	},
 	encryptionEnabled() {
 		return RocketChat.settings.get('E2E_Enable');
diff --git a/packages/rocketchat-ui-account/client/accountIntegrations.html b/packages/rocketchat-ui-account/client/accountIntegrations.html
index 9448566c99dbfbe560e1a38c6a4bcc8f82f80e63..ef894978795db8757f38811d3e71ad394889f60c 100644
--- a/packages/rocketchat-ui-account/client/accountIntegrations.html
+++ b/packages/rocketchat-ui-account/client/accountIntegrations.html
@@ -1,27 +1,25 @@
 <template name="accountIntegrations">
-	<section class="page-container page-home page-static">
-		{{> header sectionName="Integrations"}}
+	<section class="preferences-page preferences-page--new page-static page-settings">
+		{{> header sectionName="Integrations" fullpage=true}}
 
 		<div class="content">
 			<form id="integrations" autocomplete="off">
-				<fieldset class="rc-form-legend">
-					<div class="section">
-						<h1>{{_ "WebDAV"}}</h1>
-						<div class="section-content border-component-color">
-							<div class="input-line double-col">
-								<label for="webdav-accounts">{{_ "WebDAV_Accounts"}}</label>
-								<div class="rc-select">
-									<select id="webdav-accounts" class="rc-select__element" style="text-transform: none" multiple>
-										{{#each webdavAccounts}}
-											<option value="{{this._id}}">{{getOptionValue this}}</option>
-										{{/each}}
-									</select>
-								</div>
-								<button class="rc-button rc-button--cancel webdav-account-remove"><span>{{_ "Remove"}}</span></button>
+				<div class="section">
+					<h1>{{_ "WebDAV"}}</h1>
+					<div class="section-content border-component-color">
+						<div class="input-line double-col">
+							<label for="webdav-accounts" class="setting-label">{{_ "WebDAV_Accounts"}}</label>
+							<div class="rc-select setting-field">
+								<select id="webdav-accounts" class="rc-select__element" style="text-transform: none" multiple>
+									{{#each webdavAccounts}}
+										<option value="{{this._id}}">{{getOptionValue this}}</option>
+									{{/each}}
+								</select>
 							</div>
+							<button class="rc-button rc-button--cancel setting-action webdav-account-remove"><span>{{_ "Remove"}}</span></button>
 						</div>
 					</div>
-				</fieldset>
+				</div>
 			</form>
 		</div>
 	</section>
diff --git a/packages/rocketchat-ui-account/client/accountIntegrations.js b/packages/rocketchat-ui-account/client/accountIntegrations.js
index 1a4185294e3622518356338e2f77ed2f02f6bb6f..115f43c814f266ee9f07960e775297851319fb4f 100644
--- a/packages/rocketchat-ui-account/client/accountIntegrations.js
+++ b/packages/rocketchat-ui-account/client/accountIntegrations.js
@@ -1,5 +1,7 @@
 /* global */
 
+import { Meteor } from 'meteor/meteor';
+import { Template } from 'meteor/templating';
 import toastr from 'toastr';
 
 Template.accountIntegrations.helpers({
diff --git a/packages/rocketchat-ui-account/client/accountPreferences.html b/packages/rocketchat-ui-account/client/accountPreferences.html
index 8d4b6a327890f7e4e4679b66c428a60f111cbd38..231a4134cebf9caed20cc9807f0fefa495d6302d 100644
--- a/packages/rocketchat-ui-account/client/accountPreferences.html
+++ b/packages/rocketchat-ui-account/client/accountPreferences.html
@@ -1,5 +1,5 @@
 <template name="accountPreferences">
-	<section class="preferences-page preferences-page--new page-container page-home page-static">
+	<section class="preferences-page preferences-page--new page-container page-home page-static page-settings">
 		{{#header sectionName="Preferences" buttons=true fullpage=true}}
 		<div class="rc-header__section-button">
 			<button class="rc-button rc-button--primary save"><span>{{_ "Save_changes"}}</span></button>
@@ -8,332 +8,329 @@
 
 		<div class="content">
 			<form id="preferences" autocomplete="off">
-				<fieldset class="rc-form-legend">
-					<div class="section">
-						<h1>{{_ "Localization"}}</h1>
-						<div class="section-content border-component-color">
-							<div class="input-line double-col">
-								<label for="language">{{_ "Language"}}</label>
-								<div class="rc-select">
-									<select id="language" class="required rc-select__element">
-										{{#each languages}}
-											<option value="{{key}}" selected="{{isUserLanguage key}}" dir="auto">{{name}}</option>
-										{{/each}}
-									</select>
-									{{> icon block="rc-select__arrow" icon="arrow-down"}}
-								</div>
+				<div class="section">
+					<h1>{{_ "Localization"}}</h1>
+					<div class="section-content border-component-color">
+						<div class="input-line double-col">
+							<label for="language" class="setting-label">{{_ "Language"}}</label>
+							<div class="rc-select setting-field">
+								<select id="language" class="required rc-select__element">
+									{{#each languages}}
+										<option value="{{key}}" selected="{{isUserLanguage key}}" dir="auto">{{name}}</option>
+									{{/each}}
+								</select>
+								{{> icon block="rc-select__arrow" icon="arrow-down"}}
 							</div>
 						</div>
 					</div>
-					<div class="section">
-						<h1>{{_ "Global"}}</h1>
-						<div class="section-content border-component-color">
-							<div class="input-line double-col">
-								<label for="language">{{_ "Dont_ask_me_again_list"}}</label>
-								<div class="rc-select">
-									<select id="dont-ask" class="rc-select__element" multiple>
-										{{#each dontAskAgainList}}
-											<option value="{{action}}">{{label}}</option>
-										{{/each}}
-									</select>
-								</div>
-								<button class="rc-button rc-button--cancel js-dont-ask-remove"><span>{{_ "Remove"}}</span></button>
+				</div>
+				<div class="section">
+					<h1>{{_ "Global"}}</h1>
+					<div class="section-content border-component-color">
+						<div class="input-line double-col">
+							<label for="dont-ask" class="setting-label">{{_ "Dont_ask_me_again_list"}}</label>
+							<div class="rc-select setting-field">
+								<select id="dont-ask" class="rc-select__element" multiple>
+									{{#each dontAskAgainList}}
+										<option value="{{action}}">{{label}}</option>
+									{{/each}}
+								</select>
 							</div>
+							<button class="rc-button rc-button--cancel setting-action js-dont-ask-remove">{{_ "Remove"}}</button>
 						</div>
 					</div>
-					<div class="section">
-						<h1>{{_ "User_Presence"}}</h1>
-						<div class="section-content border-component-color">
-							<div class="input-line double-col" id="enableAutoAway">
-								<label>{{_ "Enable_Auto_Away"}}</label>
-								<div>
-									<label><input type="radio" name="enableAutoAway" value="true" checked="{{ checked 'enableAutoAway' true }}"/> {{_ "True"}}</label>
-									<label><input type="radio" name="enableAutoAway" value="false" checked="{{ checked 'enableAutoAway' false }}"/> {{_ "False"}}</label>
-								</div>
+				</div>
+				<div class="section">
+					<h1>{{_ "User_Presence"}}</h1>
+					<div class="section-content border-component-color">
+						<div class="input-line double-col" id="enableAutoAway">
+							<label class="setting-label">{{_ "Enable_Auto_Away"}}</label>
+							<div class="setting-field">
+								<label><input type="radio" name="enableAutoAway" value="true" checked="{{ checked 'enableAutoAway' true }}"/> {{_ "True"}}</label>
+								<label><input type="radio" name="enableAutoAway" value="false" checked="{{ checked 'enableAutoAway' false }}"/> {{_ "False"}}</label>
 							</div>
+						</div>
 
-							<div class="input-line double-col" id="idleTimeLimit">
-								<label>{{_ "Idle_Time_Limit"}}</label>
-								<div>
-									{{#if idleTimeLimit}}
-										<input type="number" class="rc-input__element" name="idleTimeLimit" min="0" value="{{idleTimeLimit}}">
-									{{else}}
-										<input type="number" class="rc-input__element" name="idleTimeLimit" min="0" value="" placeholder="{{_ "Use_Global_Settings"}} ({{defaultIdleTimeLimit}})">
-									{{/if}}
-									<div class="info">{{_ "Idle_Time_Limit_Description"}}</div>
-								</div>
+						<div class="input-line double-col" id="idleTimeLimit">
+							<label class="setting-label">{{_ "Idle_Time_Limit"}}</label>
+							<div class="setting-field">
+								{{#if idleTimeLimit}}
+									<input type="number" class="rc-input__element" name="idleTimeLimit" min="0" value="{{idleTimeLimit}}">
+								{{else}}
+									<input type="number" class="rc-input__element" name="idleTimeLimit" min="0" value="" placeholder="{{_ "Use_Global_Settings"}} ({{defaultIdleTimeLimit}})">
+								{{/if}}
+								<div class="settings-description secondary-font-color">{{_ "Idle_Time_Limit_Description"}}</div>
 							</div>
 						</div>
-
 					</div>
-					<div class="section">
-						<h1>{{_ "Notifications"}}</h1>
-						<div class="section-content border-component-color">
-							<div class="input-line double-col">
-								<label>{{_ "Desktop_Notifications"}}</label>
-								<div>
-									{{#if desktopNotificationEnabled}}
-										<label>{{_ "Desktop_Notifications_Enabled"}}</label>
-										<label><button class="button test-notifications"><i class="icon-comment-empty secondary-font-color"></i> <span>{{_ "Test_Desktop_Notifications"}}</span></button></label>
+
+				</div>
+				<div class="section">
+					<h1>{{_ "Notifications"}}</h1>
+					<div class="section-content border-component-color">
+						<div class="input-line double-col">
+							<label class="setting-label">{{_ "Desktop_Notifications"}}</label>
+							<div class="setting-field">
+								{{#if desktopNotificationEnabled}}
+									<label>{{_ "Desktop_Notifications_Enabled"}}</label>
+									<button class="button test-notifications"><i class="icon-comment-empty secondary-font-color"></i> <span>{{_ "Test_Desktop_Notifications"}}</span></button>
+								{{else}}
+									{{#if desktopNotificationDisabled}}
+										<label>{{_ "Desktop_Notifications_Disabled"}}</label>
 									{{else}}
-										{{#if desktopNotificationDisabled}}
-											<label>{{_ "Desktop_Notifications_Disabled"}}</label>
-										{{else}}
-											<label><button class="button enable-notifications"><i class="icon-comment-empty secondary-font-color"></i> <span>{{_ "Enable_Desktop_Notifications"}}</span></button></label>
-										{{/if}}
+										<button class="button enable-notifications"><i class="icon-comment-empty secondary-font-color"></i> <span>{{_ "Enable_Desktop_Notifications"}}</span></button>
 									{{/if}}
-								</div>
+								{{/if}}
 							</div>
-							<div class="input-line double-col">
-								<label>{{_ "Notification_Duration"}}</label>
-								<div>
-									{{#if desktopNotificationDuration}}
-										<input type="number" class="rc-input__element" name="desktopNotificationDuration" min="0" value="{{desktopNotificationDuration}}">
-									{{else}}
-										<input type="number" class="rc-input__element" name="desktopNotificationDuration" min="0" value="" placeholder="{{_ "Use_Global_Settings"}} ({{defaultDesktopNotificationDuration}})">
-									{{/if}}
-								</div>
+						</div>
+						<div class="input-line double-col">
+							<label class="setting-label">{{_ "Notification_Duration"}}</label>
+							<div class="setting-field">
+								{{#if desktopNotificationDuration}}
+									<input type="number" class="rc-input__element" name="desktopNotificationDuration" min="0" value="{{desktopNotificationDuration}}">
+								{{else}}
+									<input type="number" class="rc-input__element" name="desktopNotificationDuration" min="0" value="" placeholder="{{_ "Use_Global_Settings"}} ({{defaultDesktopNotificationDuration}})">
+								{{/if}}
 							</div>
-							<div class="input-line double-col" id="desktopNotifications">
-								<label>{{_ "Notification_Desktop_Default_For"}}</label>
+						</div>
+						<div class="input-line double-col" id="desktopNotifications">
+							<label class="setting-label">{{_ "Notification_Desktop_Default_For"}}</label>
+							<div class="rc-select setting-field">
+								<select class="input-monitor rc-select__element" name="desktopNotifications">
+									<option value="default" selected="{{selected 'desktopNotifications' 'default' 'default'}}">{{_ "Default"}} ({{_ defaultDesktopNotification}})</option>
+									<option value="all" selected="{{selected 'desktopNotifications' 'all' 'default'}}">{{_ "All_messages"}}</option>
+									<option value="mentions" selected="{{selected 'desktopNotifications' 'mentions' 'default'}}">{{_ "Mentions"}}</option>
+									<option value="nothing" selected="{{selected 'desktopNotifications' 'nothing' 'default'}}">{{_ "Nothing"}}</option>
+								</select>
+								{{> icon block="rc-select__arrow" icon="arrow-down" }}
+							</div>
+						</div>
+						<div class="input-line double-col" id="mobileNotifications">
+							<label class="setting-label">{{_ "Notification_Mobile_Default_For"}}</label>
+							<div class="rc-select setting-field">
+								<select class="input-monitor rc-select__element" name="mobileNotifications">
+									<option value="default" selected="{{selected 'mobileNotifications' 'default' 'default'}}">{{_ "Default"}} ({{_ defaultMobileNotification}})</option>
+									<option value="all" selected="{{selected 'mobileNotifications' 'all' 'default'}}">{{_ "All_messages"}}</option>
+									<option value="mentions" selected="{{selected 'mobileNotifications' 'mentions' 'default'}}">{{_ "Mentions"}}</option>
+									<option value="nothing" selected="{{selected 'mobileNotifications' 'nothing' 'default'}}">{{_ "Nothing"}}</option>
+								</select>
+								{{> icon block="rc-select__arrow" icon="arrow-down" }}
+							</div>
+						</div>
+						<div class="input-line double-col" id="emailNotificationMode">
+							<label class="setting-label">{{_ "Email_Notification_Mode"}}</label>
+							<div class="setting-field">
 								<div class="rc-select">
-									<select class="input-monitor rc-select__element" name="desktopNotifications">
-										<option value="default" selected="{{selected 'desktopNotifications' 'default' 'default'}}">{{_ "Default"}} ({{_ defaultDesktopNotification}})</option>
-										<option value="all" selected="{{selected 'desktopNotifications' 'all' 'default'}}">{{_ "All_messages"}}</option>
-										<option value="mentions" selected="{{selected 'desktopNotifications' 'mentions' 'default'}}">{{_ "Mentions"}}</option>
-										<option value="nothing" selected="{{selected 'desktopNotifications' 'nothing' 'default'}}">{{_ "Nothing"}}</option>
+									<select class="input-monitor rc-select__element" name="emailNotificationMode">
+										<option value="default" selected="{{selected 'emailNotificationMode' 'default' 'default'}}">{{_ "Default"}} ({{_ defaultEmailNotification}})</option>
+										<option value="nothing" selected="{{selected 'emailNotificationMode' 'nothing'}}">{{_ "Email_Notification_Mode_Disabled"}}</option>
+										<option value="mentions" selected="{{selected 'emailNotificationMode' 'mentions'}}">{{_ "Email_Notification_Mode_All"}}</option>
 									</select>
 									{{> icon block="rc-select__arrow" icon="arrow-down" }}
 								</div>
+								<div class="settings-description secondary-font-color">{{_ "You_need_to_verifiy_your_email_address_to_get_notications"}}</div>
+							</div>
+						</div>
+					</div>
+				</div>
+				<div class="section">
+					<h1>{{_ "Messages"}}</h1>
+					<div class="section-content border-component-color">
+						<div class="input-line double-col" id="unreadAlert">
+							<label class="setting-label">{{_ "Unread_Tray_Icon_Alert"}}</label>
+							<div class="setting-field">
+								<label><input type="radio" name="unreadAlert" value="true" checked="{{checked 'unreadAlert' true}}"/> {{_ "On"}}</label>
+								<label><input type="radio" name="unreadAlert" value="false" checked="{{checked 'unreadAlert' false}}"/> {{_ "Off"}}</label>
 							</div>
-							<div class="input-line double-col" id="mobileNotifications">
-								<label>{{_ "Notification_Mobile_Default_For"}}</label>
+						</div>
+						<div class="input-line double-col" id="clockMode">
+							<label class="setting-label">{{_ "Message_TimeFormat"}}</label>
+							<div class="setting-field">
 								<div class="rc-select">
-									<select class="input-monitor rc-select__element" name="mobileNotifications">
-										<option value="default" selected="{{selected 'mobileNotifications' 'default' 'default'}}">{{_ "Default"}} ({{_ defaultMobileNotification}})</option>
-										<option value="all" selected="{{selected 'mobileNotifications' 'all' 'default'}}">{{_ "All_messages"}}</option>
-										<option value="mentions" selected="{{selected 'mobileNotifications' 'mentions' 'default'}}">{{_ "Mentions"}}</option>
-										<option value="nothing" selected="{{selected 'mobileNotifications' 'nothing' 'default'}}">{{_ "Nothing"}}</option>
+									<select class="input-monitor rc-select__element" name="clockMode">
+										<option value="0" selected="{{selected 'clockMode' 0}}">{{_ "Default"}}</option>
+										<option value="1" selected="{{selected 'clockMode' 1}}">{{_ "12_Hour"}}</option>
+										<option value="2" selected="{{selected 'clockMode' 2}}">{{_ "24_Hour"}}</option>
 									</select>
 									{{> icon block="rc-select__arrow" icon="arrow-down" }}
 								</div>
 							</div>
-							<div class="input-line double-col" id="emailNotificationMode">
-								<label>{{_ "Email_Notification_Mode"}}</label>
-								<div>
-									<div class="rc-select">
-										<select class="input-monitor rc-select__element" name="emailNotificationMode">
-											<option value="default" selected="{{selected 'emailNotificationMode' 'default' 'default'}}">{{_ "Default"}} ({{_ defaultEmailNotification}})</option>
-											<option value="nothing" selected="{{selected 'emailNotificationMode' 'nothing'}}">{{_ "Email_Notification_Mode_Disabled"}}</option>
-											<option value="mentions" selected="{{selected 'emailNotificationMode' 'mentions'}}">{{_ "Email_Notification_Mode_All"}}</option>
-										</select>
-										{{> icon block="rc-select__arrow" icon="arrow-down" }}
-									</div>
-									<div class="info">{{_ "You_need_to_verifiy_your_email_address_to_get_notications"}}</div>
-								</div>
-							</div>
 						</div>
-					</div>
-					<div class="section">
-						<h1>{{_ "Messages"}}</h1>
-						<div class="section-content border-component-color">
-							<div class="input-line double-col" id="unreadAlert">
-								<label>{{_ "Unread_Tray_Icon_Alert"}}</label>
-								<div>
-									<label><input type="radio" name="unreadAlert" value="true" checked="{{checked 'unreadAlert' true}}"/> {{_ "On"}}</label>
-									<label><input type="radio" name="unreadAlert" value="false" checked="{{checked 'unreadAlert' false}}"/> {{_ "Off"}}</label>
-								</div>
+						<div class="input-line double-col">
+							<label class="setting-label">{{_ "Use_Emojis"}}</label>
+							<div class="setting-field">
+								<label><input type="radio" name="useEmojis" value="true" checked="{{checked 'useEmojis' true}}" /> {{_ "True"}}</label>
+								<label><input type="radio" name="useEmojis" value="false" checked="{{checked 'useEmojis' false}}" /> {{_ "False"}}</label>
 							</div>
-							<div class="input-line double-col" id="clockMode">
-								<label>{{_ "Message_TimeFormat"}}</label>
-								<div>
-									<div class="rc-select">
-										<select class="input-monitor rc-select__element" name="clockMode">
-											<option value="0" selected="{{selected 'clockMode' 0}}">{{_ "Default"}}</option>
-											<option value="1" selected="{{selected 'clockMode' 1}}">{{_ "12_Hour"}}</option>
-											<option value="2" selected="{{selected 'clockMode' 2}}">{{_ "24_Hour"}}</option>
-										</select>
-										{{> icon block="rc-select__arrow" icon="arrow-down" }}
-									</div>
-								</div>
-							</div>
-							<div class="input-line double-col">
-								<label>{{_ "Use_Emojis"}}</label>
-								<div>
-									<label><input type="radio" name="useEmojis" value="true" checked="{{checked 'useEmojis' true}}" /> {{_ "True"}}</label>
-									<label><input type="radio" name="useEmojis" value="false" checked="{{checked 'useEmojis' false}}" /> {{_ "False"}}</label>
-								</div>
+						</div>
+						<div class="input-line double-col" id="convertAsciiEmoji">
+							<label class="setting-label">{{_ "Convert_Ascii_Emojis"}}</label>
+							<div class="setting-field">
+								<label><input type="radio" name="convertAsciiEmoji" value="true" checked="{{checked 'convertAsciiEmoji' true}}" /> {{_ "True"}}</label>
+								<label><input type="radio" name="convertAsciiEmoji" value="false" checked="{{checked 'convertAsciiEmoji' false}}" /> {{_ "False"}}</label>
 							</div>
-							<div class="input-line double-col" id="convertAsciiEmoji">
-								<label>{{_ "Convert_Ascii_Emojis"}}</label>
-								<div>
-									<label><input type="radio" name="convertAsciiEmoji" value="true" checked="{{checked 'convertAsciiEmoji' true}}" /> {{_ "True"}}</label>
-									<label><input type="radio" name="convertAsciiEmoji" value="false" checked="{{checked 'convertAsciiEmoji' false}}" /> {{_ "False"}}</label>
-								</div>
+						</div>
+						<div class="input-line double-col" id="autoImageLoad">
+							<label class="setting-label">{{_ "Auto_Load_Images"}}</label>
+							<div class="setting-field">
+								<label><input type="radio" name="autoImageLoad" value="true" checked="{{checked 'autoImageLoad' true}}" /> {{_ "True"}}</label>
+								<label><input type="radio" name="autoImageLoad" value="false" checked="{{checked 'autoImageLoad' false}}" /> {{_ "False"}}</label>
 							</div>
-							<div class="input-line double-col" id="autoImageLoad">
-								<label>{{_ "Auto_Load_Images"}}</label>
-								<div>
-									<label><input type="radio" name="autoImageLoad" value="true" checked="{{checked 'autoImageLoad' true}}" /> {{_ "True"}}</label>
-									<label><input type="radio" name="autoImageLoad" value="false" checked="{{checked 'autoImageLoad' false}}" /> {{_ "False"}}</label>
-								</div>
+						</div>
+						<div class="input-line double-col" id="saveMobileBandwidth">
+							<label class="setting-label">{{_ "Save_Mobile_Bandwidth"}}</label>
+							<div class="setting-field">
+								<label><input type="radio" name="saveMobileBandwidth" value="true" checked="{{checked 'saveMobileBandwidth' true}}" /> {{_ "True"}}</label>
+								<label><input type="radio" name="saveMobileBandwidth" value="false" checked="{{checked 'saveMobileBandwidth' false}}" /> {{_ "False"}}</label>
 							</div>
-							<div class="input-line double-col" id="saveMobileBandwidth">
-								<label>{{_ "Save_Mobile_Bandwidth"}}</label>
-								<div>
-									<label><input type="radio" name="saveMobileBandwidth" value="true" checked="{{checked 'saveMobileBandwidth' true}}" /> {{_ "True"}}</label>
-									<label><input type="radio" name="saveMobileBandwidth" value="false" checked="{{checked 'saveMobileBandwidth' false}}" /> {{_ "False"}}</label>
-								</div>
+						</div>
+						<div class="input-line double-col" id="collapseMediaByDefault">
+							<label class="setting-label">{{_ "Collapse_Embedded_Media_By_Default"}}</label>
+							<div class="setting-field">
+								<label><input type="radio" name="collapseMediaByDefault" value="true" checked="{{checked 'collapseMediaByDefault' true}}" /> {{_ "True"}}</label>
+								<label><input type="radio" name="collapseMediaByDefault" value="false" checked="{{checked 'collapseMediaByDefault' false}}" /> {{_ "False"}}</label>
 							</div>
-							<div class="input-line double-col" id="collapseMediaByDefault">
-								<label>{{_ "Collapse_Embedded_Media_By_Default"}}</label>
-								<div>
-									<label><input type="radio" name="collapseMediaByDefault" value="true" checked="{{checked 'collapseMediaByDefault' true}}" /> {{_ "True"}}</label>
-									<label><input type="radio" name="collapseMediaByDefault" value="false" checked="{{checked 'collapseMediaByDefault' false}}" /> {{_ "False"}}</label>
-								</div>
+						</div>
+						<div class="input-line double-col" id="hideUsernames">
+							<label class="setting-label">{{_ "Hide_usernames"}}</label>
+							<div class="setting-field">
+								<label><input type="radio" name="hideUsernames" value="true" checked="{{checked 'hideUsernames' true}}" /> {{_ "True"}}</label>
+								<label><input type="radio" name="hideUsernames" value="false" checked="{{checked 'hideUsernames' false}}" /> {{_ "False"}}</label>
 							</div>
-							<div class="input-line double-col" id="hideUsernames">
-								<label>{{_ "Hide_usernames"}}</label>
-								<div>
-									<label><input type="radio" name="hideUsernames" value="true" checked="{{checked 'hideUsernames' true}}" /> {{_ "True"}}</label>
-									<label><input type="radio" name="hideUsernames" value="false" checked="{{checked 'hideUsernames' false}}" /> {{_ "False"}}</label>
+						</div>
+						{{#if showRoles}}
+							<div class="input-line double-col" id="hideRoles">
+								<label class="setting-label">{{_ "Hide_roles"}}</label>
+								<div class="setting-field">
+									<label><input type="radio" name="hideRoles" value="true" checked="{{checked 'hideRoles' true}}" /> {{_ "True"}}</label>
+									<label><input type="radio" name="hideRoles" value="false" checked="{{checked 'hideRoles' false}}" /> {{_ "False"}}</label>
 								</div>
 							</div>
-							{{#if showRoles}}
-								<div class="input-line double-col" id="hideRoles">
-									<label>{{_ "Hide_roles"}}</label>
-									<div>
-										<label><input type="radio" name="hideRoles" value="true" checked="{{checked 'hideRoles' true}}" /> {{_ "True"}}</label>
-										<label><input type="radio" name="hideRoles" value="false" checked="{{checked 'hideRoles' false}}" /> {{_ "False"}}</label>
-									</div>
-								</div>
-							{{/if}}
-							<div class="input-line double-col" id="hideFlexTab">
-								<label>{{_ "Hide_flextab"}}</label>
-								<div>
-									<label><input type="radio" name="hideFlexTab" value="true" checked="{{checked 'hideFlexTab' true}}" /> {{_ "True"}}</label>
-									<label><input type="radio" name="hideFlexTab" value="false" checked="{{checked 'hideFlexTab' false}}" /> {{_ "False"}}</label>
-								</div>
+						{{/if}}
+						<div class="input-line double-col" id="hideFlexTab">
+							<label class="setting-label">{{_ "Hide_flextab"}}</label>
+							<div class="setting-field">
+								<label><input type="radio" name="hideFlexTab" value="true" checked="{{checked 'hideFlexTab' true}}" /> {{_ "True"}}</label>
+								<label><input type="radio" name="hideFlexTab" value="false" checked="{{checked 'hideFlexTab' false}}" /> {{_ "False"}}</label>
 							</div>
-							<div class="input-line double-col" id="hideAvatars">
-								<label>{{_ "Hide_Avatars"}}</label>
-								<div>
-									<label><input type="radio" name="hideAvatars" value="true" checked="{{checked 'hideAvatars' true}}"/> {{_ "True"}}</label>
-									<label><input type="radio" name="hideAvatars" value="false" checked="{{checked 'hideAvatars' false}}"/> {{_ "False"}}</label>
-								</div>
+						</div>
+						<div class="input-line double-col" id="hideAvatars">
+							<label class="setting-label">{{_ "Hide_Avatars"}}</label>
+							<div class="setting-field">
+								<label><input type="radio" name="hideAvatars" value="true" checked="{{checked 'hideAvatars' true}}"/> {{_ "True"}}</label>
+								<label><input type="radio" name="hideAvatars" value="false" checked="{{checked 'hideAvatars' false}}"/> {{_ "False"}}</label>
 							</div>
-							<div class="input-line double-col" id="messageViewMode">
-								<label>{{_ "View_mode"}}</label>
-								<div>
-									<div class="rc-select">
-										<select class="input-monitor rc-select__element" name="messageViewMode">
-											<option value="0" selected="{{selected 'messageViewMode' 0}}">{{_ "Normal"}}</option>
-											<option value="1" selected="{{selected 'messageViewMode' 1}}">{{_ "Cozy"}}</option>
-											<option value="2" selected="{{selected 'messageViewMode' 2}}">{{_ "Compact"}}</option>
-										</select>
-										{{> icon block="rc-select__arrow" icon="arrow-down" }}
-									</div>
-									<div class="info">{{_ "Message_view_mode_info"}}</div>
+						</div>
+						<div class="input-line double-col" id="messageViewMode">
+							<label class="setting-label">{{_ "View_mode"}}</label>
+							<div class="setting-field">
+								<div class="rc-select">
+									<select class="input-monitor rc-select__element" name="messageViewMode">
+										<option value="0" selected="{{selected 'messageViewMode' 0}}">{{_ "Normal"}}</option>
+										<option value="1" selected="{{selected 'messageViewMode' 1}}">{{_ "Cozy"}}</option>
+										<option value="2" selected="{{selected 'messageViewMode' 2}}">{{_ "Compact"}}</option>
+									</select>
+									{{> icon block="rc-select__arrow" icon="arrow-down" }}
 								</div>
+								<div class="settings-description secondary-font-color">{{_ "Message_view_mode_info"}}</div>
 							</div>
-							<div class="input-line double-col" id="sendOnEnter">
-								<label>{{_ "Enter_Behaviour"}}</label>
-								<div>
-									<div class="rc-select">
-										<select class="input-monitor rc-select__element" name="sendOnEnter">
-											<option value="normal" selected="{{selected 'sendOnEnter' 'normal'}}">{{_ "Enter_Normal"}}</option>
-											<option value="alternative" selected="{{selected 'sendOnEnter' 'alternative'}}">{{_ "Enter_Alternative"}}</option>
-											<option value="desktop" selected="{{selected 'sendOnEnter' 'desktop'}}">{{_ "Only_On_Desktop"}}</option>
-										</select>
-										{{> icon block="rc-select__arrow" icon="arrow-down" }}
-									</div>
-									<div class="info">{{_ "Enter_Behaviour_Description"}}</div>
+						</div>
+						<div class="input-line double-col" id="sendOnEnter">
+							<label class="setting-label">{{_ "Enter_Behaviour"}}</label>
+							<div class="setting-field">
+								<div class="rc-select">
+									<select class="input-monitor rc-select__element" name="sendOnEnter">
+										<option value="normal" selected="{{selected 'sendOnEnter' 'normal'}}">{{_ "Enter_Normal"}}</option>
+										<option value="alternative" selected="{{selected 'sendOnEnter' 'alternative'}}">{{_ "Enter_Alternative"}}</option>
+										<option value="desktop" selected="{{selected 'sendOnEnter' 'desktop'}}">{{_ "Only_On_Desktop"}}</option>
+									</select>
+									{{> icon block="rc-select__arrow" icon="arrow-down" }}
 								</div>
+								<div class="settings-description secondary-font-color">{{_ "Enter_Behaviour_Description"}}</div>
 							</div>
 						</div>
 					</div>
-					<div class="section">
-						<h1>{{_ "Sidebar"}}</h1>
-						<div class="section-content border-component-color">
-							<div class="input-line double-col" id="roomCounterSidebar">
-								<label>{{_ "Show_room_counter_on_sidebar"}}</label>
-								<div>
-									<label><input type="radio" name="roomCounterSidebar" value="true" checked="{{checked 'roomCounterSidebar' true}}"/> {{_ "True"}}</label>
-									<label><input type="radio" name="roomCounterSidebar" value="false" checked="{{checked 'roomCounterSidebar' false}}"/> {{_ "False"}}</label>
-								</div>
+				</div>
+				<div class="section">
+					<h1>{{_ "Sidebar"}}</h1>
+					<div class="section-content border-component-color">
+						<div class="input-line double-col" id="roomCounterSidebar">
+							<label class="setting-label">{{_ "Show_room_counter_on_sidebar"}}</label>
+							<div class="setting-field">
+								<label><input type="radio" name="roomCounterSidebar" value="true" checked="{{checked 'roomCounterSidebar' true}}"/> {{_ "True"}}</label>
+								<label><input type="radio" name="roomCounterSidebar" value="false" checked="{{checked 'roomCounterSidebar' false}}"/> {{_ "False"}}</label>
 							</div>
 						</div>
 					</div>
-					<div class="section">
-						<h1>{{_ "Highlights"}}</h1>
-						<div class="section-content border-component-color">
-							<div class="input-line double-col">
-								<label>{{_ "Highlights_List"}}</label>
-								<div>
-									<label>{{_ "Highlights_How_To"}}</label>
-									<textarea class="rc-input__element" name="highlights" id="highlights" cols="30" rows="10">{{highlights}}</textarea>
-								</div>
+				</div>
+				<div class="section">
+					<h1>{{_ "Highlights"}}</h1>
+					<div class="section-content border-component-color">
+						<div class="input-line double-col">
+							<label class="setting-label">{{_ "Highlights_List"}}</label>
+							<div class="setting-field">
+								<textarea class="rc-input__element" name="highlights" id="highlights" cols="30" rows="10">{{highlights}}</textarea>
+								<div class="settings-description secondary-font-color">{{_ "Highlights_How_To"}}</div>
 							</div>
 						</div>
 					</div>
-					<div class="section">
-						<h1>{{_ "Sound"}}</h1>
-						<div class="section-content border-component-color">
-							<div class="input-line double-col">
-								<label>{{_ "New_Room_Notification"}}</label>
-								<div class="rc-select">
-									<select name="newRoomNotification" class="audio rc-select__element">
-										<option value="none" selected="{{$eq newRoomNotification 'none'}}">{{_ "None"}}</option>
-										<option value="door" selected="{{$eq newRoomNotification 'door'}}">Door ({{_ "Default"}})</option>
-										{{#each audioAssets}}
-											<option value="{{_id}}" selected="{{$eq newRoomNotification _id}}">{{name}}</option>
-										{{/each}}
-									</select>
-									{{> icon block="rc-select__arrow" icon="arrow-down" }}
-								</div>
+				</div>
+				<div class="section">
+					<h1>{{_ "Sound"}}</h1>
+					<div class="section-content border-component-color">
+						<div class="input-line double-col">
+							<label class="setting-label">{{_ "New_Room_Notification"}}</label>
+							<div class="rc-select setting-field">
+								<select name="newRoomNotification" class="audio rc-select__element">
+									<option value="none" selected="{{$eq newRoomNotification 'none'}}">{{_ "None"}}</option>
+									<option value="door" selected="{{$eq newRoomNotification 'door'}}">Door ({{_ "Default"}})</option>
+									{{#each audioAssets}}
+										<option value="{{_id}}" selected="{{$eq newRoomNotification _id}}">{{name}}</option>
+									{{/each}}
+								</select>
+								{{> icon block="rc-select__arrow" icon="arrow-down" }}
 							</div>
-							<div class="input-line double-col">
-								<label>{{_ "New_Message_Notification"}}</label>
-								<div class="rc-select">
-									<select name="newMessageNotification" class="audio rc-select__element">
-										<option value="none" selected="{{$eq newMessageNotification 'none'}}">{{_ "None"}}</option>
-										<option value="chime" selected="{{$eq newMessageNotification 'chime'}}">Chime ({{_ "Default"}})</option>
-										{{#each audioAssets}}
-											<option value="{{_id}}" selected="{{$eq newMessageNotification _id}}">{{name}}</option>
-										{{/each}}
-									</select>
-									{{> icon block="rc-select__arrow" icon="arrow-down" }}
-								</div>
+						</div>
+						<div class="input-line double-col">
+							<label class="setting-label">{{_ "New_Message_Notification"}}</label>
+							<div class="rc-select setting-field">
+								<select name="newMessageNotification" class="audio rc-select__element">
+									<option value="none" selected="{{$eq newMessageNotification 'none'}}">{{_ "None"}}</option>
+									<option value="chime" selected="{{$eq newMessageNotification 'chime'}}">Chime ({{_ "Default"}})</option>
+									{{#each audioAssets}}
+										<option value="{{_id}}" selected="{{$eq newMessageNotification _id}}">{{name}}</option>
+									{{/each}}
+								</select>
+								{{> icon block="rc-select__arrow" icon="arrow-down" }}
 							</div>
-							<div class="input-line double-col" id="muteFocusedConversations">
-								<label>{{_ "Mute_Focused_Conversations"}}</label>
-								<div>
-									<label><input type="radio" name="muteFocusedConversations" value="true" checked="{{checked 'muteFocusedConversations' true}}"/> {{_ "True"}}</label>
-									<label><input type="radio" name="muteFocusedConversations" value="false" checked="{{checked 'muteFocusedConversations' false}}"/> {{_ "False"}}</label>
-								</div>
+						</div>
+						<div class="input-line double-col" id="muteFocusedConversations">
+							<label class="setting-label">{{_ "Mute_Focused_Conversations"}}</label>
+							<div class="setting-field">
+								<label><input type="radio" name="muteFocusedConversations" value="true" checked="{{checked 'muteFocusedConversations' true}}"/> {{_ "True"}}</label>
+								<label><input type="radio" name="muteFocusedConversations" value="false" checked="{{checked 'muteFocusedConversations' false}}"/> {{_ "False"}}</label>
 							</div>
-							<div class="input-line double-col">
-								<label>{{_ "Notifications_Sound_Volume"}}</label>
-								<div>
-									{{> slider id="notificationsSoundVolume" min="0" max="100" value=notificationsSoundVolume}}
-								</div>
+						</div>
+						<div class="input-line double-col">
+							<label class="setting-label">{{_ "Notifications_Sound_Volume"}}</label>
+							<div class="setting-field">
+								{{> slider id="notificationsSoundVolume" min="0" max="100" value=notificationsSoundVolume}}
 							</div>
 						</div>
 					</div>
+				</div>
 
-					{{#if userDataDownloadEnabled}}
-						<div class="section">
-							<h1>{{_ "My Data"}}</h1>
-							<div class="section-content border-component-color">
-								<div class="input-line">
-									<label><button class="button download-my-data"><i class="icon-download secondary-font-color"></i> <span>{{_ "Download_My_Data"}}</span></button></label>
-									<label><button class="button export-my-data"><i class="icon-download secondary-font-color"></i> <span>{{_ "Export_My_Data"}}</span></button></label>
-								</div>
-
+				{{#if userDataDownloadEnabled}}
+					<div class="section">
+						<h1>{{_ "My Data"}}</h1>
+						<div class="section-content border-component-color">
+							<div class="input-line double-col">
+								<button class="rc-button setting-action download-my-data"><i class="icon-download secondary-font-color"></i> <span>{{_ "Download_My_Data"}}</span></button>
+								<button class="rc-button setting-action export-my-data"><i class="icon-download secondary-font-color"></i> <span>{{_ "Export_My_Data"}}</span></button>
 							</div>
 						</div>
-					{{/if}}
-				</fieldset>
+					</div>
+				{{/if}}
 			</form>
 		</div>
 	</section>
diff --git a/packages/rocketchat-ui-account/client/accountPreferences.js b/packages/rocketchat-ui-account/client/accountPreferences.js
index 6778dae534c69f14a93778bf67f43b226117eb78..04f8194b8ad1ca2aafb7b8a3ed9dcf71fef10188 100644
--- a/packages/rocketchat-ui-account/client/accountPreferences.js
+++ b/packages/rocketchat-ui-account/client/accountPreferences.js
@@ -1,4 +1,10 @@
 /* globals KonchatNotification */
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Tracker } from 'meteor/tracker';
+import { Reload } from 'meteor/reload';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
 import _ from 'underscore';
 import s from 'underscore.string';
 import toastr from 'toastr';
diff --git a/packages/rocketchat-ui-account/client/accountProfile.js b/packages/rocketchat-ui-account/client/accountProfile.js
index 9a3f7acdb85db52fc9825f2c1686d0ed9f94c0c2..fa70e6cbb4b7ddc7251fc355f6508b8e4d8f5ad2 100644
--- a/packages/rocketchat-ui-account/client/accountProfile.js
+++ b/packages/rocketchat-ui-account/client/accountProfile.js
@@ -1,3 +1,9 @@
+import { SHA256 } from 'meteor/sha';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
 import _ from 'underscore';
 import s from 'underscore.string';
 import toastr from 'toastr';
diff --git a/packages/rocketchat-ui-account/client/avatar/avatar.js b/packages/rocketchat-ui-account/client/avatar/avatar.js
index 51f8c69b30de13ae67758f1832a44a87e04ce0d2..e35c1012dd1ef080d978ed1b50751426359c30d6 100644
--- a/packages/rocketchat-ui-account/client/avatar/avatar.js
+++ b/packages/rocketchat-ui-account/client/avatar/avatar.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
+
 Template.avatar.helpers({
 	src() {
 		let { url } = Template.instance().data;
diff --git a/packages/rocketchat-ui-account/client/avatar/prompt.js b/packages/rocketchat-ui-account/client/avatar/prompt.js
index 5722aa7d18f352abdf22edccce0e1a13a4cac859..a3f550635ec45c742e87dbdbbeba1134b2ade6d0 100644
--- a/packages/rocketchat-ui-account/client/avatar/prompt.js
+++ b/packages/rocketchat-ui-account/client/avatar/prompt.js
@@ -1,5 +1,10 @@
 /* globals fileUploadHandler */
 
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Tracker } from 'meteor/tracker';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
 import s from 'underscore.string';
 import toastr from 'toastr';
 import mime from 'mime-type/with-db';
diff --git a/packages/rocketchat-ui-admin/client/admin.html b/packages/rocketchat-ui-admin/client/admin.html
index 2a90fd749216633ff123f46886a28f4c1fc95515..fe20b1a05c5f0637fd667287debbbfbe4bba1b7b 100644
--- a/packages/rocketchat-ui-admin/client/admin.html
+++ b/packages/rocketchat-ui-admin/client/admin.html
@@ -16,7 +16,7 @@
 					{{/if}}
 				</div>
 			{{/header}}
-			<div class="content background-transparent-dark">
+			<div class="content">
 				{{#unless hasPermission 'view-privileged-setting'}}
 					<p>{{_ "You_are_not_authorized_to_view_this_page"}}</p>
 				{{else}}
@@ -29,12 +29,12 @@
 						{{#each sections}}
 							<div class="section {{#if section}}section-collapsed{{/if}}">
 								{{#if section}}
-									<div class="section-title">
+									<div class="section-title expand">
 										<div class="section-title-text">
 											{{translateSection section}}
 										</div>
 										<div class="section-title-right">
-											<button class="button primary expand"><span>{{_ "Expand"}}</span></button>
+											<button class="rc-button rc-button--nude"><i class="icon-angle-down"></i></button>
 										</div>
 									</div>
 								{{/if}}
@@ -138,8 +138,8 @@
 															{{> CodeMirror name=_id options=getEditorOptions code=value }}
 															{{setEditorOnBlur _id}}
 															<div class="buttons">
-																<button class="button primary button-fullscreen">Full Screen</button>
-																<button class="button primary button-restore">Exit Full Screen</button>
+																<button class="rc-button rc-button--primary button-fullscreen">Full Screen</button>
+																<button class="rc-button rc-button--primary button-restore">Exit Full Screen</button>
 															</div>
 														</div>
 													{{/if}}
@@ -149,7 +149,7 @@
 													{{#if hasChanges section}}
 														<span style="line-height: 40px" class="secondary-font-color">{{_ "Save_to_enable_this_action"}}</span>
 													{{else}}
-														<button type="button" class="button primary action" data-setting="{{_id}}" data-action="{{value}}" {{isDisabled}} >{{_ actionText}}</button>
+														<button type="button" class="rc-button rc-button--primary action" data-setting="{{_id}}" data-action="{{value}}" {{isDisabled}} >{{_ actionText}}</button>
 													{{/if}}
 												{{/if}}
 
@@ -158,14 +158,14 @@
 														<div class="settings-file-preview">
 															<div class="preview" style="background-image:url({{value.url}}?_dc={{random}});"></div>
 															<div class="action">
-																<button type="button" class="button danger delete-asset"><i class="icon-trash secondary-font-color"></i>{{_ 'Delete'}}</button>
+																<button type="button" class="rc-button rc-button--cancel delete-asset"><i class="icon-trash"></i>{{_ 'Delete'}}</button>
 															</div>
 														</div>
 													{{else}}
 														<div class="settings-file-preview">
-															<div class="preview no-file background-transparent-light secondary-font-color"><i class="icon-upload secondary-font-color"></i></div>
+															<div class="preview no-file background-transparent-light secondary-font-color"><i class="icon-upload"></i></div>
 															<div class="action">
-																<div class="button primary">{{_ 'Select_file'}}
+																<div class="rc-button rc-button--primary">{{_ 'Select_file'}}
 																	<input type="file" accept="{{assetAccept fileConstraints}}" />
 																</div>
 															</div>
@@ -178,22 +178,22 @@
 														{{> inputAutocomplete settings=autocompleteRoom id=_id name=_id class="search autocomplete rc-input__element" autocomplete="off" disabled=isDisabled.disabled}}
 														<ul class="selected-rooms">
 															{{#each selectedRooms}}
-																<li class="remove-room" data-setting={{../_id}}>{{name}} <i class="icon-cancel secondary-font-color"></i></li>
+																<li class="remove-room" data-setting={{../_id}}>{{name}} <i class="icon-cancel"></i></li>
 															{{/each}}
 														</ul>
 													</div>
 												{{/if}}
 
 												{{#if description}}
-													<div class="settings-description">{{{RocketChatMarkdownUnescape description}}}</div>
+													<div class="settings-description secondary-font-color">{{{RocketChatMarkdownUnescape description}}}</div>
 												{{/if}}
 												{{#if alert}}
-													<div class="settings-alert pending-color pending-background pending-border"><i class="icon-attention secondary-font-color"></i>{{{_ alert}}}</div>
+													<div class="settings-alert pending-color pending-background pending-border"><i class="icon-attention"></i>{{{_ alert}}}</div>
 												{{/if}}
 											</div>
 											{{#if showResetButton}}
-												<button text="{{_ 'Reset'}}" data-setting="{{_id}}" class="reset-setting button danger">
-													<i class="icon-ccw secondary-font-color color-error-contrast"></i>
+												<button text="{{_ 'Reset'}}" data-setting="{{_id}}" class="reset-setting rc-button rc-button--cancel">
+													<i class="icon-ccw color-error-contrast"></i>
 												</button>
 											{{/if}}
 										</div>
@@ -203,7 +203,7 @@
 										<div class="input-line double-col">
 											<label class="setting-label">{{_ "Reset_section_settings"}}</label>
 											<div class="setting-field">
-												<button data-section="{{section}}" class="reset-group button danger">
+												<button data-section="{{section}}" class="reset-group rc-button rc-button--cancel">
 													{{_ "Reset"}}
 												</button>
 											</div>
@@ -213,7 +213,7 @@
 									{{#if section}}
 										{{#if sectionIsCustomOAuth section}}
 											<div class="submit">
-												<button class="button danger remove-custom-oauth"><span>{{_ "Remove_custom_oauth"}}</span></button>
+												<button class="rc-button rc-button--cancel remove-custom-oauth"><span>{{_ "Remove_custom_oauth"}}</span></button>
 											</div>
 										{{/if}}
 									{{/if}}
diff --git a/packages/rocketchat-ui-admin/client/admin.js b/packages/rocketchat-ui-admin/client/admin.js
index ef94d3a095e52055bc4d608846ae0beaf8ae6187..5c265f29871e07595e2424df8f3da5e1cf19752b 100644
--- a/packages/rocketchat-ui-admin/client/admin.js
+++ b/packages/rocketchat-ui-admin/client/admin.js
@@ -1,4 +1,12 @@
 /* globals jscolor, i18nDefaultQuery */
+import { Meteor } from 'meteor/meteor';
+import { Mongo } from 'meteor/mongo';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Random } from 'meteor/random';
+import { Tracker } from 'meteor/tracker';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
 import _ from 'underscore';
 import s from 'underscore.string';
 import toastr from 'toastr';
@@ -519,15 +527,32 @@ Template.admin.events({
 		});
 	},
 	'click .expand'(e) {
-		$(e.currentTarget).closest('.section').removeClass('section-collapsed');
-		$(e.currentTarget).closest('button').removeClass('expand').addClass('collapse').find('span').text(TAPi18n.__('Collapse'));
+		const sectionTitle = e.currentTarget;
+		const section = sectionTitle.closest('.section');
+		const button = sectionTitle.querySelector('button');
+		const i = button.querySelector('i');
+
+		sectionTitle.classList.remove('expand');
+		sectionTitle.classList.add('collapse');
+		section.classList.remove('section-collapsed');
+		button.setAttribute('title', TAPi18n.__('Collapse'));
+		i.className = 'icon-angle-up';
+
 		$('.CodeMirror').each(function(index, codeMirror) {
 			codeMirror.CodeMirror.refresh();
 		});
 	},
 	'click .collapse'(e) {
-		$(e.currentTarget).closest('.section').addClass('section-collapsed');
-		$(e.currentTarget).closest('button').addClass('expand').removeClass('collapse').find('span').text(TAPi18n.__('Expand'));
+		const sectionTitle = e.currentTarget;
+		const section = sectionTitle.closest('.section');
+		const button = sectionTitle.querySelector('button');
+		const i = button.querySelector('i');
+
+		sectionTitle.classList.remove('collapse');
+		sectionTitle.classList.add('expand');
+		section.classList.add('section-collapsed');
+		button.setAttribute('title', TAPi18n.__('Expand'));
+		i.className = 'icon-angle-down';
 	},
 	'click button.action'() {
 		if (this.type !== 'action') {
diff --git a/packages/rocketchat-ui-admin/client/adminFlex.js b/packages/rocketchat-ui-admin/client/adminFlex.js
index 93a12a2bac49fe51de1aba3a8b3a087109a409c9..6b0ccd2ca68e220242ee884dac855ff947d40f72 100644
--- a/packages/rocketchat-ui-admin/client/adminFlex.js
+++ b/packages/rocketchat-ui-admin/client/adminFlex.js
@@ -1,3 +1,6 @@
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
 import _ from 'underscore';
 import s from 'underscore.string';
 
diff --git a/packages/rocketchat-ui-admin/client/adminInfo.js b/packages/rocketchat-ui-admin/client/adminInfo.js
index 75b7fcfdc1a9889139b2499a441f52f544bac2c0..1a7fbe79d44df44b91405f49a79bcd5a2b36017c 100644
--- a/packages/rocketchat-ui-admin/client/adminInfo.js
+++ b/packages/rocketchat-ui-admin/client/adminInfo.js
@@ -1,3 +1,8 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Tracker } from 'meteor/tracker';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
 import s from 'underscore.string';
 import moment from 'moment';
 
diff --git a/packages/rocketchat-ui-admin/client/rooms/adminRoomInfo.js b/packages/rocketchat-ui-admin/client/rooms/adminRoomInfo.js
index 1ea3038ea49c013c1bd98bd494e34fe2b017f0d2..3b449fb0000b7f32b7910cd239157f9ac9baa5bb 100644
--- a/packages/rocketchat-ui-admin/client/rooms/adminRoomInfo.js
+++ b/packages/rocketchat-ui-admin/client/rooms/adminRoomInfo.js
@@ -1,5 +1,11 @@
 /* globals AdminChatRoom */
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
 import toastr from 'toastr';
+
 Template.adminRoomInfo.helpers({
 	selectedRoom() {
 		return Session.get('adminRoomsSelected');
diff --git a/packages/rocketchat-ui-admin/client/rooms/adminRooms.js b/packages/rocketchat-ui-admin/client/rooms/adminRooms.js
index d67267b336ae3f854a86927827423ab94074faa6..431e6e6a733d313059b994f21afa248a756f9103 100644
--- a/packages/rocketchat-ui-admin/client/rooms/adminRooms.js
+++ b/packages/rocketchat-ui-admin/client/rooms/adminRooms.js
@@ -1,4 +1,11 @@
 /* globals AdminChatRoom, RocketChat */
+import { Mongo } from 'meteor/mongo';
+import { Tracker } from 'meteor/tracker';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
 import _ from 'underscore';
 import s from 'underscore.string';
 
diff --git a/packages/rocketchat-ui-admin/client/rooms/channelSettingsDefault.js b/packages/rocketchat-ui-admin/client/rooms/channelSettingsDefault.js
index 63c30c5f58c08471850f4ec4a6ef3e9af913b40a..4b9e570113563e303b7bd7f579e92e80ab09c61d 100644
--- a/packages/rocketchat-ui-admin/client/rooms/channelSettingsDefault.js
+++ b/packages/rocketchat-ui-admin/client/rooms/channelSettingsDefault.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
 import toastr from 'toastr';
 /* globals AdminChatRoom */
 
diff --git a/packages/rocketchat-ui-admin/client/users/adminInviteUser.js b/packages/rocketchat-ui-admin/client/users/adminInviteUser.js
index 58f580721e8ee774b3c2d8aa9090aeb9b60b6973..5462bf83a400b5d52ab76e0379a3656b6613c53a 100644
--- a/packages/rocketchat-ui-admin/client/users/adminInviteUser.js
+++ b/packages/rocketchat-ui-admin/client/users/adminInviteUser.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Template } from 'meteor/templating';
 import _ from 'underscore';
 import toastr from 'toastr';
 
diff --git a/packages/rocketchat-ui-admin/client/users/adminUserChannels.js b/packages/rocketchat-ui-admin/client/users/adminUserChannels.js
index e27952c97307980dfbf92a6a586c569cd39b8e55..ccc6101cd16f23040f904cc62facf4ee888348f8 100644
--- a/packages/rocketchat-ui-admin/client/users/adminUserChannels.js
+++ b/packages/rocketchat-ui-admin/client/users/adminUserChannels.js
@@ -1,3 +1,6 @@
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
+
 Template.adminUserChannels.helpers({
 	type() {
 		if (this.t === 'd') {
diff --git a/packages/rocketchat-ui-admin/client/users/adminUsers.js b/packages/rocketchat-ui-admin/client/users/adminUsers.js
index 62c1f9fbf763d81bbabd21439f63a2ba56a2acbe..83a117541c3a6b5501d341ae31c443a74e84aeaa 100644
--- a/packages/rocketchat-ui-admin/client/users/adminUsers.js
+++ b/packages/rocketchat-ui-admin/client/users/adminUsers.js
@@ -1,3 +1,8 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Tracker } from 'meteor/tracker';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
 import _ from 'underscore';
 import s from 'underscore.string';
 
diff --git a/packages/rocketchat-ui-admin/publications/adminRooms.js b/packages/rocketchat-ui-admin/publications/adminRooms.js
index e1e651a26d29323dea3eedca4dafc4ccc98918f3..197b92748bd40adc1e38f74ed27d1ca361e28095 100644
--- a/packages/rocketchat-ui-admin/publications/adminRooms.js
+++ b/packages/rocketchat-ui-admin/publications/adminRooms.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import _ from 'underscore';
 import s from 'underscore.string';
 
diff --git a/packages/rocketchat-ui-clean-history/client/lib/startup.js b/packages/rocketchat-ui-clean-history/client/lib/startup.js
index c5db98fe85d091eb3f1c1e20ae0deef4d1abd330..e0c1c268288b72544ebf1ae57b3574ef2b75ea63 100644
--- a/packages/rocketchat-ui-clean-history/client/lib/startup.js
+++ b/packages/rocketchat-ui-clean-history/client/lib/startup.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Session } from 'meteor/session';
+
 Meteor.startup(() => {
 	RocketChat.TabBar.addButton({
 		groups: ['channel', 'group', 'direct'],
diff --git a/packages/rocketchat-ui-clean-history/client/views/cleanHistory.js b/packages/rocketchat-ui-clean-history/client/views/cleanHistory.js
index 83f74d47748680b57a1376c44f99200551b79b4c..132bec2a7ed2c1f7c249bf0e6051972ec13a3fc3 100644
--- a/packages/rocketchat-ui-clean-history/client/views/cleanHistory.js
+++ b/packages/rocketchat-ui-clean-history/client/views/cleanHistory.js
@@ -1,4 +1,9 @@
-/* globals AutoComplete */
+import { Tracker } from 'meteor/tracker';
+import { Blaze } from 'meteor/blaze';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
+import { AutoComplete } from 'meteor/mizzao:autocomplete';
 import moment from 'moment';
 
 import { call } from 'meteor/rocketchat:lib';
diff --git a/packages/rocketchat-ui-flextab/client/flexTabBar.js b/packages/rocketchat-ui-flextab/client/flexTabBar.js
index c5fcec654db2b96745736ff793ebb08274f6090a..c52453b7b54588fd1bf961e432066793a46d642c 100644
--- a/packages/rocketchat-ui-flextab/client/flexTabBar.js
+++ b/packages/rocketchat-ui-flextab/client/flexTabBar.js
@@ -1,4 +1,9 @@
 /* globals popover */
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
 import _ from 'underscore';
 
 const commonHelpers = {
diff --git a/packages/rocketchat-ui-flextab/client/tabs/inviteUsers.js b/packages/rocketchat-ui-flextab/client/tabs/inviteUsers.js
index bca76cbe4b27f66b5ca85dfee7277bd26929a4e1..26e60310006e511574321e6de7e88bfcc2ffbbb3 100644
--- a/packages/rocketchat-ui-flextab/client/tabs/inviteUsers.js
+++ b/packages/rocketchat-ui-flextab/client/tabs/inviteUsers.js
@@ -1,3 +1,9 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Blaze } from 'meteor/blaze';
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
+import { AutoComplete } from 'meteor/mizzao:autocomplete';
 import toastr from 'toastr';
 
 const acEvents = {
@@ -116,7 +122,7 @@ Template.inviteUsers.onRendered(function() {
 		users.set(usersArr);
 	});
 });
-/* global AutoComplete Deps */
+/* global Deps */
 Template.inviteUsers.onCreated(function() {
 	this.selectedUsers = new ReactiveVar([]);
 	const filter = { exceptions :[Meteor.user().username].concat(this.selectedUsers.get().map((u) => u.username)) };
diff --git a/packages/rocketchat-ui-flextab/client/tabs/keyboardShortcuts.html b/packages/rocketchat-ui-flextab/client/tabs/keyboardShortcuts.html
index c87592de02409e6e66811ddefca7c4733cce646e..f9d92f4baf7b06bc4db304c37b86dda566a12d43 100644
--- a/packages/rocketchat-ui-flextab/client/tabs/keyboardShortcuts.html
+++ b/packages/rocketchat-ui-flextab/client/tabs/keyboardShortcuts.html
@@ -5,6 +5,12 @@
         <div>{{{_ "Keyboard_Shortcuts_Keys_1"}}}</div>
     </div>
 
+    <div class="section">
+        <h2>{{_ "Keyboard_Shortcuts_Mark_all_as_read"}}</h2>
+        <hr />
+        <div>{{{_ "Keyboard_Shortcuts_Keys_8"}}}</div>
+    </div>
+
     <div class="section">
         <h2>{{_ "Keyboard_Shortcuts_Edit_Previous_Message"}}</h2>
         <hr />
diff --git a/packages/rocketchat-ui-flextab/client/tabs/membersList.js b/packages/rocketchat-ui-flextab/client/tabs/membersList.js
index f385395f40117cd62cd6997b928ca58d3b4c1434..7566899fc779394af843b647d47a0c1fe0d02166 100644
--- a/packages/rocketchat-ui-flextab/client/tabs/membersList.js
+++ b/packages/rocketchat-ui-flextab/client/tabs/membersList.js
@@ -1,4 +1,9 @@
 /* globals WebRTC popover isRtl */
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Tracker } from 'meteor/tracker';
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
 import _ from 'underscore';
 import { getActions } from './userActions';
 
diff --git a/packages/rocketchat-ui-flextab/client/tabs/uploadedFilesList.js b/packages/rocketchat-ui-flextab/client/tabs/uploadedFilesList.js
index a32fc21b7d2804322e4d88f9306a45fe1e671ab8..197364bac1884a5f9968d1e4131b88a0ee3219ef 100644
--- a/packages/rocketchat-ui-flextab/client/tabs/uploadedFilesList.js
+++ b/packages/rocketchat-ui-flextab/client/tabs/uploadedFilesList.js
@@ -1,5 +1,8 @@
+import { Mongo } from 'meteor/mongo';
 import { fixCordova } from 'meteor/rocketchat:lazy-load';
+import { ReactiveVar } from 'meteor/reactive-var';
 import { DateFormat } from 'meteor/rocketchat:lib';
+import { Template } from 'meteor/templating';
 import _ from 'underscore';
 
 const roomFiles = new Mongo.Collection('room_files');
diff --git a/packages/rocketchat-ui-flextab/client/tabs/userActions.js b/packages/rocketchat-ui-flextab/client/tabs/userActions.js
index 24790cb1425b923f34fec24fb7dc2809c5e48e71..bc0cdd5312c2c669a00c89f18574ffc5ce9b77c6 100644
--- a/packages/rocketchat-ui-flextab/client/tabs/userActions.js
+++ b/packages/rocketchat-ui-flextab/client/tabs/userActions.js
@@ -1,4 +1,8 @@
 /* globals RoomRoles, WebRTC*/
+import { Meteor } from 'meteor/meteor';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Session } from 'meteor/session';
+import { TAPi18n } from 'meteor/tap:i18n';
 import _ from 'underscore';
 import toastr from 'toastr';
 
@@ -477,6 +481,21 @@ export const getActions = function({ user, directActions, hideAdminControls }) {
 				name: t('Activate'),
 				action: prevent(getUser, ({ _id }) => Meteor.call('setUserActiveStatus', _id, true, success(() => toastr.success(t('User_has_been_activated'))))),
 			};
+		}, () => {
+			if (hideAdminControls || !hasPermission('reset-other-user-e2e-key')) {
+				return;
+			}
+			if (!RocketChat.settings.get('E2E_Enable')) {
+				return;
+			}
+
+			return {
+				group: 'admin',
+				icon: 'key',
+				id: 'reset-e2e',
+				name: t('Reset_E2E_Key'),
+				action: prevent(getUser, ({ _id }) => Meteor.call('e2e.resetUserE2EKey', _id, success(() => toastr.success(t('User_e2e_key_was_reset'))))),
+			};
 		}];
 	return actions;
 };
diff --git a/packages/rocketchat-ui-flextab/client/tabs/userEdit.js b/packages/rocketchat-ui-flextab/client/tabs/userEdit.js
index de234edb3f9cd0cf33483bfea2c4b105dcb387aa..19c159a1b8d5244b1fb0892481c0a4881161bbad 100644
--- a/packages/rocketchat-ui-flextab/client/tabs/userEdit.js
+++ b/packages/rocketchat-ui-flextab/client/tabs/userEdit.js
@@ -1,3 +1,8 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Random } from 'meteor/random';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
 import toastr from 'toastr';
 import s from 'underscore.string';
 
diff --git a/packages/rocketchat-ui-flextab/client/tabs/userInfo.js b/packages/rocketchat-ui-flextab/client/tabs/userInfo.js
index cfd4295d951e5d19c976d7768fbb76a1ef7f7247..8a422b6ca0b7342ec14f12c027cd0d85daeb6f85 100644
--- a/packages/rocketchat-ui-flextab/client/tabs/userInfo.js
+++ b/packages/rocketchat-ui-flextab/client/tabs/userInfo.js
@@ -1,4 +1,9 @@
 /* globals RoomRoles UserRoles popover */
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
 import _ from 'underscore';
 import s from 'underscore.string';
 import moment from 'moment';
diff --git a/packages/rocketchat-ui-flextab/package.js b/packages/rocketchat-ui-flextab/package.js
index 81709bdcff527a5226234938a7d1dc5430537645..7a421084ec5fb69fa053a7bc833037390174b498 100644
--- a/packages/rocketchat-ui-flextab/package.js
+++ b/packages/rocketchat-ui-flextab/package.js
@@ -16,6 +16,7 @@ Package.onUse(function(api) {
 		'ecmascript',
 		'templating',
 		'rocketchat:lib',
+		'mizzao:autocomplete',
 	]);
 
 	api.addFiles('client/flexTabBar.html', 'client');
diff --git a/packages/rocketchat-ui-login/client/login/footer.js b/packages/rocketchat-ui-login/client/login/footer.js
index f73b9563be16c1a9e76c163cd82ec012ca664eaf..3d855ff984ad7601b097d1a27fb134eebdd4ac20 100644
--- a/packages/rocketchat-ui-login/client/login/footer.js
+++ b/packages/rocketchat-ui-login/client/login/footer.js
@@ -1,3 +1,7 @@
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
+
 Template.loginFooter.onCreated(function() {
 	this.suggestedLanguage = new ReactiveVar();
 
diff --git a/packages/rocketchat-ui-login/client/login/form.html b/packages/rocketchat-ui-login/client/login/form.html
index 26573b5b653b0e57c8973a33da033b1ae93d1111..885e0826b6a402172f30d655434566cc3f257193 100644
--- a/packages/rocketchat-ui-login/client/login/form.html
+++ b/packages/rocketchat-ui-login/client/login/form.html
@@ -8,8 +8,13 @@
 			{{#if state 'wait-activation'}}
 				<header>
 					<h2 data-i18n="Registration_Succeeded">{{{_ "Registration_Succeeded"}}}</h2>
-					<p>{{{_ "Wait_activation_warning"}}}</p>
-					<p>{{{_ "Please_wait_activation"}}}</p>
+					<p>{{_ "Wait_activation_warning"}}</p>
+					<p>{{_ "Please_wait_activation"}}</p>
+				</header>
+			{{else if state 'wait-email-activation'}}
+				<header>
+					<h2 data-i18n="Registration_Succeeded">{{{_ "Registration_Succeeded"}}}</h2>
+					<p>{{_ "We_have_sent_registration_email"}}</p>
 				</header>
 			{{else}}
 				{{> loginServices }}
diff --git a/packages/rocketchat-ui-login/client/login/form.js b/packages/rocketchat-ui-login/client/login/form.js
index 3aebca3aca9d7a1ffcac41f2ff87f2597ae72bb2..e242757776ae62949b718b5b5faf230cb9289d1d 100644
--- a/packages/rocketchat-ui-login/client/login/form.js
+++ b/packages/rocketchat-ui-login/client/login/form.js
@@ -1,4 +1,10 @@
 /* globals OnePassword, device */
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Tracker } from 'meteor/tracker';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
 import _ from 'underscore';
 import s from 'underscore.string';
 import toastr from 'toastr';
@@ -115,8 +121,7 @@ Template.loginForm.events({
 					RocketChat.callbacks.run('userRegistered');
 					return Meteor.loginWithPassword(s.trim(formData.email), formData.pass, function(error) {
 						if (error && error.error === 'error-invalid-email') {
-							toastr.success(t('We_have_sent_registration_email'));
-							return instance.state.set('login');
+							return instance.state.set('wait-email-activation');
 						} else if (error && error.error === 'error-user-is-not-activated') {
 							return instance.state.set('wait-activation');
 						} else {
diff --git a/packages/rocketchat-ui-login/client/login/header.js b/packages/rocketchat-ui-login/client/login/header.js
index a6f6ad2267698e46ed22f2e1bd6bff556908af46..3b91ad9116ca0a9598717fc8ff78844b201f40cc 100644
--- a/packages/rocketchat-ui-login/client/login/header.js
+++ b/packages/rocketchat-ui-login/client/login/header.js
@@ -1,3 +1,5 @@
+import { Template } from 'meteor/templating';
+
 Template.loginHeader.helpers({
 	logoUrl() {
 		const asset = RocketChat.settings.get('Assets_logo');
diff --git a/packages/rocketchat-ui-login/client/login/layout.js b/packages/rocketchat-ui-login/client/login/layout.js
index ed697b814771737ed992f614b2d2d5064e69bb2d..81b047c54694443f3ec151c73aea6125f8c9a2c5 100644
--- a/packages/rocketchat-ui-login/client/login/layout.js
+++ b/packages/rocketchat-ui-login/client/login/layout.js
@@ -1,3 +1,5 @@
+import { Template } from 'meteor/templating';
+
 Template.loginLayout.onRendered(function() {
 	$('#initial-page-loading').remove();
 });
diff --git a/packages/rocketchat-ui-login/client/login/services.js b/packages/rocketchat-ui-login/client/login/services.js
index 824b648d0d196f35baf4c881ce8cd29256a8bc13..dde41ea3d059c84772fad522f2a5718b7a6b284a 100644
--- a/packages/rocketchat-ui-login/client/login/services.js
+++ b/packages/rocketchat-ui-login/client/login/services.js
@@ -1,4 +1,6 @@
 /* globals CustomOAuth */
+import { Meteor } from 'meteor/meteor';
+import { Template } from 'meteor/templating';
 import s from 'underscore.string';
 import toastr from 'toastr';
 
diff --git a/packages/rocketchat-ui-login/client/reset-password/resetPassword.js b/packages/rocketchat-ui-login/client/reset-password/resetPassword.js
index f5fe6b12420a0677181d066107bec41ef6ccd080..8c554cb1de9c87f08b1bb039659a74af8357702a 100644
--- a/packages/rocketchat-ui-login/client/reset-password/resetPassword.js
+++ b/packages/rocketchat-ui-login/client/reset-password/resetPassword.js
@@ -1,4 +1,9 @@
+import { Meteor } from 'meteor/meteor';
+import { Accounts } from 'meteor/accounts-base';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
 import toastr from 'toastr';
+
 Template.resetPassword.helpers({
 	requirePasswordChange() {
 		const user = Meteor.user();
diff --git a/packages/rocketchat-ui-login/client/routes.js b/packages/rocketchat-ui-login/client/routes.js
index 6dd7d4fa2ebe90d381bb8ff563823d022d11a080..95b6a7ca7c4c76fe37b46f808ea329120096b711 100644
--- a/packages/rocketchat-ui-login/client/routes.js
+++ b/packages/rocketchat-ui-login/client/routes.js
@@ -1,3 +1,6 @@
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { BlazeLayout } from 'meteor/kadira:blaze-layout';
+
 FlowRouter.route('/reset-password/:token', {
 	name: 'resetPassword',
 	action() {
diff --git a/packages/rocketchat-ui-login/client/username/layout.js b/packages/rocketchat-ui-login/client/username/layout.js
index 288aae5138a097d3377f5b17152e0b533365dd8c..52c080c85c4472ba847ce07c516bf21fbf51fcc3 100644
--- a/packages/rocketchat-ui-login/client/username/layout.js
+++ b/packages/rocketchat-ui-login/client/username/layout.js
@@ -1,3 +1,5 @@
+import { Template } from 'meteor/templating';
+
 Template.usernameLayout.helpers({
 	backgroundUrl() {
 		const asset = RocketChat.settings.get('Assets_background');
diff --git a/packages/rocketchat-ui-login/client/username/username.js b/packages/rocketchat-ui-login/client/username/username.js
index b5c14f856f689b41a82a26224b5dca2fae20a37a..f819ad64125098e698545cf67441f98ea73da37e 100644
--- a/packages/rocketchat-ui-login/client/username/username.js
+++ b/packages/rocketchat-ui-login/client/username/username.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Template } from 'meteor/templating';
 import _ from 'underscore';
 
 Template.username.onCreated(function() {
diff --git a/packages/rocketchat-ui-login/package.js b/packages/rocketchat-ui-login/package.js
index f634590410c91a2179778d6c6d1c56ae1c634802..ae23b30d39734d7dfeec06a2b2a0d2807939b3c6 100644
--- a/packages/rocketchat-ui-login/package.js
+++ b/packages/rocketchat-ui-login/package.js
@@ -20,6 +20,7 @@ Package.onUse(function(api) {
 	]);
 
 	api.use('kadira:flow-router', 'client');
+	api.use('kadira:blaze-layout', 'client');
 
 	api.addFiles('client/routes.js', 'client');
 
diff --git a/packages/rocketchat-ui-master/client/main.js b/packages/rocketchat-ui-master/client/main.js
index 1130ea1895d68788b33446b79efefb6269da887f..b3e542c30449fc3e641bb2d4ed3b1d234e6d4a1c 100644
--- a/packages/rocketchat-ui-master/client/main.js
+++ b/packages/rocketchat-ui-master/client/main.js
@@ -1,4 +1,11 @@
 /* globals toolbarSearch, menu, fireGlobalEvent, CachedChatSubscription, DynamicCss, popover */
+import { Meteor } from 'meteor/meteor';
+import { Match } from 'meteor/check';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Tracker } from 'meteor/tracker';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
 import Clipboard from 'clipboard';
 import s from 'underscore.string';
 
@@ -14,10 +21,10 @@ Template.body.onRendered(function() {
 		if ((e.keyCode === 80 || e.keyCode === 75) && (e.ctrlKey === true || e.metaKey === true) && e.shiftKey === false) {
 			e.preventDefault();
 			e.stopPropagation();
-			toolbarSearch.focus(true);
+			toolbarSearch.show(true);
 		}
 		const unread = Session.get('unread');
-		if (e.keyCode === 27 && e.shiftKey === true && (unread != null) && unread !== '') {
+		if (e.keyCode === 27 && (e.shiftKey === true || e.ctrlKey === true) && (unread != null) && unread !== '') {
 			e.preventDefault();
 			e.stopPropagation();
 			modal.open({
diff --git a/packages/rocketchat-ui-master/public/icons.svg b/packages/rocketchat-ui-master/public/icons.svg
index dcd151205cc0ace6f93bc11625c82a6e8b68d463..f777d9f87f125bc4aa2b068a8d91f622dac42810 100644
--- a/packages/rocketchat-ui-master/public/icons.svg
+++ b/packages/rocketchat-ui-master/public/icons.svg
@@ -453,7 +453,7 @@
         </g>
     </symbol>
     <symbol id="icon-loading" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid" class="lds-rolling">
-        <circle cx="50" cy="50" fill="none" stroke="currentColor" stroke-width="5" r="26" stroke-dasharray="122.52211349000194 42.840704496667314" transform="rotate(150 50 50)"><animateTransform attributeName="transform" type="rotate" calcMode="linear" values="0 50 50;360 50 50" keyTimes="0;1" dur="1s" begin="0s" repeatCount="indefinite"></animateTransform></circle>
+        <circle cx="50" cy="50" fill="none" stroke="currentColor" stroke-width="5" r="26" stroke-dasharray="122.52211349000194 42.840704496667314" transform="rotate(150 50 50)"></circle>
     </symbol>
     <symbol id="icon-sort-down" viewBox="0 0 16 16"><g stroke-width="1.5" fill="none" fill-rule="evenodd"><path stroke="#CBCED1" d="M10.657 6L8 3.343 5.343 6"/><path stroke="#9EA2A8" d="M10.657 10L8 12.657 5.343 10"/></g></symbol>
     <symbol id="icon-sort-up" viewBox="0 0 16 16"><g stroke-width="1.5" fill="none" fill-rule="evenodd"><path stroke="#CBCED1" d="M10.657 10L8 12.657 5.343 10"/><path stroke="#9EA2A8" d="M10.657 6L8 3.343 5.343 6"/></g></symbol>
diff --git a/packages/rocketchat-ui-master/server/inject.js b/packages/rocketchat-ui-master/server/inject.js
index 4cce5a5367df4975b15f948dbac257660d1503fe..fffa2d89526ea231d779bb1b58514aafd2ee9450 100644
--- a/packages/rocketchat-ui-master/server/inject.js
+++ b/packages/rocketchat-ui-master/server/inject.js
@@ -1,4 +1,5 @@
 /* globals Inject */
+import { Meteor } from 'meteor/meteor';
 import _ from 'underscore';
 import s from 'underscore.string';
 
diff --git a/packages/rocketchat-ui-message/client/message.js b/packages/rocketchat-ui-message/client/message.js
index 8503d934ca0e12b30608f13366d7a7afc427b7a6..867e9a4c28bd5385062c583e8e6a8f536bf74f1b 100644
--- a/packages/rocketchat-ui-message/client/message.js
+++ b/packages/rocketchat-ui-message/client/message.js
@@ -1,24 +1,42 @@
 /* globals renderEmoji renderMessageBody */
+import { Meteor } from 'meteor/meteor';
+import { Blaze } from 'meteor/blaze';
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
 import _ from 'underscore';
 import moment from 'moment';
 import { DateFormat } from 'meteor/rocketchat:lib';
 
 async function renderPdfToCanvas(canvasId, pdfLink) {
+	const isSafari = /constructor/i.test(window.HTMLElement) ||
+		((p) => p.toString() === '[object SafariRemoteNotification]')(!window.safari ||
+			(typeof window.safari !== 'undefined' && window.safari.pushNotification));
 
-	if (navigator.userAgent.toLowerCase().indexOf('safari/') > -1) {
+	if (isSafari) {
 		const [, version] = /Version\/([0-9]+)/.exec(navigator.userAgent) || [null, 0];
 		if (version <= 12) {
 			return;
 		}
 	}
 
-	if (!pdfLink || /\.pdf$/i.test(pdfLink)) { return; }
+	if (!pdfLink || !/\.pdf$/i.test(pdfLink)) {
+		return;
+	}
+
 	const canvas = document.getElementById(canvasId);
-	if (!canvas) { return; }
+	if (!canvas) {
+		return;
+	}
+
 	const pdfjsLib = await import('pdfjs-dist');
 	pdfjsLib.GlobalWorkerOptions.workerSrc = `${ Meteor.absoluteUrl() }node_modules/pdfjs-dist/build/pdf.worker.js`;
+
 	const loader = document.getElementById('js-loading-${canvasId}');
-	if (loader) { loader.style.display = 'block'; }
+	if (loader) {
+		loader.style.display = 'block';
+	}
+
 	const pdf = await pdfjsLib.getDocument(pdfLink);
 	const page = await pdf.getPage(1);
 	const scale = 0.5;
@@ -30,7 +48,11 @@ async function renderPdfToCanvas(canvasId, pdfLink) {
 		canvasContext: context,
 		viewport,
 	});
-	if (loader) { loader.style.display = 'none'; }
+
+	if (loader) {
+		loader.style.display = 'none';
+	}
+
 	canvas.style.maxWidth = '-webkit-fill-available';
 	canvas.style.maxWidth = '-moz-available';
 	canvas.style.display = 'block';
diff --git a/packages/rocketchat-ui-message/client/messageBox.js b/packages/rocketchat-ui-message/client/messageBox.js
index 5c482873265eb398e3fb8f3ece5a8ee4c2c626d9..f495d62987a861b1757f6a66a9f8bc2a44d52142 100644
--- a/packages/rocketchat-ui-message/client/messageBox.js
+++ b/packages/rocketchat-ui-message/client/messageBox.js
@@ -1,4 +1,10 @@
 /* globals fileUpload KonchatNotification chatMessages popover AudioRecorder chatMessages fileUploadHandler*/
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Tracker } from 'meteor/tracker';
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
 import toastr from 'toastr';
 import moment from 'moment';
 import _ from 'underscore';
@@ -223,6 +229,7 @@ Template.messageBox.helpers({
 	},
 	/* globals MsgTyping*/
 	usersTyping() {
+		const maxUsernames = 4;
 		const users = MsgTyping.get(this._id);
 		if (users.length === 0) {
 			return;
@@ -235,10 +242,10 @@ Template.messageBox.helpers({
 			};
 		}
 		let last = users.pop();
-		if (users.length > 4) {
+		if (users.length >= maxUsernames) {
 			last = t('others');
 		}
-		let usernames = users.join(', ');
+		let usernames = users.slice(0, maxUsernames - 1).join(', ');
 		usernames = [usernames, last];
 		return {
 			multi: true,
@@ -361,9 +368,9 @@ Template.messageBox.events({
 	'click .register-anonymous'(event) {
 		event.stopPropagation();
 		event.preventDefault();
-		return Meteor.call('registerUser', {}, function(error, loginData) {
-			if (loginData && loginData.token) {
-				return Meteor.loginWithToken(loginData.token);
+		return Meteor.call('registerUser', {}, function(error, result) {
+			if (!error) {
+				Meteor.loginWithToken(result.token);
 			}
 		});
 	},
@@ -418,19 +425,24 @@ Template.messageBox.events({
 			return instance.isMessageFieldEmpty.set(false);
 		}
 	},
+
 	'keydown .js-input-message': firefoxPasteUpload(function(event, t) {
-		if ((navigator.platform.indexOf('Mac') !== -1 && event.metaKey) || (navigator.platform.indexOf('Mac') === -1 && event.ctrlKey)) {
-			const action = markdownButtons.find((action) => action.command === event.key.toLowerCase() && (!action.condition || action.condition()));
+		const isMacOS = navigator.platform.indexOf('Mac') !== -1;
+		if (isMacOS && (event.metaKey || event.ctrlKey)) {
+			const action = markdownButtons.find(
+				(action) => action.command === event.key.toLowerCase() && (!action.condition || action.condition()));
 			if (action) {
 				applyMd.apply(action, [event, t]);
 			}
 		}
 		return chatMessages[this._id].keydown(this._id, event, Template.instance());
 	}),
+
 	'input .js-input-message'(event, instance) {
 		instance.sendIcon.set(event.target.value !== '');
 		return chatMessages[this._id].valueChanged(this._id, event, Template.instance());
 	},
+
 	'propertychange .js-input-message'(event) {
 		if (event.originalEvent.propertyName === 'value') {
 			return chatMessages[this._id].valueChanged(this._id, event, Template.instance());
diff --git a/packages/rocketchat-ui-message/client/popup/messagePopup.js b/packages/rocketchat-ui-message/client/popup/messagePopup.js
index 0381e2c9343a55ca62cb0dd3f106f33442b29eba..c750775be5a1f9eb14f1ac9eee2af54f12e65e4a 100644
--- a/packages/rocketchat-ui-message/client/popup/messagePopup.js
+++ b/packages/rocketchat-ui-message/client/popup/messagePopup.js
@@ -2,6 +2,10 @@
 // This is not supposed to be a complete list
 // it is just to improve readability in this file
 
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Tracker } from 'meteor/tracker';
+import { Template } from 'meteor/templating';
 import _ from 'underscore';
 import { lazyloadtick } from 'meteor/rocketchat:lazy-load';
 
@@ -96,6 +100,9 @@ Template.messagePopup.onCreated(function() {
 		}
 	};
 	template.verifySelection = () => {
+		if (!template.open.curValue) {
+			return;
+		}
 		const current = template.find('.popup-item.selected');
 		if (current == null) {
 			const first = template.find('.popup-item');
@@ -145,7 +152,7 @@ Template.messagePopup.onCreated(function() {
 	template.onInputKeyup = (event) => {
 		if (template.closeOnEsc === true && template.open.curValue === true && event.which === keys.ESC) {
 			template.open.set(false);
-			$('.toolbar').css('display', 'none');
+			toolbarSearch.close();
 			event.preventDefault();
 			event.stopPropagation();
 			return;
@@ -297,7 +304,6 @@ Template.messagePopup.events({
 		template.value.set(this._id);
 		template.enterValue();
 		template.open.set(false);
-		return toolbarSearch.clear();
 	},
 });
 
diff --git a/packages/rocketchat-ui-message/client/popup/messagePopupChannel.js b/packages/rocketchat-ui-message/client/popup/messagePopupChannel.js
index 64b5d8ef15c6eb85b28255e54787e9f201181771..13fd69bb2c05c82cd7bec022a9933f6b9280b6ad 100644
--- a/packages/rocketchat-ui-message/client/popup/messagePopupChannel.js
+++ b/packages/rocketchat-ui-message/client/popup/messagePopupChannel.js
@@ -1,3 +1,5 @@
+import { Template } from 'meteor/templating';
+
 Template.messagePopupChannel.helpers({
 	channelIcon() {
 		return RocketChat.roomTypes.getIcon(this.t);
diff --git a/packages/rocketchat-ui-message/client/popup/messagePopupConfig.js b/packages/rocketchat-ui-message/client/popup/messagePopupConfig.js
index f6ee0d827e938aaea7f6674426b4d4043318ade9..345b7e4c057917dc9d8e812a788013f38ec37b47 100644
--- a/packages/rocketchat-ui-message/client/popup/messagePopupConfig.js
+++ b/packages/rocketchat-ui-message/client/popup/messagePopupConfig.js
@@ -1,3 +1,10 @@
+import { Meteor } from 'meteor/meteor';
+import { Mongo } from 'meteor/mongo';
+import { Tracker } from 'meteor/tracker';
+import { Blaze } from 'meteor/blaze';
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
 import _ from 'underscore';
 
 const usersFromRoomMessages = new Mongo.Collection(null);
@@ -159,7 +166,7 @@ const getEmojis = function(collection, filter) {
 		return [];
 	}
 
-	const regExp = new RegExp(`^${ RegExp.escape(key) }`, 'i');
+	const regExp = new RegExp(RegExp.escape(filter), 'i');
 	const recents = RocketChat.EmojiPicker.getRecent().map((item) => `:${ item }:`);
 	return Object.keys(collection).map((_id) => {
 		const data = collection[key];
diff --git a/packages/rocketchat-ui-message/client/popup/messagePopupEmoji.js b/packages/rocketchat-ui-message/client/popup/messagePopupEmoji.js
index 588945bed93e00579e80ec777956d4c403eb9984..5b7f97b11cfea7d00b8fd9d82d02abfb187e289d 100644
--- a/packages/rocketchat-ui-message/client/popup/messagePopupEmoji.js
+++ b/packages/rocketchat-ui-message/client/popup/messagePopupEmoji.js
@@ -1,3 +1,5 @@
+import { Template } from 'meteor/templating';
+
 Template.messagePopupEmoji.helpers({
 	value() {
 		const { length } = this.data;
diff --git a/packages/rocketchat-ui-message/client/popup/messagePopupSlashCommandPreview.js b/packages/rocketchat-ui-message/client/popup/messagePopupSlashCommandPreview.js
index de5b044d7c8026e6f59093529224ade8d6431edb..e42974eb4a74eed4db4830f2690449e71bf2c937 100644
--- a/packages/rocketchat-ui-message/client/popup/messagePopupSlashCommandPreview.js
+++ b/packages/rocketchat-ui-message/client/popup/messagePopupSlashCommandPreview.js
@@ -1,5 +1,9 @@
 /* globals toolbarSearch */
 
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
 import _ from 'underscore';
 
 const keys = {
@@ -168,7 +172,7 @@ Template.messagePopupSlashCommandPreview.onCreated(function() {
 	template.onInputKeyup = (event) => {
 		if (template.open.curValue === true && event.which === keys.ESC) {
 			template.open.set(false);
-			$('.toolbar').css('display', 'none');
+			toolbarSearch.close();
 			event.preventDefault();
 			event.stopPropagation();
 			return;
@@ -293,7 +297,6 @@ Template.messagePopupSlashCommandPreview.events({
 		const template = Template.instance();
 		template.clickingItem = false;
 		template.enterKeyAction();
-		toolbarSearch.clear();
 	},
 });
 
diff --git a/packages/rocketchat-ui-message/startup/messageBoxActions.js b/packages/rocketchat-ui-message/startup/messageBoxActions.js
index 2ae027e42a98fd1b0e50981acdfe10ed1d89a0cb..2c2d860f8f39c44e2963bdc72cdc9fec035989ee 100644
--- a/packages/rocketchat-ui-message/startup/messageBoxActions.js
+++ b/packages/rocketchat-ui-message/startup/messageBoxActions.js
@@ -1,5 +1,7 @@
 /* globals fileUpload device modal */
 
+import { Meteor } from 'meteor/meteor';
+import { Random } from 'meteor/random';
 import mime from 'mime-type/with-db';
 import { VRecDialog } from 'meteor/rocketchat:ui-vrecord';
 
diff --git a/packages/rocketchat-ui-sidenav/client/chatRoomItem.js b/packages/rocketchat-ui-sidenav/client/chatRoomItem.js
index c88b7903d363629f64b7eef8972eb775d231a220..82c9275ddee2534cb3fcccd70112a1c3748c6a41 100644
--- a/packages/rocketchat-ui-sidenav/client/chatRoomItem.js
+++ b/packages/rocketchat-ui-sidenav/client/chatRoomItem.js
@@ -1,3 +1,7 @@
+import { Tracker } from 'meteor/tracker';
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
+
 Template.chatRoomItem.helpers({
 	roomData() {
 		let { name } = this;
diff --git a/packages/rocketchat-ui-sidenav/client/createCombinedFlex.js b/packages/rocketchat-ui-sidenav/client/createCombinedFlex.js
index fa6813f0b97e4c8c155f6e2d0d9a0577facd1d29..18961020c18276f7ddd156e53c7ec4367009c884 100644
--- a/packages/rocketchat-ui-sidenav/client/createCombinedFlex.js
+++ b/packages/rocketchat-ui-sidenav/client/createCombinedFlex.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
 import _ from 'underscore';
 
 Template.createCombinedFlex.helpers({
diff --git a/packages/rocketchat-ui-sidenav/client/listChannelsFlex.js b/packages/rocketchat-ui-sidenav/client/listChannelsFlex.js
index 0aa4d380f0c36b569de1044fe697856c8448617d..db48950e7152eb620fd695b15faa59b02066b050 100644
--- a/packages/rocketchat-ui-sidenav/client/listChannelsFlex.js
+++ b/packages/rocketchat-ui-sidenav/client/listChannelsFlex.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Template } from 'meteor/templating';
 import _ from 'underscore';
 import s from 'underscore.string';
 
diff --git a/packages/rocketchat-ui-sidenav/client/listCombinedFlex.js b/packages/rocketchat-ui-sidenav/client/listCombinedFlex.js
index e7eac3614d477a436f85697ab59477dd4196fbbd..e2e0003a19e3dbfb9f93f3c76ebcd260cb939e70 100644
--- a/packages/rocketchat-ui-sidenav/client/listCombinedFlex.js
+++ b/packages/rocketchat-ui-sidenav/client/listCombinedFlex.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Template } from 'meteor/templating';
 import _ from 'underscore';
 import s from 'underscore.string';
 
diff --git a/packages/rocketchat-ui-sidenav/client/listPrivateGroupsFlex.js b/packages/rocketchat-ui-sidenav/client/listPrivateGroupsFlex.js
index a3dff0b4248ceb53ce0b24f2b99306ebd892014a..e5052de26abf566970d044e566e2ea6bc12fc362 100644
--- a/packages/rocketchat-ui-sidenav/client/listPrivateGroupsFlex.js
+++ b/packages/rocketchat-ui-sidenav/client/listPrivateGroupsFlex.js
@@ -1,5 +1,7 @@
 import _ from 'underscore';
 import s from 'underscore.string';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Template } from 'meteor/templating';
 
 Template.listPrivateGroupsFlex.helpers({
 	groups() {
diff --git a/packages/rocketchat-ui-sidenav/client/roomList.js b/packages/rocketchat-ui-sidenav/client/roomList.js
index 085700cb3631d5e32454f019437b98ccd2110738..558eff57137918de759fe047c02f52a477b1a112 100644
--- a/packages/rocketchat-ui-sidenav/client/roomList.js
+++ b/packages/rocketchat-ui-sidenav/client/roomList.js
@@ -1,5 +1,7 @@
 /* globals RocketChat */
+import { Meteor } from 'meteor/meteor';
 import { UiTextContext } from 'meteor/rocketchat:lib';
+import { Template } from 'meteor/templating';
 
 Template.roomList.helpers({
 	rooms() {
diff --git a/packages/rocketchat-ui-sidenav/client/sideNav.js b/packages/rocketchat-ui-sidenav/client/sideNav.js
index df7c955c9e6325f3d500bbaf9aa54e9c85924ccc..0474135186ad85ee71fca5c7dc7e4f345cea9106 100644
--- a/packages/rocketchat-ui-sidenav/client/sideNav.js
+++ b/packages/rocketchat-ui-sidenav/client/sideNav.js
@@ -1,4 +1,8 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
 import { lazyloadtick } from 'meteor/rocketchat:lazy-load';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
 
 /* globals menu*/
 
diff --git a/packages/rocketchat-ui-sidenav/client/sidebarHeader.html b/packages/rocketchat-ui-sidenav/client/sidebarHeader.html
index 67c056b5df9a862f7e454eb6d6aacb1d5de3881e..5a34a677bc91e77754561d30fad1e71711f6df58 100644
--- a/packages/rocketchat-ui-sidenav/client/sidebarHeader.html
+++ b/packages/rocketchat-ui-sidenav/client/sidebarHeader.html
@@ -12,7 +12,9 @@
 					</button>
 				{{/each}}
 			</div>
-			{{> toolbar}}
 		{{/with}}
+		{{#if showToolbar}}
+			{{> toolbar }}
+		{{/if}}
 	</header>
 </template>
diff --git a/packages/rocketchat-ui-sidenav/client/sidebarHeader.js b/packages/rocketchat-ui-sidenav/client/sidebarHeader.js
index f077a2c12cc6847c4300bae87ddf994177bacaa3..aed5a16ba1d8400995812286e4f236b18d3f336c 100644
--- a/packages/rocketchat-ui-sidenav/client/sidebarHeader.js
+++ b/packages/rocketchat-ui-sidenav/client/sidebarHeader.js
@@ -1,4 +1,9 @@
 /* globals popover menu */
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
+
 const setStatus = (status) => {
 	AccountBox.setStatus(status);
 	RocketChat.callbacks.run('userStatusManuallySet', status);
@@ -30,14 +35,41 @@ const extendedViewOption = (user) => {
 	return;
 };
 
+const showToolbar = new ReactiveVar(false);
+
+const selectorSearch = '.toolbar__search .rc-input__element';
+const toolbarSearch = {
+	shortcut: false,
+	clear() {
+		const $inputMessage = $('.js-input-message');
+
+		if (0 === $inputMessage.length) {
+			return;
+		}
+
+		$inputMessage.focus();
+		$(selectorSearch).val('');
+	},
+	show(fromShortcut) {
+		menu.open();
+		showToolbar.set(true);
+		this.shortcut = fromShortcut;
+	},
+	close() {
+		showToolbar.set(false);
+		if (this.shortcut) {
+			menu.close();
+		}
+	},
+};
+
+this.toolbarSearch = toolbarSearch;
 
 const toolbarButtons = (user) => [{
 	name: t('Search'),
 	icon: 'magnifier',
 	action: () => {
-		const toolbarEl = $('.toolbar');
-		toolbarEl.css('display', 'block');
-		toolbarEl.find('.rc-input__element').focus();
+		toolbarSearch.show(false);
 	},
 },
 {
@@ -219,6 +251,9 @@ Template.sidebarHeader.helpers({
 	toolbarButtons() {
 		return toolbarButtons(Meteor.userId()).filter((button) => !button.condition || button.condition());
 	},
+	showToolbar() {
+		return showToolbar.get();
+	},
 });
 
 Template.sidebarHeader.events({
diff --git a/packages/rocketchat-ui-sidenav/client/sidebarItem.js b/packages/rocketchat-ui-sidenav/client/sidebarItem.js
index 3ea87245b6fd782aec6da6dc10f1a584e71899b7..cf649d83dedb1d098bc6c3c377e08d8d5b0dfb11 100644
--- a/packages/rocketchat-ui-sidenav/client/sidebarItem.js
+++ b/packages/rocketchat-ui-sidenav/client/sidebarItem.js
@@ -1,4 +1,8 @@
 /* globals menu popover renderMessageBody */
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
 import moment from 'moment';
 
 Template.sidebarItem.helpers({
diff --git a/packages/rocketchat-ui-sidenav/client/sortlist.js b/packages/rocketchat-ui-sidenav/client/sortlist.js
index b887f536d37f4647892058e4aee60160d83ca6a7..fc381364b3e4b3a038fd26f5462dfd8b8b6bfdf9 100644
--- a/packages/rocketchat-ui-sidenav/client/sortlist.js
+++ b/packages/rocketchat-ui-sidenav/client/sortlist.js
@@ -1,4 +1,6 @@
 /* globals popover */
+import { Meteor } from 'meteor/meteor';
+import { Template } from 'meteor/templating';
 
 const checked = function(prop, field) {
 	const userId = Meteor.userId();
diff --git a/packages/rocketchat-ui-sidenav/client/toolbar.html b/packages/rocketchat-ui-sidenav/client/toolbar.html
index da6350ad642b3a3d751c6e2b8ecba5ac08e8665f..a2b0ab0596db1d66318562b90913f81a1a239d7d 100644
--- a/packages/rocketchat-ui-sidenav/client/toolbar.html
+++ b/packages/rocketchat-ui-sidenav/client/toolbar.html
@@ -8,7 +8,7 @@
 							<div class="rc-input__icon">
 								{{> icon block="rc-input__icon-svg" icon="magnifier"}}
 							</div>
-							<input type="text" class="rc-input__element rc-input__element--small" placeholder="{{getPlaceholder}}">
+							<input type="text" class="rc-input__element rc-input__element--small js-search" placeholder="{{getPlaceholder}}">
 							<div class="rc-input__icon rc-input__icon--right">
 								{{> icon block="rc-input__icon-svg" icon="plus"}}
 							</div>
diff --git a/packages/rocketchat-ui-sidenav/client/toolbar.js b/packages/rocketchat-ui-sidenav/client/toolbar.js
index 3a0e31c92df004fe538aa0628e358a6eef941500..026f4bee107977d1358472ed4fb8cf6863f2ba69 100644
--- a/packages/rocketchat-ui-sidenav/client/toolbar.js
+++ b/packages/rocketchat-ui-sidenav/client/toolbar.js
@@ -1,42 +1,19 @@
-
-/* global menu */
+/* global menu, toolbarSearch */
+
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
 import _ from 'underscore';
 
-let isLoading;
 let filterText = '';
 let usernamesFromClient;
 let resultsFromClient;
 
-const selectorSearch = '.toolbar__search .rc-input__element';
-Meteor.startup(() => {
-	isLoading = new ReactiveVar(false);
-});
-
-const toolbarSearch = {
-	shortcut: false,
-	clear() {
-		const $inputMessage = $('.js-input-message');
-
-		if (0 === $inputMessage.length) {
-			return;
-		}
-
-		$inputMessage.focus();
-		$(selectorSearch).val('');
-
-		if (this.shortcut) {
-			menu.close();
-		}
-	},
-	focus(fromShortcut) {
-		menu.open();
-		$('.toolbar').css('display', 'block');
-		$(selectorSearch).focus();
-		this.shortcut = fromShortcut;
-	},
-};
-
-this.toolbarSearch = toolbarSearch;
+const isLoading = new ReactiveVar(false);
 
 const getFromServer = (cb, type) => {
 	isLoading.set(true);
@@ -111,14 +88,6 @@ Template.toolbar.helpers({
 		return placeholder;
 	},
 	popupConfig() {
-		const open = new ReactiveVar(false);
-
-		Tracker.autorun(() => {
-			if (open.get() === false) {
-				toolbarSearch.clear();
-			}
-		});
-
 		const config = {
 			cls: 'search-results-list',
 			collection: Meteor.userId() ? RocketChat.models.Subscriptions : RocketChat.models.Rooms,
@@ -130,7 +99,7 @@ Template.toolbar.helpers({
 			closeOnEsc: true,
 			blurOnSelectItem: true,
 			isLoading,
-			open,
+			open: Template.instance().open,
 			getFilter(collection, filter, cb) {
 				filterText = filter;
 
@@ -209,30 +178,19 @@ Template.toolbar.events({
 		return false;
 	},
 
+	'click [role="search"] input'() {
+		toolbarSearch.shortcut = false;
+	},
+
 	'keyup [role="search"] input'(e) {
 		if (e.which === 27) {
 			e.preventDefault();
 			e.stopPropagation();
 
 			toolbarSearch.clear();
-			$('.toolbar').css('display', 'none');
 		}
 	},
 
-	'click [role="search"] input'() {
-		toolbarSearch.shortcut = false;
-	},
-
-	'click .toolbar__icon-search--right'() {
-		toolbarSearch.clear();
-		$('.toolbar').css('display', 'none');
-	},
-
-	'blur [role="search"] input'() {
-		toolbarSearch.clear();
-		$('.toolbar').css('display', 'none');
-	},
-
 	'click [role="search"] button, touchend [role="search"] button'(e) {
 		if (RocketChat.authz.hasAtLeastOnePermission(['create-c', 'create-p'])) {
 			// TODO: resolve this name menu/sidebar/sidebav/flex...
@@ -243,3 +201,13 @@ Template.toolbar.events({
 		}
 	},
 });
+
+Template.toolbar.onRendered(function() {
+	this.$('.js-search').select().focus();
+});
+
+Template.toolbar.onCreated(function() {
+	this.open = new ReactiveVar(true);
+
+	Tracker.autorun(() => !this.open.get() && toolbarSearch.close());
+});
diff --git a/packages/rocketchat-ui-vrecord/client/VRecDialog.js b/packages/rocketchat-ui-vrecord/client/VRecDialog.js
index b9f0b347d3f748620c193819657b5076e1ddbedb..776ec0c0389cf4903ffac8809ed915bcbeb9e3e7 100644
--- a/packages/rocketchat-ui-vrecord/client/VRecDialog.js
+++ b/packages/rocketchat-ui-vrecord/client/VRecDialog.js
@@ -1,3 +1,5 @@
+import { Blaze } from 'meteor/blaze';
+import { Template } from 'meteor/templating';
 import _ from 'underscore';
 
 export const VRecDialog = new class {
diff --git a/packages/rocketchat-ui-vrecord/client/vrecord.js b/packages/rocketchat-ui-vrecord/client/vrecord.js
index 7a9bba19b1244c17229e50c578e4669df94727fe..241c53684456695ce624f1e82e5cb9ba28ef09d2 100644
--- a/packages/rocketchat-ui-vrecord/client/vrecord.js
+++ b/packages/rocketchat-ui-vrecord/client/vrecord.js
@@ -1,5 +1,7 @@
 /* globals VideoRecorder, fileUpload */
 import { VRecDialog } from './VRecDialog';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
 
 Template.vrecDialog.helpers({
 	recordIcon() {
diff --git a/packages/rocketchat-ui/client/components/contextualBar.js b/packages/rocketchat-ui/client/components/contextualBar.js
index c72c53f9ade9f868dee90fbf1caec20c7b337119..d8e52e5b4917683e11f5d2cf28b346e3cff1ee1c 100644
--- a/packages/rocketchat-ui/client/components/contextualBar.js
+++ b/packages/rocketchat-ui/client/components/contextualBar.js
@@ -1,3 +1,5 @@
+import { Template } from 'meteor/templating';
+
 Template.contextualBar.events({
 	'click .js-close'(e, t) {
 		t.tabBar.close();
diff --git a/packages/rocketchat-ui/client/components/header/header.js b/packages/rocketchat-ui/client/components/header/header.js
index afa981c48cfb53002b3f98d6d1e1c71b2a948001..e2a1fd576a36c5c98bd23dcbbd95a55701273935 100644
--- a/packages/rocketchat-ui/client/components/header/header.js
+++ b/packages/rocketchat-ui/client/components/header/header.js
@@ -1,4 +1,7 @@
 /* globals fireGlobalEvent*/
+import { Meteor } from 'meteor/meteor';
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
 
 const isSubscribed = (_id) => ChatSubscription.find({ rid: _id }).count() > 0;
 
diff --git a/packages/rocketchat-ui/client/components/icon.js b/packages/rocketchat-ui/client/components/icon.js
index 2858c36a8c929b02f916f57616c467ccfae3facc..bf942d44cd1e71b106a5d89a59a0172989982783 100644
--- a/packages/rocketchat-ui/client/components/icon.js
+++ b/packages/rocketchat-ui/client/components/icon.js
@@ -1,4 +1,6 @@
 /* globals isFirefox, isChrome */
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
 
 const baseUrlFix = () => `${ window.location.origin }${ FlowRouter.current().path }`;
 
diff --git a/packages/rocketchat-ui/client/components/popupList.js b/packages/rocketchat-ui/client/components/popupList.js
index a7636771fb44555d4fa853602e54f7f15043cbf6..4fa3a349b56baeb47f5021befca5eac7bd057422 100644
--- a/packages/rocketchat-ui/client/components/popupList.js
+++ b/packages/rocketchat-ui/client/components/popupList.js
@@ -1,3 +1,5 @@
+import { Template } from 'meteor/templating';
+
 Template.popupList.helpers({
 	config() {
 		return {
diff --git a/packages/rocketchat-ui/client/components/selectDropdown.js b/packages/rocketchat-ui/client/components/selectDropdown.js
index 7a08c1c7cc11451cddf30d75db84109f950da178..71937cd6a558287cd5a11a35b7e391d5d6ea4088 100644
--- a/packages/rocketchat-ui/client/components/selectDropdown.js
+++ b/packages/rocketchat-ui/client/components/selectDropdown.js
@@ -1,3 +1,6 @@
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Template } from 'meteor/templating';
+
 Template.selectDropdown.events({
 	'focus input'(e, i) {
 		i.open.set(true);
diff --git a/packages/rocketchat-ui/client/components/table.js b/packages/rocketchat-ui/client/components/table.js
index 89da6164b86dcb8832cf3254c1db76b0054da86c..1e3bd67c0763dd6a518e376ca6984a35e05e9c06 100644
--- a/packages/rocketchat-ui/client/components/table.js
+++ b/packages/rocketchat-ui/client/components/table.js
@@ -1,3 +1,4 @@
+import { Template } from 'meteor/templating';
 import _ from 'underscore';
 
 Template.table.onRendered(function() {
diff --git a/packages/rocketchat-ui/client/components/tabs.js b/packages/rocketchat-ui/client/components/tabs.js
index e4968758c88491add2c96f134ed05d673297100d..ab49fa82d1919bc7cee3e9c03b592d57b2b24dbf 100644
--- a/packages/rocketchat-ui/client/components/tabs.js
+++ b/packages/rocketchat-ui/client/components/tabs.js
@@ -1,3 +1,6 @@
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Template } from 'meteor/templating';
+
 Template.tabs.onCreated(function() {
 	this.activeTab = new ReactiveVar(this.data.tabs.tabs.find((tab) => tab.active).value);
 });
diff --git a/packages/rocketchat-ui/client/lib/RoomHistoryManager.js b/packages/rocketchat-ui/client/lib/RoomHistoryManager.js
index 71c2acd7a39eb2ffc2f7fb9913a4c81eb638058a..cc9970d3b02e611075ce7aa3e0bf9919cc670a42 100644
--- a/packages/rocketchat-ui/client/lib/RoomHistoryManager.js
+++ b/packages/rocketchat-ui/client/lib/RoomHistoryManager.js
@@ -1,4 +1,7 @@
 /* globals readMessage UserRoles RoomRoles*/
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Blaze } from 'meteor/blaze';
 import _ from 'underscore';
 
 export const upsertMessage = ({ msg, subscription }) => {
diff --git a/packages/rocketchat-ui/client/lib/RoomManager.js b/packages/rocketchat-ui/client/lib/RoomManager.js
index 82904ec43bb5b1e0a6dffafe5030de785526888c..7b5fe35bf136b1f8085e1a72f7d22dc984b750fb 100644
--- a/packages/rocketchat-ui/client/lib/RoomManager.js
+++ b/packages/rocketchat-ui/client/lib/RoomManager.js
@@ -1,3 +1,9 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Tracker } from 'meteor/tracker';
+import { Blaze } from 'meteor/blaze';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
 import _ from 'underscore';
 import { upsertMessage } from './RoomHistoryManager';
 
@@ -13,7 +19,7 @@ const onDeleteMessageBulkStream = ({ rid, ts, excludePinned, users }) => {
 	ChatMessage.remove(query);
 };
 
-const RoomManager = new function() {
+RoomManager = new function() { //eslint-disable-line
 	const openedRooms = {};
 	const msgStream = new Meteor.Streamer('room-messages');
 	const onlineUsers = new ReactiveVar({});
@@ -236,9 +242,13 @@ const loadMissedMessages = function(rid) {
 		return;
 	}
 	const subscription = ChatSubscription.findOne({ rid });
-	return Meteor.call('loadMissedMessages', rid, lastMessage.ts, (err, result) =>
-		Array.from(result).map((item) => RocketChat.promises.run('onClientMessageReceived', item).then((msg) => upsertMessage({ msg, subscription })))
-	);
+	return Meteor.call('loadMissedMessages', rid, lastMessage.ts, (err, result) => {
+		if (result) {
+			return Array.from(result).map((item) => RocketChat.promises.run('onClientMessageReceived', item).then((msg) => upsertMessage({ msg, subscription })));
+		} else {
+			return [];
+		}
+	});
 };
 
 let connectionWasOnline = true;
@@ -303,8 +313,6 @@ Tracker.autorun(function() {
 	}
 });
 
-export { RoomManager };
-this.RoomManager = RoomManager;
 RocketChat.callbacks.add('afterLogoutCleanUp', () => RoomManager.closeAllRooms(), RocketChat.callbacks.priority.MEDIUM, 'roommanager-after-logout-cleanup');
 
 RocketChat.CachedCollectionManager.onLogin(() => {
diff --git a/packages/rocketchat-ui/client/lib/accountBox.js b/packages/rocketchat-ui/client/lib/accountBox.js
index b67533de101234feda6570497cded3676d098e74..36a27f2873afa84fa5f17811377a2175359d9c32 100644
--- a/packages/rocketchat-ui/client/lib/accountBox.js
+++ b/packages/rocketchat-ui/client/lib/accountBox.js
@@ -1,3 +1,9 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Tracker } from 'meteor/tracker';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { BlazeLayout } from 'meteor/kadira:blaze-layout';
+import { Session } from 'meteor/session';
 import _ from 'underscore';
 
 this.AccountBox = (function() {
diff --git a/packages/rocketchat-ui/client/lib/accounts.js b/packages/rocketchat-ui/client/lib/accounts.js
index 681a42ec81e74739f47663576fa0d4f1e1b6415b..fa86205b546e6c42a5b7eb703cb5fc98f7fc4ed2 100644
--- a/packages/rocketchat-ui/client/lib/accounts.js
+++ b/packages/rocketchat-ui/client/lib/accounts.js
@@ -1,4 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { Accounts } from 'meteor/accounts-base';
 import toastr from 'toastr';
+
 Accounts.onEmailVerificationLink(function(token, done) {
 	Accounts.verifyEmail(token, function(error) {
 		if (error == null) {
diff --git a/packages/rocketchat-ui/client/lib/avatar.js b/packages/rocketchat-ui/client/lib/avatar.js
index becdf58db6517d2c5628292c7a9d8b886158c5ee..5c7f6378bca82643ae46f41b3a60968892877280 100644
--- a/packages/rocketchat-ui/client/lib/avatar.js
+++ b/packages/rocketchat-ui/client/lib/avatar.js
@@ -1,3 +1,6 @@
+import { Blaze } from 'meteor/blaze';
+import { Session } from 'meteor/session';
+
 Blaze.registerHelper('avatarUrlFromUsername', getAvatarUrlFromUsername);
 
 this.getAvatarAsPng = function(username, cb) {
diff --git a/packages/rocketchat-ui/client/lib/chatMessages.js b/packages/rocketchat-ui/client/lib/chatMessages.js
index b930bfd081329227a5563ac047b8766ca5dbe0c0..e0e53e20238b14f9c642ce0040736c39bb8c0786 100644
--- a/packages/rocketchat-ui/client/lib/chatMessages.js
+++ b/packages/rocketchat-ui/client/lib/chatMessages.js
@@ -1,4 +1,11 @@
 /* globals MsgTyping */
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Random } from 'meteor/random';
+import { Tracker } from 'meteor/tracker';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Session } from 'meteor/session';
+import { TAPi18n } from 'meteor/tap:i18n';
 import _ from 'underscore';
 import s from 'underscore.string';
 import moment from 'moment';
@@ -13,7 +20,7 @@ Meteor.startup(() => {
 	});
 });
 
-this.ChatMessages = class ChatMessages {
+ChatMessages = class ChatMessages { //eslint-disable-line
 	constructor() {
 
 		this.saveTextMessageBox = _.debounce((rid, value) => { // eslint
@@ -417,6 +424,25 @@ this.ChatMessages = class ChatMessages {
 		}
 	}
 
+	insertNewLine(input) {
+		if (document.selection) {
+			input.focus();
+			const sel = document.selection.createRange();
+			sel.text = '\n';
+		} else if (input.selectionStart || input.selectionStart === 0) {
+			const newPosition = input.selectionStart + 1;
+			const before = input.value.substring(0, input.selectionStart);
+			const after = input.value.substring(input.selectionEnd, input.value.length);
+			input.value = `${ before }\n${ after }`;
+			input.selectionStart = input.selectionEnd = newPosition;
+		} else {
+			input.value += '\n';
+		}
+		input.blur();
+		input.focus();
+		typeof input.updateAutogrow === 'function' && input.updateAutogrow();
+	}
+
 	restoreText(rid) {
 		const text = localStorage.getItem(`messagebox_${ rid }`);
 		if (typeof text === 'string' && this.input) {
@@ -468,30 +494,24 @@ this.ChatMessages = class ChatMessages {
 	}
 
 	keydown(rid, event) {
-		const input = event.currentTarget;
-		// const $input = $(input);
-		const k = event.which;
+		const { currentTarget: input, which: k } = event;
 
-		if (k === 13) {
-			if ((sendOnEnter == null || sendOnEnter === 'normal' || sendOnEnter === 'desktop') && Meteor.Device.isDesktop()) {
-				if (!event.shiftKey && !event.ctrlKey && !event.altKey && !event.metaKey) { // Enter without shift/ctrl/alt
-					event.preventDefault();
-					event.stopPropagation();
-					this.send(rid, input);
-					return;
-				} else if (!event.shiftKey) {
-					return input.value += '\n';
-				}
-			} else if (sendOnEnter === 'alternative') {
-				if (event.shiftKey || event.ctrlKey || event.altKey || event.metaKey) { // Enter with shift/ctrl/alt
-					event.preventDefault();
-					event.stopPropagation();
-					this.send(rid, input);
-					return;
-				}
+		if (k === 13 || k === 10) { // New line or carriage return
+			const sendOnEnterActive = sendOnEnter == null || sendOnEnter === 'normal' ||
+				(sendOnEnter === 'desktop' && Meteor.Device.isDesktop());
+			const withModifier = event.shiftKey || event.ctrlKey || event.altKey || event.metaKey;
+			const isSending = (sendOnEnterActive && !withModifier) || (!sendOnEnterActive && withModifier);
+
+			event.preventDefault();
+			event.stopPropagation();
+			if (isSending) {
+				this.send(rid, input);
+			} else {
+				this.insertNewLine(input);
 			}
-		}
 
+			return;
+		}
 
 		if (k === 9) { // Tab
 			event.preventDefault();
diff --git a/packages/rocketchat-ui/client/lib/codeMirror/codeMirrorComponent.js b/packages/rocketchat-ui/client/lib/codeMirror/codeMirrorComponent.js
index 74f5be911eef692d541684bc4a5c43e01a556947..193a5a8a209a964ae38d4aa4b6c5a78e4d9f9a1a 100644
--- a/packages/rocketchat-ui/client/lib/codeMirror/codeMirrorComponent.js
+++ b/packages/rocketchat-ui/client/lib/codeMirror/codeMirrorComponent.js
@@ -1,6 +1,9 @@
 /* global CodeMirrors */
 CodeMirrors = {};
 
+import { Meteor } from 'meteor/meteor';
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
 import 'codemirror/lib/codemirror.css';
 import CodeMirror from 'codemirror/lib/codemirror.js';
 
diff --git a/packages/rocketchat-ui/client/lib/collections.js b/packages/rocketchat-ui/client/lib/collections.js
index b5d469677ec21a722c577ed13ac5ad5507580f05..f7c476a4e9644da29afde80280f3aec58eb7c96b 100644
--- a/packages/rocketchat-ui/client/lib/collections.js
+++ b/packages/rocketchat-ui/client/lib/collections.js
@@ -1,20 +1,23 @@
+import { Meteor } from 'meteor/meteor';
+import { Mongo } from 'meteor/mongo';
+import { Tracker } from 'meteor/tracker';
 import _ from 'underscore';
 
 this.ChatMessage = new Mongo.Collection(null);
 this.CachedChatRoom = new RocketChat.CachedCollection({ name: 'rooms' });
-this.ChatRoom = this.CachedChatRoom.collection;
+ChatRoom = this.CachedChatRoom.collection;
 
 this.CachedChatSubscription = new RocketChat.CachedCollection({ name: 'subscriptions' });
-this.ChatSubscription = this.CachedChatSubscription.collection;
+ChatSubscription = this.CachedChatSubscription.collection; //eslint-disable-line
 this.UserRoles = new Mongo.Collection(null);
-this.RoomRoles = new Mongo.Collection(null);
+RoomRoles = new Mongo.Collection(null); //eslint-disable-line
 this.UserAndRoom = new Mongo.Collection(null);
 this.CachedChannelList = new Mongo.Collection(null);
 this.CachedUserList = new Mongo.Collection(null);
 
 RocketChat.models.Users = _.extend({}, RocketChat.models.Users, Meteor.users);
-RocketChat.models.Subscriptions = _.extend({}, RocketChat.models.Subscriptions, this.ChatSubscription);
-RocketChat.models.Rooms = _.extend({}, RocketChat.models.Rooms, this.ChatRoom);
+RocketChat.models.Subscriptions = _.extend({}, RocketChat.models.Subscriptions, ChatSubscription); //eslint-disable-line
+RocketChat.models.Rooms = _.extend({}, RocketChat.models.Rooms, ChatRoom);
 RocketChat.models.Messages = _.extend({}, RocketChat.models.Messages, this.ChatMessage);
 
 Meteor.startup(() => {
diff --git a/packages/rocketchat-ui/client/lib/cordova/facebook-login.js b/packages/rocketchat-ui/client/lib/cordova/facebook-login.js
index 5e7c635c85adba6833c6898fd216fcdb52273083..32cf7486acfc2ebc025eb1c7327bed96b3689ca8 100644
--- a/packages/rocketchat-ui/client/lib/cordova/facebook-login.js
+++ b/packages/rocketchat-ui/client/lib/cordova/facebook-login.js
@@ -1,4 +1,7 @@
 /* globals facebookConnectPlugin Facebook*/
+import { Meteor } from 'meteor/meteor';
+import { Accounts } from 'meteor/accounts-base';
+
 Meteor.loginWithFacebookCordova = function(options, callback) {
 	if (!callback && typeof options === 'function') {
 		callback = options;
diff --git a/packages/rocketchat-ui/client/lib/cordova/keyboard-fix.js b/packages/rocketchat-ui/client/lib/cordova/keyboard-fix.js
index f2fa1cdb4ac2805810e2c7f86dbfe10de5623761..1f29da56299618fa5bcb9f05dbc98bed4173abb8 100644
--- a/packages/rocketchat-ui/client/lib/cordova/keyboard-fix.js
+++ b/packages/rocketchat-ui/client/lib/cordova/keyboard-fix.js
@@ -1,4 +1,6 @@
 /* globals device cordova*/
+import { Meteor } from 'meteor/meteor';
+
 if (Meteor.isCordova) {
 	const body = $(document.body);
 	document.addEventListener('deviceready', function() {
diff --git a/packages/rocketchat-ui/client/lib/cordova/push.js b/packages/rocketchat-ui/client/lib/cordova/push.js
index 3f508635827c9ab8094fb5b33e82a07f505ad332..d3f8b02b88ba2486e5905ce20823ebff7b307b51 100644
--- a/packages/rocketchat-ui/client/lib/cordova/push.js
+++ b/packages/rocketchat-ui/client/lib/cordova/push.js
@@ -1,4 +1,8 @@
 /* globals Push Servers*/
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+
 if (Meteor.isCordova) {
 	// Push.addListener 'token', (token) ->
 	// 	Meteor.call 'log', 'CLIENT', 'token', arguments
diff --git a/packages/rocketchat-ui/client/lib/cordova/urls.js b/packages/rocketchat-ui/client/lib/cordova/urls.js
index ed6d9744e4829b4b395bdf256b6439bb957ea2c9..f4e7d8236aa4a328a53960394178dc9460a05091 100644
--- a/packages/rocketchat-ui/client/lib/cordova/urls.js
+++ b/packages/rocketchat-ui/client/lib/cordova/urls.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.startup(() => {
 	if (!Meteor.isCordova) { return; }
 	// Handle click events for all external URLs
diff --git a/packages/rocketchat-ui/client/lib/cordova/user-state.js b/packages/rocketchat-ui/client/lib/cordova/user-state.js
index 748eb57c00a88b1be916b876be5091c0351ad27c..db4762e0f4e58901aa680261c1249cd68125b1da 100644
--- a/packages/rocketchat-ui/client/lib/cordova/user-state.js
+++ b/packages/rocketchat-ui/client/lib/cordova/user-state.js
@@ -1,4 +1,5 @@
 /* globals UserPresence, readMessage */
+import { Meteor } from 'meteor/meteor';
 import _ from 'underscore';
 
 let timer = undefined;
diff --git a/packages/rocketchat-ui/client/lib/fileUpload.js b/packages/rocketchat-ui/client/lib/fileUpload.js
index 3a3177a803aa407a53814448566a4424d598ffbd..bf9dc1669254177a9e6090e287408c4c94919a37 100644
--- a/packages/rocketchat-ui/client/lib/fileUpload.js
+++ b/packages/rocketchat-ui/client/lib/fileUpload.js
@@ -1,5 +1,8 @@
 /* globals fileUploadHandler, Handlebars, fileUpload, modal, t */
 /* exported fileUpload */
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
+import { Session } from 'meteor/session';
 import s from 'underscore.string';
 
 const readAsDataURL = (file, callback) => {
diff --git a/packages/rocketchat-ui/client/lib/fireEvent.js b/packages/rocketchat-ui/client/lib/fireEvent.js
index 229bd6693c36970522336833d5a1cf50e68aa1da..aa3908c70527b6cd6bd726d43dab2a73f85793ac 100644
--- a/packages/rocketchat-ui/client/lib/fireEvent.js
+++ b/packages/rocketchat-ui/client/lib/fireEvent.js
@@ -1,4 +1,6 @@
-window.fireGlobalEvent = function _fireGlobalEvent(eventName, params) {
+import { Tracker } from 'meteor/tracker';
+
+fireGlobalEvent = function _fireGlobalEvent(eventName, params) { //eslint-disable-line
 	window.dispatchEvent(new CustomEvent(eventName, { detail: params }));
 
 	Tracker.autorun((computation) => {
diff --git a/packages/rocketchat-ui/client/lib/iframeCommands.js b/packages/rocketchat-ui/client/lib/iframeCommands.js
index 0d59f0e1b7a75ec95884541bf15f1463136eefa9..099443e156120252606725f57b47b8cbc7f1d47b 100644
--- a/packages/rocketchat-ui/client/lib/iframeCommands.js
+++ b/packages/rocketchat-ui/client/lib/iframeCommands.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Session } from 'meteor/session';
 import s from 'underscore.string';
 
 const commands = {
diff --git a/packages/rocketchat-ui/client/lib/menu.js b/packages/rocketchat-ui/client/lib/menu.js
index 87fc141f8d35513248ae727632b187cbbe14fb76..2ebabfd3f19760f973e9aa06ec1543259238e53d 100644
--- a/packages/rocketchat-ui/client/lib/menu.js
+++ b/packages/rocketchat-ui/client/lib/menu.js
@@ -1,3 +1,4 @@
+import { Session } from 'meteor/session';
 import _ from 'underscore';
 import EventEmitter from 'wolfy87-eventemitter';
 import { lazyloadtick } from 'meteor/rocketchat:lazy-load';
diff --git a/packages/rocketchat-ui/client/lib/modal.js b/packages/rocketchat-ui/client/lib/modal.js
index 32d72453fa9ad62948875a9fbd74a21654807536..f09195e9b0e56e52901699e334de6b6175ede70d 100644
--- a/packages/rocketchat-ui/client/lib/modal.js
+++ b/packages/rocketchat-ui/client/lib/modal.js
@@ -1,3 +1,5 @@
+import { Blaze } from 'meteor/blaze';
+
 this.Modal = (function() {
 
 	const self = {};
diff --git a/packages/rocketchat-ui/client/lib/msgTyping.js b/packages/rocketchat-ui/client/lib/msgTyping.js
index dc3f764172395330432a41a4cc7fbfd986f919cc..85dede240bccb0d739a9c8768cbb594baeef046e 100644
--- a/packages/rocketchat-ui/client/lib/msgTyping.js
+++ b/packages/rocketchat-ui/client/lib/msgTyping.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Session } from 'meteor/session';
 import _ from 'underscore';
 
 export const MsgTyping = (function() {
diff --git a/packages/rocketchat-ui/client/lib/notification.js b/packages/rocketchat-ui/client/lib/notification.js
index 3d92f6d5218de8de7d51331876d0cbe6e731333e..afdfdf1834333265c281ed67457990d6fcdb51bf 100644
--- a/packages/rocketchat-ui/client/lib/notification.js
+++ b/packages/rocketchat-ui/client/lib/notification.js
@@ -1,4 +1,10 @@
 // @TODO implementar 'clicar na notificacao' abre a janela do chat
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Random } from 'meteor/random';
+import { Tracker } from 'meteor/tracker';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Session } from 'meteor/session';
 import _ from 'underscore';
 import s from 'underscore.string';
 import { e2e } from 'meteor/rocketchat:e2e';
diff --git a/packages/rocketchat-ui/client/lib/parentTemplate.js b/packages/rocketchat-ui/client/lib/parentTemplate.js
index b7c24c25b62b44c5fc5762e0d5ca4750d0615254..fb2d2a03569bdf7f6ccdf0421930b9e18f8316a5 100644
--- a/packages/rocketchat-ui/client/lib/parentTemplate.js
+++ b/packages/rocketchat-ui/client/lib/parentTemplate.js
@@ -1,3 +1,5 @@
+import { Blaze } from 'meteor/blaze';
+
 /**
  * Get the parent template instance
  * @param {Number} [levels] How many levels to go up. Default is 1
diff --git a/packages/rocketchat-ui/client/lib/readMessages.js b/packages/rocketchat-ui/client/lib/readMessages.js
index 5e7ac28265950743fb986d419da471156b43d04e..b35db6edb2d25558ae6fa1d72e8d2ce5350e13ef 100644
--- a/packages/rocketchat-ui/client/lib/readMessages.js
+++ b/packages/rocketchat-ui/client/lib/readMessages.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { Session } from 'meteor/session';
 import _ from 'underscore';
 
 /* DEFINITIONS
@@ -140,15 +142,11 @@ const readMessage = new class {
 			ts: {
 				$lt: subscription.ls,
 			},
-		}
-			// 'u._id':
-			// 	$ne: Meteor.userId()
-			, {
+		}, {
 			sort: {
 				ts: -1,
 			},
-		}
-		);
+		});
 
 		if ((lastReadRecord == null) && (RoomHistoryManager.getRoom(room.rid).unreadNotLoaded.get() === 0)) {
 			lastReadRecord =
@@ -170,13 +168,11 @@ const readMessage = new class {
 				'u._id': {
 					$ne: Meteor.userId(),
 				},
-			}
-				, {
+			}, {
 				sort: {
 					ts: 1,
 				},
-			}
-			);
+			});
 
 			if (firstUnreadRecord != null) {
 				room.unreadFirstId = firstUnreadRecord._id;
diff --git a/packages/rocketchat-ui/client/lib/recorderjs/videoRecorder.js b/packages/rocketchat-ui/client/lib/recorderjs/videoRecorder.js
index aa6c8882e63359e1396b1a3e6463fe1a518f9760..3d0c88b0634ddc32fe805ca2bfcc4d0c31741aef 100644
--- a/packages/rocketchat-ui/client/lib/recorderjs/videoRecorder.js
+++ b/packages/rocketchat-ui/client/lib/recorderjs/videoRecorder.js
@@ -1,3 +1,5 @@
+import { ReactiveVar } from 'meteor/reactive-var';
+
 this.VideoRecorder = new class {
 	constructor() {
 		this.started = false;
diff --git a/packages/rocketchat-ui/client/lib/sideNav.js b/packages/rocketchat-ui/client/lib/sideNav.js
index 4224c2e79c49751223a66086d0ce124a5e032460..cda0d349974c089109943b4e7fbb70f875b92023 100644
--- a/packages/rocketchat-ui/client/lib/sideNav.js
+++ b/packages/rocketchat-ui/client/lib/sideNav.js
@@ -1,4 +1,7 @@
-this.SideNav = new class {
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Session } from 'meteor/session';
+
+SideNav = new class { //eslint-disable-line
 	constructor() {
 		this.initiated = false;
 		this.sideNav = {};
diff --git a/packages/rocketchat-ui/client/lib/tapi18n.js b/packages/rocketchat-ui/client/lib/tapi18n.js
index a470bb9926271781935b88d1635f67cfe683fc9f..4ea4f5aaa5bf82b76f70ed32d60a886782b22746 100644
--- a/packages/rocketchat-ui/client/lib/tapi18n.js
+++ b/packages/rocketchat-ui/client/lib/tapi18n.js
@@ -1,6 +1,7 @@
 import _ from 'underscore';
+import { TAPi18n } from 'meteor/tap:i18n';
 
-this.t = function(key, ...replaces) {
+t = function(key, ...replaces) {
 	if (_.isObject(replaces[0])) {
 		return TAPi18n.__(key, ...replaces);
 	} else {
diff --git a/packages/rocketchat-ui/client/views/404/roomNotFound.js b/packages/rocketchat-ui/client/views/404/roomNotFound.js
index f9481b614f52ca68daf47c163a6be94501f2726f..da7ebe9704ca9ac8fc57459ea1e449f38b51e0ef 100644
--- a/packages/rocketchat-ui/client/views/404/roomNotFound.js
+++ b/packages/rocketchat-ui/client/views/404/roomNotFound.js
@@ -1,3 +1,8 @@
+import { Meteor } from 'meteor/meteor';
+import { Blaze } from 'meteor/blaze';
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
+
 Template.roomNotFound.helpers({
 	data() {
 		return Session.get('roomNotFound');
diff --git a/packages/rocketchat-ui/client/views/app/alerts.js b/packages/rocketchat-ui/client/views/app/alerts.js
index 679b5f06567c2bc7b523359fbad48c787be0d8d0..9558678857fedd3b550a7e11b8acf81034e9fab4 100644
--- a/packages/rocketchat-ui/client/views/app/alerts.js
+++ b/packages/rocketchat-ui/client/views/app/alerts.js
@@ -1,4 +1,7 @@
 /* globals alerts */
+import { Blaze } from 'meteor/blaze';
+import { Template } from 'meteor/templating';
+
 this.alerts = {
 	renderedAlert: null,
 	open(config) {
diff --git a/packages/rocketchat-ui/client/views/app/burger.js b/packages/rocketchat-ui/client/views/app/burger.js
index 649bdf1f516cb99ab0ec77d120c017f931ee8c8a..a3c61d480528677b48565467c26d0d97c210ad37 100644
--- a/packages/rocketchat-ui/client/views/app/burger.js
+++ b/packages/rocketchat-ui/client/views/app/burger.js
@@ -1,3 +1,6 @@
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
+
 Template.burger.helpers({
 	unread() {
 		return Session.get('unread');
diff --git a/packages/rocketchat-ui/client/views/app/createChannel.js b/packages/rocketchat-ui/client/views/app/createChannel.js
index 232c745ab9c48bd47329a13612e2ed709a2b4514..6a67df806389f0d4ff647f5e60d25eaddaa7cc72 100644
--- a/packages/rocketchat-ui/client/views/app/createChannel.js
+++ b/packages/rocketchat-ui/client/views/app/createChannel.js
@@ -1,3 +1,10 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Tracker } from 'meteor/tracker';
+import { Blaze } from 'meteor/blaze';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
+import { AutoComplete } from 'meteor/mizzao:autocomplete';
 import _ from 'underscore';
 
 const acEvents = {
@@ -260,7 +267,7 @@ Template.createChannel.onRendered(function() {
 		users.set(usersArr);
 	});
 });
-/* global AutoComplete */
+
 Template.createChannel.onCreated(function() {
 	this.selectedUsers = new ReactiveVar([]);
 
diff --git a/packages/rocketchat-ui/client/views/app/directory.js b/packages/rocketchat-ui/client/views/app/directory.js
index 21e640f6f0805ab16badb7f593be69d50d441168..3ac767a92cddea1202176befe553e876a7521e27 100644
--- a/packages/rocketchat-ui/client/views/app/directory.js
+++ b/packages/rocketchat-ui/client/views/app/directory.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Tracker } from 'meteor/tracker';
+import { Template } from 'meteor/templating';
 import _ from 'underscore';
 import { timeAgo } from './helpers';
 
diff --git a/packages/rocketchat-ui/client/views/app/fullModal.js b/packages/rocketchat-ui/client/views/app/fullModal.js
index ca8046f1e2751ba738103426f2c3b6dc6ad69549..21674210c2901f95189df6f0454c63d230ad2b11 100644
--- a/packages/rocketchat-ui/client/views/app/fullModal.js
+++ b/packages/rocketchat-ui/client/views/app/fullModal.js
@@ -1,3 +1,7 @@
+import { Blaze } from 'meteor/blaze';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { BlazeLayout } from 'meteor/kadira:blaze-layout';
+import { Template } from 'meteor/templating';
 let oldRoute = '';
 const parent = document.querySelector('.main-content');
 
diff --git a/packages/rocketchat-ui/client/views/app/home.js b/packages/rocketchat-ui/client/views/app/home.js
index 8f45898cf590c0de12f888c65137b421b3a90416..07f79aa9cce23fbf0c965b5350863185f8eb0543 100644
--- a/packages/rocketchat-ui/client/views/app/home.js
+++ b/packages/rocketchat-ui/client/views/app/home.js
@@ -1,3 +1,5 @@
+import { Template } from 'meteor/templating';
+
 Template.home.helpers({
 	title() {
 		return RocketChat.settings.get('Layout_Home_Title');
diff --git a/packages/rocketchat-ui/client/views/app/modal.js b/packages/rocketchat-ui/client/views/app/modal.js
index f2157cffb9d8d365866d3892baa118f593b1da2d..f20bffda3a3531d5b4e7452727adff69d4cfea31 100644
--- a/packages/rocketchat-ui/client/views/app/modal.js
+++ b/packages/rocketchat-ui/client/views/app/modal.js
@@ -1,6 +1,9 @@
 /* globals modal */
+import { Meteor } from 'meteor/meteor';
+import { Blaze } from 'meteor/blaze';
+import { Template } from 'meteor/templating';
 
-this.modal = {
+modal = {
 	renderedModal: null,
 	open(config = {}, fn, onCancel) {
 		config.confirmButtonText = config.confirmButtonText || (config.type === 'error' ? t('Ok') : t('Send'));
diff --git a/packages/rocketchat-ui/client/views/app/photoswipe.js b/packages/rocketchat-ui/client/views/app/photoswipe.js
index dbbf19de227cb9e3f14ffa6d109b2a99b3f56352..adc22287e76da709a59970d50f8fb1f3359c32fc 100644
--- a/packages/rocketchat-ui/client/views/app/photoswipe.js
+++ b/packages/rocketchat-ui/client/views/app/photoswipe.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import PhotoSwipe from 'photoswipe';
 import PhotoSwipeUI_Default from 'photoswipe/dist/photoswipe-ui-default';
 import 'photoswipe/dist/photoswipe.css';
diff --git a/packages/rocketchat-ui/client/views/app/popout.js b/packages/rocketchat-ui/client/views/app/popout.js
index 9e2cc2dae4f55baf8f58a828415aa5db05e8961a..2450dd89225b7786483d1745236fa421743c6e35 100644
--- a/packages/rocketchat-ui/client/views/app/popout.js
+++ b/packages/rocketchat-ui/client/views/app/popout.js
@@ -1,6 +1,9 @@
-/* globals popout */
+/* eslint-disable */
+import { Blaze } from 'meteor/blaze';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Template } from 'meteor/templating';
 
-this.popout = {
+popout = {
 	context: null,
 	isAudioOnly: false,
 	showVideoControls: true,
diff --git a/packages/rocketchat-ui/client/views/app/popover.js b/packages/rocketchat-ui/client/views/app/popover.js
index 155f8bc4110db3bab1e2407cd6cf67e66840c4b3..4a2c92db2d5245e9dd67347c2328b8c56fde3cc6 100644
--- a/packages/rocketchat-ui/client/views/app/popover.js
+++ b/packages/rocketchat-ui/client/views/app/popover.js
@@ -1,4 +1,9 @@
 /* globals popover isRtl */
+import { Meteor } from 'meteor/meteor';
+import { Blaze } from 'meteor/blaze';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Template } from 'meteor/templating';
+import { TAPi18n } from 'meteor/tap:i18n';
 import _ from 'underscore';
 
 import { hide, leave } from 'meteor/rocketchat:lib';
diff --git a/packages/rocketchat-ui/client/views/app/room.js b/packages/rocketchat-ui/client/views/app/room.js
index f064a846751a0381fd5b468d8968ffb4ea69a29e..7d152c81c546ae900592300dca2c27fd0f55843b 100644
--- a/packages/rocketchat-ui/client/views/app/room.js
+++ b/packages/rocketchat-ui/client/views/app/room.js
@@ -1,5 +1,13 @@
 /* globals chatMessages, fileUpload , fireGlobalEvent , cordova , readMessage , RoomRoles, popover , device */
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Random } from 'meteor/random';
+import { Tracker } from 'meteor/tracker';
+import { Blaze } from 'meteor/blaze';
+import { FlowRouter } from 'meteor/kadira:flow-router';
 import { RocketChatTabBar } from 'meteor/rocketchat:lib';
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
 
 import _ from 'underscore';
 import moment from 'moment';
diff --git a/packages/rocketchat-ui/client/views/app/roomSearch.js b/packages/rocketchat-ui/client/views/app/roomSearch.js
index 32b27cadd701877705a94331b9f5e302c54ead8b..26c451fbf36453832cf113a0b0ccaabd6c5aaad6 100644
--- a/packages/rocketchat-ui/client/views/app/roomSearch.js
+++ b/packages/rocketchat-ui/client/views/app/roomSearch.js
@@ -1,3 +1,5 @@
+import { Template } from 'meteor/templating';
+
 Template.roomSearch.helpers({
 	roomIcon() {
 		if (this.type === 'u') {
diff --git a/packages/rocketchat-ui/client/views/app/secretURL.js b/packages/rocketchat-ui/client/views/app/secretURL.js
index 4ede2ab9d7de6332ad5e3e7d902235f6dedac796..6a9e7cf89421056dc095ed1cad442b5c011e9e47 100644
--- a/packages/rocketchat-ui/client/views/app/secretURL.js
+++ b/packages/rocketchat-ui/client/views/app/secretURL.js
@@ -1,4 +1,10 @@
 /* globals KonchatNotification */
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
+
 Template.secretURL.helpers({
 	registrationAllowed() {
 		const { hashIsValid } = Template.instance();
diff --git a/packages/rocketchat-ui/client/views/app/videoCall/videoButtons.js b/packages/rocketchat-ui/client/views/app/videoCall/videoButtons.js
index a6427676028b52ec63d8846dafa3cf2d5cb05459..f43a0fcad29d01e9ec16434f69f143bec02328d5 100644
--- a/packages/rocketchat-ui/client/views/app/videoCall/videoButtons.js
+++ b/packages/rocketchat-ui/client/views/app/videoCall/videoButtons.js
@@ -1,4 +1,7 @@
 /* globals WebRTC */
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
+
 Template.videoButtons.helpers({
 	videoAvaliable() {
 		return WebRTC.getInstanceByRoomId(Session.get('openedRoom')) != null;
diff --git a/packages/rocketchat-ui/client/views/app/videoCall/videoCall.js b/packages/rocketchat-ui/client/views/app/videoCall/videoCall.js
index 83ca3fb4bc09d8bb7fdc093967690a7b03720926..3a76a2176b1dd933baa89cb4d9911dbc93a21d45 100644
--- a/packages/rocketchat-ui/client/views/app/videoCall/videoCall.js
+++ b/packages/rocketchat-ui/client/views/app/videoCall/videoCall.js
@@ -1,4 +1,9 @@
 /* globals WebRTC */
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
+
 Template.videoCall.onCreated(function() {
 	return this.mainVideo = new ReactiveVar('$auto');
 });
diff --git a/packages/rocketchat-ui/client/views/cmsPage.js b/packages/rocketchat-ui/client/views/cmsPage.js
index 4daa5e167496b705ea6d087e477c05f50c936cb1..27d1d4b37a3a374b77b1443281d3930514fdb388 100644
--- a/packages/rocketchat-ui/client/views/cmsPage.js
+++ b/packages/rocketchat-ui/client/views/cmsPage.js
@@ -1,6 +1,12 @@
+import { ReactiveVar } from 'meteor/reactive-var';
+import { FlowRouter } from 'meteor/kadira:flow-router';
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
+import { Tracker } from 'meteor/tracker';
+
 Template.cmsPage.onCreated(function() {
 	this.page = new ReactiveVar('');
-	return Meteor.autorun(() => {
+	return Tracker.autorun(() => {
 		const cmsPage = Session.get('cmsPage');
 		if (cmsPage != null) {
 			return this.page.set(RocketChat.settings.get(cmsPage));
diff --git a/packages/rocketchat-ui/client/views/fxos.js b/packages/rocketchat-ui/client/views/fxos.js
index 975d66c8375ac5732052a3b54afd5f4a09fdbd07..fef0a8167cd23fcb4e1251ea9f662e58ff7ac2d3 100644
--- a/packages/rocketchat-ui/client/views/fxos.js
+++ b/packages/rocketchat-ui/client/views/fxos.js
@@ -1,3 +1,6 @@
+import { BlazeLayout } from 'meteor/kadira:blaze-layout';
+import { Template } from 'meteor/templating';
+
 Template.fxOsInstallPrompt.onRendered(function() {
 
 	const showPrompt = function() {
diff --git a/packages/rocketchat-ui/client/views/modal.js b/packages/rocketchat-ui/client/views/modal.js
index a13b6eeb7622f5cb8e65a62d4240adc0ac8f85ae..fecf7b82f47361d8f7b0c82f75dc920e266d77de 100644
--- a/packages/rocketchat-ui/client/views/modal.js
+++ b/packages/rocketchat-ui/client/views/modal.js
@@ -1 +1,3 @@
+import { Template } from 'meteor/templating';
+
 Template.modal.rendered = function() {};
diff --git a/packages/rocketchat-ui/getAvatarUrlFromUsername.js b/packages/rocketchat-ui/getAvatarUrlFromUsername.js
index 66b6db3983ea9c8ac4a00e89eae9cbdc5c11a669..11313a0757b23cdd4be9301bf2eb68f174e8e638 100644
--- a/packages/rocketchat-ui/getAvatarUrlFromUsername.js
+++ b/packages/rocketchat-ui/getAvatarUrlFromUsername.js
@@ -1,5 +1,8 @@
 // TODO: remove global
-this.getAvatarUrlFromUsername = function(username) {
+import { Meteor } from 'meteor/meteor';
+import { Session } from 'meteor/session';
+
+getAvatarUrlFromUsername = function(username) { //eslint-disable-line
 	const key = `avatar_random_${ username }`;
 	const random = typeof Session !== 'undefined' && typeof Session.keys[key] !== 'undefined' ? Session.keys[key] : 0;
 	if (username == null) {
diff --git a/packages/rocketchat-ui/package.js b/packages/rocketchat-ui/package.js
index 0a246d6db4d10969e389205926a995061f790b19..0ac4021d77b003daf1167d390cf69851752e3a24 100644
--- a/packages/rocketchat-ui/package.js
+++ b/packages/rocketchat-ui/package.js
@@ -26,9 +26,11 @@ Package.onUse(function(api) {
 		'raix:ui-dropped-event',
 		'rocketchat:lazy-load',
 		'rocketchat:e2e',
+		'mizzao:autocomplete',
 	]);
 
 	api.use('kadira:flow-router', 'client');
+	api.use('kadira:blaze-layout', 'client');
 
 	api.addFiles('getAvatarUrlFromUsername.js');
 
@@ -53,7 +55,7 @@ Package.onUse(function(api) {
 	api.addFiles('client/lib/RoomHistoryManager.js', 'client');
 	api.addFiles('client/lib/RoomManager.js', 'client');
 	api.addFiles('client/lib/sideNav.js', 'client');
-	api.addFiles('client/lib/tapi18n.js', 'client');
+	api.addFiles('client/lib/tapi18n.js');
 	api.addFiles('client/lib/textarea-autogrow.js', 'client');
 
 	api.addFiles('client/lib/codeMirror/codeMirror.js', 'client');
@@ -144,4 +146,15 @@ Package.onUse(function(api) {
 	api.addFiles('client/components/contextualBar.js', 'client');
 
 	api.export('fileUpload');
+	api.export('t');
+	api.export('modal', 'client');
+	api.export('fireGlobalEvent', 'client');
+	api.export('ChatRoom', 'client');
+	api.export('ChatSubscription', 'client');
+	api.export('RoomRoles', 'client');
+	api.export('SideNav', 'client');
+	api.export('ChatMessages', 'client');
+	api.export('RoomManager', 'client');
+	api.export('getAvatarUrlFromUsername');
+	api.export('popout', 'client');
 });
diff --git a/packages/rocketchat-user-data-download/server/cronProcessDownloads.js b/packages/rocketchat-user-data-download/server/cronProcessDownloads.js
index c275d807f1aef756f8ce4cabdce2ce02aeb771c7..715faf965629b53bcb6125dd96f29f93f352a9b9 100644
--- a/packages/rocketchat-user-data-download/server/cronProcessDownloads.js
+++ b/packages/rocketchat-user-data-download/server/cronProcessDownloads.js
@@ -1,5 +1,7 @@
 /* globals SyncedCron */
 
+import { Meteor } from 'meteor/meteor';
+import { TAPi18n } from 'meteor/tap:i18n';
 import fs from 'fs';
 import path from 'path';
 import archiver from 'archiver';
diff --git a/packages/rocketchat-version-check/client/client.js b/packages/rocketchat-version-check/client/client.js
index 4c0679fe59e360ebee8f4086388d78fafd262ec2..86972d176e50db12ae8ebb6015477edce9f78ad6 100644
--- a/packages/rocketchat-version-check/client/client.js
+++ b/packages/rocketchat-version-check/client/client.js
@@ -1,4 +1,7 @@
 /* globals alerts */
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
+import { TAPi18n } from 'meteor/tap:i18n';
 
 Meteor.startup(function() {
 	Tracker.autorun(() => {
diff --git a/packages/rocketchat-version-check/package.js b/packages/rocketchat-version-check/package.js
index 358cf7d2ad1e30f7d81ede31be4f7f05cbd0b8d2..a88d0e9e712f21129683ed12874b57bacb9973bb 100644
--- a/packages/rocketchat-version-check/package.js
+++ b/packages/rocketchat-version-check/package.js
@@ -11,7 +11,7 @@ Package.onUse(function(api) {
 		'ecmascript',
 		'rocketchat:lib',
 		'rocketchat:logger',
-		'percolate:synced-cron',
+		'littledata:synced-cron',
 	]);
 
 	api.mainModule('client/client.js', 'client');
diff --git a/packages/rocketchat-version-check/server/functions/checkVersionUpdate.js b/packages/rocketchat-version-check/server/functions/checkVersionUpdate.js
index 31e4f1c1404df325eaf4379f6067ec38757db456..cf05b40bfd849546574a8535a820a92fed770e45 100644
--- a/packages/rocketchat-version-check/server/functions/checkVersionUpdate.js
+++ b/packages/rocketchat-version-check/server/functions/checkVersionUpdate.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { TAPi18n } from 'meteor/tap:i18n';
 import semver from 'semver';
 import getNewUpdates from './getNewUpdates';
 import logger from '../logger';
diff --git a/packages/rocketchat-version-check/server/methods/banner_dismiss.js b/packages/rocketchat-version-check/server/methods/banner_dismiss.js
index 885c4329e672ca93d115f3019d35350e7012fd46..5080c68c332ac0aa9cfa1b26e6a06e0f95d06c86 100644
--- a/packages/rocketchat-version-check/server/methods/banner_dismiss.js
+++ b/packages/rocketchat-version-check/server/methods/banner_dismiss.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	'banner/dismiss'({ id }) {
 		if (!Meteor.userId()) {
diff --git a/packages/rocketchat-version-check/server/server.js b/packages/rocketchat-version-check/server/server.js
index 4dee1218cdd06a843656e13974e9a55dec1bfb9b..544ecdbfb4ec50d45ebf77b305827208d9b1e06e 100644
--- a/packages/rocketchat-version-check/server/server.js
+++ b/packages/rocketchat-version-check/server/server.js
@@ -1,5 +1,6 @@
 /* globals SyncedCron */
 
+import { Meteor } from 'meteor/meteor';
 import checkVersionUpdate from './functions/checkVersionUpdate';
 import './methods/banner_dismiss';
 import './addSettings';
diff --git a/packages/rocketchat-videobridge/client/actionLink.js b/packages/rocketchat-videobridge/client/actionLink.js
index dfb978495cc28d5e8993a0a2d3f48cd15a6c2e85..0cfe8e673871a00eaa077dc7e12440c18f516043 100644
--- a/packages/rocketchat-videobridge/client/actionLink.js
+++ b/packages/rocketchat-videobridge/client/actionLink.js
@@ -1,4 +1,7 @@
+import { Session } from 'meteor/session';
+import { TAPi18n } from 'meteor/tap:i18n';
 import toastr from 'toastr';
+
 RocketChat.actionLinks.register('joinJitsiCall', function(message, params, instance) {
 	if (Session.get('openedRoom')) {
 		const rid = Session.get('openedRoom');
diff --git a/packages/rocketchat-videobridge/client/tabBar.js b/packages/rocketchat-videobridge/client/tabBar.js
index 1ca734471e3c893f1d4090f4564f244acab16f5e..77458686f12782e0b43e04e60d17529d3dd25593 100644
--- a/packages/rocketchat-videobridge/client/tabBar.js
+++ b/packages/rocketchat-videobridge/client/tabBar.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
+import { Session } from 'meteor/session';
+
 Meteor.startup(function() {
 
 	Tracker.autorun(function() {
diff --git a/packages/rocketchat-videobridge/client/views/videoFlexTab.js b/packages/rocketchat-videobridge/client/views/videoFlexTab.js
index 4896b7f3ad804c1b51013331b2d2247b0e21192c..a4374626d96cb9a760aa2b4626ad12c9a08a2a86 100644
--- a/packages/rocketchat-videobridge/client/views/videoFlexTab.js
+++ b/packages/rocketchat-videobridge/client/views/videoFlexTab.js
@@ -1,5 +1,8 @@
 /* globals JitsiMeetExternalAPI */
 /* eslint new-cap: [2, {"capIsNewExceptions": ["MD5"]}] */
+import { Meteor } from 'meteor/meteor';
+import { Session } from 'meteor/session';
+import { Template } from 'meteor/templating';
 
 Template.videoFlexTab.helpers({
 	openInNewWindow() {
@@ -104,7 +107,7 @@ Template.videoFlexTab.onRendered(function() {
 						// Lets make sure its loaded before we try to show it.
 						} else if (typeof JitsiMeetExternalAPI !== 'undefined') {
 
-						// Keep it from showing duplicates when re-evaluated on variable change.
+							// Keep it from showing duplicates when re-evaluated on variable change.
 							if (!$('[id^=jitsiConference]').length) {
 								this.api = new JitsiMeetExternalAPI(domain, jitsiRoom, width, height, this.$('.video-container').get(0), configOverwrite, interfaceConfigOverwrite, noSsl);
 
diff --git a/packages/rocketchat-videobridge/client/views/videoFlexTabBbb.js b/packages/rocketchat-videobridge/client/views/videoFlexTabBbb.js
index f24d4a80f80da173d786f27d2917a231b2469c95..26de77736168f4ba25ed69f886f3622bfcf92f62 100644
--- a/packages/rocketchat-videobridge/client/views/videoFlexTabBbb.js
+++ b/packages/rocketchat-videobridge/client/views/videoFlexTabBbb.js
@@ -1,5 +1,7 @@
 /* eslint new-cap: [2, {"capIsNewExceptions": ["MD5"]}] */
 /* globals popout */
+import { Meteor } from 'meteor/meteor';
+import { Template } from 'meteor/templating';
 
 Template.videoFlexTabBbb.helpers({
 	openInNewWindow() {
diff --git a/packages/rocketchat-videobridge/lib/messageType.js b/packages/rocketchat-videobridge/lib/messageType.js
index 5804173411b9199f7d78fa5efb91fe6a381a6194..0033e5f066ae9f83323f8557bc1364eb51186b13 100644
--- a/packages/rocketchat-videobridge/lib/messageType.js
+++ b/packages/rocketchat-videobridge/lib/messageType.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { TAPi18n } from 'meteor/tap:i18n';
+
 Meteor.startup(function() {
 	RocketChat.MessageTypes.registerType({
 		id: 'jitsi_call_started',
diff --git a/packages/rocketchat-videobridge/server/methods/bbb.js b/packages/rocketchat-videobridge/server/methods/bbb.js
index 762899995d1fc4dee53f0d97570213e35ca0876e..dc0fdad5d92a86a36c9d4b56329f89bd2071b218 100644
--- a/packages/rocketchat-videobridge/server/methods/bbb.js
+++ b/packages/rocketchat-videobridge/server/methods/bbb.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import BigBlueButtonApi from 'meteor/rocketchat:bigbluebutton';
 import { HTTP } from 'meteor/http';
 import xml2js from 'xml2js';
diff --git a/packages/rocketchat-videobridge/server/methods/jitsiSetTimeout.js b/packages/rocketchat-videobridge/server/methods/jitsiSetTimeout.js
index ef7ef7198f24c267a01efe03aaa2e33e1e9e69d2..c3fcbaed39a54b5e74a8f47f7378df305cac4552 100644
--- a/packages/rocketchat-videobridge/server/methods/jitsiSetTimeout.js
+++ b/packages/rocketchat-videobridge/server/methods/jitsiSetTimeout.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { TAPi18n } from 'meteor/tap:i18n';
+
 Meteor.methods({
 	'jitsi:updateTimeout': (rid) => {
 
diff --git a/packages/rocketchat-videobridge/server/settings.js b/packages/rocketchat-videobridge/server/settings.js
index 8529234fcdf3d7da8b85b401db51ee2d24bce25b..c229ab6c6bb4d09c35f7c552d89d1782b36fda18 100644
--- a/packages/rocketchat-videobridge/server/settings.js
+++ b/packages/rocketchat-videobridge/server/settings.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.startup(function() {
 	RocketChat.settings.addGroup('Video Conference', function() {
 
diff --git a/packages/rocketchat-webdav/client/actionButton.js b/packages/rocketchat-webdav/client/actionButton.js
index b7c4ef80af34b23cc409e2a905e145e201da17cc..3eb6294e4cf31e5c1c23a1ffc1387083691e4ea5 100644
--- a/packages/rocketchat-webdav/client/actionButton.js
+++ b/packages/rocketchat-webdav/client/actionButton.js
@@ -1,4 +1,5 @@
 /* globals modal, RocketChat*/
+import { Meteor } from 'meteor/meteor';
 
 Meteor.startup(function() {
 
diff --git a/packages/rocketchat-webdav/client/addWebdavAccount.js b/packages/rocketchat-webdav/client/addWebdavAccount.js
index ee25ce2d11a64a317e71987f46a79ae0e5954c82..c3c5d1e6ca3e5ca21cab85306f459dd8a9daa296 100644
--- a/packages/rocketchat-webdav/client/addWebdavAccount.js
+++ b/packages/rocketchat-webdav/client/addWebdavAccount.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { Template } from 'meteor/templating';
 import _ from 'underscore';
 import toastr from 'toastr';
 
diff --git a/packages/rocketchat-webdav/client/collections/WebdavAccounts.js b/packages/rocketchat-webdav/client/collections/WebdavAccounts.js
index 9844a1169235c150bd331594f030b5a97ada27d1..1742fd6c4c09168a7801a2b26617c651f6b1eb26 100644
--- a/packages/rocketchat-webdav/client/collections/WebdavAccounts.js
+++ b/packages/rocketchat-webdav/client/collections/WebdavAccounts.js
@@ -1 +1,4 @@
+
+import { Mongo } from 'meteor/mongo';
+
 RocketChat.models.WebdavAccounts = new Mongo.Collection('rocketchat_webdav_accounts');
diff --git a/packages/rocketchat-webdav/client/selectWebdavAccount.js b/packages/rocketchat-webdav/client/selectWebdavAccount.js
index bb4fcd97994827108952cd7802a06d72fae28ab8..3485c9abdec92e3870da3f804dae09edacb9f2dd 100644
--- a/packages/rocketchat-webdav/client/selectWebdavAccount.js
+++ b/packages/rocketchat-webdav/client/selectWebdavAccount.js
@@ -1,4 +1,6 @@
 /* global */
+import { Meteor } from 'meteor/meteor';
+import { Template } from 'meteor/templating';
 import toastr from 'toastr';
 
 Template.selectWebdavAccount.helpers({
diff --git a/packages/rocketchat-webdav/client/webdavFilePicker.js b/packages/rocketchat-webdav/client/webdavFilePicker.js
index 34da1203b8bf2d1056ee559fc25b1aeeafa04eb1..c9896421b96e923fd813e50d12712a00a6cb612f 100644
--- a/packages/rocketchat-webdav/client/webdavFilePicker.js
+++ b/packages/rocketchat-webdav/client/webdavFilePicker.js
@@ -1,4 +1,6 @@
 /* global fileUploadHandler, Handlebars */
+import { Meteor } from 'meteor/meteor';
+import { Template } from 'meteor/templating';
 import _ from 'underscore';
 import toastr from 'toastr';
 import { Session } from 'meteor/session';
diff --git a/packages/rocketchat-webdav/server/methods/addWebdavAccount.js b/packages/rocketchat-webdav/server/methods/addWebdavAccount.js
index b4f7a3af515e86db7378bc71d53eb039234c0610..004b6bc55b9c4ee55bfd44f5ac11c890df91db0a 100644
--- a/packages/rocketchat-webdav/server/methods/addWebdavAccount.js
+++ b/packages/rocketchat-webdav/server/methods/addWebdavAccount.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
 import Webdav from 'webdav';
 
 Meteor.methods({
diff --git a/packages/rocketchat-webdav/server/methods/getFileFromWebdav.js b/packages/rocketchat-webdav/server/methods/getFileFromWebdav.js
index 3ad57fce1d3a7c51aa022c814c6a8f916e3aff70..d344ac462161564701be7a5acec9cb1276cc5509 100644
--- a/packages/rocketchat-webdav/server/methods/getFileFromWebdav.js
+++ b/packages/rocketchat-webdav/server/methods/getFileFromWebdav.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import Webdav from 'webdav';
 
 Meteor.methods({
diff --git a/packages/rocketchat-webdav/server/methods/getWebdavFileList.js b/packages/rocketchat-webdav/server/methods/getWebdavFileList.js
index 93c3dcea0d63ba13d47bb084f5d7650bd5fd8ccc..14d621ef719fd86f36948d833b410ad60a9092e3 100644
--- a/packages/rocketchat-webdav/server/methods/getWebdavFileList.js
+++ b/packages/rocketchat-webdav/server/methods/getWebdavFileList.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import Webdav from 'webdav';
 
 Meteor.methods({
diff --git a/packages/rocketchat-webdav/server/methods/removeWebdavAccount.js b/packages/rocketchat-webdav/server/methods/removeWebdavAccount.js
index 4cc461de072ccce668580d3e92a6dcc8db9da632..c184b339b5656ed3b049900db7932d9a686401e9 100644
--- a/packages/rocketchat-webdav/server/methods/removeWebdavAccount.js
+++ b/packages/rocketchat-webdav/server/methods/removeWebdavAccount.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	removeWebdavAccount(accountId) {
 		if (!Meteor.userId()) {
diff --git a/packages/rocketchat-webdav/server/methods/uploadFileToWebdav.js b/packages/rocketchat-webdav/server/methods/uploadFileToWebdav.js
index 394cbc3bcbaac2a849086f1b1abe311c9b836538..75cce42840e97bb7233ffe4c0ae8ba5789220325 100644
--- a/packages/rocketchat-webdav/server/methods/uploadFileToWebdav.js
+++ b/packages/rocketchat-webdav/server/methods/uploadFileToWebdav.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import Future from 'fibers/future';
 import Webdav from 'webdav';
 import stream from 'stream';
diff --git a/packages/rocketchat-webdav/server/publications/webdavAccounts.js b/packages/rocketchat-webdav/server/publications/webdavAccounts.js
index 40723b452c646a86a926bb4e71277b064c2dad87..78fafdf615ab68f61660c0ae4688a4d5a271417e 100644
--- a/packages/rocketchat-webdav/server/publications/webdavAccounts.js
+++ b/packages/rocketchat-webdav/server/publications/webdavAccounts.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.publish('webdavAccounts', function() {
 	if (!this.userId) {
 		return this.error(new Meteor.Error('error-not-authorized', 'Not authorized', { publish: 'webdavAccounts' }));
diff --git a/packages/rocketchat-webdav/startup/messageBoxActions.js b/packages/rocketchat-webdav/startup/messageBoxActions.js
index d92167e28f5dbfd661788e92e2336747c490012b..c8ccf193b429f85ce5cf2b529857fb3c19b44b10 100644
--- a/packages/rocketchat-webdav/startup/messageBoxActions.js
+++ b/packages/rocketchat-webdav/startup/messageBoxActions.js
@@ -1,4 +1,7 @@
 /* globals modal, RocketChat */
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
+
 RocketChat.messageBox.actions.add('WebDAV', 'Add Server', {
 	id: 'add-webdav',
 	icon: 'plus',
diff --git a/packages/rocketchat-webdav/startup/subscription.js b/packages/rocketchat-webdav/startup/subscription.js
index 0f6247066b38125635a259e6c0381ddc756d303d..f9a991687c61a532593022ca4ee4eed44e34b22a 100644
--- a/packages/rocketchat-webdav/startup/subscription.js
+++ b/packages/rocketchat-webdav/startup/subscription.js
@@ -1,4 +1,6 @@
+import { Meteor } from 'meteor/meteor';
 import { Tracker } from 'meteor/tracker';
+
 Tracker.autorun(() => {
 	if (Meteor.userId()) {
 		Meteor.subscribe('webdavAccounts');
diff --git a/packages/rocketchat-webrtc/client/WebRTCClass.js b/packages/rocketchat-webrtc/client/WebRTCClass.js
index ca893919998af66d992f8d9ac8ea495f2fb611a3..604d27cd69e700f61c3c2144dc2e5d83a813c010 100644
--- a/packages/rocketchat-webrtc/client/WebRTCClass.js
+++ b/packages/rocketchat-webrtc/client/WebRTCClass.js
@@ -1,4 +1,10 @@
 /* globals chrome, ChromeScreenShare */
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
+import { ReactiveVar } from 'meteor/reactive-var';
+import { FlowRouter } from 'meteor/kadira:flow-router' ;
+import { TAPi18n } from 'meteor/tap:i18n';
+
 class WebRTCTransportClass {
 	constructor(webrtcInstance) {
 		this.debug = false;
diff --git a/packages/rocketchat-wordpress/common.js b/packages/rocketchat-wordpress/common.js
index 52fd703b4e70e9f0ddb83ed7f5903ca842041293..7bd8bf3090bd71ae1867b62b3ad0bab206ff70a1 100644
--- a/packages/rocketchat-wordpress/common.js
+++ b/packages/rocketchat-wordpress/common.js
@@ -1,4 +1,6 @@
 /* globals CustomOAuth */
+import { Meteor } from 'meteor/meteor';
+import { Tracker } from 'meteor/tracker';
 import _ from 'underscore';
 
 const config = {
diff --git a/packages/rocketchat-theme/client/imports/components/alerts.css b/packages/rocketchat_theme/client/imports/components/alerts.css
similarity index 100%
rename from packages/rocketchat-theme/client/imports/components/alerts.css
rename to packages/rocketchat_theme/client/imports/components/alerts.css
diff --git a/packages/rocketchat-theme/client/imports/components/avatar.css b/packages/rocketchat_theme/client/imports/components/avatar.css
similarity index 100%
rename from packages/rocketchat-theme/client/imports/components/avatar.css
rename to packages/rocketchat_theme/client/imports/components/avatar.css
diff --git a/packages/rocketchat-theme/client/imports/components/badge.css b/packages/rocketchat_theme/client/imports/components/badge.css
similarity index 100%
rename from packages/rocketchat-theme/client/imports/components/badge.css
rename to packages/rocketchat_theme/client/imports/components/badge.css
diff --git a/packages/rocketchat-theme/client/imports/components/chip.css b/packages/rocketchat_theme/client/imports/components/chip.css
similarity index 100%
rename from packages/rocketchat-theme/client/imports/components/chip.css
rename to packages/rocketchat_theme/client/imports/components/chip.css
diff --git a/packages/rocketchat-theme/client/imports/components/contextual-bar.css b/packages/rocketchat_theme/client/imports/components/contextual-bar.css
similarity index 100%
rename from packages/rocketchat-theme/client/imports/components/contextual-bar.css
rename to packages/rocketchat_theme/client/imports/components/contextual-bar.css
diff --git a/packages/rocketchat-theme/client/imports/components/emojiPicker.css b/packages/rocketchat_theme/client/imports/components/emojiPicker.css
similarity index 97%
rename from packages/rocketchat-theme/client/imports/components/emojiPicker.css
rename to packages/rocketchat_theme/client/imports/components/emojiPicker.css
index 7e4d79fa6fc651f93e3462a2d67a637557f1eb0f..98944e9c85a7a50bce5f1b4904b99d5453085a30 100644
--- a/packages/rocketchat-theme/client/imports/components/emojiPicker.css
+++ b/packages/rocketchat_theme/client/imports/components/emojiPicker.css
@@ -99,17 +99,11 @@
 	& .rc-input__icon {
 		left: 0.5rem;
 	}
-
-	& .rc-input__element {
-		padding: 0.5rem 1rem 0.5rem 2rem;
-	}
 }
 
 .emoji-top {
 	display: flex;
 
-	margin: 0 -0.3rem;
-	padding: 5px;
 	align-items: center;
 
 	& .rc-input {
diff --git a/packages/rocketchat-theme/client/imports/components/flex-nav.css b/packages/rocketchat_theme/client/imports/components/flex-nav.css
similarity index 100%
rename from packages/rocketchat-theme/client/imports/components/flex-nav.css
rename to packages/rocketchat_theme/client/imports/components/flex-nav.css
diff --git a/packages/rocketchat-theme/client/imports/components/header.css b/packages/rocketchat_theme/client/imports/components/header.css
similarity index 99%
rename from packages/rocketchat-theme/client/imports/components/header.css
rename to packages/rocketchat_theme/client/imports/components/header.css
index 0061f653cdd822e14732d572c763059114a42361..73d62247b2364d13762fb84c224851d8cd712ee5 100644
--- a/packages/rocketchat-theme/client/imports/components/header.css
+++ b/packages/rocketchat_theme/client/imports/components/header.css
@@ -1,5 +1,5 @@
 .rc-header.rc-header--fullpage {
-	padding: 1.25rem 0.5rem 0.75rem;
+	padding: 1.25rem 1rem 0.75rem;
 
 	& .rc-header__wrap {
 
diff --git a/packages/rocketchat-theme/client/imports/components/main-content.css b/packages/rocketchat_theme/client/imports/components/main-content.css
similarity index 100%
rename from packages/rocketchat-theme/client/imports/components/main-content.css
rename to packages/rocketchat_theme/client/imports/components/main-content.css
diff --git a/packages/rocketchat-theme/client/imports/components/memberlist.css b/packages/rocketchat_theme/client/imports/components/memberlist.css
similarity index 100%
rename from packages/rocketchat-theme/client/imports/components/memberlist.css
rename to packages/rocketchat_theme/client/imports/components/memberlist.css
diff --git a/packages/rocketchat-theme/client/imports/components/message-box.css b/packages/rocketchat_theme/client/imports/components/message-box.css
similarity index 98%
rename from packages/rocketchat-theme/client/imports/components/message-box.css
rename to packages/rocketchat_theme/client/imports/components/message-box.css
index 94001310b01f9b93fb771e257bf0d0ab7de83b38..e92770b1ccf06359495fb886bb568e92d2acd220 100644
--- a/packages/rocketchat-theme/client/imports/components/message-box.css
+++ b/packages/rocketchat_theme/client/imports/components/message-box.css
@@ -114,6 +114,7 @@
 		border: 0;
 		background-color: transparent;
 
+		font-family: inherit;
 		font-size: var(--message-box-text-size);
 
 		&::placeholder {
@@ -168,6 +169,8 @@
 
 			cursor: pointer;
 
+			animation: spin 1s linear infinite;
+
 			&.active {
 				display: flex;
 			}
diff --git a/packages/rocketchat-theme/client/imports/components/messages.css b/packages/rocketchat_theme/client/imports/components/messages.css
similarity index 98%
rename from packages/rocketchat-theme/client/imports/components/messages.css
rename to packages/rocketchat_theme/client/imports/components/messages.css
index ec138a7a9b095718a0e9879721a1e4e7ebaf1906..781b8148b356cca38aaeff116f884a9deacf455b 100644
--- a/packages/rocketchat-theme/client/imports/components/messages.css
+++ b/packages/rocketchat_theme/client/imports/components/messages.css
@@ -20,6 +20,8 @@
 	&__button {
 		margin: 0 0.2rem;
 
+		font-size: inherit;
+
 		&:hover {
 			color: var(--rc-color-button-primary);
 		}
diff --git a/packages/rocketchat-theme/client/imports/components/modal.css b/packages/rocketchat_theme/client/imports/components/modal.css
similarity index 100%
rename from packages/rocketchat-theme/client/imports/components/modal.css
rename to packages/rocketchat_theme/client/imports/components/modal.css
diff --git a/packages/rocketchat-theme/client/imports/components/modal/create-channel.css b/packages/rocketchat_theme/client/imports/components/modal/create-channel.css
similarity index 100%
rename from packages/rocketchat-theme/client/imports/components/modal/create-channel.css
rename to packages/rocketchat_theme/client/imports/components/modal/create-channel.css
diff --git a/packages/rocketchat-theme/client/imports/components/modal/directory.css b/packages/rocketchat_theme/client/imports/components/modal/directory.css
similarity index 100%
rename from packages/rocketchat-theme/client/imports/components/modal/directory.css
rename to packages/rocketchat_theme/client/imports/components/modal/directory.css
diff --git a/packages/rocketchat-theme/client/imports/components/modal/full-modal.css b/packages/rocketchat_theme/client/imports/components/modal/full-modal.css
similarity index 100%
rename from packages/rocketchat-theme/client/imports/components/modal/full-modal.css
rename to packages/rocketchat_theme/client/imports/components/modal/full-modal.css
diff --git a/packages/rocketchat-theme/client/imports/components/popout.css b/packages/rocketchat_theme/client/imports/components/popout.css
similarity index 100%
rename from packages/rocketchat-theme/client/imports/components/popout.css
rename to packages/rocketchat_theme/client/imports/components/popout.css
diff --git a/packages/rocketchat-theme/client/imports/components/popover.css b/packages/rocketchat_theme/client/imports/components/popover.css
similarity index 100%
rename from packages/rocketchat-theme/client/imports/components/popover.css
rename to packages/rocketchat_theme/client/imports/components/popover.css
diff --git a/packages/rocketchat-theme/client/imports/components/setup-wizard.css b/packages/rocketchat_theme/client/imports/components/setup-wizard.css
similarity index 100%
rename from packages/rocketchat-theme/client/imports/components/setup-wizard.css
rename to packages/rocketchat_theme/client/imports/components/setup-wizard.css
diff --git a/packages/rocketchat-theme/client/imports/components/sidebar/rooms-list.css b/packages/rocketchat_theme/client/imports/components/sidebar/rooms-list.css
similarity index 99%
rename from packages/rocketchat-theme/client/imports/components/sidebar/rooms-list.css
rename to packages/rocketchat_theme/client/imports/components/sidebar/rooms-list.css
index c9a011d9e34888502305a53383e1b7435e7d9f0c..b6625f0abe948d05b555b3502849bf520e8e09c8 100644
--- a/packages/rocketchat-theme/client/imports/components/sidebar/rooms-list.css
+++ b/packages/rocketchat_theme/client/imports/components/sidebar/rooms-list.css
@@ -1,5 +1,3 @@
-
-
 .rooms-list {
 	position: relative;
 
diff --git a/packages/rocketchat-theme/client/imports/components/sidebar/sidebar-flex.css b/packages/rocketchat_theme/client/imports/components/sidebar/sidebar-flex.css
similarity index 100%
rename from packages/rocketchat-theme/client/imports/components/sidebar/sidebar-flex.css
rename to packages/rocketchat_theme/client/imports/components/sidebar/sidebar-flex.css
diff --git a/packages/rocketchat-theme/client/imports/components/sidebar/sidebar-header.css b/packages/rocketchat_theme/client/imports/components/sidebar/sidebar-header.css
similarity index 100%
rename from packages/rocketchat-theme/client/imports/components/sidebar/sidebar-header.css
rename to packages/rocketchat_theme/client/imports/components/sidebar/sidebar-header.css
diff --git a/packages/rocketchat-theme/client/imports/components/sidebar/sidebar-item.css b/packages/rocketchat_theme/client/imports/components/sidebar/sidebar-item.css
similarity index 100%
rename from packages/rocketchat-theme/client/imports/components/sidebar/sidebar-item.css
rename to packages/rocketchat_theme/client/imports/components/sidebar/sidebar-item.css
diff --git a/packages/rocketchat-theme/client/imports/components/sidebar/sidebar.css b/packages/rocketchat_theme/client/imports/components/sidebar/sidebar.css
similarity index 100%
rename from packages/rocketchat-theme/client/imports/components/sidebar/sidebar.css
rename to packages/rocketchat_theme/client/imports/components/sidebar/sidebar.css
diff --git a/packages/rocketchat-theme/client/imports/components/sidebar/toolbar.css b/packages/rocketchat_theme/client/imports/components/sidebar/toolbar.css
similarity index 99%
rename from packages/rocketchat-theme/client/imports/components/sidebar/toolbar.css
rename to packages/rocketchat_theme/client/imports/components/sidebar/toolbar.css
index d28f04e47cc5a4ecf786a171f631b3cf4b6842b4..e4fe3d52d46b8a8ae3e8254c547249b14bee7e5f 100644
--- a/packages/rocketchat-theme/client/imports/components/sidebar/toolbar.css
+++ b/packages/rocketchat_theme/client/imports/components/sidebar/toolbar.css
@@ -2,8 +2,6 @@
 	position: absolute;
 	left: 10px;
 
-	display: none;
-
 	width: 100%;
 	margin: 0 -10px;
 	padding: 0 calc(var(--sidebar-default-padding) + 10px);
diff --git a/packages/rocketchat-theme/client/imports/components/slider.css b/packages/rocketchat_theme/client/imports/components/slider.css
similarity index 100%
rename from packages/rocketchat-theme/client/imports/components/slider.css
rename to packages/rocketchat_theme/client/imports/components/slider.css
diff --git a/packages/rocketchat-theme/client/imports/components/table.css b/packages/rocketchat_theme/client/imports/components/table.css
similarity index 100%
rename from packages/rocketchat-theme/client/imports/components/table.css
rename to packages/rocketchat_theme/client/imports/components/table.css
diff --git a/packages/rocketchat-theme/client/imports/components/tabs.css b/packages/rocketchat_theme/client/imports/components/tabs.css
similarity index 76%
rename from packages/rocketchat-theme/client/imports/components/tabs.css
rename to packages/rocketchat_theme/client/imports/components/tabs.css
index 52b98eeb68eaac49e59d08a650318ff5699542f1..c9d92b363766fbec65927a5c753dfef7f6b2ff68 100644
--- a/packages/rocketchat-theme/client/imports/components/tabs.css
+++ b/packages/rocketchat_theme/client/imports/components/tabs.css
@@ -1,7 +1,7 @@
 .tabs {
 	margin-bottom: 0.5rem;
 
-	border-bottom: 1px solid rgba(216, 216, 216, 0.4);
+	border-bottom: 2px solid var(--input-border-color);
 }
 
 .tabs-wrapper {
@@ -9,7 +9,7 @@
 
 	width: 100%;
 
-	margin: 0 -1rem -1px -1rem;
+	margin: 0 -1rem -2px -1rem;
 }
 
 .tab {
@@ -22,7 +22,7 @@
 
 	color: var(--rc-color-primary-light);
 
-	border-bottom: 1px solid transparent;
+	border-bottom: 2px solid transparent;
 
 	font-size: 1rem;
 
diff --git a/packages/rocketchat-theme/client/imports/components/tooltip.css b/packages/rocketchat_theme/client/imports/components/tooltip.css
similarity index 100%
rename from packages/rocketchat-theme/client/imports/components/tooltip.css
rename to packages/rocketchat_theme/client/imports/components/tooltip.css
diff --git a/packages/rocketchat-theme/client/imports/components/userInfo.css b/packages/rocketchat_theme/client/imports/components/userInfo.css
similarity index 100%
rename from packages/rocketchat-theme/client/imports/components/userInfo.css
rename to packages/rocketchat_theme/client/imports/components/userInfo.css
diff --git a/packages/rocketchat-theme/client/imports/forms/button.css b/packages/rocketchat_theme/client/imports/forms/button.css
similarity index 99%
rename from packages/rocketchat-theme/client/imports/forms/button.css
rename to packages/rocketchat_theme/client/imports/forms/button.css
index c396257d4c416d36a731bd176cdb0a74bf493521..edaf7d1005567185e552492f9137ab9ed0d4a325 100644
--- a/packages/rocketchat-theme/client/imports/forms/button.css
+++ b/packages/rocketchat_theme/client/imports/forms/button.css
@@ -18,7 +18,6 @@
 
 	min-height: 40px;
 	max-height: 40px;
-	margin: 0.5rem 0;
 	padding: 0 1.5rem;
 
 	cursor: pointer;
diff --git a/packages/rocketchat-theme/client/imports/forms/checkbox.css b/packages/rocketchat_theme/client/imports/forms/checkbox.css
similarity index 100%
rename from packages/rocketchat-theme/client/imports/forms/checkbox.css
rename to packages/rocketchat_theme/client/imports/forms/checkbox.css
diff --git a/packages/rocketchat-theme/client/imports/forms/input.css b/packages/rocketchat_theme/client/imports/forms/input.css
similarity index 94%
rename from packages/rocketchat-theme/client/imports/forms/input.css
rename to packages/rocketchat_theme/client/imports/forms/input.css
index 79ed3fa535e5a3288b65ff183900bf789e10b70f..04cc6b77a5d1d5346f3c57c5674bc323774a2339 100644
--- a/packages/rocketchat-theme/client/imports/forms/input.css
+++ b/packages/rocketchat_theme/client/imports/forms/input.css
@@ -34,11 +34,7 @@
 		justify-content: center;
 
 		& + .rc-input__element {
-			padding: 0.75rem 1rem 0.75rem 2.75rem;
-		}
-
-		& + .rc-input__element--small {
-			padding: 0.5rem 1rem 0.5rem 2.75rem;
+			padding: 0 1rem 0 2.75rem;
 		}
 
 		&--right {
@@ -49,7 +45,7 @@
 
 	&__element {
 		width: 100%;
-		padding: 0.75rem 1rem;
+		padding: 0 1rem;
 
 		color: var(--input-text-color);
 
@@ -60,8 +56,10 @@
 
 		font-size: var(--input-font-size);
 
+		line-height: 2.25rem;
+
 		&--small {
-			padding: 0.5rem 1rem;
+			line-height: 1.75rem;
 		}
 
 		&::placeholder {
@@ -206,7 +204,6 @@
 select.rc-input {
 
 	width: 100%;
-	margin: 0.5rem 0;
 	padding: 0.782rem;
 
 	color: var(--input-text-color);
diff --git a/packages/rocketchat-theme/client/imports/forms/popup-list.css b/packages/rocketchat_theme/client/imports/forms/popup-list.css
similarity index 100%
rename from packages/rocketchat-theme/client/imports/forms/popup-list.css
rename to packages/rocketchat_theme/client/imports/forms/popup-list.css
diff --git a/packages/rocketchat-theme/client/imports/forms/select-avatar.css b/packages/rocketchat_theme/client/imports/forms/select-avatar.css
similarity index 100%
rename from packages/rocketchat-theme/client/imports/forms/select-avatar.css
rename to packages/rocketchat_theme/client/imports/forms/select-avatar.css
diff --git a/packages/rocketchat-theme/client/imports/forms/select.css b/packages/rocketchat_theme/client/imports/forms/select.css
similarity index 79%
rename from packages/rocketchat-theme/client/imports/forms/select.css
rename to packages/rocketchat_theme/client/imports/forms/select.css
index d1a1a9db56cd6c728077a931bba8290833801625..e3951fc7976d443ad9ef1f36867f063ba85847d1 100644
--- a/packages/rocketchat-theme/client/imports/forms/select.css
+++ b/packages/rocketchat_theme/client/imports/forms/select.css
@@ -6,7 +6,7 @@
 
 	flex: 0 0 auto;
 
-	margin: 0.5rem 0;
+	height: 2.5rem;
 
 	color: var(--input-text-color);
 
@@ -37,26 +37,29 @@
 
 	&__element {
 		width: 100%;
-		padding: 0.75rem 2rem 0.75rem 1rem;
+
+		height: 100%;
+		padding: 0 2rem 0 1rem;
 
 		text-transform: capitalize;
 
 		border: none;
+		border-radius: 0;
 
-		line-height: 1rem !important;
+		font-size: inherit;
 
 		appearance: none;
 
 		&::-ms-expand {
 			display: none;
 		}
+	}
 
-		.rc-select__small & {
-			padding: 0.5rem 1rem;
-		}
+	&--small {
+		height: 1.75rem;
 	}
 }
 
 .rtl .rc-select__element {
-	padding: 0.75rem 1rem 0.75rem 2rem;
+	padding: 0 1rem 0 2rem;
 }
diff --git a/packages/rocketchat-theme/client/imports/forms/switch.css b/packages/rocketchat_theme/client/imports/forms/switch.css
similarity index 100%
rename from packages/rocketchat-theme/client/imports/forms/switch.css
rename to packages/rocketchat_theme/client/imports/forms/switch.css
diff --git a/packages/rocketchat-theme/client/imports/forms/tags.css b/packages/rocketchat_theme/client/imports/forms/tags.css
similarity index 100%
rename from packages/rocketchat-theme/client/imports/forms/tags.css
rename to packages/rocketchat_theme/client/imports/forms/tags.css
diff --git a/packages/rocketchat-theme/client/imports/general/animations.css b/packages/rocketchat_theme/client/imports/general/animations.css
similarity index 100%
rename from packages/rocketchat-theme/client/imports/general/animations.css
rename to packages/rocketchat_theme/client/imports/general/animations.css
diff --git a/packages/rocketchat-theme/client/imports/general/apps.css b/packages/rocketchat_theme/client/imports/general/apps.css
similarity index 100%
rename from packages/rocketchat-theme/client/imports/general/apps.css
rename to packages/rocketchat_theme/client/imports/general/apps.css
diff --git a/packages/rocketchat-theme/client/imports/general/base.css b/packages/rocketchat_theme/client/imports/general/base.css
similarity index 100%
rename from packages/rocketchat-theme/client/imports/general/base.css
rename to packages/rocketchat_theme/client/imports/general/base.css
diff --git a/packages/rocketchat-theme/client/imports/general/base_old.css b/packages/rocketchat_theme/client/imports/general/base_old.css
similarity index 97%
rename from packages/rocketchat-theme/client/imports/general/base_old.css
rename to packages/rocketchat_theme/client/imports/general/base_old.css
index 2cefd31d2ece71136a33887c725a62ee8bbf7a39..127bcd42226e711ad971793ffb4b0abacd2ce597 100644
--- a/packages/rocketchat-theme/client/imports/general/base_old.css
+++ b/packages/rocketchat_theme/client/imports/general/base_old.css
@@ -23,7 +23,7 @@
 	word-wrap: break-word;
 
 	border-width: 1px;
-	border-radius: 4px;
+	border-radius: var(--border-radius);
 
 	font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
 	font-size: 13px;
@@ -34,10 +34,9 @@
 	&.inline {
 		display: inline;
 
-		margin: 0 0.1em;
-		padding: 0 0.5em;
+		padding: 0.05rem 0.2rem;
 
-		line-height: 16px;
+		line-height: 1rem;
 	}
 }
 
@@ -164,7 +163,7 @@
 	margin-bottom: 20px;
 
 	border-width: 1px;
-	border-radius: 4px;
+	border-radius: var(--border-radius);
 }
 
 .rc-old .full-page .hidden {
@@ -357,7 +356,6 @@
 
 	&.double-col {
 		& > label {
-			float: left;
 
 			width: 30%;
 			margin-bottom: 0;
@@ -369,16 +367,17 @@
 		}
 
 		& > div {
-			float: left;
 
-			width: 67%;
+			width: 60%;
+			min-height: 2.5rem;
 
 			& label {
 				display: inline-block;
 
 				margin-right: 4px;
+				padding: 10px 20px 10px 0;
 
-				line-height: 35px;
+				line-height: 15px;
 
 				&:nth-last-child(1) {
 					margin-right: 0;
@@ -394,15 +393,6 @@
 
 /* input & form styles */
 
-.rc-old input,
-.rc-old button,
-.rc-old select,
-.rc-old textarea {
-	font-family: inherit;
-	font-size: inherit;
-	line-height: inherit;
-}
-
 .rc-old input:focus {
 	outline: none;
 	box-shadow: 0 0 0;
@@ -552,7 +542,7 @@ rc-old select,
 	text-transform: uppercase;
 
 	border-width: 0;
-	border-radius: 4px;
+	border-radius: var(--border-radius);
 
 	font-size: 14px;
 	font-weight: 500;
@@ -834,7 +824,7 @@ rc-old select,
 
 				content: " ";
 
-				border-radius: 4px;
+				border-radius: var(--border-radius);
 			}
 
 			& .avatar-initials {
@@ -1137,7 +1127,7 @@ rc-old select,
 			padding: 0 8px 0 30px;
 
 			border-width: 1px;
-			border-radius: 4px;
+			border-radius: var(--border-radius);
 			box-shadow: 0 0 0;
 			appearance: none;
 		}
@@ -1747,7 +1737,7 @@ rc-old select,
 	margin: 40px auto;
 	padding: 20px;
 
-	border-radius: 4px;
+	border-radius: var(--border-radius);
 	box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.3);
 
 	& .cms-page-close {
@@ -1777,8 +1767,6 @@ rc-old select,
 
 .rc-old .page-settings {
 	& .content {
-		padding: 20px 0;
-
 		& h2 {
 			margin-bottom: 2rem;
 		}
@@ -1798,12 +1786,9 @@ rc-old select,
 	}
 
 	& .section {
-		margin: 20px;
-		padding: 20px;
+		padding: 20px 0;
 
-		border: 1px solid #dddddd;
-		border-radius: 4px;
-		background-color: var(--color-white);
+		border-bottom: 2px solid #dddddd;
 
 		&.section-collapsed .section-content {
 			display: none;
@@ -1813,32 +1798,40 @@ rc-old select,
 	& .section-title {
 		display: flex;
 
-		font-size: 24px;
-		font-weight: 600;
-		line-height: 40px;
+		cursor: pointer;
 
 		& .section-title-text {
+			user-select: none;
+
+			font-size: 1rem;
+			font-weight: 500;
+
+			line-height: 3rem;
+
 			flex-grow: 1;
 		}
 
-		& .section-title-right {
-			line-height: 0;
+		& .section-title-right > .rc-button {
+			font-size: 1.25rem;
 		}
 	}
 
 	& .section-content {
-		padding: 20px 0 0 !important;
+		padding: 20px 0 !important;
 
 		border: none !important;
 		border-radius: 0 !important;
 
+		p {
+			margin-bottom: 0.75rem;
+		}
+
 		& .input-line {
 			display: flex;
 
 			margin-bottom: 0;
-			padding: 20px 0;
+			padding: 10px 0;
 
-			border-bottom: 1px solid #eeeeee;
 			align-items: flex-start;
 
 			&:last-child {
@@ -1861,31 +1854,38 @@ rc-old select,
 		}
 
 		& .reset-setting {
-			margin-left: 20px;
+			margin-left: 0.75rem;
+			padding: 0.75rem;
 		}
 
 		& .setting-label {
-			width: 25%;
-
-			text-align: left;
+			min-width: 30%;
 
-			font-size: 16px;
 			font-weight: 500;
-			line-height: 20px;
+			line-height: 16px;
+		}
+
+		.setting-action {
+			margin: 0 4px;
 		}
 
 		& .settings-description {
-			padding: 5px;
 
-			line-height: 20px;
+			padding-top: 2px;
+
+			line-height: 1.2rem;
 		}
 
 		& .settings-alert {
-			padding: 5px;
 
-			border-width: 1px;
+			margin-top: 0.75rem;
+			padding: 1rem;
+
+			border-width: 2px;
 
 			font-weight: bold;
+
+			line-height: 1.2rem;
 		}
 
 		& .color-editor {
@@ -1935,18 +1935,21 @@ rc-old select,
 			overflow: hidden;
 
 			width: 100px;
-			height: 50px;
+			height: 40px;
+
+			margin-right: 0.75rem;
+
+			border-width: var(--input-border-width);
+			border-color: var(--input-border-color);
+			border-radius: var(--input-border-radius);
 
-			border-radius: 4px;
 			background-repeat: no-repeat;
 			background-position: center center;
 			background-size: contain;
-			box-shadow: 0 0 1px rgba(0, 0, 0, 0.5) inset;
 
 			&.no-file {
 				display: flex;
 
-				font-size: 24px;
 				align-items: center;
 				justify-content: center;
 			}
@@ -1988,7 +1991,7 @@ rc-old select,
 			padding: 20px;
 
 			border-width: 1px;
-			border-radius: 4px;
+			border-radius: var(--border-radius);
 
 			& .section-helper {
 				padding: 20px 20px 40px;
@@ -2158,7 +2161,7 @@ rc-old select,
 	transform: translateY(-10px);
 
 	opacity: 0;
-	border-radius: 4px;
+	border-radius: var(--border-radius);
 	box-shadow:
 		0 1px 1px 0 rgba(0, 0, 0, 0.2),
 		0 2px 10px 0 rgba(0, 0, 0, 0.16);
@@ -2919,7 +2922,7 @@ rc-old select,
 	}
 
 	& .editing .body {
-		border-radius: 4px;
+		border-radius: var(--border-radius);
 	}
 
 	&.selectable .message {
@@ -3041,7 +3044,7 @@ rc-old select,
 		transition: transform 0.15s ease-in-out, opacity 0.15s ease-in-out;
 		animation: dropdown-in 0.15s ease-in-out;
 
-		border-radius: 4px;
+		border-radius: var(--border-radius);
 		box-shadow:
 			0 1px 1px 0 rgba(0, 0, 0, 0.2),
 			0 2px 10px 0 rgba(0, 0, 0, 0.16);
@@ -3082,6 +3085,8 @@ rc-old select,
 
 		margin-right: 5px;
 
+		font-size: inherit;
+
 		font-weight: 600;
 	}
 
@@ -3132,7 +3137,7 @@ rc-old select,
 
 			border-width: 1px;
 
-			border-radius: 4px;
+			border-radius: var(--border-radius);
 			background: #ffffff;
 		}
 	}
@@ -3612,7 +3617,7 @@ body:not(.is-cordova) {
 				padding: 20px;
 
 				border: 1px solid #dddddd;
-				border-radius: 4px;
+				border-radius: var(--border-radius);
 				background-color: #ffffff;
 			}
 
@@ -3878,7 +3883,7 @@ body:not(.is-cordova) {
 				content: " ";
 				vertical-align: middle;
 
-				border-radius: 4px;
+				border-radius: var(--border-radius);
 			}
 		}
 
@@ -4366,7 +4371,7 @@ body:not(.is-cordova) {
 		text-align: left;
 
 		opacity: 0;
-		border-radius: 4px;
+		border-radius: var(--border-radius);
 		box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.15);
 
 		& header {
@@ -4666,6 +4671,11 @@ body:not(.is-cordova) {
 	& .logo {
 		display: block;
 
+		width: 100%;
+		max-width: 520px;
+		margin: 0 auto;
+		padding: 0 20px;
+
 		& > img {
 			position: relative;
 			z-index: 20;
@@ -4822,7 +4832,7 @@ body:not(.is-cordova) {
 
 	padding: 0 4px 2px;
 
-	border-radius: 4px;
+	border-radius: var(--border-radius);
 
 	font-weight: bold;
 }
@@ -4830,7 +4840,7 @@ body:not(.is-cordova) {
 .rc-old .highlight-text {
 	padding: 2px;
 
-	border-radius: 4px;
+	border-radius: var(--border-radius);
 }
 
 .rc-old .avatar-suggestions {
@@ -4849,7 +4859,7 @@ body:not(.is-cordova) {
 	text-align: left;
 
 	border-width: 1px;
-	border-radius: 4px;
+	border-radius: var(--border-radius);
 	align-items: center;
 	flex-flow: row nowrap;
 
@@ -5198,14 +5208,14 @@ body:not(.is-cordova) {
 
 .rc-old .colorpicker-swatch {
 	position: absolute;
-	top: 2px;
-	left: 2px;
+	top: 4px;
+	left: 4px;
 
 	display: block;
 	overflow: hidden;
 
-	width: 41px;
-	height: 41px;
+	width: 32px;
+	height: 32px;
 
 	border-radius: 2px;
 }
@@ -5373,24 +5383,32 @@ body:not(.is-cordova) {
 	}
 
 	& .buttons {
-		margin-top: 10px;
+		margin: 10px 0;
+	}
 
-		text-align: right;
+	& .CodeMirror {
+		border-width: var(--input-border-width);
+		border-color: var(--input-border-color);
+		border-radius: var(--input-border-radius);
 	}
 
 	&.code-mirror-box-fullscreen {
 		position: fixed;
 		z-index: 100;
-		top: 61px;
-		right: 40px;
+		top: 0;
+		right: 0;
 		bottom: 0;
-		left: 260px;
+		left: 0;
 
 		display: flex;
+
 		flex-direction: column;
 
 		width: auto;
 		height: auto;
+
+		padding: 40px;
+
 		align-items: stretch;
 
 		& .buttons {
@@ -5400,10 +5418,8 @@ body:not(.is-cordova) {
 		& .title {
 			display: initial;
 
-			padding-left: 10px;
-
 			font-size: 16px;
-			line-height: 30px;
+			line-height: 50px;
 		}
 
 		& .button-fullscreen {
@@ -5723,7 +5739,7 @@ body:not(.is-cordova) {
 
 	color: #555555;
 	border: 1px solid #eaeaea;
-	border-radius: 4px;
+	border-radius: var(--border-radius);
 
 	font-family: arial;
 	font-size: 14px;
diff --git a/packages/rocketchat-theme/client/imports/general/forms.css b/packages/rocketchat_theme/client/imports/general/forms.css
similarity index 100%
rename from packages/rocketchat-theme/client/imports/general/forms.css
rename to packages/rocketchat_theme/client/imports/general/forms.css
diff --git a/packages/rocketchat-theme/client/imports/general/reset.css b/packages/rocketchat_theme/client/imports/general/reset.css
similarity index 100%
rename from packages/rocketchat-theme/client/imports/general/reset.css
rename to packages/rocketchat_theme/client/imports/general/reset.css
diff --git a/packages/rocketchat-theme/client/imports/general/rtl.css b/packages/rocketchat_theme/client/imports/general/rtl.css
similarity index 100%
rename from packages/rocketchat-theme/client/imports/general/rtl.css
rename to packages/rocketchat_theme/client/imports/general/rtl.css
diff --git a/packages/rocketchat-theme/client/imports/general/typography.css b/packages/rocketchat_theme/client/imports/general/typography.css
similarity index 100%
rename from packages/rocketchat-theme/client/imports/general/typography.css
rename to packages/rocketchat_theme/client/imports/general/typography.css
diff --git a/packages/rocketchat-theme/client/imports/general/variables.css b/packages/rocketchat_theme/client/imports/general/variables.css
similarity index 100%
rename from packages/rocketchat-theme/client/imports/general/variables.css
rename to packages/rocketchat_theme/client/imports/general/variables.css
diff --git a/packages/rocketchat-theme/client/main.css b/packages/rocketchat_theme/client/main.css
similarity index 100%
rename from packages/rocketchat-theme/client/main.css
rename to packages/rocketchat_theme/client/main.css
diff --git a/packages/rocketchat-theme/client/vendor/fontello/config.json b/packages/rocketchat_theme/client/vendor/fontello/config.json
similarity index 100%
rename from packages/rocketchat-theme/client/vendor/fontello/config.json
rename to packages/rocketchat_theme/client/vendor/fontello/config.json
diff --git a/packages/rocketchat-theme/client/vendor/fontello/css/fontello.css b/packages/rocketchat_theme/client/vendor/fontello/css/fontello.css
similarity index 100%
rename from packages/rocketchat-theme/client/vendor/fontello/css/fontello.css
rename to packages/rocketchat_theme/client/vendor/fontello/css/fontello.css
diff --git a/packages/rocketchat-theme/client/vendor/fontello/demo.html b/packages/rocketchat_theme/client/vendor/fontello/demo.html
similarity index 100%
rename from packages/rocketchat-theme/client/vendor/fontello/demo.html
rename to packages/rocketchat_theme/client/vendor/fontello/demo.html
diff --git a/packages/rocketchat-theme/client/vendor/fontello/font/fontello.eot b/packages/rocketchat_theme/client/vendor/fontello/font/fontello.eot
similarity index 100%
rename from packages/rocketchat-theme/client/vendor/fontello/font/fontello.eot
rename to packages/rocketchat_theme/client/vendor/fontello/font/fontello.eot
diff --git a/packages/rocketchat-theme/client/vendor/fontello/font/fontello.svg b/packages/rocketchat_theme/client/vendor/fontello/font/fontello.svg
similarity index 100%
rename from packages/rocketchat-theme/client/vendor/fontello/font/fontello.svg
rename to packages/rocketchat_theme/client/vendor/fontello/font/fontello.svg
diff --git a/packages/rocketchat-theme/client/vendor/fontello/font/fontello.ttf b/packages/rocketchat_theme/client/vendor/fontello/font/fontello.ttf
similarity index 100%
rename from packages/rocketchat-theme/client/vendor/fontello/font/fontello.ttf
rename to packages/rocketchat_theme/client/vendor/fontello/font/fontello.ttf
diff --git a/packages/rocketchat-theme/client/vendor/fontello/font/fontello.woff b/packages/rocketchat_theme/client/vendor/fontello/font/fontello.woff
similarity index 100%
rename from packages/rocketchat-theme/client/vendor/fontello/font/fontello.woff
rename to packages/rocketchat_theme/client/vendor/fontello/font/fontello.woff
diff --git a/packages/rocketchat-theme/client/vendor/fontello/font/fontello.woff2 b/packages/rocketchat_theme/client/vendor/fontello/font/fontello.woff2
similarity index 100%
rename from packages/rocketchat-theme/client/vendor/fontello/font/fontello.woff2
rename to packages/rocketchat_theme/client/vendor/fontello/font/fontello.woff2
diff --git a/packages/rocketchat-theme/client/vendor/fontello/utf8-rtl.html b/packages/rocketchat_theme/client/vendor/fontello/utf8-rtl.html
similarity index 100%
rename from packages/rocketchat-theme/client/vendor/fontello/utf8-rtl.html
rename to packages/rocketchat_theme/client/vendor/fontello/utf8-rtl.html
diff --git a/packages/rocketchat-theme/client/vendor/jscolor.js b/packages/rocketchat_theme/client/vendor/jscolor.js
similarity index 100%
rename from packages/rocketchat-theme/client/vendor/jscolor.js
rename to packages/rocketchat_theme/client/vendor/jscolor.js
diff --git a/packages/rocketchat-theme/client/vendor/photoswipe.css b/packages/rocketchat_theme/client/vendor/photoswipe.css
similarity index 100%
rename from packages/rocketchat-theme/client/vendor/photoswipe.css
rename to packages/rocketchat_theme/client/vendor/photoswipe.css
diff --git a/packages/rocketchat-theme/package.js b/packages/rocketchat_theme/package.js
similarity index 97%
rename from packages/rocketchat-theme/package.js
rename to packages/rocketchat_theme/package.js
index 21baba9a6fff683594ed5cf4aace8640e01dd147..e556ffd1731be603befaa9bdf15321f76f171232 100644
--- a/packages/rocketchat-theme/package.js
+++ b/packages/rocketchat_theme/package.js
@@ -4,30 +4,25 @@ Package.describe({
 	summary: '',
 	git: '',
 });
-
 Package.onUse(function(api) {
 	api.use('rocketchat:lib');
 	api.use('rocketchat:logger');
 	api.use('rocketchat:assets');
+	api.use('juliancwirko:postcss');
 	api.use('ecmascript');
 	api.use('less');
 	api.use('webapp');
 	api.use('webapp-hashing');
 	api.use('templating', 'client');
-
 	// Compiled stylesheets
 	api.addFiles('client/main.css', 'client');
-
 	// Server side files
 	api.addFiles('server/server.js', 'server');
 	api.addFiles('server/variables.js', 'server');
-
 	// Colorpicker
 	api.addFiles('client/vendor/jscolor.js', 'client');
-
 	// Photoswipe
 	api.addFiles('client/vendor/photoswipe.css', 'client');
-
 	api.addAssets('client/imports/general/variables.css', 'server');
 	// Fontello
 	api.addFiles('client/vendor/fontello/css/fontello.css', 'client');
@@ -36,7 +31,6 @@ Package.onUse(function(api) {
 	api.addAssets('client/vendor/fontello/font/fontello.ttf', 'client');
 	api.addAssets('client/vendor/fontello/font/fontello.woff', 'client');
 	api.addAssets('client/vendor/fontello/font/fontello.woff2', 'client');
-
 	// Run-time stylesheets
 	api.addAssets('server/colors.less', 'server');
 });
diff --git a/packages/rocketchat-theme/server/colors.less b/packages/rocketchat_theme/server/colors.less
similarity index 100%
rename from packages/rocketchat-theme/server/colors.less
rename to packages/rocketchat_theme/server/colors.less
diff --git a/packages/rocketchat-theme/server/server.js b/packages/rocketchat_theme/server/server.js
similarity index 98%
rename from packages/rocketchat-theme/server/server.js
rename to packages/rocketchat_theme/server/server.js
index 61325fcf3f98abd1a00a919ae6f6df9939e63a47..dabeb874fcf3b34268569f96067fc87be0d76508 100644
--- a/packages/rocketchat-theme/server/server.js
+++ b/packages/rocketchat_theme/server/server.js
@@ -1,5 +1,7 @@
 /* globals WebAppHashing */
 
+import { WebApp } from 'meteor/webapp';
+import { Meteor } from 'meteor/meteor';
 import _ from 'underscore';
 import less from 'less';
 import Autoprefixer from 'less-plugin-autoprefix';
diff --git a/packages/rocketchat-theme/server/variables.js b/packages/rocketchat_theme/server/variables.js
similarity index 100%
rename from packages/rocketchat-theme/server/variables.js
rename to packages/rocketchat_theme/server/variables.js
diff --git a/packages/tap-i18n/lib/tap_i18next/tap_i18next_init.js b/packages/tap-i18n/lib/tap_i18next/tap_i18next_init.js
index 51fa7ffccc534800670af8e27d42d6b3a10029c7..a3417a2be07625a401c8fc192ffaaf4dcc3ddd30 100755
--- a/packages/tap-i18n/lib/tap_i18next/tap_i18next_init.js
+++ b/packages/tap-i18n/lib/tap_i18next/tap_i18next_init.js
@@ -1,3 +1,2 @@
 /* globals globals: 1 */
-
-TAPi18next.init({ resStore: {}, fallbackLng: globals.fallback_language, useCookie: false });
+TAPi18next.init({ resStore: {}, fallbackLng: globals.fallback_language, useCookie: false }); // eslint-disable-line
diff --git a/server/configuration/accounts_meld.js b/server/configuration/accounts_meld.js
index d4f1280c03ca7bf3385b1ee2f29482edf3965fdd..777840e236fa3dabb54dd44a5063cafedf63698d 100644
--- a/server/configuration/accounts_meld.js
+++ b/server/configuration/accounts_meld.js
@@ -1,4 +1,5 @@
 import _ from 'underscore';
+import { Accounts } from 'meteor/accounts-base';
 
 const orig_updateOrCreateUserFromExternalService = Accounts.updateOrCreateUserFromExternalService;
 
diff --git a/server/lib/accounts.js b/server/lib/accounts.js
index ab3b1b1e08d3af2b94ac7d2d987bec7854039c74..1530c90c3e0ea7a8d18b58772d8f97bcdb3a3d00 100644
--- a/server/lib/accounts.js
+++ b/server/lib/accounts.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { Match } from 'meteor/check';
+import { Accounts } from 'meteor/accounts-base';
+import { TAPi18n } from 'meteor/tap:i18n';
 import _ from 'underscore';
 import s from 'underscore.string';
 import * as Mailer from 'meteor/rocketchat:mailer';
diff --git a/server/lib/cordova.js b/server/lib/cordova.js
index d24141f25e89597b622cdb64c355a807da895eef..b74bb87daab53fefc627eac0607ebde0bc6f3b5b 100644
--- a/server/lib/cordova.js
+++ b/server/lib/cordova.js
@@ -1,4 +1,7 @@
 /* global Push, SystemLogger */
+import { Meteor } from 'meteor/meteor';
+import { HTTP } from 'meteor/http';
+import { TAPi18n } from 'meteor/tap:i18n';
 
 Meteor.methods({
 	// log() {
diff --git a/server/lib/cordova/facebook-login.js b/server/lib/cordova/facebook-login.js
index 6ce9fd422c2e4c74a214b17c495a92c8038583f9..1122635bfca9272c34c1f04d203c0cad8f11b916 100644
--- a/server/lib/cordova/facebook-login.js
+++ b/server/lib/cordova/facebook-login.js
@@ -1,4 +1,6 @@
 import _ from 'underscore';
+import { Accounts } from 'meteor/accounts-base';
+import { HTTP } from 'meteor/http';
 
 function getIdentity(accessToken) {
 	try {
diff --git a/server/lib/roomFiles.js b/server/lib/roomFiles.js
index 8559fff49faedb69e86a7f832a09df8dc3fca7f8..f1f6bbbc5a730e69d77074bf01e05c606dd52fea 100644
--- a/server/lib/roomFiles.js
+++ b/server/lib/roomFiles.js
@@ -1,8 +1,14 @@
+import { Meteor } from 'meteor/meteor';
+
 export const roomFiles = (pub, { rid, searchText, limit = 50 }) => {
 	if (!pub.userId) {
 		return pub.ready();
 	}
 
+	if (!Meteor.call('canAccessRoom', rid, pub.userId)) {
+		return this.ready();
+	}
+
 	const cursorFileListHandle = RocketChat.models.Uploads.findNotHiddenFilesOfRoom(rid, searchText, limit).observeChanges({
 		added(_id, record) {
 			const { username, name } = record.userId ? RocketChat.models.Users.findOneById(record.userId) : {};
diff --git a/server/methods/OEmbedCacheCleanup.js b/server/methods/OEmbedCacheCleanup.js
index 0003bf0f9e8fc2432ceb34c570ef2659ca30b551..0b36f39621b58dff746e2f33b9916427ab68fa75 100644
--- a/server/methods/OEmbedCacheCleanup.js
+++ b/server/methods/OEmbedCacheCleanup.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	OEmbedCacheCleanup() {
 		if (Meteor.userId() && !RocketChat.authz.hasRole(Meteor.userId(), 'admin')) {
diff --git a/server/methods/addAllUserToRoom.js b/server/methods/addAllUserToRoom.js
index 8c73c869b7529b81f38f8868afcb0549ea9b031c..c696218ec16d80ec57d6320331d59837eacf1442 100644
--- a/server/methods/addAllUserToRoom.js
+++ b/server/methods/addAllUserToRoom.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	addAllUserToRoom(rid, activeUsersOnly = false) {
 
diff --git a/server/methods/addRoomLeader.js b/server/methods/addRoomLeader.js
index 18517defedaceba86e99af249b359849d4d81d67..1c0fd31d4d1364b63a8714eee6f5b99543d893df 100644
--- a/server/methods/addRoomLeader.js
+++ b/server/methods/addRoomLeader.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	addRoomLeader(rid, userId) {
 		check(rid, String);
diff --git a/server/methods/addRoomModerator.js b/server/methods/addRoomModerator.js
index b7404cdc3dd1fb5f7dcacb86f2945be75d89fd06..eaf2f5a69bc530953a2a181426a422cfbe75445e 100644
--- a/server/methods/addRoomModerator.js
+++ b/server/methods/addRoomModerator.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	addRoomModerator(rid, userId) {
 		check(rid, String);
diff --git a/server/methods/addRoomOwner.js b/server/methods/addRoomOwner.js
index 1d14ee835ff69f9830b94e5322cb3130b7813e95..a1507147488fa97a082cb313d4fe99281cd9c9fa 100644
--- a/server/methods/addRoomOwner.js
+++ b/server/methods/addRoomOwner.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	addRoomOwner(rid, userId) {
 		check(rid, String);
diff --git a/server/methods/afterVerifyEmail.js b/server/methods/afterVerifyEmail.js
index c7a5297d4a6062d29b77e88e6ff49c9059f1d30c..8419f065c683a0478ff940f010a5da6d1f0f2712 100644
--- a/server/methods/afterVerifyEmail.js
+++ b/server/methods/afterVerifyEmail.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import _ from 'underscore';
 
 Meteor.methods({
diff --git a/server/methods/browseChannels.js b/server/methods/browseChannels.js
index 089f787356bcba652c1916c1afec97322b0b52e6..f5af3264aaeeeeebf49afc6bbb8e6e5389995e06 100644
--- a/server/methods/browseChannels.js
+++ b/server/methods/browseChannels.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { DDPRateLimiter } from 'meteor/ddp-rate-limiter';
 import s from 'underscore.string';
 
 const sortChannels = function(field, direction) {
diff --git a/server/methods/canAccessRoom.js b/server/methods/canAccessRoom.js
index 62cb87e6a473bdaca976af9a7b0fede749f3a1f0..2f6f1e6a61301b8d92cc0fa8157afce63cceeb8a 100644
--- a/server/methods/canAccessRoom.js
+++ b/server/methods/canAccessRoom.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
+
 Meteor.methods({
 	canAccessRoom(rid, userId, extraData) {
 		check(rid, String);
diff --git a/server/methods/channelsList.js b/server/methods/channelsList.js
index ca539c135689b0917b9d8d37dfa7351e13ed9cf1..4e4c6dab90b1fc67dfd2bcd56c06d339e26da604 100644
--- a/server/methods/channelsList.js
+++ b/server/methods/channelsList.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
 import _ from 'underscore';
 import s from 'underscore.string';
 
diff --git a/server/methods/createDirectMessage.js b/server/methods/createDirectMessage.js
index 884bf5cf737e87237e3b4d73f4837e2249cd29ae..1fb380ad8368e3ad8e8ff17550d7caabb34f5e21 100644
--- a/server/methods/createDirectMessage.js
+++ b/server/methods/createDirectMessage.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	createDirectMessage(username) {
 		check(username, String);
diff --git a/server/methods/deleteFileMessage.js b/server/methods/deleteFileMessage.js
index e2cb4f72e1628663bd5b5bdfd5da2f374f7fb119..3fdc4ca43d9d25fcd86728a899b85c009b567654 100644
--- a/server/methods/deleteFileMessage.js
+++ b/server/methods/deleteFileMessage.js
@@ -1,4 +1,7 @@
 /* global FileUpload */
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	deleteFileMessage(fileID) {
 		check(fileID, String);
diff --git a/server/methods/deleteUser.js b/server/methods/deleteUser.js
index 8255c3da71a7004e80589f1e00cb9c913590abcd..7b69e55b1cbbda86fc40382b32bddc285753f375 100644
--- a/server/methods/deleteUser.js
+++ b/server/methods/deleteUser.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	deleteUser(userId) {
 		check(userId, String);
diff --git a/server/methods/eraseRoom.js b/server/methods/eraseRoom.js
index bc7882330f095514e59988e248c381a0f3d6b3ad..b4f901643d2d105e61588a014796cdea7083ebfa 100644
--- a/server/methods/eraseRoom.js
+++ b/server/methods/eraseRoom.js
@@ -1,4 +1,6 @@
 /* globals RocketChat */
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
 
 Meteor.methods({
 	eraseRoom(rid) {
diff --git a/server/methods/getAvatarSuggestion.js b/server/methods/getAvatarSuggestion.js
index 1bf4c0f697ec7cb9bf95568dd34d3c882d7ab287..12cfcc2337a3d92397fc66179e6e4653f1110bc8 100644
--- a/server/methods/getAvatarSuggestion.js
+++ b/server/methods/getAvatarSuggestion.js
@@ -1,4 +1,7 @@
 /* global Gravatar */
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+import { HTTP } from 'meteor/http';
 
 function getAvatarSuggestionForUser(user) {
 	check(user, Object);
diff --git a/server/methods/getRoomIdByNameOrId.js b/server/methods/getRoomIdByNameOrId.js
index 4b7bd0c7121a3c6a83aba2d5a998a057caef2f30..786fbed4a05ea7f795cf6df3703fc13a6a28e7a1 100644
--- a/server/methods/getRoomIdByNameOrId.js
+++ b/server/methods/getRoomIdByNameOrId.js
@@ -1,4 +1,7 @@
 // DEPRECATE
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	getRoomIdByNameOrId(rid) {
 		check(rid, String);
diff --git a/server/methods/getRoomNameById.js b/server/methods/getRoomNameById.js
index d3d44c2ebe93b82a57781088ceb551efd4e0eab0..389e4c52a5d41b42481be07a1b05b7ed2f5b2dcb 100644
--- a/server/methods/getRoomNameById.js
+++ b/server/methods/getRoomNameById.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	getRoomNameById(rid) {
 		check(rid, String);
diff --git a/server/methods/getTotalChannels.js b/server/methods/getTotalChannels.js
index 23159db17abcda76c6130fd4c903e38645c9608e..bd362a67b7e6bdb81048068f8785eda28d9c69a8 100644
--- a/server/methods/getTotalChannels.js
+++ b/server/methods/getTotalChannels.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	getTotalChannels() {
 		if (!Meteor.userId()) {
diff --git a/server/methods/getUsernameSuggestion.js b/server/methods/getUsernameSuggestion.js
index 5f61897a2876336c5dc6b7f4216add16c16d3a7b..1dd7b6c270b66f13bd0f134e7705ee813059eec3 100644
--- a/server/methods/getUsernameSuggestion.js
+++ b/server/methods/getUsernameSuggestion.js
@@ -1,4 +1,6 @@
 /* global slugify */
+import { Meteor } from 'meteor/meteor';
+import { Match } from 'meteor/check';
 import _ from 'underscore';
 
 function slug(text) {
diff --git a/server/methods/getUsersOfRoom.js b/server/methods/getUsersOfRoom.js
index efd0ea0f699644a1f6d3559df49f932dabe6a8f0..ce9239fd86e47d0ded118073a3711d098c3b2628 100644
--- a/server/methods/getUsersOfRoom.js
+++ b/server/methods/getUsersOfRoom.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.methods({
 	getUsersOfRoom(rid, showAll) {
 		const userId = Meteor.userId();
diff --git a/server/methods/hideRoom.js b/server/methods/hideRoom.js
index be89e36c2973d0d1ce6ba91705fa1e834e7bcb36..baa285ad3adf276eba09cfa7181eadec45385e39 100644
--- a/server/methods/hideRoom.js
+++ b/server/methods/hideRoom.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	hideRoom(rid) {
 		check(rid, String);
diff --git a/server/methods/ignoreUser.js b/server/methods/ignoreUser.js
index 2cdc761aecc83dc02c08a9cd64c50d5b9860102a..ac171cdcbf48578caf3cfa7d9055133a4211f1e8 100644
--- a/server/methods/ignoreUser.js
+++ b/server/methods/ignoreUser.js
@@ -1,4 +1,6 @@
 /* globals RocketChat */
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
 
 Meteor.methods({
 	ignoreUser({ rid, userId: ignoredUser, ignore = true }) {
diff --git a/server/methods/loadHistory.js b/server/methods/loadHistory.js
index 8e91146de9d546bee75a219ef0608ebd939fdc2f..5b5ab09035c988c995c4426aa7c24abe96f3bdfc 100644
--- a/server/methods/loadHistory.js
+++ b/server/methods/loadHistory.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 const hideMessagesOfType = [];
 
 RocketChat.settings.get(/Message_HideType_.+/, function(key, value) {
diff --git a/server/methods/loadLocale.js b/server/methods/loadLocale.js
index 4af92f2225a9a69a9944cebd19ef0aa6495c1298..aa3d0302a4f268608200e1488c2491a74dd543f5 100644
--- a/server/methods/loadLocale.js
+++ b/server/methods/loadLocale.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	loadLocale(locale) {
 		check(locale, String);
diff --git a/server/methods/loadMissedMessages.js b/server/methods/loadMissedMessages.js
index 548c27c9c4020ecbdd3b3d304befaa038a673921..af01894e5d33580eb7d13fa2f0fd561c5cb896b6 100644
--- a/server/methods/loadMissedMessages.js
+++ b/server/methods/loadMissedMessages.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	loadMissedMessages(rid, start) {
 		check(rid, String);
diff --git a/server/methods/loadNextMessages.js b/server/methods/loadNextMessages.js
index 73ae17e105bd49e7a537fc985a832739ad18ea00..5601b628ea7ac3e9475fdd1d100d65c8fcc31528 100644
--- a/server/methods/loadNextMessages.js
+++ b/server/methods/loadNextMessages.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	loadNextMessages(rid, end, limit = 20) {
 		check(rid, String);
diff --git a/server/methods/loadSurroundingMessages.js b/server/methods/loadSurroundingMessages.js
index 74df083c19370d51e36c2de0aa7c4610a929f1bb..69db55d14fd580ece4d301a30a9bcd0ad7339687 100644
--- a/server/methods/loadSurroundingMessages.js
+++ b/server/methods/loadSurroundingMessages.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	loadSurroundingMessages(message, limit = 50) {
 		check(message, Object);
diff --git a/server/methods/logoutCleanUp.js b/server/methods/logoutCleanUp.js
index d418ed1e1474aae7845a4067f10255e26ea90825..157db2896cb78be204dfb3138b26b219f35e48b4 100644
--- a/server/methods/logoutCleanUp.js
+++ b/server/methods/logoutCleanUp.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	logoutCleanUp(user) {
 		check(user, Object);
diff --git a/server/methods/messageSearch.js b/server/methods/messageSearch.js
index 083a2d9bf85ae4f2e2d65949823a3f83762bcc6b..dd40f392928e711a75028d298b5f6b47dfeb5bdd 100644
--- a/server/methods/messageSearch.js
+++ b/server/methods/messageSearch.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
 import s from 'underscore.string';
 
 Meteor.methods({
diff --git a/server/methods/migrate.js b/server/methods/migrate.js
index 90b0eedc5ced967deb42219a2f17583f9468b11a..e46e7dc119931c9015e2d25e797e385d36e92440 100644
--- a/server/methods/migrate.js
+++ b/server/methods/migrate.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	migrateTo(version) {
 		check(version, String);
diff --git a/server/methods/muteUserInRoom.js b/server/methods/muteUserInRoom.js
index 2ac51e8e46eeae6aa5887cd960105ada13334c61..b63c3e4a17297296a29881cbddeabf6bbe92f5e4 100644
--- a/server/methods/muteUserInRoom.js
+++ b/server/methods/muteUserInRoom.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
+
 Meteor.methods({
 	muteUserInRoom(data) {
 		check(data, Match.ObjectIncluding({
diff --git a/server/methods/openRoom.js b/server/methods/openRoom.js
index 9db671e579ca726e4f0117a1e2a8b0fd5be54c15..2a9af14d3e072b5cdeb9141effb03ea419d54bf8 100644
--- a/server/methods/openRoom.js
+++ b/server/methods/openRoom.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	openRoom(rid) {
 		check(rid, String);
diff --git a/server/methods/readMessages.js b/server/methods/readMessages.js
index 951642a8d2765c3603df901a4aaff48cfe256d58..939cfc9a471ba6068252057781e38565c613e421 100644
--- a/server/methods/readMessages.js
+++ b/server/methods/readMessages.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
 import { ReadReceipt } from '../../imports/message-read-receipt/server/lib/ReadReceipt';
 
 Meteor.methods({
diff --git a/server/methods/registerUser.js b/server/methods/registerUser.js
index d38da86ef5c82fb2ce1166141251cd5e36c4bdd7..660f65feac6537cdd7f204e7f93a3f5fb6ed4617 100644
--- a/server/methods/registerUser.js
+++ b/server/methods/registerUser.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
+import { Accounts } from 'meteor/accounts-base';
 import s from 'underscore.string';
 import * as Mailer from 'meteor/rocketchat:mailer';
 let verifyEmailTemplate = '';
@@ -18,9 +21,10 @@ Meteor.methods({
 				],
 			});
 
-			const { id, token } = Accounts._loginUser(this, userId);
+			const stampedLoginToken = Accounts._generateStampedLoginToken();
 
-			return { id, token };
+			Accounts._insertLoginToken(userId, stampedLoginToken);
+			return stampedLoginToken;
 		} else {
 			check(formData, Match.ObjectIncluding({
 				email: String,
diff --git a/server/methods/removeRoomLeader.js b/server/methods/removeRoomLeader.js
index ec8ffba57ca049685530662d4b63b23e41803b0f..935c10966fc8d026a3477edde34c2734ef7b379b 100644
--- a/server/methods/removeRoomLeader.js
+++ b/server/methods/removeRoomLeader.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	removeRoomLeader(rid, userId) {
 		check(rid, String);
diff --git a/server/methods/removeRoomModerator.js b/server/methods/removeRoomModerator.js
index 04eb0c323c631800277176410fe77189222acc9b..bf0f09f63b0dcb7e76d40c5ac005108b6f3d4c8f 100644
--- a/server/methods/removeRoomModerator.js
+++ b/server/methods/removeRoomModerator.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	removeRoomModerator(rid, userId) {
 		check(rid, String);
diff --git a/server/methods/removeRoomOwner.js b/server/methods/removeRoomOwner.js
index caf7c3899cfedd8bd27d9f86b5d379e802bc8720..a1e80af51c8f23ef2194125de054645c66ee01e1 100644
--- a/server/methods/removeRoomOwner.js
+++ b/server/methods/removeRoomOwner.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	removeRoomOwner(rid, userId) {
 		check(rid, String);
diff --git a/server/methods/removeUserFromRoom.js b/server/methods/removeUserFromRoom.js
index 9bb8d1ce2122869b5716147f5836d87cc7918f8d..c82e7c64a22c4241334717705bee80572e4be192 100644
--- a/server/methods/removeUserFromRoom.js
+++ b/server/methods/removeUserFromRoom.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
+
 Meteor.methods({
 	removeUserFromRoom(data) {
 		check(data, Match.ObjectIncluding({
diff --git a/server/methods/reportMessage.js b/server/methods/reportMessage.js
index 2c99cbf5a8aa39b90a6230d9c92d6e4474c67188..90215f6a2e686c4df90e3ef03ee30366a0cb055a 100644
--- a/server/methods/reportMessage.js
+++ b/server/methods/reportMessage.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	reportMessage(messageId, description) {
 		check(messageId, String);
diff --git a/server/methods/requestDataDownload.js b/server/methods/requestDataDownload.js
index baa8e0ed2b34f74c87ee62e9ebd7a4d2fb5c1cd1..edce06739bd72638c69704b8cfd4bd927619145d 100644
--- a/server/methods/requestDataDownload.js
+++ b/server/methods/requestDataDownload.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import fs from 'fs';
 import path from 'path';
 
diff --git a/server/methods/resetAvatar.js b/server/methods/resetAvatar.js
index 7d19ba3ec1732df78f3e3251102214dcfd7326d1..aca806f46656499750db8fead85bc57216ddda4b 100644
--- a/server/methods/resetAvatar.js
+++ b/server/methods/resetAvatar.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { DDPRateLimiter } from 'meteor/ddp-rate-limiter';
+
 Meteor.methods({
 	resetAvatar() {
 		if (!Meteor.userId()) {
diff --git a/server/methods/roomNameExists.js b/server/methods/roomNameExists.js
index 670da04e91f07a5aee496162c9c4b992ed14d351..064f7ae285463fcd91aa1ddb2863b75a4c54e3ae 100644
--- a/server/methods/roomNameExists.js
+++ b/server/methods/roomNameExists.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.methods({
 	roomNameExists(rid) {
 		check(rid, String);
diff --git a/server/methods/saveUserPreferences.js b/server/methods/saveUserPreferences.js
index be78b74362530ddd102121661e5654769f1a729e..8b5b4ca71bdf490820a8bf007935b086b3bbd865 100644
--- a/server/methods/saveUserPreferences.js
+++ b/server/methods/saveUserPreferences.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
+
 Meteor.methods({
 	saveUserPreferences(settings) {
 		const keys = {
diff --git a/server/methods/saveUserProfile.js b/server/methods/saveUserProfile.js
index bd45439533fbdbcc7df0e7d6b53663d9e8c69758..b50d170596170273cfd1addbed5f2a5589d1cf5c 100644
--- a/server/methods/saveUserProfile.js
+++ b/server/methods/saveUserProfile.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
+import { Accounts } from 'meteor/accounts-base';
+
 Meteor.methods({
 	saveUserProfile(settings, customFields) {
 		check(settings, Object);
diff --git a/server/methods/sendConfirmationEmail.js b/server/methods/sendConfirmationEmail.js
index 7c162175312a68b610fce1a3185f8f52b6421274..b90721f3c05fb2794b35961e7fbf4366fab31754 100644
--- a/server/methods/sendConfirmationEmail.js
+++ b/server/methods/sendConfirmationEmail.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+import { Accounts } from 'meteor/accounts-base';
 import * as Mailer from 'meteor/rocketchat:mailer';
 
 let subject = '';
diff --git a/server/methods/sendForgotPasswordEmail.js b/server/methods/sendForgotPasswordEmail.js
index cb64a99b9469c55b5b041f2b6249cb4d34f0d640..f9c7de21f15923a3055a35587b231441ce63d1c4 100644
--- a/server/methods/sendForgotPasswordEmail.js
+++ b/server/methods/sendForgotPasswordEmail.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+import { Accounts } from 'meteor/accounts-base';
 import s from 'underscore.string';
 import * as Mailer from 'meteor/rocketchat:mailer';
 
diff --git a/server/methods/setAvatarFromService.js b/server/methods/setAvatarFromService.js
index 085c73207f5e0f43401fc564e9cda0bc7310cf87..1bc249bd5aa4cfdb46fecf9e66900fbde4d4d5b1 100644
--- a/server/methods/setAvatarFromService.js
+++ b/server/methods/setAvatarFromService.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
+import { DDPRateLimiter } from 'meteor/ddp-rate-limiter';
+
 Meteor.methods({
 	setAvatarFromService(dataURI, contentType, service) {
 		check(dataURI, String);
diff --git a/server/methods/setUserActiveStatus.js b/server/methods/setUserActiveStatus.js
index bb29660779ee908d35a3775b1e0d4809bc7b9f65..35e82ec642bb4989e75e8cf83d3a6b63cbd0e0b7 100644
--- a/server/methods/setUserActiveStatus.js
+++ b/server/methods/setUserActiveStatus.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+import { Accounts } from 'meteor/accounts-base';
 import * as Mailer from 'meteor/rocketchat:mailer';
 
 Meteor.methods({
diff --git a/server/methods/setUserPassword.js b/server/methods/setUserPassword.js
index 7c6ea5bed9a146115350cff98ff299b743f1030c..a4ee82116815378d2f732d90aed5ce0e74aa2a52 100644
--- a/server/methods/setUserPassword.js
+++ b/server/methods/setUserPassword.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+import { Accounts } from 'meteor/accounts-base';
+
 Meteor.methods({
 	setUserPassword(password) {
 		check(password, String);
diff --git a/server/methods/toogleFavorite.js b/server/methods/toogleFavorite.js
index 0f40a44137284d5ca4b3d3d8c69ba596aac929f8..4259c233cb57f5a0b60c00d6839823e34088601a 100644
--- a/server/methods/toogleFavorite.js
+++ b/server/methods/toogleFavorite.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
+
 Meteor.methods({
 	toggleFavorite(rid, f) {
 		check(rid, String);
diff --git a/server/methods/unmuteUserInRoom.js b/server/methods/unmuteUserInRoom.js
index 93da71da70d038c91fe48b987621ca7ebb896d9b..0349a0d797cd26125ca77748f5077c380c83227e 100644
--- a/server/methods/unmuteUserInRoom.js
+++ b/server/methods/unmuteUserInRoom.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Match, check } from 'meteor/check';
+
 Meteor.methods({
 	unmuteUserInRoom(data) {
 		const fromId = Meteor.userId();
diff --git a/server/methods/userSetUtcOffset.js b/server/methods/userSetUtcOffset.js
index 6869689d14c271035f0b371b923ffeae9c2af1ec..941950e0877b43d29a17cf240be27c3c1b2d2484 100644
--- a/server/methods/userSetUtcOffset.js
+++ b/server/methods/userSetUtcOffset.js
@@ -1,3 +1,7 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+import { DDPRateLimiter } from 'meteor/ddp-rate-limiter';
+
 Meteor.methods({
 	userSetUtcOffset(utcOffset) {
 		check(utcOffset, Number);
diff --git a/server/publications/activeUsers.js b/server/publications/activeUsers.js
index bc50fd729d4d806c0e8534aab4ee5498944413c1..05bdf63977cf03fb2df7fbe23515c2b84da803da 100644
--- a/server/publications/activeUsers.js
+++ b/server/publications/activeUsers.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.publish('activeUsers', function() {
 	if (!this.userId) {
 		return this.ready();
diff --git a/server/publications/channelAndPrivateAutocomplete.js b/server/publications/channelAndPrivateAutocomplete.js
index 3ed2ed358c37b20b956f185081852f1075489cb7..43b2333e73dc44a096046f04d4f292d97b4a0b77 100644
--- a/server/publications/channelAndPrivateAutocomplete.js
+++ b/server/publications/channelAndPrivateAutocomplete.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.publish('channelAndPrivateAutocomplete', function(selector) {
 	if (!this.userId) {
 		return this.ready();
diff --git a/server/publications/fullUserData.js b/server/publications/fullUserData.js
index 8b93812fe13cab811ca5d88e46abe887cca681db..132adea2349377e6b79a334080bfd6cb402ec477 100644
--- a/server/publications/fullUserData.js
+++ b/server/publications/fullUserData.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.publish('fullUserData', function(filter, limit) {
 	if (!this.userId) {
 		return this.ready();
diff --git a/server/publications/messages.js b/server/publications/messages.js
index 2e4f733d8f7162335908585a540eb14b8f92e335..e053e9adb9e3a0ee5e715079d2d6ab606f0d314d 100644
--- a/server/publications/messages.js
+++ b/server/publications/messages.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
+
 Meteor.publish('messages', function(rid/* , start*/) {
 	if (!this.userId) {
 		return this.ready();
diff --git a/server/publications/room.js b/server/publications/room.js
index d93e173d6254d11fa20c43987cf0d6655271c905..dd50b60610dd1971b4306b68ff9cd9abf6068223 100644
--- a/server/publications/room.js
+++ b/server/publications/room.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import _ from 'underscore';
 
 const fields = {
@@ -125,8 +126,6 @@ RocketChat.models.Rooms.on('change', ({ clientAction, id, data }) => {
 	}
 
 	if (data) {
-		RocketChat.models.Subscriptions.findByRoomId(id, { fields: { 'u._id': 1 } }).forEach(({ u }) => {
-			RocketChat.Notifications.notifyUserInThisInstance(u._id, 'rooms-changed', clientAction, data);
-		});
+		RocketChat.Notifications.streamUser.__emit(id, clientAction, data);
 	}
 });
diff --git a/server/publications/roomFiles.js b/server/publications/roomFiles.js
index f31d9c828c7d44f6893ce72f05d6da4a05006a5d..ff95417017007d9b333571babc5ada530f699aee 100644
--- a/server/publications/roomFiles.js
+++ b/server/publications/roomFiles.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import { roomFiles } from '../lib/roomFiles';
 
 Meteor.publish('roomFiles', function(rid, limit = 50) {
diff --git a/server/publications/roomFilesWithSearchText.js b/server/publications/roomFilesWithSearchText.js
index 9d7dacdd6c75feda233dc3582478399c26a231f0..7d0d975beaaf08cdfa931723d9560fce76f53384 100644
--- a/server/publications/roomFilesWithSearchText.js
+++ b/server/publications/roomFilesWithSearchText.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import { roomFiles } from '../lib/roomFiles';
 
 Meteor.publish('roomFilesWithSearchText', function(rid, searchText, limit = 50) {
diff --git a/server/publications/roomSubscriptionsByRole.js b/server/publications/roomSubscriptionsByRole.js
index 2a50d0f14cc2590f419e26e9f3d6c2d0aa3d1056..254088183427748be1c7d3e92c9afb7cbdb436f6 100644
--- a/server/publications/roomSubscriptionsByRole.js
+++ b/server/publications/roomSubscriptionsByRole.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.publish('roomSubscriptionsByRole', function(rid, role) {
 	if (!this.userId) {
 		return this.ready();
diff --git a/server/publications/spotlight.js b/server/publications/spotlight.js
index 2f2cdc6f98c86f31500bdb5a0140f265e7b0959c..74642e54a9290569be081adf94b8775ac13e5c98 100644
--- a/server/publications/spotlight.js
+++ b/server/publications/spotlight.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { DDPRateLimiter } from 'meteor/ddp-rate-limiter';
 import s from 'underscore.string';
 
 function fetchRooms(userId, rooms) {
@@ -33,6 +35,7 @@ Meteor.methods({
 			fields: {
 				t: 1,
 				name: 1,
+				joinCodeRequired: 1,
 				lastMessage: 1,
 			},
 			sort: {
diff --git a/server/publications/subscription.js b/server/publications/subscription.js
index d0c731cd7ffd8022cad723329b40bdd20894e715..d9727f61d006a96e6efd19144492b7135a53b28f 100644
--- a/server/publications/subscription.js
+++ b/server/publications/subscription.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 const fields = {
 	t: 1,
 	ts: 1,
@@ -68,16 +70,18 @@ Meteor.methods({
 
 RocketChat.models.Subscriptions.on('change', ({ clientAction, id, data }) => {
 	switch (clientAction) {
-		case 'updated':
 		case 'inserted':
+		case 'updated':
 			// Override data cuz we do not publish all fields
 			data = RocketChat.models.Subscriptions.findOneById(id, { fields });
 			break;
 
 		case 'removed':
-			data = RocketChat.models.Subscriptions.trashFindOneById(id, { fields: { u: 1 } });
+			data = RocketChat.models.Subscriptions.trashFindOneById(id, { fields: { u: 1, rid: 1 } });
 			break;
 	}
 
+	RocketChat.Notifications.streamUser.__emit(data.u._id, clientAction, data);
+
 	RocketChat.Notifications.notifyUserInThisInstance(data.u._id, 'subscriptions-changed', clientAction, data);
 });
diff --git a/server/publications/userAutocomplete.js b/server/publications/userAutocomplete.js
index 012dffa34ee8de8e0b78acb08fa092eee557278b..9241013edd8f15818769bf18848007ab6b5e488e 100644
--- a/server/publications/userAutocomplete.js
+++ b/server/publications/userAutocomplete.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import _ from 'underscore';
 
 Meteor.publish('userAutocomplete', function(selector) {
diff --git a/server/publications/userChannels.js b/server/publications/userChannels.js
index d3fe48c96209c7287d89b3d1a750cf0135efec89..409235234e547d52e2e2160d230693e178e5810f 100644
--- a/server/publications/userChannels.js
+++ b/server/publications/userChannels.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.publish('userChannels', function(userId) {
 	if (!this.userId) {
 		return this.ready();
diff --git a/server/publications/userData.js b/server/publications/userData.js
index 1f520bdbd70401f60252d4f16ef2ddaa71deab0a..3bd9f8a24c634ecb424943c43509334b46a26202 100644
--- a/server/publications/userData.js
+++ b/server/publications/userData.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 Meteor.publish('userData', function() {
 	if (!this.userId) {
 		return this.ready();
diff --git a/server/startup/appcache.js b/server/startup/appcache.js
index 984ad4479d8490b601170d5aaacf9fb705319679..bead53412668c411d0ed3dce54e8469d83739483 100644
--- a/server/startup/appcache.js
+++ b/server/startup/appcache.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 if (Meteor.AppCache) {
 	Meteor.AppCache.config({
 		onlineOnly: ['/elements/', '/landing/', '/moment-locales/', '/scripts/'],
diff --git a/server/startup/avatar.js b/server/startup/avatar.js
index 119c2f1a2bb096718a45249a5c27f42912e791b4..f1e66b5408da0cb91c41b5ef78507a6250b1544f 100644
--- a/server/startup/avatar.js
+++ b/server/startup/avatar.js
@@ -1,4 +1,6 @@
 /* globals FileUpload */
+import { WebApp } from 'meteor/webapp';
+import { Meteor } from 'meteor/meteor';
 import _ from 'underscore';
 import sharp from 'sharp';
 import { Cookies } from 'meteor/ostrio:cookies';
diff --git a/server/startup/cron.js b/server/startup/cron.js
index b7467344851b9686d7c204e8d5cfc2e1b708f8f6..1c68fcf4df64540d1b8757174cac061936799aee 100644
--- a/server/startup/cron.js
+++ b/server/startup/cron.js
@@ -1,4 +1,6 @@
 /* global SyncedCron */
+import { Meteor } from 'meteor/meteor';
+import { HTTP } from 'meteor/http';
 
 const logger = new Logger('SyncedCron');
 
diff --git a/server/startup/i18n-validation.js b/server/startup/i18n-validation.js
index adfcda4addf178723706ab9114bfdeea7b7e6f2e..87fc70142389ee4e890618e02686b9c5124bf31e 100644
--- a/server/startup/i18n-validation.js
+++ b/server/startup/i18n-validation.js
@@ -1,3 +1,4 @@
+import { TAPi18next } from 'meteor/tap:i18n';
 import _ from 'underscore';
 import s from 'underscore.string';
 
diff --git a/server/startup/initialData.js b/server/startup/initialData.js
index 331f2e17a647d63bb46e7f4358a4e37208a168d3..4a11d4b114bd3f21c7605ac868df085a4cf07c9d 100644
--- a/server/startup/initialData.js
+++ b/server/startup/initialData.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Accounts } from 'meteor/accounts-base';
+import { RocketChatFile } from 'meteor/rocketchat:file';
 import _ from 'underscore';
 
 Meteor.startup(function() {
diff --git a/server/startup/migrations/v002.js b/server/startup/migrations/v002.js
index f0fcee93ca94b6ce8a2fc02ddb6b68ff75d91add..1da3b03d453cf6658d4e567447847ff0a36f3e63 100644
--- a/server/startup/migrations/v002.js
+++ b/server/startup/migrations/v002.js
@@ -1,5 +1,5 @@
 /* globals getAvatarSuggestionForUser */
-
+import { RocketChatFile } from 'meteor/rocketchat:file';
 RocketChat.Migrations.add({
 	version: 2,
 	up() {
diff --git a/server/startup/migrations/v004.js b/server/startup/migrations/v004.js
index 63cb0c7182a849e3281f1b4850b5b67a71d10f8f..40c00ac52fbc1d0bd4128e023513859ac6d04ff3 100644
--- a/server/startup/migrations/v004.js
+++ b/server/startup/migrations/v004.js
@@ -1,3 +1,5 @@
+import { Random } from 'meteor/random';
+
 RocketChat.Migrations.add({
 	version: 4,
 	up() {
diff --git a/server/startup/migrations/v009.js b/server/startup/migrations/v009.js
index 943239ff506b84ecce7150d84269a252a69c67b1..73469d1db595e210a67a5132aa837a9308c2b444 100644
--- a/server/startup/migrations/v009.js
+++ b/server/startup/migrations/v009.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Mongo } from 'meteor/mongo';
+
 RocketChat.Migrations.add({
 	version: 9,
 	up() {
diff --git a/server/startup/migrations/v012.js b/server/startup/migrations/v012.js
index f0b61d34b84cff2acaf9c870b9167652a20376c5..91e726f7e4349a3c4fc225976dda30d51050510e 100644
--- a/server/startup/migrations/v012.js
+++ b/server/startup/migrations/v012.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 RocketChat.Migrations.add({
 	version: 12,
 	up() {
diff --git a/server/startup/migrations/v015.js b/server/startup/migrations/v015.js
index 749a8e0f53e5603ce6fe5d308a73a5d5e0318ec4..040d0953e4cd528d7a0e5f3a322b8f59a8aeef7b 100644
--- a/server/startup/migrations/v015.js
+++ b/server/startup/migrations/v015.js
@@ -1,3 +1,6 @@
+import { Meteor } from 'meteor/meteor';
+import { Mongo } from 'meteor/mongo';
+
 RocketChat.Migrations.add({
 	version: 15,
 	up() {
diff --git a/server/startup/migrations/v019.js b/server/startup/migrations/v019.js
index de3d672ed680fe2cf1735158a3dd62cf01df94d1..45e9c863e6303b8c9d91def184642ff8a2550cc2 100644
--- a/server/startup/migrations/v019.js
+++ b/server/startup/migrations/v019.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import _ from 'underscore';
 
 RocketChat.Migrations.add({
diff --git a/server/startup/migrations/v036.js b/server/startup/migrations/v036.js
index 633c18ef4b9dee3dfa16ed6d624bdcb51f96fc24..5fc1479cb6eb078da019605bc33841fbd979c6e3 100644
--- a/server/startup/migrations/v036.js
+++ b/server/startup/migrations/v036.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+import { HTTP } from 'meteor/http';
 import url from 'url';
 
 RocketChat.Migrations.add({
diff --git a/server/startup/migrations/v042.js b/server/startup/migrations/v042.js
index e11db8b7ee2bd44347161db8e52c8c1140b00db3..e97cb83bf8c9815c568d8f1e61c4e25364b6a99e 100644
--- a/server/startup/migrations/v042.js
+++ b/server/startup/migrations/v042.js
@@ -1,3 +1,5 @@
+import { Mongo } from 'meteor/mongo';
+
 RocketChat.Migrations.add({
 	version: 42,
 	up() {
diff --git a/server/startup/migrations/v099.js b/server/startup/migrations/v099.js
index 5405c78e3c286632f380b6ecdc8e815857f9dd1c..c1e121154cbc51338683e248b588322a0ee8fe6e 100644
--- a/server/startup/migrations/v099.js
+++ b/server/startup/migrations/v099.js
@@ -1,5 +1,9 @@
 /* globals SystemLogger */
 
+import { Meteor } from 'meteor/meteor';
+import { Match } from 'meteor/check';
+import { Mongo } from 'meteor/mongo';
+import { RocketChatFile } from 'meteor/rocketchat:file';
 import fs from 'fs';
 import path from 'path';
 
diff --git a/server/startup/migrations/v106.js b/server/startup/migrations/v106.js
index b66d194bd35046635c27ae5df0b8297dc72cef49..15c1c1c14d79d69507b5139e07f3f81e7350dbca 100644
--- a/server/startup/migrations/v106.js
+++ b/server/startup/migrations/v106.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import LivechatVisitors from 'meteor/rocketchat:livechat/server/models/LivechatVisitors';
 
 RocketChat.Migrations.add({
diff --git a/server/startup/migrations/v123.js b/server/startup/migrations/v123.js
index 272cfc40c7996a9caf04f1713f8ce0a276d339db..db04e4fcacf34f2164471ff7d07a77ca14950e28 100644
--- a/server/startup/migrations/v123.js
+++ b/server/startup/migrations/v123.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 let pageVisitedCollection;
 let messageCollection;
 let roomCollection;
diff --git a/server/startup/migrations/v130.js b/server/startup/migrations/v130.js
index fc24666b9bd00b5521701c93c0a82e2f20740e54..70c212fbcbd108486de4d6c7312b59d7445897ba 100644
--- a/server/startup/migrations/v130.js
+++ b/server/startup/migrations/v130.js
@@ -1,3 +1,4 @@
+import { Meteor } from 'meteor/meteor';
 import Future from 'fibers/future';
 
 RocketChat.Migrations.add({
diff --git a/server/startup/migrations/v136.js b/server/startup/migrations/v136.js
new file mode 100644
index 0000000000000000000000000000000000000000..41f2e2dc4d602daed84033a8378ceb41885b3604
--- /dev/null
+++ b/server/startup/migrations/v136.js
@@ -0,0 +1,15 @@
+RocketChat.Migrations.add({
+	version: 136,
+	up() {
+		const personalTokensEnabled = RocketChat.settings.get('API_Enable_Personal_Access_Tokens');
+		const roles = RocketChat.models.Roles.find({ scope: 'Users' }).fetch().map((role) => role._id);
+
+		if (personalTokensEnabled) {
+			RocketChat.models.Permissions.upsert({ _id: 'create-personal-access-tokens' }, { $set: { roles } });
+		}
+
+		RocketChat.models.Settings.remove({
+			_id: 'API_Enable_Personal_Access_Tokens',
+		});
+	},
+});
diff --git a/server/startup/presence.js b/server/startup/presence.js
index 6bc6029168ccaf91a151214bfca4540a36ee9797..123aa23096255616376521956f8b5a2d02f8ccfd 100644
--- a/server/startup/presence.js
+++ b/server/startup/presence.js
@@ -1,4 +1,5 @@
 /* globals InstanceStatus, UserPresence, UserPresenceMonitor */
+import { Meteor } from 'meteor/meteor';
 
 Meteor.startup(function() {
 	const instance = {
diff --git a/server/startup/serverRunning.js b/server/startup/serverRunning.js
index 14c6ed03bcf1f279832e19fa906a87d63373cd3e..da1e5c5dcd382c3ebad9dc9891c2d25af098b3f0 100644
--- a/server/startup/serverRunning.js
+++ b/server/startup/serverRunning.js
@@ -1,5 +1,6 @@
 /* globals MongoInternals, SystemLogger */
 
+import { Meteor } from 'meteor/meteor';
 import fs from 'fs';
 import path from 'path';
 import semver from 'semver';
diff --git a/server/stream/messages.js b/server/stream/messages.js
index 49cf5b1c4d14aa816114f54e5214d42fa5c5bb03..d81aa0c68d81ba607e9b43fdb58ea61b437b4efa 100644
--- a/server/stream/messages.js
+++ b/server/stream/messages.js
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
 const msgStream = new Meteor.Streamer('room-messages');
 this.msgStream = msgStream;
 
diff --git a/server/stream/streamBroadcast.js b/server/stream/streamBroadcast.js
index 4a7dc876a5ef0404309ad4c4b26fcef810561af1..1cc32a45eca964e02e0bda68833ca89810e6a40c 100644
--- a/server/stream/streamBroadcast.js
+++ b/server/stream/streamBroadcast.js
@@ -1,5 +1,7 @@
 /* global InstanceStatus, DDP, LoggerManager */
 
+import { Meteor } from 'meteor/meteor';
+import { check } from 'meteor/check';
 import _ from 'underscore';
 import { DDPCommon } from 'meteor/ddp-common';
 
diff --git a/tests/data/checks.js b/tests/data/checks.js
index c3080d79eb7c38e3eff3f20cb5f5c11b8297f876..3bcf03d46fe83d30d46a132f922e21cb10a86010 100644
--- a/tests/data/checks.js
+++ b/tests/data/checks.js
@@ -1,3 +1,5 @@
+/* globals Meteor */
+
 import loginPage from '../pageobjects/login.page';
 import mainContent from '../pageobjects/main-content.page';
 import sideNav from '../pageobjects/side-nav.page';
diff --git a/tests/data/permissions.helper.js b/tests/data/permissions.helper.js
new file mode 100644
index 0000000000000000000000000000000000000000..5a7d3218da4cd0440a13ceeea6b651e6569fdf49
--- /dev/null
+++ b/tests/data/permissions.helper.js
@@ -0,0 +1,10 @@
+import { api, credentials, request } from './api-data';
+
+export const updatePermission = (permission, roles) => new Promise((resolve) => {
+	request.post(api('permissions.update'))
+		.set(credentials)
+		.send({ permissions: [{ _id: permission, roles }] })
+		.expect('Content-Type', 'application/json')
+		.expect(200)
+		.end(resolve);
+});
diff --git a/tests/data/rooms.helper.js b/tests/data/rooms.helper.js
new file mode 100644
index 0000000000000000000000000000000000000000..f3213591d6e34a42b7bcaceb389cfcdfd8da55a9
--- /dev/null
+++ b/tests/data/rooms.helper.js
@@ -0,0 +1,44 @@
+import { api, credentials, request } from './api-data';
+
+export const createRoom = ({ name, type, username }) => {
+	if (!type) {
+		throw new Error('"type" is required in "createRoom" test helper');
+	}
+	if (type === 'd' && !username) {
+		throw new Error('To be able to create DM Room, you must provide the username');
+	}
+	const endpoints = {
+		c: 'channels.create',
+		p: 'groups.create',
+		d: 'im.create',
+	};
+	const params = type === 'd'
+		? ({ username })
+		: ({ name });
+
+	return request.post(api(endpoints[type]))
+		.set(credentials)
+		.send(params);
+};
+
+export const closeRoom = ({ type, roomId }) => {
+	if (!type) {
+		throw new Error('"type" is required in "closeRoom" test helper');
+	}
+	if (!roomId) {
+		throw new Error('"roomId" is required in "closeRoom" test helper');
+	}
+	const endpoints = {
+		c: 'channels.close',
+		p: 'groups.close',
+		d: 'im.close',
+	};
+	return new Promise((resolve) => {
+		request.post(api(endpoints[type]))
+			.set(credentials)
+			.send({
+				roomId,
+			})
+			.end(resolve);
+	});
+};
diff --git a/tests/end-to-end/api/01-users.js b/tests/end-to-end/api/01-users.js
index 56cd313a6134fba9a937683ba002940f751dfdfb..1e46010f286d0dd4273b2e57b5cebd9803093ccf 100644
--- a/tests/end-to-end/api/01-users.js
+++ b/tests/end-to-end/api/01-users.js
@@ -18,6 +18,18 @@ import { adminEmail, preferences, password, adminUsername } from '../../data/use
 import { imgURL } from '../../data/interactions.js';
 import { customFieldText, clearCustomFields, setCustomFields } from '../../data/custom-fields.js';
 
+const updatePermission = (permission, roles) => new Promise((resolve) => {
+	request.post(api('permissions.update'))
+		.set(credentials)
+		.send({ permissions: [{ _id: permission, roles }] })
+		.expect('Content-Type', 'application/json')
+		.expect(200)
+		.expect((res) => {
+			expect(res.body).to.have.property('success', true);
+		})
+		.end(resolve);
+});
+
 const updateSetting = (setting, value) => new Promise((resolve) => {
 	request.post(`/api/v1/settings/${ setting }`)
 		.set(credentials)
@@ -226,6 +238,35 @@ describe('[Users]', function() {
 				})
 				.end(done);
 		});
+		it('should return "rooms" property when user request it and the user has the necessary permission (admin, "view-other-user-channels")', (done) => {
+			request.get(api('users.info'))
+				.set(credentials)
+				.query({
+					userId: targetUser._id,
+					fields: JSON.stringify({ userRooms: 1 }),
+				})
+				.expect('Content-Type', 'application/json')
+				.expect(200)
+				.expect((res) => {
+					expect(res.body).to.have.property('success', true);
+					expect(res.body).to.have.nested.property('user.rooms').and.to.be.an('array');
+				})
+				.end(done);
+		});
+		it('should NOT return "rooms" property when user NOT request it but the user has the necessary permission (admin, "view-other-user-channels")', (done) => {
+			request.get(api('users.info'))
+				.set(credentials)
+				.query({
+					userId: targetUser._id,
+				})
+				.expect('Content-Type', 'application/json')
+				.expect(200)
+				.expect((res) => {
+					expect(res.body).to.have.property('success', true);
+					expect(res.body).to.not.have.nested.property('user.rooms');
+				})
+				.end(done);
+		});
 	});
 
 	describe('[/users.getPresence]', () => {
@@ -311,15 +352,18 @@ describe('[Users]', function() {
 					userCredentials['X-User-Id'] = res.body.data.userId;
 				})
 				.end(done);
+
+		});
+		before((done) => {
+			updatePermission('edit-other-user-info', ['admin', 'user']).then(done);
 		});
 		after((done) => {
 			request.post(api('users.delete')).set(credentials).send({
 				userId: user._id,
-			}).end(done);
+			}).end(() => updatePermission('edit-other-user-info', ['admin']).then(done));
 			user = undefined;
 		});
-
-		it('should set the avatar of the auth user by a local image', (done) => {
+		it('should set the avatar of the logged user by a local image', (done) => {
 			request.post(api('users.setAvatar'))
 				.set(userCredentials)
 				.attach('image', imgURL)
@@ -330,23 +374,11 @@ describe('[Users]', function() {
 				})
 				.end(done);
 		});
-		it('should prevent from updating someone else\'s avatar', (done) => {
+		it('should update the avatar of another user by userId when the logged user has the necessary permission (edit-other-user-info)', (done) => {
 			request.post(api('users.setAvatar'))
 				.set(userCredentials)
 				.attach('image', imgURL)
-				.field({ userId: targetUser._id })
-				.expect('Content-Type', 'application/json')
-				.expect(400)
-				.expect((res) => {
-					expect(res.body).to.have.property('success', false);
-				})
-				.end(done);
-		});
-		it('should set the avatar of another user by username and local image', (done) => {
-			request.post(api('users.setAvatar'))
-				.set(credentials)
-				.attach('image', imgURL)
-				.field({ username: targetUser.username })
+				.field({ userId: credentials['X-User-Id'] })
 				.expect('Content-Type', 'application/json')
 				.expect(200)
 				.expect((res) => {
@@ -354,11 +386,11 @@ describe('[Users]', function() {
 				})
 				.end(done);
 		});
-		it('should set the avatar of another user by userId and local image', (done) => {
+		it('should set the avatar of another user by username and local image when the logged user has the necessary permission (edit-other-user-info)', (done) => {
 			request.post(api('users.setAvatar'))
 				.set(credentials)
 				.attach('image', imgURL)
-				.field({ userId: targetUser._id })
+				.field({ username: adminUsername })
 				.expect('Content-Type', 'application/json')
 				.expect(200)
 				.expect((res) => {
@@ -366,20 +398,23 @@ describe('[Users]', function() {
 				})
 				.end(done);
 		});
+		it.skip('should prevent from updating someone else\'s avatar when the logged user has not the necessary permission(edit-other-user-info)', (done) => {
+			updatePermission('edit-other-user-info', []).then(() => {
+				request.post(api('users.setAvatar'))
+					.set(userCredentials)
+					.attach('image', imgURL)
+					.field({ userId: credentials['X-User-Id'] })
+					.expect('Content-Type', 'application/json')
+					.expect(400)
+					.expect((res) => {
+						expect(res.body).to.have.property('success', false);
+					})
+					.end(done);
+			});
+		});
 	});
 
 	describe('[/users.update]', () => {
-		const updatePermission = (permission, roles) => new Promise((resolve) => {
-			request.post(api('permissions.update'))
-				.set(credentials)
-				.send({ permissions: [{ _id: permission, roles }] })
-				.expect('Content-Type', 'application/json')
-				.expect(200)
-				.expect((res) => {
-					expect(res.body).to.have.property('success', true);
-				})
-				.end(resolve);
-		});
 		before((done) => {
 			updateSetting('Accounts_AllowUserProfileChange', true)
 				.then(() => updateSetting('Accounts_AllowUsernameChange', true))
@@ -1212,17 +1247,7 @@ describe('[Users]', function() {
 	describe('Personal Access Tokens', () => {
 		const tokenName = `${ Date.now() }token`;
 		describe('successful cases', () => {
-			it('Enable "API_Enable_Personal_Access_Tokens" setting...', (done) => {
-				request.post('/api/v1/settings/API_Enable_Personal_Access_Tokens')
-					.set(credentials)
-					.send({ value: true })
-					.expect('Content-Type', 'application/json')
-					.expect(200)
-					.expect((res) => {
-						expect(res.body).to.have.property('success', true);
-					})
-					.end(done);
-			});
+			it('Grant necessary permission "create-personal-accss-tokens" to user', (done) => updatePermission('create-personal-access-tokens', ['admin']).then(done));
 			describe('[/users.generatePersonalAccessToken]', () => {
 				it('should return a personal access token to user', (done) => {
 					request.post(api('users.generatePersonalAccessToken'))
@@ -1324,18 +1349,8 @@ describe('[Users]', function() {
 			});
 		});
 		describe('unsuccessful cases', () => {
-			it('disable "API_Enable_Personal_Access_Tokens" setting...', (done) => {
-				request.post('/api/v1/settings/API_Enable_Personal_Access_Tokens')
-					.set(credentials)
-					.send({ value: false })
-					.expect('Content-Type', 'application/json')
-					.expect(200)
-					.expect((res) => {
-						expect(res.body).to.have.property('success', true);
-					})
-					.end(done);
-			});
-			describe('should return an error when setting "API_Enable_Personal_Access_Tokens" is disabled for the following routes', () => {
+			it('Remove necessary permission "create-personal-accss-tokens" to user', (done) => updatePermission('create-personal-access-tokens', []).then(done));
+			describe('should return an error when the user dont have the necessary permission "create-personal-access-tokens"', () => {
 				it('/users.generatePersonalAccessToken', (done) => {
 					request.post(api('users.generatePersonalAccessToken'))
 						.set(credentials)
@@ -1346,7 +1361,7 @@ describe('[Users]', function() {
 						.expect(400)
 						.expect((res) => {
 							expect(res.body).to.have.property('success', false);
-							expect(res.body.errorType).to.be.equal('error-personal-access-tokens-are-current-disabled');
+							expect(res.body.errorType).to.be.equal('not-authorized');
 						})
 						.end(done);
 				});
@@ -1360,7 +1375,7 @@ describe('[Users]', function() {
 						.expect(400)
 						.expect((res) => {
 							expect(res.body).to.have.property('success', false);
-							expect(res.body.errorType).to.be.equal('error-personal-access-tokens-are-current-disabled');
+							expect(res.body.errorType).to.be.equal('not-authorized');
 						})
 						.end(done);
 				});
@@ -1371,7 +1386,7 @@ describe('[Users]', function() {
 						.expect(400)
 						.expect((res) => {
 							expect(res.body).to.have.property('success', false);
-							expect(res.body.errorType).to.be.equal('error-personal-access-tokens-are-current-disabled');
+							expect(res.body.errorType).to.be.equal('not-authorized');
 						})
 						.end(done);
 				});
@@ -1385,7 +1400,7 @@ describe('[Users]', function() {
 						.expect(400)
 						.expect((res) => {
 							expect(res.body).to.have.property('success', false);
-							expect(res.body.errorType).to.be.equal('error-personal-access-tokens-are-current-disabled');
+							expect(res.body.errorType).to.be.equal('not-authorized');
 						})
 						.end(done);
 				});
@@ -1399,7 +1414,7 @@ describe('[Users]', function() {
 						.expect(400)
 						.expect((res) => {
 							expect(res.body).to.have.property('success', false);
-							expect(res.body.errorType).to.be.equal('error-personal-access-tokens-are-current-disabled');
+							expect(res.body.errorType).to.be.equal('not-authorized');
 						})
 						.end(done);
 				});
diff --git a/tests/end-to-end/api/05-chat.js b/tests/end-to-end/api/05-chat.js
index 783d9bc687d93028408f51862db82672512fbdb6..ce06a76e6764ddf4780f70fd5b7b5d3155bb3233 100644
--- a/tests/end-to-end/api/05-chat.js
+++ b/tests/end-to-end/api/05-chat.js
@@ -9,6 +9,7 @@ import {
 	credentials,
 	message,
 } from '../../data/api-data.js';
+import { password } from '../../data/user';
 
 describe('[Chat]', function() {
 	this.retries(0);
@@ -346,6 +347,107 @@ describe('[Chat]', function() {
 		});
 	});
 
+	describe('[/chat.delete]', () => {
+		let msgId;
+		let user;
+		let userCredentials;
+		before((done) => {
+			const username = `user.test.${ Date.now() }`;
+			const email = `${ username }@rocket.chat`;
+			request.post(api('users.create'))
+				.set(credentials)
+				.send({ email, name: username, username, password })
+				.end((err, res) => {
+					user = res.body.user;
+					done();
+				});
+		});
+		before((done) => {
+			request.post(api('login'))
+				.send({
+					user: user.username,
+					password,
+				})
+				.expect('Content-Type', 'application/json')
+				.expect(200)
+				.expect((res) => {
+					userCredentials = {};
+					userCredentials['X-Auth-Token'] = res.body.data.authToken;
+					userCredentials['X-User-Id'] = res.body.data.userId;
+				})
+				.end(done);
+		});
+		after((done) => {
+			request.post(api('users.delete')).set(credentials).send({
+				userId: user._id,
+			}).end(done);
+			user = undefined;
+		});
+		beforeEach((done) => {
+			request.post(api('chat.sendMessage'))
+				.set(credentials)
+				.send({
+					message: {
+						rid: 'GENERAL',
+						msg: 'Sample message',
+					},
+				})
+				.expect('Content-Type', 'application/json')
+				.expect(200)
+				.expect((res) => {
+					expect(res.body).to.have.property('success', true);
+					msgId = res.body.message._id;
+				})
+				.end(done);
+		});
+		it('should delete a message successfully', (done) => {
+			request.post(api('chat.delete'))
+				.set(credentials)
+				.send({
+					roomId: 'GENERAL',
+					msgId,
+				})
+				.expect('Content-Type', 'application/json')
+				.expect(200)
+				.expect((res) => {
+					expect(res.body).to.have.property('success', true);
+				})
+				.end(done);
+		});
+		it('sending message as another user...', (done) => {
+			request.post(api('chat.sendMessage'))
+				.set(userCredentials)
+				.send({
+					message: {
+						rid: 'GENERAL',
+						msg: 'Sample message',
+					},
+				})
+				.expect('Content-Type', 'application/json')
+				.expect(200)
+				.expect((res) => {
+					expect(res.body).to.have.property('success', true);
+					msgId = res.body.message._id;
+				})
+				.end(done);
+		});
+		it('should delete a message successfully when the user deletes a message send by another user', (done) => {
+			request.post(api('chat.delete'))
+				.set(credentials)
+				.send({
+					roomId: 'GENERAL',
+					msgId,
+					asUser: true,
+				})
+				.expect('Content-Type', 'application/json')
+				.expect(200)
+				.expect((res) => {
+					expect(res.body).to.have.property('success', true);
+				})
+				.end(done);
+		});
+	});
+
 	describe('/chat.search', () => {
 		it('should return a list of messages when execute successfully', (done) => {
 			request.get(api('chat.search'))
diff --git a/tests/end-to-end/api/09-rooms.js b/tests/end-to-end/api/09-rooms.js
index fa3e3efc228b81bc0f952a7d3079344c3fb67c17..92aee889dcf3189732b92f589a4063ac9e1d3a0d 100644
--- a/tests/end-to-end/api/09-rooms.js
+++ b/tests/end-to-end/api/09-rooms.js
@@ -3,6 +3,8 @@
 
 import { getCredentials, api, request, credentials } from '../../data/api-data.js';
 import { password } from '../../data/user';
+import { closeRoom, createRoom } from '../../data/rooms.helper';
+import { updatePermission } from '../../data/permissions.helper';
 
 describe('[Rooms]', function() {
 	this.retries(0);
@@ -39,11 +41,7 @@ describe('[Rooms]', function() {
 	describe('/rooms.saveNotification:', () => {
 		let testChannel;
 		it('create an channel', (done) => {
-			request.post(api('channels.create'))
-				.set(credentials)
-				.send({
-					name: `channel.test.${ Date.now() }`,
-				})
+			createRoom({ type: 'c', name: `channel.test.${ Date.now() }` })
 				.end((err, res) => {
 					testChannel = res.body.channel;
 					done();
@@ -77,11 +75,7 @@ describe('[Rooms]', function() {
 		let testChannel;
 		const testChannelName = `channel.test.${ Date.now() }`;
 		it('create an channel', (done) => {
-			request.post(api('channels.create'))
-				.set(credentials)
-				.send({
-					name: testChannelName,
-				})
+			createRoom({ type: 'c', name: testChannelName })
 				.end((err, res) => {
 					testChannel = res.body.channel;
 					done();
@@ -197,41 +191,25 @@ describe('[Rooms]', function() {
 			user = undefined;
 		});
 		it('create a public channel', (done) => {
-			request.post(api('channels.create'))
-				.set(credentials)
-				.send({
-					name: `testeChannel${ +new Date() }`,
-				})
+			createRoom({ type: 'c', name: `testeChannel${ +new Date() }` })
 				.end((err, res) => {
 					publicChannel = res.body.channel;
 					done();
 				});
 		});
 		it('create a private channel', (done) => {
-			request.post(api('groups.create'))
-				.set(credentials)
-				.send({
-					name: `testPrivateChannel${ +new Date() }`,
-				})
-				.expect('Content-Type', 'application/json')
-				.expect(200)
-				.expect((res) => {
+			createRoom({ type: 'p', name: `testPrivateChannel${ +new Date() }` })
+				.end((err, res) => {
 					privateChannel = res.body.group;
-				})
-				.end(done);
+					done();
+				});
 		});
 		it('create a direct message', (done) => {
-			request.post(api('im.create'))
-				.set(credentials)
-				.send({
-					username: 'rocket.cat',
-				})
-				.expect('Content-Type', 'application/json')
-				.expect(200)
-				.expect((res) => {
+			createRoom({ type: 'd', username: 'rocket.cat' })
+				.end((err, res) => {
 					directMessageChannel = res.body.room;
-				})
-				.end(done);
+					done();
+				});
 		});
 		it('should return success when send a valid public channel', (done) => {
 			request.post(api('rooms.cleanHistory'))
@@ -295,4 +273,283 @@ describe('[Rooms]', function() {
 				.end(done);
 		});
 	});
+
+	describe('[/rooms.info]', () => {
+		let testChannel;
+		let testGroup;
+		let testDM;
+		const expectedKeys = ['_id', 'name', 'fname', 't', 'msgs', 'usersCount', 'u', 'customFields', 'ts', 'ro', 'sysMes', 'default', '_updatedAt'];
+		const testChannelName = `channel.test.${ Date.now() }-${ Math.random() }`;
+		const testGroupName = `group.test.${ Date.now() }-${ Math.random() }`;
+		after((done) => {
+			closeRoom({ type: 'd', roomId: testDM._id })
+				.then(done);
+		});
+		it('create an channel', (done) => {
+			createRoom({ type: 'c', name: testChannelName })
+				.end((err, res) => {
+					testChannel = res.body.channel;
+					done();
+				});
+		});
+		it('create a group', (done) => {
+			createRoom(({ type: 'p', name: testGroupName }))
+				.end((err, res) => {
+					testGroup = res.body.group;
+					done();
+				});
+		});
+		it('create a Direct message room with rocket.cat', (done) => {
+			createRoom(({ type: 'd', username: 'rocket.cat' }))
+				.end((err, res) => {
+					testDM = res.body.room;
+					done();
+				});
+		});
+		it('should return the info about the created channel correctly searching by roomId', (done) => {
+			request.get(api('rooms.info'))
+				.set(credentials)
+				.query({
+					roomId: testChannel._id,
+				})
+				.expect(200)
+				.expect((res) => {
+					expect(res.body).to.have.property('success', true);
+					expect(res.body).to.have.property('room').and.to.be.an('object');
+					expect(res.body.room).to.have.keys(expectedKeys);
+				})
+				.end(done);
+		});
+		it('should return the info about the created channel correctly searching by roomName', (done) => {
+			request.get(api('rooms.info'))
+				.set(credentials)
+				.query({
+					roomName: testChannel.name,
+				})
+				.expect(200)
+				.expect((res) => {
+					expect(res.body).to.have.property('success', true);
+					expect(res.body).to.have.property('room').and.to.be.an('object');
+					expect(res.body.room).to.have.all.keys(expectedKeys);
+				})
+				.end(done);
+		});
+		it('should return the info about the created group correctly searching by roomId', (done) => {
+			request.get(api('rooms.info'))
+				.set(credentials)
+				.query({
+					roomId: testGroup._id,
+				})
+				.expect(200)
+				.expect((res) => {
+					expect(res.body).to.have.property('success', true);
+					expect(res.body).to.have.property('room').and.to.be.an('object');
+					expect(res.body.room).to.have.all.keys(expectedKeys);
+				})
+				.end(done);
+		});
+		it('should return the info about the created group correctly searching by roomName', (done) => {
+			request.get(api('rooms.info'))
+				.set(credentials)
+				.query({
+					roomName: testGroup.name,
+				})
+				.expect(200)
+				.expect((res) => {
+					expect(res.body).to.have.property('success', true);
+					expect(res.body).to.have.property('room').and.to.be.an('object');
+					expect(res.body.room).to.have.all.keys(expectedKeys);
+				})
+				.end(done);
+		});
+		it('should return the info about the created DM correctly searching by roomId', (done) => {
+			request.get(api('rooms.info'))
+				.set(credentials)
+				.query({
+					roomId: testDM._id,
+				})
+				.expect(200)
+				.expect((res) => {
+					expect(res.body).to.have.property('success', true);
+					expect(res.body).to.have.property('room').and.to.be.an('object');
+				})
+				.end(done);
+		});
+		it('should return name and _id of public channel when it has the "fields" query parameter limiting by name', (done) => {
+			request.get(api('rooms.info'))
+				.set(credentials)
+				.query({
+					roomId: testChannel._id,
+					fields: JSON.stringify({ name: 1 }),
+				})
+				.expect(200)
+				.expect((res) => {
+					expect(res.body).to.have.property('success', true);
+					expect(res.body).to.have.property('room').and.to.be.an('object');
+					expect(res.body.room).to.have.property('name').and.to.be.equal(testChannelName);
+					expect(res.body.room).to.have.all.keys(['_id', 'name']);
+				})
+				.end(done);
+		});
+	});
+
+	describe('[/rooms.leave]', () => {
+		let testChannel;
+		let testGroup;
+		let testDM;
+		const testChannelName = `channel.test.${ Date.now() }-${ Math.random() }`;
+		const testGroupName = `group.test.${ Date.now() }-${ Math.random() }`;
+		after((done) => {
+			closeRoom({ type: 'd', roomId: testDM._id })
+				.then(done);
+		});
+		it('create an channel', (done) => {
+			createRoom({ type: 'c', name: testChannelName })
+				.end((err, res) => {
+					testChannel = res.body.channel;
+					done();
+				});
+		});
+		it('create a group', (done) => {
+			createRoom(({ type: 'p', name: testGroupName }))
+				.end((err, res) => {
+					testGroup = res.body.group;
+					done();
+				});
+		});
+		it('create a Direct message room with rocket.cat', (done) => {
+			createRoom(({ type: 'd', username: 'rocket.cat' }))
+				.end((err, res) => {
+					testDM = res.body.room;
+					done();
+				});
+		});
+		it('should return an Error when trying leave a DM room', (done) => {
+			request.post(api('rooms.leave'))
+				.set(credentials)
+				.send({
+					roomId: testDM._id,
+				})
+				.expect(400)
+				.expect((res) => {
+					expect(res.body).to.have.property('success', false);
+					expect(res.body).to.have.property('errorType', 'error-not-allowed');
+				})
+				.end(done);
+		});
+		it('should return an Error when trying to leave a public channel and you are the last owner', (done) => {
+			request.post(api('rooms.leave'))
+				.set(credentials)
+				.send({
+					roomId: testChannel._id,
+				})
+				.expect(400)
+				.expect((res) => {
+					expect(res.body).to.have.property('success', false);
+					expect(res.body).to.have.property('errorType', 'error-you-are-last-owner');
+				})
+				.end(done);
+		});
+		it('should return an Error when trying to leave a private group and you are the last owner', (done) => {
+			request.post(api('rooms.leave'))
+				.set(credentials)
+				.send({
+					roomId: testGroup._id,
+				})
+				.expect(400)
+				.expect((res) => {
+					expect(res.body).to.have.property('success', false);
+					expect(res.body).to.have.property('errorType', 'error-you-are-last-owner');
+				})
+				.end(done);
+		});
+		it('should return an Error when trying to leave a public channel and not have the necessary permission(leave-c)', (done) => {
+			updatePermission('leave-c', []).then(() => {
+				request.post(api('rooms.leave'))
+					.set(credentials)
+					.send({
+						roomId: testChannel._id,
+					})
+					.expect(400)
+					.expect((res) => {
+						expect(res.body).to.have.property('success', false);
+						expect(res.body).to.have.property('errorType', 'error-not-allowed');
+					})
+					.end(done);
+			});
+		});
+		it('should return an Error when trying to leave a private group and not have the necessary permission(leave-p)', (done) => {
+			updatePermission('leave-p', []).then(() => {
+				request.post(api('rooms.leave'))
+					.set(credentials)
+					.send({
+						roomId: testGroup._id,
+					})
+					.expect(400)
+					.expect((res) => {
+						expect(res.body).to.have.property('success', false);
+						expect(res.body).to.have.property('errorType', 'error-not-allowed');
+					})
+					.end(done);
+			});
+		});
+		it('should leave the public channel when the room has at least another owner and the user has the necessary permission(leave-c)', (done) => {
+			updatePermission('leave-c', ['admin']).then(() => {
+				request.post(api('channels.addAll'))
+					.set(credentials)
+					.send({
+						roomId: testChannel._id,
+					})
+					.end(() => {
+						request.post(api('channels.addOwner'))
+							.set(credentials)
+							.send({
+								roomId: testChannel._id,
+								userId: 'rocket.cat',
+							})
+							.end(() => {
+								request.post(api('rooms.leave'))
+									.set(credentials)
+									.send({
+										roomId: testChannel._id,
+									})
+									.expect(200)
+									.expect((res) => {
+										expect(res.body).to.have.property('success', true);
+									})
+									.end(done);
+							});
+					});
+			});
+		});
+		it('should leave the private group when the room has at least another owner and the user has the necessary permission(leave-p)', (done) => {
+			updatePermission('leave-p', ['admin']).then(() => {
+				request.post(api('groups.addAll'))
+					.set(credentials)
+					.send({
+						roomId: testGroup._id,
+					})
+					.end(() => {
+						request.post(api('groups.addOwner'))
+							.set(credentials)
+							.send({
+								roomId: testGroup._id,
+								userId: 'rocket.cat',
+							})
+							.end(() => {
+								request.post(api('rooms.leave'))
+									.set(credentials)
+									.send({
+										roomId: testGroup._id,
+									})
+									.expect(200)
+									.expect((res) => {
+										expect(res.body).to.have.property('success', true);
+									})
+									.end(done);
+							});
+					});
+			});
+		});
+	});
 });
diff --git a/tests/end-to-end/ui/00-login.js b/tests/end-to-end/ui/00-login.js
index 77484dcc6e160a5cf1c3d243e80e2ab91a3411f4..cd720b6a1f837c9fa73aa86f7105775d222722e8 100644
--- a/tests/end-to-end/ui/00-login.js
+++ b/tests/end-to-end/ui/00-login.js
@@ -1,4 +1,5 @@
 /* eslint-env mocha */
+/* globals Meteor, FlowRouter */
 
 import loginPage from '../../pageobjects/login.page';
 import setupWizard from '../../pageobjects/setup-wizard.page';
diff --git a/tests/end-to-end/ui/11-admin.js b/tests/end-to-end/ui/11-admin.js
index de381798b3fb26111220d9fb3a2cb07c0bc68eff..65577d2f7c3301375a0d5eeea5a5382a2dbaa175 100644
--- a/tests/end-to-end/ui/11-admin.js
+++ b/tests/end-to-end/ui/11-admin.js
@@ -522,6 +522,7 @@ describe('[Administration]', () => {
 				});
 
 				it('it should show open first channel field', () => {
+					admin.generalOpenFirstChannel.waitForVisible(5000);
 					admin.generalOpenFirstChannel.isVisible().should.be.true;
 				});
 
diff --git a/tests/end-to-end/ui/14-message-popup.js b/tests/end-to-end/ui/14-message-popup.js
index f56d893dd0787f3e2bc49078f4e921d1627118cd..5958d647916d3be388fd1096581edd7aba07bb4d 100644
--- a/tests/end-to-end/ui/14-message-popup.js
+++ b/tests/end-to-end/ui/14-message-popup.js
@@ -1,4 +1,5 @@
 /* eslint-env mocha */
+/* globals Meteor */
 
 import { adminEmail, adminPassword } from '../../data/user.js';
 
diff --git a/tests/pageobjects/Page.js b/tests/pageobjects/Page.js
index eedc28b8429bf5bfe2783a4ea8a04942b7965831..9b31b790d37c1d4a972017d74965790c5cb317f0 100644
--- a/tests/pageobjects/Page.js
+++ b/tests/pageobjects/Page.js
@@ -3,8 +3,8 @@ class Page {
 
 	open(path) {
 		browser.windowHandleSize({
-			width: 1280,
-			height: 800,
+			width: 1600,
+			height: 1600,
 		});
 
 		browser.url(`http://localhost:3000/${ path }`);
diff --git a/tests/pageobjects/administration.page.js b/tests/pageobjects/administration.page.js
index bccd94a26038d41e23a02f3bc8a26b894ba9a6ff..0843e44f1016e5929c60b74ac7cefe7d4c319010 100644
--- a/tests/pageobjects/administration.page.js
+++ b/tests/pageobjects/administration.page.js
@@ -65,13 +65,13 @@ class Administration extends Page {
 	// settings
 	get buttonSave() { return browser.element('button.save'); }
 
-	get generalButtonExpandIframe() { return browser.element('.section:nth-of-type(4) .button.expand'); }
-	get generalButtonExpandNotifications() { return browser.element('.section:nth-of-type(5) .button.expand'); }
-	get generalButtonExpandRest() { return browser.element('.section:nth-of-type(6) .button.expand'); }
-	get generalButtonExpandReporting() { return browser.element('.section:nth-of-type(7) .button.expand'); }
-	get generalButtonExpandStreamCast() { return browser.element('.section:nth-of-type(8) .button.expand'); }
-	get generalButtonExpandTranslations() { return browser.element('.section:nth-of-type(9) .button.expand'); }
-	get generalButtonExpandUTF8() { return browser.element('.section:nth-of-type(10) .button.expand'); }
+	get generalButtonExpandIframe() { return browser.element('.section:nth-of-type(4) .expand'); }
+	get generalButtonExpandNotifications() { return browser.element('.section:nth-of-type(5) .expand'); }
+	get generalButtonExpandRest() { return browser.element('.section:nth-of-type(6) .expand'); }
+	get generalButtonExpandReporting() { return browser.element('.section:nth-of-type(7) .expand'); }
+	get generalButtonExpandStreamCast() { return browser.element('.section:nth-of-type(8) .expand'); }
+	get generalButtonExpandTranslations() { return browser.element('.section:nth-of-type(9) .expand'); }
+	get generalButtonExpandUTF8() { return browser.element('.section:nth-of-type(10) .expand'); }
 
 	get generalSiteUrl() { return browser.element('[name="Site_Url"]'); }
 	get generalSiteUrlReset() { return browser.element('.reset-setting[data-setting="Site_Url"]'); }
@@ -123,8 +123,8 @@ class Administration extends Page {
 	get generalUTF8NamesSlugReset() { return browser.element('.reset-setting[data-setting="UTF8_Names_Slugify"]'); }
 
 	// accounts
-	get accountsButtonExpandDefaultUserPreferences() { return browser.element('.section:nth-of-type(2) .button.expand'); }
-	get accountsButtonCollapseDefaultUserPreferences() { return browser.element('.section:nth-of-type(2) .button.collapse'); }
+	get accountsButtonExpandDefaultUserPreferences() { return browser.element('.section:nth-of-type(2) .expand'); }
+	get accountsButtonCollapseDefaultUserPreferences() { return browser.element('.section:nth-of-type(2) .collapse'); }
 
 	get accountsEnableAutoAwayTrue() { return browser.element('label:nth-of-type(1) [name="Accounts_Default_User_Preferences_enableAutoAway"]'); }
 	get accountsEnableAutoAwayFalse() { return browser.element('label:nth-of-type(2) [name="Accounts_Default_User_Preferences_enableAutoAway"]'); }
diff --git a/tests/pageobjects/setup-wizard.page.js b/tests/pageobjects/setup-wizard.page.js
index d037d138a45ef0205e0baebdf24496de4e68d9d9..2002fa3a438555bdd64a749e99bee1e2fb632f2c 100644
--- a/tests/pageobjects/setup-wizard.page.js
+++ b/tests/pageobjects/setup-wizard.page.js
@@ -1,3 +1,5 @@
+/* globals Meteor */
+
 import Page from './Page';
 import { adminEmail, adminPassword } from '../data/user';