diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 6d58de27..343e3cfe 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -7,22 +7,14 @@ "label": "build", "type": "shell", "command": "npm", - "args": [ - "run", - "compile", - "--loglevel", - "silent" - ], + "args": ["run", "compile", "--loglevel", "silent"], "problemMatcher": "$tsc-watch" }, { "label": "test_build", "type": "shell", "command": "tsc", - "args": [ - "-p", - "./" - ] + "args": ["-p", "./"] } ] -} \ No newline at end of file +} diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c682c88..59ffabea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,6 @@ [![Version](https://vsmarketplacebadge.apphb.com/version/Shan.code-settings-sync.svg)](https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync) [![Travis](https://img.shields.io/travis/rust-lang/rust.svg)](https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync) [![Master course](https://img.shields.io/badge/Supported%20by-VSCode%20Power%20User%20Course%20%E2%86%92-gray.svg?colorA=444444&colorB=4F44D6)](https://t.co/8BEMyhpKU5?amp=1) - #### v3.4.0 - July 15, 2019 * Settings Sync now use Webviews to allow you to configure settings [#506](https://github.com/shanalikhan/code-settings-sync/issues/506) - Thanks for PR [#876](https://github.com/shanalikhan/code-settings-sync/pull/876) by [@arnohovhannisyan](https://github.com/arnohovhannisyan) diff --git a/README.md b/README.md index 54686c14..d49b3b1b 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,5 @@ # Settings Sync [![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Synchronize%20your%20%40VisualStudio%20%40code%20Settings%20Across%20Multiple%20Machines%20using%20%40github%20GIST%20by%20%40itsShanKhan&url=https://github.com/shanalikhan/code-settings-sync&via=code&hashtags=code,vscode,SettingsSync,developers) [![Follow](https://img.shields.io/twitter/follow/itsShanKhan.svg?style=social&label=Follow)](https://twitter.com/intent/follow?screen_name=itsShanKhan) - - - **Previously known as Visual Studio Code Settings Sync** [![Version](https://vsmarketplacebadge.apphb.com/version/Shan.code-settings-sync.svg)](https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync) [![Travis](https://img.shields.io/travis/rust-lang/rust.svg)](https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync) @@ -11,7 +8,7 @@ ## Support -While being free and open source, if you find it useful, please consider supporting it by donating via PayPal or Open Collective. If you are using it in office as a team, please ask your company to support us via Open Collective from just 2$ per month! +While being free and open source, if you find it useful, please consider supporting it by donating via PayPal or Open Collective. If you are using it in office as a team, please ask your company to support us via Open Collective from just 2\$ per month! @@ -42,7 +39,7 @@ While being free and open source, if you find it useful, please consider support ## Key Features -``` +``` 1. Use your GitHub account token and Gist. 2. Easy to Upload and Download on one click. 3. Show a summary page at the end with details about config and extensions effected. @@ -51,10 +48,11 @@ While being free and open source, if you find it useful, please consider support 6. Share the Gist with other users and let them download your settings. 7. Supports GitHub Enterprise 8. Support pragmas with @sync keywords: host, os and env are supported. +9. GUI for changing settings / logging in ``` - ## It Syncs + ``` All extensions and complete User Folder that Contains 1. Settings File @@ -66,85 +64,63 @@ All extensions and complete User Folder that Contains ``` ## Shortcuts + ``` 1. Upload Key : Shift + Alt + U 2. Download Key : Shift + Alt + D ``` -## Steps To Get a Personal Access Token from GitHub +## Configure Settings Sync -This extension requires a Personal Access Token from your GitHub account. You can create one by simply following the steps shown in the pictures below. Make sure you add **Gist** in scope. +Settings Sync Configuration page will be opened automatically on code start and requires two things to setup: -**[Generate New Token](https://github.com/settings/tokens/new?description=code-setting-sync&scopes=gist)** +1. Github Token +2. Github GIST ID -![Select Scopes](https://shanalikhan.github.io/img/github2.PNG) +Github Token needs to be retrived by your Github account while Settings Sync creates GIST if you are first time user. -**Get an Access Token.** +Following are the steps you need to perform to configure. -![Get Access Token](https://shanalikhan.github.io/img/github3.PNG) +- Click on `Login with Github` . +- Login Github on Browser and close the browser tab once you get Success message. +- If you are using Settings Sync first time GIST will be created automatically - Configuration Completed. +- If you already have GIST, new window will be opened to allow you to select the GIST or `Skip` to create new GIST - Configurartion Completed. -> Save the Token somewhere for future use (i.e. to upload from other machines). +![Login with GitHub](https://shanalikhan.github.io/img/login-with-github.png) -## Upload Your Settings For the first time +![Existing Gist](https://shanalikhan.github.io/img/existing-gist.png) -**Press Shift + Alt + U it will ask your GitHub account access token.** - -> Type ">Sync" In Command Palette into order download / upload -This will automatically open your GitHub settings page, allowing you to generate a new token for the application, as explained in the previous section. This token will allow the extension to create gists. +You can always **verify created gist** by going to `https://gist.github.com` and checking for a gist named `cloudSettings` -Enter the GitHub token in the window and click enter. -![github account access token](https://shanalikhan.github.io/img/upload1.png) +## Upload Your Settings -**Upload your settings automatically and the extension gives you Gist ID in the system message.** -Gist ID is needed to access the data you have uploaded with your token. Copy this Gist ID in order to download the settings to other machines. +**Press Shift + Alt + U** -![uploaded automatically](https://shanalikhan.github.io/img/upload2.png) - -You can always **verify created gist** on the following url: - -> https://gist.github.com/{your_userName}/{gist_id} +> Type ">Sync" In Command Palette into order download / upload -Here is the gif of the complete process when you execute the Upload command (Might take some time to load) +When downloading or uploading for the first time, the welcome page will automatically open, where you can configure the Settings Sync. -![Upload](https://media.giphy.com/media/xT9IglKxSqs2Wdwq2c/source.gif) +Once you select upload, after uploading the settings. You will see the Summary details with the list of each files and extensions uploaded. ## Download your Settings -**Press Shift + Alt + D it will ask your GitHub Gist ID.** +**Press Shift + Alt + D** > Type ">Sync" In Command Palette into order download / upload -**Enter Your GitHub Token.** - -Enter the GitHub token in the window and click enter. - -![github account access token](https://shanalikhan.github.io/img/upload1.png) - -**Enter Your Gist ID.** - -You need to enter your Gist ID in order to download the files you have uploaded with Shift + Alt + U. - -![Enter Your Gist ID](https://shanalikhan.github.io/img/download2.png) +When downloading or uploading for the first time, the welcome page will automatically open, where you can configure the Settings Sync. -**Settings Downloaded.** -You are Done! All your files are downloaded - -![Enter Your Gist ID](https://shanalikhan.github.io/img/download3.png) - -Here is the gif of the complete process when you execute the Download command (Might take time to load) - - -![Download](https://media.giphy.com/media/xT9Iglsi3CS9noE8tW/source.gif) +Once you select download, after downloading. Settings Sync will display you Summary containing the list of each files and extension being downloaded. +New popup will be opened to allow you to restart the code to apply the settings. ## Reset Extension Settings -> Type ">Sync" In Command Palette and select Reset Extension Settings - +> Select **"> Sync : Reset Extension Settings"** in the Command Palette to reset your settings ## Toggle Auto Download @@ -161,6 +137,14 @@ Please make sure you have valid github Token and Gist available to make it work Select Command **"Sync : Advanced Options > Toggle Force Download"** command to Turn ON / OFF the force download. +## Toggle Force Upload + +Force Upload is **disabled by default**. By default, extension won't upload the settings if the gist has newer or identical content. By turning this ON it will always upload without checking for newer settings in the gist. + +Please make sure you have valid github Token and Gist available to make it work properly. + +Select Command **"Sync : Advanced Options > Toggle Force Upload"** command to Turn ON / OFF the force upload. + ## Toggle Auto-Upload on change Auto-upload is **disabled by default**. When the settings are changed and saved this feature will automatically start the upload process and save the settings online. @@ -169,7 +153,6 @@ Please make sure you have valid github Token and Gist available to make it work Select Command **"Sync : Advanced Options > Toggle Auto-Upload on Settings Change"** command to Turn ON / OFF the auto-upload. - ## Toggle Summary Summary is **enabled by default** which shows all files and extensions that are added or deleted on a single page. @@ -186,9 +169,10 @@ Select Command **"Sync : Advanced Options > Share Settings with Public GIST"** Other users can give your Gist Id to download the Gist, but they can't upload their settings on your Gist. - ## Settings +Settings can be changed through the settings page, which can be accessed through **"> Sync : Advanced Options > Open Settings Page"** + There are two types of settings in Settings Sync. I will recommend you to read the configurations details [here](https://medium.com/@itsShanKhan/visual-studio-code-settings-sync-configurations-ed8dd6fd9753). @@ -199,10 +183,11 @@ You can customize the settings in gist settings like: ``` 1. Configure Gist Id (Environment) -2. Configure auto upload / download for Github Gist +2. Configure auto upload / download for Github Gist 3. Configure extension sync behaviour 4. Configure force download -5. Configure quiet sync +4. Configure force upload +6. Configure quiet sync ``` ```json @@ -210,8 +195,8 @@ You can customize the settings in gist settings like: "sync.autoDownload": false, "sync.autoUpload": false, "sync.forceDownload": false, + "sync.forceUpload": false, "sync.quietSync": false, - "sync.askGistName": false, "sync.removeExtensions": true, "sync.syncExtensions": true ``` @@ -238,33 +223,31 @@ You can customize the sync: ```json { - "ignoreUploadFiles": [ - "projects.json", - "projects_cache_vscode.json", - "projects_cache_git.json", - "projects_cache_svn.json", - "gpm_projects.json", - "gpm-recentItems.json" - ], - "ignoreUploadFolders": [ - "workspaceStorage" - ], - "ignoreExtensions": [ - "ignored_extension_name" - ], - "gistDescription": "Visual Studio Code Settings Sync Gist", - "version": 310, - "token": "YOUR_GITHUB_TOKEN_HERE", - "downloadPublicGist": false, - "supportedFileExtensions": [ - "json", - "code-snippets" - ], - "openTokenLink": true, - "lastUpload": null, - "lastDownload": null, - "githubEnterpriseUrl": null, - "hostName": null + "ignoreUploadFiles": [ + "state.*", + "syncLocalSettings.json", + ".DS_Store", + "sync.lock", + "projects.json", + "projects_cache_vscode.json", + "projects_cache_git.json", + "projects_cache_svn.json", + "gpm_projects.json", + "gpm-recentItems.json" + ], + "ignoreUploadFolders": ["workspaceStorage"], + "ignoreExtensions": ["ignored_extension_name"], + "gistDescription": "Visual Studio Code Settings Sync Gist", + "version": 310, + "token": "YOUR_GITHUB_TOKEN_HERE", + "downloadPublicGist": false, + "supportedFileExtensions": ["json", "code-snippets"], + "openTokenLink": true, + "lastUpload": null, + "lastDownload": null, + "githubEnterpriseUrl": null, + "hostName": null, + "autoUploadDelay": 20 } ``` @@ -294,20 +277,18 @@ Thank you to all our backers! [[Become a backer](https://opencollective.com/code [](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=4W3EWHHBSYMM8&lc=IE&item_name=Code%20Settings%20Sync&item_number=visual%20studio%20code%20settings%20sync¤cy_code=USD&bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted) - ### Sponsors Thank you to all our sponsors! (please ask your company to also support this open source project by [becoming a sponsor](https://opencollective.com/code-settings-sync)) ## [Contributors](https://github.com/shanalikhan/code-settings-sync/graphs/contributors) + # [Release Notes](https://shanalikhan.github.io/2016/05/14/Visual-studio-code-sync-settings-release-notes.html) # License - [![Version](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/shanalikhan/code-settings-sync/blob/master/LICENSE) - [![Version](https://vsmarketplacebadge.apphb.com/version/Shan.code-settings-sync.svg)](https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync) [![Installs](https://vsmarketplacebadge.apphb.com/installs/Shan.code-settings-sync.svg)](https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync) diff --git a/configs/webpack.config.js b/configs/webpack.config.js index f48b709a..49212e9c 100644 --- a/configs/webpack.config.js +++ b/configs/webpack.config.js @@ -2,10 +2,12 @@ const path = require("path"); const { CleanWebpackPlugin } = require("clean-webpack-plugin"); -const webpack = require("webpack"); /** @type WebpackOptions */ const config = { + stats: { + warningsFilter: /Critical dependency: the request of a dependency is an expression/ + }, target: "node", entry: "./src/extension.ts", output: { @@ -17,7 +19,10 @@ const config = { resolve: { extensions: [".ts", ".js"], alias: { - deepmerge$: path.resolve(__dirname, "../node_modules/deepmerge/dist/umd.js") + deepmerge$: path.resolve( + __dirname, + "../node_modules/deepmerge/dist/umd.js" + ) } }, module: { diff --git a/images/existing-gist.png b/images/existing-gist.png new file mode 100644 index 00000000..86f61d31 Binary files /dev/null and b/images/existing-gist.png differ diff --git a/images/login-with-github.png b/images/login-with-github.png new file mode 100644 index 00000000..7941dd77 Binary files /dev/null and b/images/login-with-github.png differ diff --git a/images/white-cloud.png b/images/white-cloud.png new file mode 100644 index 00000000..d5a20466 Binary files /dev/null and b/images/white-cloud.png differ diff --git a/package.json b/package.json index f44b4e06..dab06b51 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "code-settings-sync", "displayName": "Settings Sync", "description": "Synchronize Settings, Snippets, Themes, File Icons, Launch, Keybindings, Workspaces and Extensions Across Multiple Machines Using GitHub Gist.", - "version": "3.3.1", + "version": "3.4.0", "icon": "images/cloud.png", "publisher": "Shan", "author": { @@ -119,6 +119,11 @@ "default": false, "description": "%ext.config.forceDownload%" }, + "sync.forceUpload": { + "type": "boolean", + "default": false, + "description": "%ext.config.forceUpload%" + }, "sync.quietSync": { "type": "boolean", "default": false, @@ -154,9 +159,13 @@ }, "devDependencies": { "@types/chai": "4.1.7", - "@types/fs-extra": "^7.0.0", + "@types/express": "^4.16.1", + "@types/lodash": "^4.14.123", + "@types/node-fetch": "^2.3.3", + "@types/fs-extra": "^8.0.0", "@types/mocha": "^5.2.6", "@types/node": "^12.0.9", + "@types/recursive-readdir": "^2.2.0", "chai": "^4.2.0", "clean-webpack-plugin": "^3.0.0", "mocha": "^6.0.2", @@ -172,10 +181,16 @@ }, "dependencies": { "@octokit/rest": "^16.23.2", + "adm-zip": "^0.4.13", + "const": "^1.0.0", + "express": "^4.16.4", "fs-extra": "^8.0.1", "https-proxy-agent": "^2.2.1", "lockfile": "^1.0.4", + "lodash": "^4.17.11", + "node-fetch": "^2.5.0", + "recursive-readdir": "^2.2.2", "temp": "^0.9.0", - "vscode-chokidar": "^1.6.5" + "vscode-chokidar": "^2.1.6" } } diff --git a/package.nls.de.json b/package.nls.de.json index 9fbee39b..8910035c 100644 --- a/package.nls.de.json +++ b/package.nls.de.json @@ -1,95 +1,142 @@ { - "ext.config.title": "Code Settings Sync Konfiguration", - "ext.config.gist": "GitHub Gist-ID für Settings Sync.", - "ext.config.lastUpload": "Zeitstempel des letzten Uploads von Settings Sync. Leeren um Download zu erzwingen.", - "ext.config.lastDownload": "Zeitstepel des letzten Downloads von Settings Sync. Leeren um Download zu erzwingen.", - "ext.config.autoDownload": "Auf true setzen um die Einstellungen beim Programmstart automatisch herunterzuladen. [Programmneustart benötigt]", - "ext.config.autoUpload": "Auf true setzen um die Einstellungen bei Änderung automatisch hochzuladen. [Programmneustart benötigt]", - "ext.config.forceDownload": "Auf true setzen um selbst bei aktuellen Einstellung die Daten neu herunterzuladen.", - "ext.config.host": "Falls erwünscht, GitHub Enterprise Host definieren.", - "ext.config.pathPrefix": "Falls erwünscht, GitHub Enterprise API-Prefix definieren. Normalerweise '/api/v3'. Wird nur verwended wenn ein Host definiert ist.", - "ext.config.quietSync": "Zeigt bei true Ergebnisse nur in der Statusleiste statt einer Zusammenfassung an.", - "ext.config.askGistName": "Fragt nach Gist-Namen bei Erstellung. Hilft dir, das Gist zu identifizieren, solltest du mehrere benutzen.", - "ext.config.removeExtensions": "Auf false setzen wenn Erweiterungen beim Herunterladen der Einstellungen nicht entfernt werden sollen.", - "ext.config.syncExtensions": "Auf false setzen wenn Erweiterungen nicht synchronisiert werden sollen.", - "cmd.howSetting.title": "Sync : Einrichtungsanleitung", - "cmd.updateSettings.title": "Sync : Einstellungen aktualisieren/hochladen", - "cmd.updateSettings.info.uploading": "Sync : Aktualisiere Daten auf GitHub.", - "cmd.updateSettings.info.uploadingFile": "Sync : Lädt Dateien hoch.", - "cmd.updateSettings.info.uploadingDone": "Sync : Upload abgeschlossen. Gist-ID : {0} . Diese ID bitte kopieren und für die Synchronisierung auf anderen Geräten verwenden.", - "cmd.updateSettings.info.uploadingSuccess": "Sync : Erfolgreich hochgeladen.", - "cmd.updateSettings.info.shareGist": "Sync : Teile diese ID mit anderen Benutzern der Erweiterung um die Einstellungen zu teilen.", - "cmd.updateSettings.info.readding": "Sync : Lese Einstellungen und Erweiterungen.", - "cmd.updateSettings.info.newGistCreated": "Sync : Neues Gist erstellt.", - "cmd.updateSettings.warning.noToken": "Sync : GitHub Token definieren oder 'downloadPublicGist' innerhalb der lokalen Sync-Einstellungen deaktivieren.", - "cmd.updateSettings.error.newGistCreateFail": "Sync : Kann Gist nicht erstellen.", - "cmd.updateSettings.error.readGistFail": "Sync : Gist-ID: {0} UNLESBAR.", - "cmd.updateSettings.error.gistNotSave": "Sync : GIST NICHT GESICHERT", - "cmd.downloadSettings.title": "Sync : Einstellungen herunterladen", - "cmd.downloadSettings.info.readdingOnline": "Sync : Lese Online-Einstellungen.", - "cmd.downloadSettings.info.gotLatestVersion": "Sync : Du hast bereits die aktuellesten Einstellungen.", - "cmd.downloadSettings.error.removeExtFail": "Sync : Kann manche Erweiterungen nicht entfernen.", - "cmd.downloadSettings.error.unableSave": "Sync : Konnte Erweiterungseinstellungen nicht in Datei speichern.", - "cmd.resetSettings.title": "Sync : Einstellungen zurücksetzen", - "cmd.downloadSettings.info.downloaded": "Sync : Download vollständig.", - "cmd.resetSettings.info.resetting": "Sync : Setze Einstellungen zurück.", - "cmd.resetSettings.info.settingClear": "Sync : Einstellungen zurückgesetzt.", - "cmd.otherOptions.title": "Sync : Erweiterte Optionen", - "cmd.otherOptions.editLocalSetting": "Sync : Lokale Erweiterungseinstellungen bearbeiten", - "cmd.otherOptions.shareSetting": "Sync : Einstellungen via öffentlichem Gist teilen", - "cmd.otherOptions.shareSetting.beforeConfirm": "Sync : derzeitiges Gist entfernen und Einstellungen zu neuem Gist hinzufügen. Fortfahren?", - "cmd.otherOptions.downloadSetting": "Sync : Einstellungen von öffentlichem Gist laden", - "cmd.otherOptions.toggleForceDownload": "Sync : Erzwungener Download an/aus", - "cmd.otherOptions.toggleForceDownload.on": "Sync : Erzwungener Download an.", - "cmd.otherOptions.toggleForceDownload.off": "Sync : Erzwungener Download aus.", - "cmd.otherOptions.toggleAutoUpload": "Sync : Automatischer Upload nach Änderung an/aus", - "cmd.otherOptions.toggleAutoUpload.on": "Sync : Automatischer Upload nach Änderung an. Programmneustart notwendig.", - "cmd.otherOptions.toggleAutoUpload.off": "Sync : Automatischer Upload nach Änderung aus.", - "cmd.otherOptions.toggleAutoDownload": "Sync : Automatischer Download bei Start an/aus", - "cmd.otherOptions.toggleAutoDownload.on": "Sync : Automatischer Download bei Start an.", - "cmd.otherOptions.toggleAutoDownload.off": "Sync : Automatischer Download bei Start aus.", - "cmd.otherOptions.toggleSummaryPage": "Sync : Zusammenfassung nach Up-/Download anzeigen an/aus", - "cmd.otherOptions.preserve": "Sync : Einstellungen erhalten um Überschreiben nach Download verhindern", - "cmd.otherOptions.preserve.placeholder": "Zu erhaltenden Schlüssel aus settings.json eingeben.", - "cmd.otherOptions.preserve.prompt": "Beispiel : 'http.proxy' => der derzeitig eingestellte Proxy bleibt erhalten und wird anschließend überschrieben; falls leer gelassen wird der Proxy entfernt.", - "cmd.otherOptions.preserve.info.done1": "Sync : Fertig. {0} Wert wird nach Download von settings.json entfert.", - "cmd.otherOptions.preserve.info.done2": "Sync : Fertig. Erweiterung erhält nach dem Download {0} : {1} in setting.json.", - "cmd.otherOptions.joinCommunity": "Sync : Community beitreten", - "cmd.otherOptions.openIssue": "Sync : Issue erstellen", - "cmd.otherOptions.releaseNotes": "Sync : Versionshinweise", - "cmd.otherOptions.quietSync.on": "Sync : Statusleiste wird bei Up-/Download aktualisiert.", - "cmd.otherOptions.quietSync.off": "Sync : Zusammenfassung wird bei Up-/Download angezeigt.", - "cmd.otherOptions.warning.tokenNotRequire": "Sync : Settings Sync wird ab jetzt nicht mehr nach einem GitHub-Token fragen.", - "cmd.otherOptions.error.toggleFail": "Sync : Konnte Einstellung nicht ändern.", - "common.info.installed": "Sync : Einstellungen erstellt. Danke für das Benutzen dieser Erweiterung!", - "common.info.needHelp": "Sync : Benötigst du Hilfe bei der Einrichtung der Erweiterung?", - "common.info.excludeFile": "Sync : Du kannst beliebige Dateien/Ordner vom Upload und Einstellungen zum Download ausschließen.", - "common.info.updating": "Sync : Aktualisieren... bitte warten.", - "common.info.initAutoUpload": "Sync : Autoupload beginnt in 5 Sekunden.", - "common.info.setToken": "Sync : Du kannst den GitHub-Token nun manuell in `syncLocalSettings.json` definieren`", - "common.info.tokenSaved": "Sync : Token gesichert", - "common.info.gistSaved": "Sync : Gist gesichert", - "common.info.updateTo": "Sync : Auf v{0} aktualisiert", - "common.info.donate": "Sync : Gefällt dir die Erweiterung? Schon an eine Bewertung oder an eine kleine Spende gedacht? ;)", - "common.error.message": "Sync : Fehler in Konsole geloggt (Hilfe -> Entwicklerkonsole anzeigen).", - "common.error.connection": "Sync : Keine Verbindung zum Internet oder Verbindung zu GitHub nicht möglich. Fehler in Konsole geloggt.", - "common.error.canNotSave": "Sync : Kann Einstellungen nicht speicihern. Bitte settings.json validieren (z.B. unnötige Kommas)", - "common.error.invalidToken": "Sync : ungültiger / abgelaufener GitHub Token. Bitte neuen Token mit in Readme genannten Zugriffsrechten generieren. Fehler in Konsole geloggt.", - "common.error.invalidGistId": "Sync : ungültige Gist Id. Bitte verifizieren: https://gist.github.com//.", - "common.error.tokenNotSave": "Sync : Token nicht gesichert.", - "common.error.gistNotSave": "Sync : Gist nicht gesichert.", - "common.action.openExtPage": "Erweiterungsseite öffnen", - "common.action.openExtTutorial": "Anleitung öffnen", - "common.action.releaseNotes": "Versionshinweise", - "common.action.writeReview": "Bewertung schreiben", - "common.action.support": "Projekt unterstützen", - "common.action.joinCommunity": "Community beitreten", - "common.action.donate": "Spenden", - "common.placeholder.enterGithubAccessToken": "GitHub Personal Access Token eingeben", - "common.placeholder.enterGistId": "Gist-ID eingeben", - "common.placeholder.multipleGist": "Gist-Name [ z.B. Persönliche Einstellungen ]", - "common.prompt.multipleGist": "Ermöglicht dir im Falle mehrerer Gists die Einstellungen zu identizifieren.", - "common.prompt.enterGistId": - "Gist-ID der vorherig hochgeladeenen Einstellungen eingeben. Du kannst sie außerdem manuell in den Einstellungen setzen (sync.gist). [Enter] um fortzufahren, [Escape] um abzubrechen).", - "common.prompt.enterGithubAccessToken": "Du kannst den Token auch manuell hinzufügen (Benutzerordner/syncLocalSettings.json). [Enter] um fortzufahren, [Escape] um abzurechen." -} + "cmd.downloadSettings.error.removeExtFail": "Sync: kann Nicht entfernen Sie einige Erweiterungen.", + "cmd.downloadSettings.error.unableSave": "Sync: Unable to save extension settings-Datei.", + "cmd.downloadSettings.info.downloaded": "Sync: Download Abgeschlossen.", + "cmd.downloadSettings.info.gotLatestVersion": "Sync: Du hast bereits die neueste version der gespeicherten Einstellungen.", + "cmd.downloadSettings.info.readdingOnline": "Sync: Das Lesen Der Einstellungen Online.", + "cmd.downloadSettings.title": "Sync: Download-Einstellungen", + "cmd.howSetting.title": "Sync: Wie Konfigurieren", + "cmd.otherOptions.customizedSync": "Synchronisieren: Hinzufügen von Benutzerdefinierten Sync Datei-Pfad", + "cmd.otherOptions.customizedSync.done": "Sync: {0} registriert worden ist.", + "cmd.otherOptions.customizedSync.placeholder": "Geben Sie einen absoluten Pfad für die zusätzlichen hochgeladenen Datei.", + "cmd.otherOptions.customizedSync.prompt": "(ex. /Pfad/zu/.eslintrc) werden hoch-und runtergeladen werden in den angegebenen Pfad.", + "cmd.otherOptions.downloadCustomFile": "Synchronisieren: Importieren Sie Benutzerdefinierte Sync-Datei in den workspace", + "cmd.otherOptions.downloadCustomFile.done": "Heruntergeladen von {0}.", + "cmd.otherOptions.downloadCustomFile.placeholder": "Wählen Sie die Datei, die Sie herunterladen möchten, um die Wurzel des Arbeitsbereich Sie arbeiten.", + "cmd.otherOptions.downloadSetting": "Sync: die Download-Einstellungen aus Öffentlichen GIST", + "cmd.otherOptions.editLocalSetting": "Synchronisieren: Bearbeiten-Erweiterung Lokale Einstellungen", + "cmd.otherOptions.error.toggleFail": "Sync: kann Nicht Umschalten.", + "cmd.otherOptions.joinCommunity": "Sync: Join Community", + "cmd.otherOptions.openIssue": "Sync: Offene Frage", + "cmd.otherOptions.openSettingsPage": "Sync: Einstellungen Öffnen", + "cmd.otherOptions.preserve": "Sync: Bewahren Sie Die Einstellung Zu Beenden Überschreibung Nach Download", + "cmd.otherOptions.preserve.info.done1": "Sync: Getan. {0} - Wert entfernt von Einstellungen.json nach dem Download.", + "cmd.otherOptions.preserve.info.done2": "Sync: Getan. Erweiterung halten Sie {0}: {1} in der Einstellung.json nach dem Download.", + "cmd.otherOptions.preserve.placeholder": "Geben Sie eine beliebige Taste von Einstellungen.json zu erhalten.", + "cmd.otherOptions.preserve.prompt": "Beispiel: Schreiben Sie 'http.proxy' => store-diesen computer proxy und überschreiben Sie ihn , wenn es leer wird, entfernen Sie proxy.", + "cmd.otherOptions.quietSync.off": "Sync: die Zusammenfassung wird angezeigt bei download/upload.", + "cmd.otherOptions.quietSync.on": "Sync: die Statusleiste wird aktualisiert, beim download/upload.", + "cmd.otherOptions.releaseNotes": "Sync: Release Notes", + "cmd.otherOptions.shareSetting": "Sync: Freigabe-Einstellungen, die mit Öffentlichen GIST", + "cmd.otherOptions.shareSetting.beforeConfirm": "Sync: damit entfernen Sie die aktuellen KERN-und upload-Einstellungen, die auf new public GIST. Wollen Sie fortfahren?", + "cmd.otherOptions.title": "Sync: Erweiterte Optionen", + "cmd.otherOptions.toggleAutoDownload": "Sync: Schaltet Den Automatischen Download Auf Start", + "cmd.otherOptions.toggleAutoDownload.off": "Sync: Auto-Download AUSSCHALTEN auf VSCode Start.", + "cmd.otherOptions.toggleAutoDownload.on": "Sync: Auto-Download aktiviert nach VSCode Start.", + "cmd.otherOptions.toggleAutoUpload": "Sync: Schaltet Die Auto-Upload-Einstellungen Ändern", + "cmd.otherOptions.toggleAutoUpload.off": "Sync: Auto-upload-Einstellung Ändern Ausgeschaltet.", + "cmd.otherOptions.toggleAutoUpload.on": "Sync: Auto-upload-Einstellung Ändern Aktiviert. Diese werden nach dem Neustart wirksam.", + "cmd.otherOptions.toggleForceDownload": "Synchronisieren: Schalten Sie Force-Download", + "cmd.otherOptions.toggleForceDownload.off": "Sync: Die Kraft Download Ausgeschaltet.", + "cmd.otherOptions.toggleForceDownload.on": "Sync: Die Kraft Download Aktiviert.", + "cmd.otherOptions.toggleForceUpload": "Sync: Schaltet Force Upload", + "cmd.otherOptions.toggleForceUpload.off": "Sync: Force Upload Ausgeschaltet.", + "cmd.otherOptions.toggleForceUpload.on": "Sync: Force Upload Eingeschaltet.", + "cmd.otherOptions.toggleSummaryPage": "Sync: Schaltet Zusammenfassung Seite Auf Upload/Download", + "cmd.otherOptions.triggerReset": "Sync: wollen Sie die Einstellungen zurücksetzen ?", + "cmd.otherOptions.warning.tokenNotRequire": "Sync: Sync-Einstellungen werden nicht Fragen, für GitHub-Token von jetzt auf.", + "cmd.resetSettings.info.resetting": "- Sync: Durch Das Zurücksetzen Ihrer Einstellungen.", + "cmd.resetSettings.info.settingClear": "Sync: Einstellungen Gelöscht.", + "cmd.resetSettings.title": "Sync: Reset-Extension Settings", + "cmd.updateSettings.error.gistNotSave": "Sync: GIST NICHT GESPEICHERT", + "cmd.updateSettings.error.newGistCreateFail": "Sync: keine Wesentliche.", + "cmd.updateSettings.error.readGistFail": "Sync: die GIST-ID: {0} kann NICHT ZUM LESEN.", + "cmd.updateSettings.info.newGistCreated": "Sync: Neue gist erstellt.", + "cmd.updateSettings.info.readding": "Sync: Lesen von Einstellungen und Erweiterungen.", + "cmd.updateSettings.info.shareGist": "Sync: Teilen Sie die Id mit der anderen Erweiterung, die Benutzer zu teilen die Einstellungen.", + "cmd.updateSettings.info.uploadCanceled": "Sync: Upload-Vorgang Abgebrochen.", + "cmd.updateSettings.info.uploading": "Sync: Einstellen/Aktualisieren Sie Ihre Einstellungen Im GitHub.", + "cmd.updateSettings.info.uploadingDone": "Sync: Übertragung Abgeschlossen. GIST-ID: {0}. Bitte kopieren und verwenden Sie diese ID in anderen Maschinen, um die download-Einstellungen.", + "cmd.updateSettings.info.uploadingFile": "Sync: Dateien Hochladen Von Daten.", + "cmd.updateSettings.info.uploadingSuccess": "Sync: Erfolgreich Hochgeladen.", + "cmd.updateSettings.title": "Sync: Update/Upload-Einstellungen", + "cmd.updateSettings.warning.OSNotSupported": "Sync Pragma-OS-Wert {0} nicht unterstützt in Zeile {1}", + "cmd.updateSettings.warning.noToken": "Sync: Einstellen GitHub-Token oder deaktivieren Sie \"downloadPublicGist' von lokalen Sync-Einstellungen-Datei.", + "common.action.donate": "Spenden Sie Jetzt", + "common.action.joinCommunity": "Beitreten Der Gemeinschaft", + "common.action.openExtPage": "Öffnen Sie Die Erweiterung Seite", + "common.action.openExtTutorial": "Anleitung Öffnen", + "common.action.releaseNotes": "Release Notes", + "common.action.support": "Die Unterstützung Dieses Projekts", + "common.action.writeReview": "Bewertung Schreiben", + "common.button.yes": "Ja", + "common.error.canNotSave": "Sync: kann Nicht Speichern Sie die Einstellungen. Bitte stellen Sie sicher, dass Sie gültige JSON-Einstellungen.json-Datei. (z.B.: Keine trailing Kommas)", + "common.error.connection": "Sync: Internet Nicht Verbunden ist oder keine Verbindung zu GitHub. Ausnahme Eingeloggt Konsole", + "common.error.gistNotSave": "Sync: Gist Nicht Gespeichert.", + "common.error.invalidGistId": "Sync: Ungültige Gist-Id Eingegeben Werden. Überprüfen Sie Ihre Kernaussage: https://gist.github.com//.", + "common.error.invalidToken": "Sync: Ungültig/Abgelaufen GitHub-Token. Bitte generieren Sie neue token mit scopes erwähnt in der readme-Datei. Ausnahme Eingeloggt in der Konsole.", + "common.error.message": "Sync: Fehler Protokolliert, In der Konsole (Menü Hilfe > Umschalten Developer Tools).", + "common.error.tokenNotSave": "Sync: Token Nicht Gespeichert.", + "common.info.donate": "Sync: magst du diese Erweiterung? Wie über das schreiben einer rezension oder senden Sie eine Spende? ", + "common.info.excludeFile": "Sync: können Sie ausschließen jede Datei/Ordner für den upload und den Einstellungen zum download bereit.", + "common.info.gistSaved": "Sync: Gist Gespeichert", + "common.info.initAutoUpload": "Sync: Auto-Upload Einleitung In {0} Sekunden.", + "common.info.installed": "Sync: Einstellungen erstellt, vielen Dank für die Installation!", + "common.info.needHelp": "Sync: Brauche Hilfe bei der Konfiguration dieser extension?", + "common.info.setToken": "Sync: Jetzt können Sie Ihre GitHub-token manuell in `syncLocalSettings.json`", + "common.info.tokenSaved": "Sync: Token Gespeichert", + "common.info.updateTo": "Synchronisieren: Aktualisiert auf v{0}", + "common.info.updating": "Sync: Update Läuft... Bitte Warten.", + "common.placeholder.enterGistId": "Geben Sie Gist-Id", + "common.placeholder.enterGithubAccessToken": "Geben Sie GitHub Persönlichen Zugangs-Token", + "common.placeholder.multipleGist": "Gist-Name (z.B.: Persönliche Einstellungen)", + "common.prompt.enterGistId": "Geben Sie Gist-Id von zuvor hochgeladenen Einstellungen. Sie können auch manuell im code Einstellungen (sync.gist). Drücken Sie [Enter] oder [Esc], um abzubrechen.", + "common.prompt.enterGithubAccessToken": "Sie auch manuell hinzufügen, ein token (User-Ordner/syncLocalSettings.json). Drücken Sie [Enter] oder [Esc], um abzubrechen.", + "common.prompt.gistNewer": "Sync: Gist hat einen neueren oder gleichen version Ihrer Einstellungen. Wollen Sie aktivieren forceUpload, dies zu ändern?", + "common.prompt.multipleGist": "Ermöglicht Ihnen, Einstellungen identifizieren, wenn Sie mehrere wesentliche.", + "common.prompt.restartCode": "Wollen Sie laden sich zu bewerben Erweiterungen und Konfigurationen?", + "ext.config.askGistName": "Fragen gist Namen auf erstellen. Hilft Ihnen zu identifizieren, das wesentliche, wenn Sie mehrere Gist.", + "ext.config.autoDownload": "Gesetzt, es wahr zu Automatischen Download der settings auf den code starten. [Code-Neustart Erforderlich]", + "ext.config.autoDownload.name": "Auto-Download", + "ext.config.autoUpload": "Legen Sie true, um die Automatische Upload über die settings ändern. [Code-Neustart Erforderlich]", + "ext.config.autoUpload.name": "Automatischer Upload", + "ext.config.forceDownload": "Setzen Sie ihn auf true, wenn Sie möchten, laden Sie die Einstellungen sogar, wenn Sie die aktuellen Einstellungen.", + "ext.config.forceDownload.name": "Force Download", + "ext.config.forceUpload": "Setzen Sie ihn auf true, wenn Sie möchten, laden Sie die Einstellungen, auch wenn die KERNAUSSAGE hat die neuen Einstellungen.", + "ext.config.forceUpload.name": "Force Upload", + "ext.config.gist": "GitHub GIST-ID für Sync-Einstellungen.", + "ext.config.gist.name": "Gist-ID", + "ext.config.gist.placeholder": "Geben Sie Gist-ID", + "ext.config.host": "Legen Sie es auf Ihrem GitHub-Enterprise-host, wenn Sie verwenden möchten GHE.", + "ext.config.lastDownload": "Einstellungen-Sync-Letzte download-Datum. Legen Sie es als leer, wenn Sie möchten, um manuell hit download.", + "ext.config.lastUpload": "Einstellungen für Sync last upload-Datum. Legen Sie es als leer, wenn Sie möchten, um manuell hit download.", + "ext.config.pathPrefix": "Legen Sie es auf Ihrem GitHub-Enterprise-API-Präfix wenn Sie verwenden möchten GHE. In der Regel \"/api/v3'. Nur verwendet, wenn host festgelegt ist.", + "ext.config.quietSync": "Wenn auf true gesetzt, wird das Ergebnis in der Statuszeile statt der Seite \"Zusammenfassung\".", + "ext.config.quietSync.name": "Ruhige Sync", + "ext.config.removeExtensions": "Setzen Sie ihn auf false, wenn Sie nicht wollen, zu entfernen, Erweiterungen und herunterladen.", + "ext.config.removeExtensions.name": "Entfernen Von Erweiterungen", + "ext.config.syncExtensions": "Setzen Sie ihn auf false, wenn Sie nicht wollen, um upload/download-Erweiterungen.", + "ext.config.syncExtensions.name": "Sync-Erweiterungen", + "ext.config.title": "Code-Einstellungen-Sync-Konfigurations-Einstellungen", + "ext.globalConfig.askGistName.name": "Fragen Gist Namen", + "ext.globalConfig.autoUploadDelay.name": "Auto-Upload-Verzögerung", + "ext.globalConfig.autoUploadDelay.placeholder": "Geben Sie die Anzahl der Sekunden Verzögerung auto-upload", + "ext.globalConfig.downloadPublicGist.name": "Download Public Gist", + "ext.globalConfig.gistDescription.name": "Gist Beschreibung", + "ext.globalConfig.gistDescription.placeholder": "Geben Sie Wesentliche Beschreibung", + "ext.globalConfig.githubEnterpriseUrl.name": "GitHub Enterprise-URL (optional)", + "ext.globalConfig.githubEnterpriseUrl.placeholder": "Geben Sie GitHub Enterprise URL", + "ext.globalConfig.hostName.name": "Hostname (optional)", + "ext.globalConfig.hostName.placeholder": "Hostname Eingeben", + "ext.globalConfig.ignoreExtensions.name": "Ignoriert Erweiterungen", + "ext.globalConfig.ignoreExtensions.placeholder": "Geben Sie eine Erweiterung pro Zeile (vollständiger name)", + "ext.globalConfig.ignoreUploadFiles.name": "Ignoriert Dateien", + "ext.globalConfig.ignoreUploadFiles.placeholder": "Geben Sie pro Zeile eine Datei", + "ext.globalConfig.ignoreUploadFolders.name": "Ignoriert Ordner", + "ext.globalConfig.ignoredUploadFolders.placeholder": "Geben Sie einen Ordner pro Zeile", + "ext.globalConfig.openTokenLink.name": "Öffnen Token Link", + "ext.globalConfig.supportedFileExtensions.name": "Unterstützte Datei-Erweiterungen", + "ext.globalConfig.supportedFileExtensions.placeholder": "Geben Sie einen Datei-Erweiterung pro Zeile", + "ext.globalConfig.token.name": "Access-Token", + "ext.globalConfig.token.placeholder": "Geben Sie Token" +} \ No newline at end of file diff --git a/package.nls.es.json b/package.nls.es.json index bbdf4c49..33f5a83e 100644 --- a/package.nls.es.json +++ b/package.nls.es.json @@ -1,106 +1,142 @@ { - "ext.config.title": "Código De Configuración De Sincronización De La Configuración,", - "ext.config.gist": "GitHub ESENCIA de IDENTIFICACIÓN para la Configuración de Sincronización.,", - "ext.config.lastUpload": "La configuración de Sincronización de la última fecha de subida. Establecer como vacío si desea manualmente golpe de descarga.,", - "ext.config.lastDownload": "La configuración de Sincronización de la última fecha de descarga. Establecer como vacío si desea manualmente golpe de descarga.,", - "ext.config.autoDownload": "Conjunto es cierto para Descargar automáticamente los ajustes en el código de inicio. [Código Necesario Reiniciar],", - "ext.config.autoUpload": "Conjunto es cierto para Carga Automática en la configuración de cambio. [Código Necesario Reiniciar],", - "ext.config.forceDownload": "Se establece en true si desea descargar los ajustes, incluso cuando se tiene la configuración más reciente.,", - "ext.config.host": "Establece a su GitHub Enterprise host si desea utilizar GHE.,", - "ext.config.pathPrefix": "Establece a su GitHub Enterprise API prefijo si desea utilizar GHE. Normalmente '/api/v3'. Sólo se utiliza cuando el host está configurado.,", - "ext.config.quietSync": "Cuando se establece en true, se mostrará el resultado en la barra de estado en lugar de la página de resumen.,", - "ext.config.askGistName": "Pida a los gist nombre sobre la creación. Ayuda a identificar la esencia si usted tiene múltiples gist.,", - "ext.config.removeExtensions": "Establece en false si no desea eliminar extensiones, mientras que la descarga.,", - "ext.config.syncExtensions": "Establece en false si no desea cargar / descargar las extensiones.,", - "cmd.howSetting.title": "Sincronización: Cómo Configurar,", - "cmd.updateSettings.title": "Sincronización: Actualización / Cargar La Configuración,", - "cmd.updateSettings.info.uploading": "Sincronización: Cargar / Actualizar La Configuración En GitHub.,", - "cmd.updateSettings.info.uploadingFile": "Sincronización: La Carga De Archivos De Datos.,", - "cmd.updateSettings.info.uploadingDone": "Sincronización: Carga Completa. GIST ID : {0}. Por favor, copiar y utilizar este ID en otras máquinas para la configuración de descarga.,", - "cmd.updateSettings.info.uploadingSuccess": "Sincronización: Se Cargó Correctamente.,", - "cmd.updateSettings.info.shareGist": "Sincronización: Compartir la Identificación con otros usuarios de la extensión para compartir la configuración.,", - "cmd.updateSettings.info.readding": "Sincronización: Ajustes de Lectura y Extensiones.,", - "cmd.updateSettings.info.newGistCreated": "Sincronización: Nueva esencia creada.,", - "cmd.updateSettings.warning.noToken": "Sincronización: Conjunto de GitHub Token o desactivar el downloadPublicGist' desde el local de la configuración de Sincronización de archivos.,", - "cmd.updateSettings.warning.OSNotSupported": "Sincronización de Pragma OS valor {0} no se admite en la línea {1},", - "cmd.updateSettings.error.newGistCreateFail": "Sincronización: no se puede crear Gist.,", - "cmd.updateSettings.error.readGistFail": "Sincronización: GIST ID : {0} no se puede LEER.,", - "cmd.updateSettings.error.gistNotSave": "Sincronización: los GIST NO se GUARDAN,", - "cmd.downloadSettings.title": "Sincronización: La Configuración De La Descarga,", - "cmd.downloadSettings.info.downloaded": "Sincronización: Descarga Completa.,", - "cmd.downloadSettings.info.readdingOnline": "Sincronización: Ajustes De Lectura En Línea.,", - "cmd.downloadSettings.info.gotLatestVersion": "Sincronización: ya tienes la última versión de la configuración guardada.,", - "cmd.downloadSettings.error.removeExtFail": "Sincronización: no se puede eliminar algunas de las extensiones.,", - "cmd.downloadSettings.error.unableSave": "Sincronización: no se puede guardar la configuración de la extensión de archivo.,", - "cmd.resetSettings.title": "Sincronización: Restablecer La Configuración De La Extensión,", - "cmd.resetSettings.info.resetting": "Sincronización: Restablecer La Configuración.,", - "cmd.resetSettings.info.settingClear": "Sincronización: La Configuración Se Borra.,", - "cmd.otherOptions.title": "Sincronización: Opciones Avanzadas,", - "cmd.otherOptions.openSettingsPage": "Sincronización: Abrir La Configuración,", - "cmd.otherOptions.editLocalSetting": "Sincronización: Edición De Extensión De Configuración Local,", - "cmd.otherOptions.shareSetting": "Sincronización: Compartir valores con Público ESENCIAL,", - "cmd.otherOptions.shareSetting.beforeConfirm": "Sincronización: Esto eliminará actual GIST y cargar la configuración en el nuevo público ESENCIAL. ¿Desea continuar?,", - "cmd.otherOptions.downloadSetting": "Sincronización: la Configuración de Descarga de Público ESENCIAL,", - "cmd.otherOptions.toggleForceDownload": "Sincronización: Activar La Fuerza De La Descarga,", - "cmd.otherOptions.toggleForceDownload.on": "Sincronización: La Fuerza De La Descarga De Encendido.,", - "cmd.otherOptions.toggleForceDownload.off": "Sincronización: La Fuerza De La Descarga Apagada.,", - "cmd.otherOptions.toggleAutoUpload": "Sincronización: Activar Auto-Cargar En La Configuración De Cambio,", - "cmd.otherOptions.toggleAutoUpload.on": "Sincronización: carga Automática de Cambio de Configuración de Encendido. Esto tendrá efecto después de reiniciar.,", - "cmd.otherOptions.toggleAutoUpload.off": "Sincronización: carga Automática de Cambio de Configuración de Apagado.,", - "cmd.otherOptions.toggleAutoDownload": "Sincronización: Activar La Descarga Automática En El Arranque,", - "cmd.otherOptions.toggleAutoDownload.on": "Sincronización: Descarga Automática activada después DE VSCode de Inicio.,", - "cmd.otherOptions.toggleAutoDownload.off": "Sincronización: Descarga Automática DESACTIVADA en VSCode de Inicio.,", - "cmd.otherOptions.toggleSummaryPage": "Sincronización: Alternar Mostrar La Página De Resumen En La Carga / Descarga,", - "cmd.otherOptions.preserve": "Sincronización: Preservar La Configuración De Dejar De Reemplazar Después De La Descarga,", - "cmd.otherOptions.preserve.placeholder": "Introduzca cualquier Tecla de ajustes.json para preservar.,", - "cmd.otherOptions.preserve.prompt": "Ejemplo : Escribir 'http.proxy' => tienda de este equipo proxy y sobrescribir , si el conjunto vacío va a quitar el proxy.,", - "cmd.otherOptions.preserve.info.done1": "Sincronización: Hecho. {0} valor será eliminado de la configuración.json después de la descarga.,", - "cmd.otherOptions.preserve.info.done2": "Sincronización: Hecho. Extensión mantendrá {0} : {1} en el establecimiento.json después de la descarga.,", - "cmd.otherOptions.customizedSync": "Sincronización: Añadir Personalizado de Sincronización de ruta de acceso de Archivo,", - "cmd.otherOptions.customizedSync.placeholder": "Escriba una ruta de acceso absoluta de los adicionales de archivo cargado.,", - "cmd.otherOptions.customizedSync.prompt": "(ex. /ruta/a/.eslintrc) será cargado y descargado en la ruta de acceso especificada.,", - "cmd.otherOptions.customizedSync.done": "Sincronización: {0} ha sido registrado.,", - "cmd.otherOptions.downloadCustomFile": "Sincronización: Importación Personalizada de Sincronización de Archivo de área de trabajo,", - "cmd.otherOptions.downloadCustomFile.placeholder": "Seleccione el archivo que desea descargar a la raíz del espacio de trabajo que usted está trabajando.,", - "cmd.otherOptions.downloadCustomFile.done": "Descargar {0}.,", - "cmd.otherOptions.joinCommunity": "Sincronización: Únete A La Comunidad,", - "cmd.otherOptions.openIssue": "Sincronización: Tema Abierto,", - "cmd.otherOptions.releaseNotes": "Sincronización: Notas De La Versión,", - "cmd.otherOptions.quietSync.on": "Sincronización: barra de Estado será actualizado previa de carga / descarga.,", - "cmd.otherOptions.quietSync.off": "Sincronización: Resumen se muestra en la carga / descarga.,", - "cmd.otherOptions.warning.tokenNotRequire": "Sincronización: Ajustes de Sincronización de no pedir GitHub Token a partir de ahora.,", - "cmd.otherOptions.error.toggleFail": "Sincronización: no se puede Alternar.,", - "cmd.otherOptions.triggerReset": "Sincronización: ¿desea restablecer la configuración ?,", - "common.info.installed": "Sincronización: Ajustes creado, gracias por instalar!,", - "common.info.needHelp": "Sincronización: Necesita Ayuda para configurar esta extensión?,", - "common.info.excludeFile": "Sincronización: puede excluir cualquier archivo / carpeta para la carga y la configuración de descarga.,", - "common.info.updating": "Sincronización: Actualización En Progreso ... Por Favor Espere.,", - "common.info.initAutoUpload": "Sincronización: Carga Automática De Iniciar En 5 Segundos.,", - "common.info.setToken": "Sincronización: Ahora Usted puede configurar su GitHub token manualmente en `syncLocalSettings.json`,", - "common.info.tokenSaved": "Sincronización: Token De Guardado,", - "common.info.gistSaved": "Sincronización: Gist Guardado,", - "common.info.updateTo": "Sincronización: Actualizado a la v{0},", + "cmd.downloadSettings.error.removeExtFail": "Sincronización: no se puede eliminar algunas de las extensiones.", + "cmd.downloadSettings.error.unableSave": "Sincronización: no se puede guardar la configuración de la extensión de archivo.", + "cmd.downloadSettings.info.downloaded": "Sincronización: Descarga Completa.", + "cmd.downloadSettings.info.gotLatestVersion": "Sincronización: ya tienes la última versión de la configuración guardada.", + "cmd.downloadSettings.info.readdingOnline": "Sincronización: Ajustes De Lectura En Línea.", + "cmd.downloadSettings.title": "Sincronización: La Configuración De Descarga", + "cmd.howSetting.title": "Sincronización: Cómo Configurar", + "cmd.otherOptions.customizedSync": "Sincronización: Añadir Personalizado de Sincronización ruta de acceso del Archivo", + "cmd.otherOptions.customizedSync.done": "Sincronización: {0} ha sido registrado.", + "cmd.otherOptions.customizedSync.placeholder": "Escriba una ruta de acceso absoluta de los adicionales de archivo cargado.", + "cmd.otherOptions.customizedSync.prompt": "(ex. /ruta/a/.eslintrc) será cargado y descargado en la ruta de acceso especificada.", + "cmd.otherOptions.downloadCustomFile": "Sincronización: Importación Personalizada de Sincronización de Archivo de área de trabajo", + "cmd.otherOptions.downloadCustomFile.done": "Descargar {0}.", + "cmd.otherOptions.downloadCustomFile.placeholder": "Seleccione el archivo que desea descargar a la raíz del espacio de trabajo que usted está trabajando.", + "cmd.otherOptions.downloadSetting": "Sincronización: la Configuración de Descarga de Público ESENCIAL", + "cmd.otherOptions.editLocalSetting": "Sincronización: Editar La Extensión De La Configuración Local", + "cmd.otherOptions.error.toggleFail": "Sincronización: no se puede Alternar.", + "cmd.otherOptions.joinCommunity": "Sincronización: Únete A La Comunidad", + "cmd.otherOptions.openIssue": "Sincronización: Tema Abierto", + "cmd.otherOptions.openSettingsPage": "Sincronización: Abrir La Configuración", + "cmd.otherOptions.preserve": "Sincronización: Preservar La Configuración De Dejar De Reemplazar Después De La Descarga", + "cmd.otherOptions.preserve.info.done1": "Sincronización: Hecho. {0} valor será eliminado de la configuración.json después de la descarga.", + "cmd.otherOptions.preserve.info.done2": "Sincronización: Hecho. Extensión mantendrá {0}: {1} en el establecimiento.json después de la descarga.", + "cmd.otherOptions.preserve.placeholder": "Introduzca cualquier Tecla de ajustes.json para preservar.", + "cmd.otherOptions.preserve.prompt": "Ejemplo: Escribir 'http.proxy' => tienda de este equipo proxy y sobrescribir , si el conjunto vacío va a quitar el proxy.", + "cmd.otherOptions.quietSync.off": "Sincronización: Resumen se muestra en la carga/descarga.", + "cmd.otherOptions.quietSync.on": "Sincronización: barra de Estado será actualizado previa de carga/descarga.", + "cmd.otherOptions.releaseNotes": "Sincronización: Notas De La Versión", + "cmd.otherOptions.shareSetting": "Sincronización: Compartir valores con Público ESENCIAL", + "cmd.otherOptions.shareSetting.beforeConfirm": "Sincronización: Esto eliminará actual GIST y cargar la configuración en el nuevo público ESENCIAL. ¿Desea continuar?", + "cmd.otherOptions.title": "Sincronización: Opciones Avanzadas", + "cmd.otherOptions.toggleAutoDownload": "Sincronización: Activar La Descarga Automática En El Arranque", + "cmd.otherOptions.toggleAutoDownload.off": "Sincronización: Descarga Automática DESACTIVADA en VSCode de Inicio.", + "cmd.otherOptions.toggleAutoDownload.on": "Sincronización: Descarga Automática activada después DE VSCode de Inicio.", + "cmd.otherOptions.toggleAutoUpload": "Sincronización: Activar Auto-Cargar En La Configuración De Cambio", + "cmd.otherOptions.toggleAutoUpload.off": "Sincronización: carga Automática de Cambio de Configuración de Apagado.", + "cmd.otherOptions.toggleAutoUpload.on": "Sincronización: carga Automática de Cambio de Configuración de Encendido. Esto tendrá efecto después de reiniciar.", + "cmd.otherOptions.toggleForceDownload": "Sincronización: Alternar La Fuerza De Descarga", + "cmd.otherOptions.toggleForceDownload.off": "Sincronización: La Fuerza De La Descarga De Apagado.", + "cmd.otherOptions.toggleForceDownload.on": "Sincronización: La Fuerza De La Descarga De Encendido.", + "cmd.otherOptions.toggleForceUpload": "Sincronización: Alternar La Fuerza De Carga", + "cmd.otherOptions.toggleForceUpload.off": "Sincronización: La Fuerza De Cargar Apagado.", + "cmd.otherOptions.toggleForceUpload.on": "Sincronización: La Fuerza De Carga Encendido.", + "cmd.otherOptions.toggleSummaryPage": "Sincronización: Alternar Mostrar La Página De Resumen En La Carga/Descarga", + "cmd.otherOptions.triggerReset": "Sincronización: ¿desea restablecer la configuración ?", + "cmd.otherOptions.warning.tokenNotRequire": "Sincronización: Ajustes de Sincronización de no pedir GitHub Token a partir de ahora.", + "cmd.resetSettings.info.resetting": "Sincronización: Al Restablecer Su Configuración.", + "cmd.resetSettings.info.settingClear": "Sincronización: La Configuración Se Borra.", + "cmd.resetSettings.title": "Sincronización: Restablecer La Configuración De La Extensión", + "cmd.updateSettings.error.gistNotSave": "Sincronización: los GIST NO se GUARDAN", + "cmd.updateSettings.error.newGistCreateFail": "Sincronización: no se puede crear el Gist.", + "cmd.updateSettings.error.readGistFail": "Sincronización: GIST ID: {0} no se puede LEER.", + "cmd.updateSettings.info.newGistCreated": "Sincronización: Nueva esencia creada.", + "cmd.updateSettings.info.readding": "Sincronización: Ajustes de Lectura y Extensiones.", + "cmd.updateSettings.info.shareGist": "Sincronización: Compartir la Identificación con otros usuarios de la extensión para compartir la configuración.", + "cmd.updateSettings.info.uploadCanceled": "Sincronización: El Proceso De Carga De Cancelado.", + "cmd.updateSettings.info.uploading": "Sincronización: Cargar/Actualizar La Configuración En GitHub.", + "cmd.updateSettings.info.uploadingDone": "Sincronización: Carga Completa. GIST ID: {0}. Por favor, copiar y utilizar este ID en otras máquinas para la configuración de descarga.", + "cmd.updateSettings.info.uploadingFile": "Sincronización: La Carga De Archivos De Datos.", + "cmd.updateSettings.info.uploadingSuccess": "Sincronización: Se Cargó Correctamente.", + "cmd.updateSettings.title": "Sincronización: Actualización/Cargar La Configuración De", + "cmd.updateSettings.warning.OSNotSupported": "Sincronización de Pragma OS valor {0} no se admite en la línea {1}", + "cmd.updateSettings.warning.noToken": "Sincronización: Conjunto de GitHub Token o desactivar el downloadPublicGist' desde el local de la configuración de Sincronización de archivos.", + "common.action.donate": "Dona Ahora", + "common.action.joinCommunity": "Únete A La Comunidad", + "common.action.openExtPage": "Abra La Extensión De La Página", + "common.action.openExtTutorial": "Abra Tutorial", + "common.action.releaseNotes": "Notas De La Versión", + "common.action.support": "Apoyar Este Proyecto", + "common.action.writeReview": "Escribe Una Reseña", + "common.button.yes": "Sí", + "common.error.canNotSave": "Sincronización: no se puede Guardar la Configuración. Por favor, asegúrese de que usted tiene válido JSON configuración.archivo json. (por ejemplo: No comas finales)", + "common.error.connection": "Sincronización: Internet No está Conectado o no se puede Conectar a GitHub. La excepción se Registra en la Consola", + "common.error.gistNotSave": "Sincronización: Los Gist No Se Guardan.", + "common.error.invalidGistId": "Sincronización: No Válido Gist Id Introducido. Compruebe su esencia: https://gist.github.com//.", + "common.error.invalidToken": "Sincronización: No Válido O Caducado GitHub Token. Por favor, generar nuevas token con los ámbitos mencionados en el archivo léame. La excepción se Registra en la Consola.", + "common.error.message": "Sincronización: Error Registrado En la Consola (menú Ayuda > Activar Herramientas de Desarrollador).", + "common.error.tokenNotSave": "Sincronización: Token No Se Guardan.", "common.info.donate": "Sincronización: ¿te gusta esta extensión? Acerca de cómo escribir una reseña o el envío de una donación? ", - "common.error.message": "Sincronización: Error Registrado En la Consola (menú Ayuda > Activar Herramientas de Desarrollador).,", - "common.error.connection": "Sincronización: Internet No está Conectado o no se puede Conectar a GitHub. La excepción se Registra en la Consola,", - "common.error.canNotSave": "Sincronización: no se puede Guardar la Configuración. Por favor, asegúrese de que usted tiene válido JSON configuración.archivo json. (por ejemplo : No comas finales),", - "common.error.invalidToken": "Sincronización: No Válido O Caducado GitHub Token. Por favor, generar nuevas token con los ámbitos mencionados en el archivo léame. La excepción se Registra en la Consola.,", - "common.error.invalidGistId": "Sincronización: No Válido Gist Id Introducido. Compruebe su esencia : https://gist.github.com//.,", - "common.error.tokenNotSave": "Sincronización: Token No Se Guardan.,", - "common.error.gistNotSave": "Sincronización: Los Gist No Se Guardan.,", - "common.action.openExtPage": "Abra La Extensión De La Página,", - "common.action.openExtTutorial": "Abra Tutorial,", - "common.action.releaseNotes": "Notas De La Versión,", - "common.action.writeReview": "Escribe Una Reseña,", - "common.action.support": "Apoyo Este Proyecto,", - "common.action.joinCommunity": "Únete A La Comunidad,", - "common.action.donate": "Donar Ahora,", - "common.placeholder.enterGithubAccessToken": "Entrar En GitHub Personal Token De Acceso,", - "common.placeholder.enterGistId": "Introduzca Esencia De Identificación,", - "common.placeholder.multipleGist": "Gist Nombre (por ejemplo : Ajustes Personales),", - "common.prompt.multipleGist": "Permite identificar las opciones de configuración si tiene varios gist.,", - "common.prompt.enterGistId": "Introduzca Esencia de Identificación de cargado previamente la configuración. También puede configurar manualmente en el código de configuración (sincronización.gist). Pulse [Enter] o [Esc] para cancelar.,", - "common.prompt.enterGithubAccessToken": "Usted también agregar manualmente un símbolo (token) de la Carpeta de Usuario / syncLocalSettings.json). Pulse [Enter] o [Esc] para cancelar.,", - "common.prompt.restartCode": "¿Desea volver a cargar para aplicar extensiones y configuraciones?,", - "common.button.yes": "Sí" + "common.info.excludeFile": "Sincronización: puede excluir cualquier archivo/carpeta para la carga y la configuración de descarga.", + "common.info.gistSaved": "Sincronización: Gist Guardado", + "common.info.initAutoUpload": "Sincronización: Carga Automática De Iniciar En {0} Segundos.", + "common.info.installed": "Sincronización: Ajustes creado, gracias por la instalación!", + "common.info.needHelp": "Sincronización: Necesita Ayuda para configurar esta extensión?", + "common.info.setToken": "Sincronización: Ahora Usted puede configurar su GitHub token manualmente en `syncLocalSettings.json`", + "common.info.tokenSaved": "Sincronización: Token Guardado", + "common.info.updateTo": "Sincronización: Actualizado a la v{0}", + "common.info.updating": "Sincronización: Actualización En Progreso... Por Favor Espere.", + "common.placeholder.enterGistId": "Entrar En Esencia Id", + "common.placeholder.enterGithubAccessToken": "Entrar En GitHub Personal Token De Acceso", + "common.placeholder.multipleGist": "Gist Nombre (por ejemplo: la Configuración Personal)", + "common.prompt.enterGistId": "Introduzca Esencia de Identificación de cargado previamente la configuración. También puede configurar manualmente en el código de configuración (sincronización.gist). Pulse [Enter] o [Esc] para cancelar.", + "common.prompt.enterGithubAccessToken": "Usted también agregar manualmente un símbolo (token) de la Carpeta de Usuario/syncLocalSettings.json). Pulse [Enter] o [Esc] para cancelar.", + "common.prompt.gistNewer": "Sincronización: Gist tiene una o más reciente versión idéntica de su configuración. ¿Desea habilitar forceUpload para anular este?", + "common.prompt.multipleGist": "Permite identificar las opciones de configuración si tiene varios gist.", + "common.prompt.restartCode": "¿Desea volver a cargar para aplicar extensiones y configuraciones?", + "ext.config.askGistName": "Pida a los gist nombre sobre la creación. Ayuda a identificar la esencia si tiene varios fundamentos.", + "ext.config.autoDownload": "Conjunto es cierto para Descargar automáticamente los ajustes en el código de inicio. [Código Necesario Reiniciar]", + "ext.config.autoDownload.name": "Descarga Automática", + "ext.config.autoUpload": "Conjunto es cierto para Carga Automática en la configuración de cambio. [Código Necesario Reiniciar]", + "ext.config.autoUpload.name": "Carga Automática", + "ext.config.forceDownload": "Se establece en true si desea descargar los ajustes, incluso cuando se tiene la configuración más reciente.", + "ext.config.forceDownload.name": "La Fuerza De La Descarga", + "ext.config.forceUpload": "Se establece en true si desea cargar la configuración incluso cuando la ESENCIA tiene una configuración nueva.", + "ext.config.forceUpload.name": "Fuerza De Carga", + "ext.config.gist": "GitHub ESENCIA de IDENTIFICACIÓN para la Configuración de Sincronización.", + "ext.config.gist.name": "Gist ID", + "ext.config.gist.placeholder": "Entrar en Esencia ID", + "ext.config.host": "Establece a su GitHub Enterprise host si desea utilizar GHE.", + "ext.config.lastDownload": "La configuración de Sincronización de la última fecha de descarga. Establecer como vacío si desea manualmente golpe de descarga.", + "ext.config.lastUpload": "La configuración de Sincronización de la última fecha de subida. Establecer como vacío si desea manualmente golpe de descarga.", + "ext.config.pathPrefix": "Establece a su GitHub Enterprise API prefijo si desea utilizar GHE. Normalmente '/api/v3'. Sólo se utiliza cuando el host está configurado.", + "ext.config.quietSync": "Cuando se establece en true, se mostrará el resultado en la barra de estado en lugar de la página de resumen.", + "ext.config.quietSync.name": "Tranquilo Sync", + "ext.config.removeExtensions": "Establece en false si no desea eliminar extensiones, mientras que la descarga.", + "ext.config.removeExtensions.name": "Quitar Las Extensiones De", + "ext.config.syncExtensions": "Establece en false si usted no desea cargar/descargar las extensiones.", + "ext.config.syncExtensions.name": "Sincronización De Extensiones", + "ext.config.title": "Código De Configuración De La Configuración De Sincronización De La Configuración De", + "ext.globalConfig.askGistName.name": "Pida A Los Gist Nombre", + "ext.globalConfig.autoUploadDelay.name": "Carga Automática De Retardo", + "ext.globalConfig.autoUploadDelay.placeholder": "Ingrese la cantidad de segundos de retardo de auto-carga", + "ext.globalConfig.downloadPublicGist.name": "Descargar Público Esencial", + "ext.globalConfig.gistDescription.name": "Gist Descripción", + "ext.globalConfig.gistDescription.placeholder": "Entrar En Esencia Descripción", + "ext.globalConfig.githubEnterpriseUrl.name": "GitHub Enterprise URL (opcional)", + "ext.globalConfig.githubEnterpriseUrl.placeholder": "Entrar en GitHub Enterprise URL", + "ext.globalConfig.hostName.name": "Nombre de host (opcional)", + "ext.globalConfig.hostName.placeholder": "Introduzca Nombre De Host", + "ext.globalConfig.ignoreExtensions.name": "Ignorado Extensiones", + "ext.globalConfig.ignoreExtensions.placeholder": "Introduzca una extensión por línea (nombre completo)", + "ext.globalConfig.ignoreUploadFiles.name": "Archivos Ignorados", + "ext.globalConfig.ignoreUploadFiles.placeholder": "Introduzca un archivo por línea", + "ext.globalConfig.ignoreUploadFolders.name": "Ignorado Carpetas", + "ext.globalConfig.ignoredUploadFolders.placeholder": "Entrar en una carpeta por cada línea", + "ext.globalConfig.openTokenLink.name": "Abierto Token De Enlace", + "ext.globalConfig.supportedFileExtensions.name": "Las Extensiones De Archivo", + "ext.globalConfig.supportedFileExtensions.placeholder": "Introduzca una extensión de archivo por línea", + "ext.globalConfig.token.name": "Token De Acceso", + "ext.globalConfig.token.placeholder": "Introduzca Token" } \ No newline at end of file diff --git a/package.nls.fr.json b/package.nls.fr.json index 9b1aa7d0..1a64a345 100644 --- a/package.nls.fr.json +++ b/package.nls.fr.json @@ -1,105 +1,140 @@ { - "ext.config.title": "Code Les Paramètres De Configuration De La Synchronisation Des Paramètres,", - "ext.config.gist": "GitHub GIST ID pour les Paramètres de Synchronisation.,", - "ext.config.lastUpload": "Les paramètres de Synchronisation de la dernière date de téléchargement. Définir comme vide si vous souhaitez manuellement hit téléchargement.,", - "ext.config.autoDownload": "Fixé la valeur à true pour Télécharger automatiquement les paramètres de code de démarrage. [Code Redémarrage Nécessaire],", - "ext.config.autoUpload": "Jeu-il vrai de Téléchargement Automatique sur la modification des paramètres. [Code Redémarrage Nécessaire],", - "ext.config.forceDownload": "Attribuez la valeur true si vous souhaitez télécharger les paramètres, même lorsque vous avez les derniers paramètres.,", - "ext.config.host": "Mis à votre GitHub Entreprise d'accueil si vous souhaitez utiliser GHE.,", - "ext.config.pathPrefix": "Mis à votre GitHub Enterprise API préfixe si vous souhaitez utiliser GHE. Normalement '/api/v3'. Utilisé uniquement lorsque l'hôte est défini.,", - "ext.config.quietSync": "Lorsque la valeur est true, affiche le résultat dans la barre d'état au lieu de la page de résumé.,", - "ext.config.askGistName": "Demandez gist nom lors de la création. Vous aide à identifier l'essentiel, si vous avez plusieurs gist.,", - "ext.config.removeExtensions": "Mettre à false si vous ne voulez pas supprimer des extensions pendant le téléchargement.,", - "ext.config.syncExtensions": "Mettre à false si vous ne voulez pas télécharger / télécharger des extensions.,", - "cmd.howSetting.title": "Synchronisation: Comment Faire Pour Configurer,", - "cmd.updateSettings.title": "Sync: Mise À Jour / Téléchargement De Paramètres,", - "cmd.updateSettings.info.uploading": "Sync: Téléchargement / Mise À Jour De Vos Paramètres De GitHub.,", - "cmd.updateSettings.info.uploadingFile": "Sync:, Le Téléchargement De Fichiers De Données.,", - "cmd.updateSettings.info.uploadingDone": "Sync: Téléchargement Complet. GIST ID : {0}. S'il vous plaît copiez et l'utilisation de cet IDENTIFIANT dans d'autres machines pour télécharger les paramètres.,", - "cmd.updateSettings.info.uploadingSuccess": "Sync: Téléchargé Avec Succès.,", - "cmd.updateSettings.info.shareGist": "Sync: Partager la pièce d'identité avec une autre extension aux utilisateurs de partager les paramètres.,", - "cmd.updateSettings.info.readding": "Synchronisation: la Lecture des Paramètres et des Extensions.,", - "cmd.updateSettings.info.newGistCreated": "Sync: Nouvelle gist créé.,", - "cmd.updateSettings.warning.noToken": "Sync: Jeu de GitHub Jeton ou désactiver 'downloadPublicGist' locale des paramètres de Synchronisation de fichiers.,", - "cmd.updateSettings.warning.OSNotSupported": "Synchronisation Pragma OS de la valeur {0} non pris en charge à la ligne {1},", - "cmd.updateSettings.error.newGistCreateFail": "Sync: Impossible de créer le Gist.,", - "cmd.updateSettings.error.readGistFail": "Sync: GIST ID : {0} ne peut LIRE.,", - "cmd.updateSettings.error.gistNotSave": "Sync: GIST NON ENREGISTRÉ,", - "cmd.downloadSettings.title": "Synchronisation: Les Paramètres De Téléchargement,", - "cmd.downloadSettings.info.downloaded": "Sync: Téléchargement Terminé.,", - "cmd.downloadSettings.info.readdingOnline": "Sync: Lecture Des Paramètres En Ligne.,", - "cmd.downloadSettings.info.gotLatestVersion": "Synchronisation: Vous avez déjà la dernière version de paramètres enregistrés.,", - "cmd.downloadSettings.error.removeExtFail": "Sync: Impossible de supprimer certaines extensions.,", - "cmd.downloadSettings.error.unableSave": "Sync: Impossible d'enregistrer les paramètres de l'extension de fichier.,", - "cmd.resetSettings.title": "Sync: Réinitialiser Les Paramètres De L'Extension,", - "cmd.resetSettings.info.resetting": "Synchronisation: La Réinitialisation De Vos Réglages.,", - "cmd.resetSettings.info.settingClear": "Synchronisation: Les Paramètres Effacé.,", - "cmd.otherOptions.title": "Sync: Options Avancées,", - "cmd.otherOptions.openSettingsPage": "Sync: Ouvrez Les Paramètres,", - "cmd.otherOptions.editLocalSetting": "Sync: Permet De Modifier L'Extension De Paramètres Locaux,", - "cmd.otherOptions.shareSetting": "Sync: Paramètres de Partage avec le Public pour l'ESSENTIEL,", - "cmd.otherOptions.shareSetting.beforeConfirm": "Sync: Cela permettra de supprimer les GIST et les paramètres de transfert sur le nouveau public de GIST. Voulez-vous continuer?,", - "cmd.otherOptions.downloadSetting": "Synchronisation: les Paramètres de Téléchargement du Public GIST,", - "cmd.otherOptions.toggleForceDownload": "Sync: Permet De Forcer Le Téléchargement,", - "cmd.otherOptions.toggleForceDownload.on": "Sync: Forcer Le Téléchargement Allumé.,", - "cmd.otherOptions.toggleForceDownload.off": "Sync: Forcer Le Téléchargement Éteint.,", - "cmd.otherOptions.toggleAutoUpload": "Sync: Activer / Désactiver Auto-Upload Sur La Modification De Paramètres,", - "cmd.otherOptions.toggleAutoUpload.on": "Sync: téléchargement Automatique sur le Changement de Réglage Activé. Cela prendra effet après le redémarrage.,", - "cmd.otherOptions.toggleAutoUpload.off": "Sync: téléchargement Automatique sur la Modification du Paramètre Désactivé.,", - "cmd.otherOptions.toggleAutoDownload": "Sync: Permet De Basculer Téléchargement Automatique De Démarrage,", - "cmd.otherOptions.toggleAutoDownload.on": "Sync: Téléchargement Automatique activée après le VSCode de Démarrage.,", - "cmd.otherOptions.toggleAutoDownload.off": "Sync: Téléchargement Automatique DÉSACTIVÉE sur VSCode de Démarrage.,", - "cmd.otherOptions.toggleSummaryPage": "Sync: Permet De Basculer Afficher Le Résumé Sur La Page D'Upload / Download,", - "cmd.otherOptions.preserve": "Sync: Préserver Réglage Pour Arrêter Remplacer Après Le Téléchargement,", - "cmd.otherOptions.preserve.placeholder": "Entrez n'importe quelle Touche de paramètres.json à préserver.,", - "cmd.otherOptions.preserve.prompt": "Exemple : Écriture de 'http.proxy' => magasin de cet ordinateur proxy et le remplacer , si vide qu'il va supprimer le proxy.,", - "cmd.otherOptions.preserve.info.done1": "Sync: Fait. {0} valeur supprimée à partir de paramètres.json après le téléchargement.,", - "cmd.otherOptions.preserve.info.done2": "Sync: Fait. Extension de garder {0} : {1} dans l'établissement.json après le téléchargement.,", - "cmd.otherOptions.customizedSync": "Sync: Ajouter des Sync chemin d'accès au Fichier,", - "cmd.otherOptions.customizedSync.placeholder": "Entrez un chemin d'accès absolu de la supplémentaires fichier téléchargé.,", - "cmd.otherOptions.customizedSync.prompt": "(ex. /chemin/vers/.eslintrc) seront téléchargées sur le chemin spécifié.,", - "cmd.otherOptions.customizedSync.done": "Sync: {0} a été enregistré.,", - "cmd.otherOptions.downloadCustomFile": "Sync: Importation Personnalisée de Synchronisation de Fichiers d'espace de travail,", - "cmd.otherOptions.downloadCustomFile.placeholder": "Sélectionnez le fichier que vous souhaitez télécharger à la racine de l'espace de travail vous travaillez.,", - "cmd.otherOptions.downloadCustomFile.done": "Téléchargé {0}.,", - "cmd.otherOptions.joinCommunity": "Sync: Rejoignez La Communauté,", - "cmd.otherOptions.openIssue": "Sync: Question Ouverte,", - "cmd.otherOptions.releaseNotes": "Synchronisation: Les Notes De Publication,", - "cmd.otherOptions.quietSync.on": "Synchronisation: la barre de Statut sera mis à jour lors du téléchargement / upload.,", - "cmd.otherOptions.quietSync.off": "Sync: Résumé s'affiche lors du téléchargement / upload.,", - "cmd.otherOptions.warning.tokenNotRequire": "Synchronisation: les Paramètres de Synchronisation ne sera pas en demander GitHub Jeton à partir de maintenant.,", - "cmd.otherOptions.error.toggleFail": "Sync: Impossible de Basculer.,", - "cmd.otherOptions.triggerReset": "Sync: voulez-vous réinitialiser les paramètres ?,", - "common.info.installed": "Synchronisation: les Paramètres créés, je vous remercie pour l'installation!,", - "common.info.needHelp": "Sync: Besoin d'Aide pour configurer cette extension?,", - "common.info.excludeFile": "Synchronisation: Vous pouvez exclure n'importe quel fichier / dossier pour les télécharger et les paramètres pour le téléchargement.,", - "common.info.updating": "Synchronisation: La Mise À Jour En Cours ... Veuillez Patienter.,", - "common.info.initAutoUpload": "Sync: Téléchargement Automatique Engager Dans 5 Secondes.,", - "common.info.setToken": "Synchronisation: Vous pouvez Maintenant régler votre GitHub jeton manuellement dans \" syncLocalSettings.json`,", - "common.info.tokenSaved": "Sync: Jeton Enregistré,", - "common.info.gistSaved": "Sync: Gist Enregistré,", - "common.info.updateTo": "Sync: mise à Jour de v{0},", + "cmd.downloadSettings.error.removeExtFail": "Sync: Impossible de supprimer certaines extensions.", + "cmd.downloadSettings.error.unableSave": "Sync: Impossible d'enregistrer les paramètres de l'extension de fichier.", + "cmd.downloadSettings.info.downloaded": "Sync: Téléchargement Terminé.", + "cmd.downloadSettings.info.gotLatestVersion": "Synchronisation: Vous avez déjà la dernière version de paramètres enregistrés.", + "cmd.downloadSettings.info.readdingOnline": "Sync: Lecture Des Paramètres En Ligne.", + "cmd.downloadSettings.title": "Synchronisation: Les Paramètres De Téléchargement", + "cmd.howSetting.title": "Synchronisation: Comment Configurer", + "cmd.otherOptions.customizedSync": "Sync: Ajouter des Sync chemin d'accès au Fichier", + "cmd.otherOptions.customizedSync.done": "Sync: {0} a été enregistré.", + "cmd.otherOptions.customizedSync.placeholder": "Entrez un chemin d'accès absolu de la supplémentaires fichier téléchargé.", + "cmd.otherOptions.customizedSync.prompt": "(ex. /chemin/vers/.eslintrc) seront téléchargées sur le chemin spécifié.", + "cmd.otherOptions.downloadCustomFile": "Sync: Importation Personnalisée de Synchronisation de Fichiers d'espace de travail", + "cmd.otherOptions.downloadCustomFile.done": "Téléchargé {0}.", + "cmd.otherOptions.downloadCustomFile.placeholder": "Sélectionnez le fichier que vous souhaitez télécharger à la racine de l'espace de travail vous travaillez sur.", + "cmd.otherOptions.downloadSetting": "Synchronisation: les Paramètres de Téléchargement du Public GIST", + "cmd.otherOptions.editLocalSetting": "Sync: Permet De Modifier L'Extension De Paramètres Locaux", + "cmd.otherOptions.error.toggleFail": "Sync: Impossible de Basculer.", + "cmd.otherOptions.joinCommunity": "Sync: Rejoignez La Communauté", + "cmd.otherOptions.openIssue": "Sync: Problème Ouvert", + "cmd.otherOptions.openSettingsPage": "Sync: Ouvrez Les Paramètres", + "cmd.otherOptions.preserve": "Sync: Préserver Réglage D'Arrêter De Remplacer La Fin Du Téléchargement", + "cmd.otherOptions.preserve.info.done1": "Sync: Fait. {0} valeur supprimée à partir de paramètres.json après le téléchargement.", + "cmd.otherOptions.preserve.info.done2": "Sync: Fait. Extension de garder {0}: {1} dans l'établissement.json après le téléchargement.", + "cmd.otherOptions.preserve.placeholder": "Entrez n'importe quelle Touche de paramètres.json à préserver.", + "cmd.otherOptions.preserve.prompt": "Exemple: Écriture de 'http.proxy' => magasin de cet ordinateur proxy et le remplacer , si vide qu'il va supprimer le proxy.", + "cmd.otherOptions.quietSync.off": "Sync: Résumé s'affiche lors du téléchargement/upload.", + "cmd.otherOptions.quietSync.on": "Sync: barre de Statut sera mis à jour à télécharger.", + "cmd.otherOptions.releaseNotes": "Sync: Notes De", + "cmd.otherOptions.shareSetting": "Sync: Paramètres de Partage avec le Public GIST", + "cmd.otherOptions.shareSetting.beforeConfirm": "Sync: Cela permettra de supprimer les GIST et les paramètres de transfert sur le nouveau public de GIST. Voulez-vous continuer?", + "cmd.otherOptions.title": "Sync: Options Avancées", + "cmd.otherOptions.toggleAutoDownload": "Sync: Permet De Basculer Téléchargement Automatique Au Démarrage", + "cmd.otherOptions.toggleAutoDownload.off": "Sync: Téléchargement Automatique DÉSACTIVÉE sur VSCode de Démarrage.", + "cmd.otherOptions.toggleAutoDownload.on": "Sync: Téléchargement Automatique activée après le VSCode de Démarrage.", + "cmd.otherOptions.toggleAutoUpload": "Sync: Activer / Désactiver Auto-Upload Sur La Modification De Paramètres De", + "cmd.otherOptions.toggleAutoUpload.off": "Sync: téléchargement Automatique sur la Modification du Paramètre Désactivé.", + "cmd.otherOptions.toggleAutoUpload.on": "Sync: téléchargement Automatique sur le Changement de Réglage Activé. Cela prendra effet après le redémarrage.", + "cmd.otherOptions.toggleForceDownload": "Sync: Permet De Forcer Le Téléchargement", + "cmd.otherOptions.toggleForceDownload.off": "Sync: Forcer Le Téléchargement Éteint.", + "cmd.otherOptions.toggleForceDownload.on": "Sync: Forcer Le Téléchargement Allumé.", + "cmd.otherOptions.toggleForceUpload": "Sync: Permet De Basculer De La Force De Téléchargement", + "cmd.otherOptions.toggleForceUpload.off": "Synchronisation: La Force De Téléchargement Éteint.", + "cmd.otherOptions.toggleForceUpload.on": "Synchronisation: La Force De Téléchargement Allumé.", + "cmd.otherOptions.toggleSummaryPage": "Sync: Permet De Basculer Afficher Le Résumé Sur La Page De Téléchargement/Téléchargement", + "cmd.otherOptions.triggerReset": "Sync: voulez-vous réinitialiser les paramètres ?", + "cmd.otherOptions.warning.tokenNotRequire": "Synchronisation: les Paramètres de Synchronisation ne sera pas en demander GitHub Jeton à partir de maintenant.", + "cmd.resetSettings.info.resetting": "Synchronisation: La Réinitialisation De Vos Réglages.", + "cmd.resetSettings.info.settingClear": "Synchronisation: Les Paramètres Effacés.", + "cmd.resetSettings.title": "Sync: Réinitialiser Les Paramètres De L'Extension", + "cmd.updateSettings.error.gistNotSave": "Sync: GIST PAS ENREGISTRÉ", + "cmd.updateSettings.error.newGistCreateFail": "Sync: Impossible de créer le Gist.", + "cmd.updateSettings.error.readGistFail": "Sync: GIST ID: {0} ne peut LIRE.", + "cmd.updateSettings.info.newGistCreated": "Sync: Nouvelle gist créé.", + "cmd.updateSettings.info.readding": "Synchronisation: la Lecture des Paramètres et des Extensions.", + "cmd.updateSettings.info.shareGist": "Sync: Partager la pièce d'identité avec une autre extension aux utilisateurs de partager les paramètres.", + "cmd.updateSettings.info.uploadCanceled": "Sync: Le Processus De Téléchargement Annulé.", + "cmd.updateSettings.info.uploading": "Sync: Téléchargement/Mise À Jour De Vos Paramètres De GitHub.", + "cmd.updateSettings.info.uploadingDone": "Sync: Téléchargement Complet. GIST ID: {0}. S'il vous plaît copiez et l'utilisation de cet IDENTIFIANT dans d'autres machines pour télécharger les paramètres.", + "cmd.updateSettings.info.uploadingFile": "Sync:, Le Téléchargement De Fichiers De Données.", + "cmd.updateSettings.info.uploadingSuccess": "Sync: Téléchargé Avec Succès.", + "cmd.updateSettings.title": "Sync: Mise À Jour/Charger Les Réglages", + "cmd.updateSettings.warning.OSNotSupported": "Synchronisation Pragma OS de la valeur {0} non pris en charge à la ligne {1}", + "cmd.updateSettings.warning.noToken": "Sync: Jeu de GitHub Jeton ou désactiver 'downloadPublicGist' locale des paramètres de Synchronisation de fichiers.", + "common.action.donate": "Faites Un Don Maintenant", + "common.action.joinCommunity": "Rejoignez La Communauté", + "common.action.openExtPage": "Ouvrir L'Extension De La Page", + "common.action.openExtTutorial": "Ouvrez Tutoriel", + "common.action.releaseNotes": "Notes De Version", + "common.action.support": "Son Soutien À Ce Projet", + "common.action.writeReview": "Écrire L'Examen", + "common.button.yes": "Oui", + "common.error.canNotSave": "Sync: Impossible d'Enregistrer les Paramètres. Assurez-vous d'avoir JSON valide les paramètres.fichier json. (par exemple: Pas de virgules)", + "common.error.connection": "Sync: Internet n'est Pas Connecté ou est Incapable de se Connecter à GitHub. Exception Enregistré dans la Console", + "common.error.gistNotSave": "Sync: Gist Pas Enregistré.", + "common.error.invalidGistId": "Sync: Invalid Gist Id Entré. Vérifiez votre gist: https://gist.github.com//.", + "common.error.invalidToken": "Sync: Non Valide Ou A Expiré GitHub Jeton. Veuillez créer un nouveau jeton avec des étendues mentionné dans le fichier readme. Exception Enregistré dans la Console.", + "common.error.message": "Sync: Erreur Enregistré Dans la Console (menu Aide > activer / désactiver les Outils de développement).", + "common.error.tokenNotSave": "Sync: Jeton Ne Sont Pas Enregistrées.", "common.info.donate": "Sync: aimez-vous cette extension? Comment à propos de l'écriture de l'examen ou de l'envoi d'un don? ", - "common.error.message": "Synchronisation: l'Erreur est Consignée Dans la Console (menu Aide > activer / désactiver les Outils de développement).,", - "common.error.connection": "Sync: Internet n'est Pas Connecté ou est Incapable de se Connecter à GitHub. Exception Enregistré dans la Console,", - "common.error.canNotSave": "Sync: Impossible d'Enregistrer les Paramètres. Assurez-vous d'avoir JSON valide les paramètres.fichier json. (par exemple : Pas de virgules),", - "common.error.invalidToken": "Sync: Non Valide Ou A Expiré GitHub Jeton. Veuillez créer un nouveau jeton avec des étendues mentionné dans le fichier readme. Exception Enregistré dans la Console.,", - "common.error.invalidGistId": "Sync: Invalid Gist Id Entré. Vérifiez votre gist : https://gist.github.com//.,", - "common.error.tokenNotSave": "Sync: Jeton Ne Sera Pas Sauvée.,", - "common.error.gistNotSave": "Sync: Gist Pas Sauvegardé.,", - "common.action.openExtPage": "Ouvrir L'Extension De La Page,", - "common.action.openExtTutorial": "Ouvrez Tutoriel,", - "common.action.releaseNotes": "Notes De Version,", - "common.action.writeReview": "Écrire L'Examen,", - "common.action.support": "Soutenir Ce Projet,", - "common.action.joinCommunity": "Rejoignez La Communauté,", - "common.action.donate": "Faites Un Don Maintenant,", - "common.placeholder.enterGithubAccessToken": "Entrez GitHub Personnels Jeton D'Accès,", - "common.placeholder.enterGistId": "Entrez Gist Id,", - "common.placeholder.multipleGist": "Les Gist du Nom (par exemple : Paramètres Personnels),", - "common.prompt.multipleGist": "Vous permet d'identifier les paramètres si vous avez plusieurs de gist.,", - "common.prompt.enterGistId": "Entrez Gist Id précédemment téléchargé les paramètres. Vous pouvez également définir manuellement dans les paramètres du code (synchronisation.gist). Appuyez sur la touche [Enter] ou [Esc] pour annuler.,", - "common.prompt.enterGithubAccessToken": "Vous aussi ajouter manuellement un jeton (Dossier Utilisateur / syncLocalSettings.json). Appuyez sur la touche [Enter] ou [Esc] pour annuler.,", - "common.prompt.restartCode": "Voulez-vous recharger d'appliquer les extensions et les configurations?,", - "common.button.yes": "Oui" + "common.info.excludeFile": "Synchronisation: Vous pouvez exclure n'importe quel fichier/dossier pour les télécharger et les paramètres pour le téléchargement.", + "common.info.gistSaved": "Sync: Gist Enregistré", + "common.info.initAutoUpload": "Sync: Téléchargement Automatique Engager Dans {0} Secondes.", + "common.info.installed": "Synchronisation: les Paramètres créés, je vous remercie pour l'installation!", + "common.info.needHelp": "Sync: Besoin d'Aide pour la configuration de cette extension?", + "common.info.setToken": "Synchronisation: Vous pouvez Maintenant régler votre GitHub jeton manuellement dans \" syncLocalSettings.json\"", + "common.info.tokenSaved": "Sync: Jeton Enregistré", + "common.info.updateTo": "Sync: mise à Jour de v{0}", + "common.info.updating": "Synchronisation: La Mise À Jour En Cours... Veuillez Patienter.", + "common.placeholder.enterGistId": "Entrez Gist Id", + "common.placeholder.enterGithubAccessToken": "Entrez GitHub Personnels Jeton D'Accès", + "common.placeholder.multipleGist": "Les Gist du Nom (par exemple: Paramètres Personnels)", + "common.prompt.enterGistId": "Entrez Gist Id précédemment téléchargé les paramètres. Vous pouvez également définir manuellement dans les paramètres du code (synchronisation.gist). Appuyez sur la touche [Enter] ou [Esc] pour annuler.", + "common.prompt.enterGithubAccessToken": "Vous aussi ajouter manuellement un jeton (Dossier Utilisateur/syncLocalSettings.json). Appuyez sur la touche [Enter] ou [Esc] pour annuler.", + "common.prompt.gistNewer": "Sync: Gist a une nouvelle ou identique à la version de vos paramètres. Voulez-vous activer forceUpload pour remplacer ce?", + "common.prompt.multipleGist": "Vous permet d'identifier les paramètres si vous avez plusieurs de gist.", + "common.prompt.restartCode": "Voulez-vous recharger d'appliquer les extensions et les configurations?", + "ext.config.askGistName": "Demandez gist nom lors de la création. Vous aide à identifier l'essentiel, si vous avez plusieurs gist.", + "ext.config.autoDownload": "Fixé la valeur à true pour Télécharger automatiquement les paramètres de code de démarrage. [Code Redémarrage Nécessaire]", + "ext.config.autoDownload.name": "Téléchargement Automatique", + "ext.config.autoUpload": "Jeu-il vrai de Téléchargement Automatique sur la modification des paramètres. [Code Redémarrage Nécessaire]", + "ext.config.forceDownload": "Attribuez la valeur true si vous souhaitez télécharger les paramètres, même lorsque vous avez les derniers paramètres.", + "ext.config.forceDownload.name": "Forcer Le Téléchargement", + "ext.config.forceUpload": "Attribuez la valeur true si vous souhaitez télécharger les réglages, même lorsque le GIST a de nouveaux paramètres.", + "ext.config.forceUpload.name": "La Force De Téléchargement", + "ext.config.gist": "GitHub GIST ID pour les Paramètres de Synchronisation.", + "ext.config.gist.name": "Gist ID", + "ext.config.gist.placeholder": "Entrez Gist ID", + "ext.config.host": "Mis à votre GitHub Entreprise d'accueil si vous souhaitez utiliser GHE.", + "ext.config.lastUpload": "Les paramètres de Synchronisation de la dernière date de téléchargement. Définir comme vide si vous souhaitez manuellement frappé de téléchargement.", + "ext.config.pathPrefix": "Mis à votre GitHub Enterprise API préfixe si vous souhaitez utiliser GHE. Normalement '/api/v3'. Utilisé uniquement lorsque l'hôte est défini.", + "ext.config.quietSync": "Lorsque la valeur est true, affiche le résultat dans la barre d'état au lieu de la page de résumé.", + "ext.config.quietSync.name": "Calme Sync", + "ext.config.removeExtensions": "Mettre à false si vous ne voulez pas supprimer des extensions pendant le téléchargement.", + "ext.config.removeExtensions.name": "Supprimer Des Extensions", + "ext.config.syncExtensions": "Mettre à false si vous ne voulez pas télécharger/télécharger des extensions.", + "ext.config.syncExtensions.name": "La Synchronisation Des Extensions", + "ext.config.title": "Les Paramètres Du Code De La Synchronisation Des Paramètres De Configuration", + "ext.globalConfig.askGistName.name": "Demandez Gist Nom", + "ext.globalConfig.autoUploadDelay.name": "Téléchargement Automatique De Retard", + "ext.globalConfig.autoUploadDelay.placeholder": "Entrez le montant de secondes de retard téléchargement en amont automatique des", + "ext.globalConfig.downloadPublicGist.name": "Télécharger Public Gist", + "ext.globalConfig.gistDescription.name": "Gist Description", + "ext.globalConfig.gistDescription.placeholder": "Entrez Gist Description", + "ext.globalConfig.githubEnterpriseUrl.name": "GitHub Enterprise URL (facultatif)", + "ext.globalConfig.githubEnterpriseUrl.placeholder": "Entrez GitHub Enterprise URL", + "ext.globalConfig.hostName.name": "Nom d'hôte (facultatif)", + "ext.globalConfig.hostName.placeholder": "Entrez Le Nom D'Hôte", + "ext.globalConfig.ignoreExtensions.name": "Ignoré Des Extensions", + "ext.globalConfig.ignoreExtensions.placeholder": "Entrez une prolongation par ligne (nom complet)", + "ext.globalConfig.ignoreUploadFiles.name": "Les Fichiers Ignorés", + "ext.globalConfig.ignoreUploadFiles.placeholder": "Entrez un fichier par ligne", + "ext.globalConfig.ignoreUploadFolders.name": "Ignoré Des Dossiers", + "ext.globalConfig.ignoredUploadFolders.placeholder": "Entrez un dossier par ligne", + "ext.globalConfig.openTokenLink.name": "Ouvrir Le Lien Du Jeton", + "ext.globalConfig.supportedFileExtensions.name": "Pris En Charge Les Extensions De Fichier", + "ext.globalConfig.supportedFileExtensions.placeholder": "Saisissez une extension de fichier par ligne", + "ext.globalConfig.token.name": "Jeton D'Accès", + "ext.globalConfig.token.placeholder": "Entrez Jeton" } \ No newline at end of file diff --git a/package.nls.hu.json b/package.nls.hu.json index d584f24d..c6486f77 100644 --- a/package.nls.hu.json +++ b/package.nls.hu.json @@ -1,106 +1,141 @@ { - "ext.config.title": "Kód Beállítások A Szinkronizálás Konfigurációs Beállítások", - "ext.config.gist": "A GitHub LÉNYEGET ID a Beállítások Szinkronizálása.,", - "ext.config.lastUpload": "Beállítások a Szinkronizálás utolsó feltöltés időpontja. Állítsa be, mint üres, ha kézzel szeretné hit letöltés.,", - "ext.config.lastDownload": "Beállítások a Szinkronizálás utolsó letöltés dátuma. Állítsa be, mint üres, ha kézzel szeretné hit letöltés.,", - "ext.config.autoDownload": "Állítsa igaz, hogy az Automatikus Letöltés beállításai kód kezdeni. [Kód Újraindítás Szükséges],", - "ext.config.autoUpload": "Állítsa igaz, hogy az Automatikus Feltöltés a beállítások módosítása. [Kód Újraindítás Szükséges],", - "ext.config.forceDownload": "Állítsa be, hogy igaz, ha szeretné letölteni a beállítások akkor is, ha a legújabb beállítások.,", - "ext.config.host": "Állítsa be, hogy a GitHub Enterprise fogadó, ha használni szeretnénk, GHE.,", - "ext.config.pathPrefix": "Állítsa be, hogy a GitHub Enterprise API előtag, ha használni szeretnénk, GHE. Általában '/api/v3'. Csak akkor kell használni, ha a fogadó épülete.,", - "ext.config.quietSync": "Ha értéke true, akkor megmutatja az eredményt az állapotsoron, ahelyett, gyűjtő oldal.,", - "ext.config.askGistName": "Kérdezd meg lényeget neve után létrehozása. Segít azonosítani a lényeg, ha több gists.,", - "ext.config.removeExtensions": "Állítsa be, hogy hamis, ha nem akarod, hogy távolítsa el a fájlokat, amíg a letöltés.,", - "ext.config.syncExtensions": "Állítsa be, hogy hamis, ha nem akarod, hogy a feltöltés / letöltés a fájlokat.,", - "cmd.howSetting.title": "Fordította: Hogyan Kell Konfigurálni,", - "cmd.updateSettings.title": "Fordította: Frissítés / Feltöltési Beállítások,", - "cmd.updateSettings.info.uploading": "Fordította: Feltöltés / Frissítése A Beállításokat A GitHub.,", - "cmd.updateSettings.info.uploadingFile": "Fordította: Fájlok Feltöltése Adatokkal.,", - "cmd.updateSettings.info.uploadingDone": "Fordította: Feltöltés Befejeződött. GIST-ID : {0}. Kérem másolja használja ID más gépek beállítások letöltése.,", - "cmd.updateSettings.info.uploadingSuccess": "Fordította: Feltöltött Sikeresen.,", - "cmd.updateSettings.info.shareGist": "Fordította: oszd meg az Id más kiterjesztését a felhasználók számára, hogy megosszák a beállításokat.,", - "cmd.updateSettings.info.readding": "Fordította: Olvasási Beállítások, majd a Fájlokat.,", - "cmd.updateSettings.info.newGistCreated": "Fordította: Új lényeget létre.,", - "cmd.updateSettings.warning.noToken": "Fordította: Állítsa be a GitHub Token vagy letiltása 'downloadPublicGist a helyi Szinkronizálási beállítások fájlt.,", - "cmd.updateSettings.warning.OSNotSupported": "Fordította: Pragma OS érték a {0} nem támogatott a vonal, {1},", - "cmd.updateSettings.error.newGistCreateFail": "Fordította: Nem sikerült létrehozni Lényeget.,", - "cmd.updateSettings.error.readGistFail": "Fordította: LÉNYEGET ID : {0} NEM OLVASTAM.,", - "cmd.updateSettings.error.gistNotSave": "Fordította: LÉNYEGET NEM MENTETT,", - "cmd.downloadSettings.title": "Fordította: Letöltési Beállítások,", - "cmd.downloadSettings.info.downloaded": "Fordította: Letöltés Kész.,", - "cmd.downloadSettings.info.readdingOnline": "Fordította: Olvasási Beállítások Online.,", - "cmd.downloadSettings.info.gotLatestVersion": "Fordította: már a legújabb verzió a mentett beállítások.,", - "cmd.downloadSettings.error.removeExtFail": "Fordította: Nem tudja eltávolítani egy kis fájlokat.,", - "cmd.downloadSettings.error.unableSave": "Fordította: Nem lehet menteni kiterjesztését a beállítások, a fájl.,", - "cmd.resetSettings.title": "Fordította: Reset Kiterjesztését Beállítások,", - "cmd.resetSettings.info.resetting": "Fordította: Újraindítani A Beállításokat.,", - "cmd.resetSettings.info.settingClear": "Fordította: Beállítások Törölve.,", + "cmd.downloadSettings.error.removeExtFail": "Fordította: Képes eltávolítani bizonyos fájlokat.", + "cmd.downloadSettings.error.unableSave": "Fordította: Nem lehet menteni kiterjesztését a beállítások, a fájl.", + "cmd.downloadSettings.info.downloaded": "Fordította: Letöltés Teljes.", + "cmd.downloadSettings.info.gotLatestVersion": "Fordította: már a legújabb verzió a mentett beállítások.", + "cmd.downloadSettings.info.readdingOnline": "Fordította: Olvasási Beállítások Online.", + "cmd.downloadSettings.title": "Fordította: Letöltési Beállítások", + "cmd.howSetting.title": "Fordította: Hogyan Kell Beállítani", + "cmd.otherOptions.customizedSync": "Fordította: Add Egyéni Fordította: Fájl elérési útját", + "cmd.otherOptions.customizedSync.done": "Fordította: {0} regisztrálták.", + "cmd.otherOptions.customizedSync.placeholder": "Adjon meg egy abszolút elérési útvonalát, előfordulhat, hogy a feltöltött fájl.", + "cmd.otherOptions.customizedSync.prompt": "(ex. /path/to/.eslintrc) feltöltésre kerül, illetve a letöltött fájl a megadott elérési utat.", + "cmd.otherOptions.downloadCustomFile": "Fordította: Import Egyéni Fordította: Fájlt munkaterület", + "cmd.otherOptions.downloadCustomFile.done": "A letöltött {0}.", + "cmd.otherOptions.downloadCustomFile.placeholder": "Válassza ki a kívánt fájlt kell letölteni, hogy a gyökér a munkaterület, amelyen dolgozik.", + "cmd.otherOptions.downloadSetting": "Fordította: Letöltési Beállítások a Nyilvános GIST", + "cmd.otherOptions.editLocalSetting": "Fordította: Edit Kiterjesztését Helyi Beállítások", + "cmd.otherOptions.error.toggleFail": "Fordította: Nem Kapcsoló.", + "cmd.otherOptions.joinCommunity": "Fordította: Csatlakozzon Közösségi", + "cmd.otherOptions.openIssue": "Fordította: Nyitott Kérdés", + "cmd.otherOptions.openSettingsPage": "Fordította: Nyissa Meg A Beállításokat", + "cmd.otherOptions.preserve": "Fordította: Megőrizni A Beállítást, Hogy Ne Felülbírálja Letöltés Után", + "cmd.otherOptions.preserve.info.done1": "Fordította: Kész. {0} érték el lesz távolítva a beállítások.json letöltése után.", + "cmd.otherOptions.preserve.info.done2": "Fordította: Kész. Kiterjesztését fogja {0}: {1} a beállítást.json letöltése után.", + "cmd.otherOptions.preserve.placeholder": "Adja meg bármelyik Gombot, a beállítások.json megőrizni.", + "cmd.otherOptions.preserve.prompt": "Példa: Írd http.proxy' => tárolja a számítógép proxy, illetve felülírása , ha meghatározott üres, akkor távolítsa el a proxy.", + "cmd.otherOptions.quietSync.off": "Fordította: Összefoglaló jelenik meg, amikor letöltés/feltöltés.", + "cmd.otherOptions.quietSync.on": "Fordította: állapotsor után fogjuk frissíteni letöltés/feltöltés.", + "cmd.otherOptions.releaseNotes": "Fordította: Kiadási Megjegyzések", + "cmd.otherOptions.shareSetting": "Fordította: Share Beállítások a Nyilvános GIST", + "cmd.otherOptions.shareSetting.beforeConfirm": "Fordította: Ez eltávolítja az aktuális GIST-ben, illetve feltöltési beállítások az új állami LÉNYEGET. Akarod, hogy folytassam?", "cmd.otherOptions.title": "Fordította: Speciális Beállítások", - "cmd.otherOptions.openSettingsPage": "Fordította: Nyissa Meg A Beállításokat,", - "cmd.otherOptions.editLocalSetting": "Fordította: Edit Kiterjesztését Helyi Beállítások,", - "cmd.otherOptions.shareSetting": "Fordította: Share Beállítások a Nyilvános LÉNYEGET,", - "cmd.otherOptions.shareSetting.beforeConfirm": "Fordította: Ez eltávolítja az aktuális GIST-ben, illetve feltöltési beállítások az új állami LÉNYEGET. Akarod, hogy folytassam?,", - "cmd.otherOptions.downloadSetting": "Fordította: Letöltési Beállítások a Nyilvános LÉNYEGET,", - "cmd.otherOptions.toggleForceDownload": "Fordította: Kapcsoló Erő Letöltés,", - "cmd.otherOptions.toggleForceDownload.on": "Fordította: Erő Letöltés Bekapcsolva.,", - "cmd.otherOptions.toggleForceDownload.off": "Fordította: Erő Letöltés Ki Van Kapcsolva.,", - "cmd.otherOptions.toggleAutoUpload": "Fordította: Kapcsoló Automatikus Feltöltés A Beállítások Módosítása,", - "cmd.otherOptions.toggleAutoUpload.on": "Fordította: Automatikus feltöltés Beállítás Módosítása Kapcsolva. Ez akkor lép érvénybe, amikor az újraindítás.,", - "cmd.otherOptions.toggleAutoUpload.off": "Fordította: Automatikus feltöltés Beállítás Módosítása Kikapcsol.,", - "cmd.otherOptions.toggleAutoDownload": "Fordította: Kapcsoló Automatikus Letöltés Bekapcsoláskor,", - "cmd.otherOptions.toggleAutoDownload.on": "Fordította: Automatikus Letöltés bekapcsolása után VSCode Indítási.,", - "cmd.otherOptions.toggleAutoDownload.off": "Fordította: Automatikus Letöltés KI van kapcsolva után VSCode Indítási.,", - "cmd.otherOptions.toggleSummaryPage": "Fordította: Kapcsoló Show-Gyűjtő Oldal Feltöltés / Letöltés,", - "cmd.otherOptions.preserve": "Fordította: Megőrizni A Beállítást, Hogy Ne Felülbírálja Letöltés Után,", - "cmd.otherOptions.preserve.placeholder": "Adja meg bármelyik Gombot, a beállítások.json megőrizni.,", - "cmd.otherOptions.preserve.prompt": "Példa : Írd http.proxy' => tárolja a számítógép proxy, illetve felülírása , ha az érték üres, akkor távolítsa el a proxy.,", - "cmd.otherOptions.preserve.info.done1": "Fordította: Kész. {0} érték el lesz távolítva a beállítások.json letöltése után.,", - "cmd.otherOptions.preserve.info.done2": "Fordította: Kész. Kiterjesztését fogja {0} : {1} a beállítást.json letöltése után.,", - "cmd.otherOptions.customizedSync": "Fordította: Add Egyéni Fordította: Fájl elérési útját,", - "cmd.otherOptions.customizedSync.placeholder": "Adjon meg egy abszolút elérési útvonalát, előfordulhat, hogy a feltöltött fájl.,", - "cmd.otherOptions.customizedSync.prompt": "(ex. /path/to/.eslintrc) feltöltésre kerül, illetve a letöltött fájl a megadott elérési utat.,", - "cmd.otherOptions.customizedSync.done": "Fordította: {0} regisztrálták.,", - "cmd.otherOptions.downloadCustomFile": "Fordította: Import Egyéni Fordította: Fájlt munkaterület,", - "cmd.otherOptions.downloadCustomFile.placeholder": "Válassza ki a kívánt fájlt kell letölteni, hogy a gyökér a munkaterületen dolgozik.,", - "cmd.otherOptions.downloadCustomFile.done": "A letöltött {0}.,", - "cmd.otherOptions.joinCommunity": "Fordította: Csatlakozzon Közösségi,", - "cmd.otherOptions.openIssue": "Fordította: Nyitott Kérdés,", - "cmd.otherOptions.releaseNotes": "Fordította: Kiadási Megjegyzések,", - "cmd.otherOptions.quietSync.on": "Fordította: állapotsor után fogjuk frissíteni letöltés / feltöltés.,", - "cmd.otherOptions.quietSync.off": "Fordította: Összefoglaló jelenik meg, amikor letöltés / feltöltés.,", - "cmd.otherOptions.warning.tokenNotRequire": "Fordította: Beállítások a Szinkronizálás nem fogja megkérdezni a GitHub Token.,", - "cmd.otherOptions.error.toggleFail": "Fordította: Nem Kapcsoló.,", - "cmd.otherOptions.triggerReset": "Fordította: akarod, hogy állítsa vissza a beállításokat ?,", - "common.info.installed": "Fordította: Beállítások létre, köszönöm, telepítése!,", - "common.info.needHelp": "Fordította: Segítség konfigurálása ez a kiterjesztés?,", - "common.info.excludeFile": "Fordította: kizárhat bármely fájl / mappa a feltöltés and settings letölthető.,", - "common.info.updating": "Fordította: Frissítése Folyamatban ... Kérem, Várjon.,", - "common.info.initAutoUpload": "Fordította: Automatikus Feltöltés Kezdeményező 5 Másodperc Múlva.,", - "common.info.setToken": "Fordította: Most beállíthatjuk, Hogy a GitHub token kézzel `syncLocalSettings.json`,", - "common.info.tokenSaved": "Fordította: Token Mentett,", - "common.info.gistSaved": "Fordította: Lényeget Mentett,", - "common.info.updateTo": "Fordította: Frissített v{0},", - "common.info.donate": "Fordította: tetszik ez a kiterjesztés? Hogy az írásban felülvizsgálatot, vagy küld egy adomány? ", - "common.error.message": "Fordította: Hiba Naplózásra Konzol (Súgó menü > Kapcsoló Fejlesztő Eszközök).,", - "common.error.connection": "Fordította: Internet Nincs Csatlakoztatva, vagy Nem tud Csatlakozni a GitHub. Kivétel Bejelentkezett Konzol,", - "common.error.canNotSave": "Fordította: Nem lehet Menteni a Beállításokat. Kérjük, győződjön meg arról, hogy érvényes JSON beállítások.json fájlt. (például : Nem záró vesszőt),", - "common.error.invalidToken": "Fordította: Érvénytelen, Lejárt / GitHub Token. Kérjük, ezáltal új token a hatókörök említette a readme-t. Kivétel Bejelentkezett Konzol.,", - "common.error.invalidGistId": "Fordította: Érvénytelen Lényeget Id Lépett. Ellenőrizze a lényeget : https://gist.github.com//.,", - "common.error.tokenNotSave": "Fordította: Token Nem Menti.,", - "common.error.gistNotSave": "Fordította: Lényeget Nem Menti.,", + "cmd.otherOptions.toggleAutoDownload": "Fordította: Kapcsoló Automatikus Letöltés Bekapcsoláskor", + "cmd.otherOptions.toggleAutoDownload.off": "Fordította: Automatikus Letöltés KI van kapcsolva után VSCode Indítási.", + "cmd.otherOptions.toggleAutoDownload.on": "Fordította: Automatikus Letöltés bekapcsolása után VSCode Indítási.", + "cmd.otherOptions.toggleAutoUpload": "Fordította: Kapcsoló Automatikus Feltöltés A Beállítások Módosítása", + "cmd.otherOptions.toggleAutoUpload.off": "Fordította: Automatikus feltöltés Beállítás Módosítása Kapcsolva.", + "cmd.otherOptions.toggleAutoUpload.on": "Fordította: Automatikus feltöltés Beállítás Módosítása Kapcsolva. Ez akkor lép érvénybe, amikor az újraindítás.", + "cmd.otherOptions.toggleForceDownload": "Fordította: Kapcsoló Erő Letöltés", + "cmd.otherOptions.toggleForceDownload.off": "Fordította: Erő Letöltés Ki Van Kapcsolva.", + "cmd.otherOptions.toggleForceDownload.on": "Fordította: Erő Letöltés Kapcsolva.", + "cmd.otherOptions.toggleForceUpload": "Fordította: Kapcsoló Erő Feltöltés", + "cmd.otherOptions.toggleForceUpload.off": "Fordította: Erő Feltöltés Ki Van Kapcsolva.", + "cmd.otherOptions.toggleForceUpload.on": "Fordította: Erő Feltöltés Kapcsolva.", + "cmd.otherOptions.toggleSummaryPage": "Fordította: Kapcsoló Show-Gyűjtő Oldal Feltöltés/Letöltés", + "cmd.otherOptions.triggerReset": "Fordította: akarod, hogy állítsa vissza a beállításokat ?", + "cmd.otherOptions.warning.tokenNotRequire": "Fordította: Beállítások a Szinkronizálás nem fogja megkérdezni a GitHub Token mostantól.", + "cmd.resetSettings.info.resetting": "Fordította: Újraindítani A Beállításokat.", + "cmd.resetSettings.info.settingClear": "Fordította: Beállítások Törölve.", + "cmd.resetSettings.title": "Fordította: Hosszabbító Beállítások Visszaállítása", + "cmd.updateSettings.error.gistNotSave": "Fordította: LÉNYEGET NEM MENTETT", + "cmd.updateSettings.error.newGistCreateFail": "Fordította: Nem sikerült létrehozni Lényeget.", + "cmd.updateSettings.error.readGistFail": "Fordította: LÉNYEGET ID: {0} NEM OLVASTAM.", + "cmd.updateSettings.info.newGistCreated": "Fordította: Új lényeget létre.", + "cmd.updateSettings.info.readding": "Fordította: Olvasási Beállítások, majd a Fájlokat.", + "cmd.updateSettings.info.shareGist": "Fordította: oszd meg az Id más kiterjesztését a felhasználók számára, hogy megosszák a beállításokat.", + "cmd.updateSettings.info.uploadCanceled": "Fordította: Feltöltési Folyamat Elmarad.", + "cmd.updateSettings.info.uploading": "Fordította: Feltöltés/Frissítése A Beállításokat A GitHub.", + "cmd.updateSettings.info.uploadingDone": "Fordította: Feltöltés Befejeződött. GIST-ID: {0}. Kérem másolja használja ID más gépek beállítások letöltése.", + "cmd.updateSettings.info.uploadingFile": "Fordította: Fájlok Feltöltése Adatokkal.", + "cmd.updateSettings.info.uploadingSuccess": "Fordította: Feltöltött Sikeresen.", + "cmd.updateSettings.title": "Fordította: Frissítés/Feltöltési Beállítások", + "cmd.updateSettings.warning.OSNotSupported": "Fordította: Pragma OS érték a {0} nem támogatott a sor {1}", + "cmd.updateSettings.warning.noToken": "Fordította: Állítsa be a GitHub Token vagy letiltása 'downloadPublicGist a helyi Szinkronizálási beállítások fájlt.", + "common.action.donate": "Adományozni Most", + "common.action.joinCommunity": "Csatlakozzon Közösségi", "common.action.openExtPage": "Nyitva Kiterjesztését Oldal", - "common.action.openExtTutorial": "Nyílt Bemutató,", - "common.action.releaseNotes": "Kiadási Megjegyzések,", - "common.action.writeReview": "Írd Felülvizsgálat,", - "common.action.support": "Támogatja Ezt A Projektet,", - "common.action.joinCommunity": "Csatlakozzon Közösségi,", - "common.action.donate": "Adományozni,", - "common.placeholder.enterGithubAccessToken": "Írja Be A GitHub Személyes Access Token,", - "common.placeholder.enterGistId": "Adja Meg Lényeget Id,", - "common.placeholder.multipleGist": "Lényeg a Neve (például : Személyes Beállítások),", - "common.prompt.multipleGist": "Lehetővé teszi, hogy azonosítsa a beállítások ha több lényeget.,", - "common.prompt.enterGistId": "Adja meg Lényeget Id a korábban feltöltött beállítások. Azt is beállíthatja kézzel a kódot a beállítások (fordította.gist). Nyomja meg az [Enter] vagy az [Esc] lemondani.,", - "common.prompt.enterGithubAccessToken": "Te kézzel is hozzáadhat egy token (Felhasználói Mappa / syncLocalSettings.json). Nyomja meg az [Enter] vagy az [Esc] lemondani.,", - "common.prompt.restartCode": "Akarod, hogy újra alkalmazni fájlokat, konfigurációk?,", - "common.button.yes": "Igen" + "common.action.openExtTutorial": "Nyílt Bemutató", + "common.action.releaseNotes": "Kiadási Megjegyzések", + "common.action.support": "Támogatja Ezt A Projektet", + "common.action.writeReview": "Írd Felülvizsgálat", + "common.button.yes": "Igen", + "common.error.canNotSave": "Fordította: Nem lehet Menteni a Beállításokat. Kérjük, győződjön meg arról, hogy érvényes JSON beállítások.json fájlt. (például: Nem záró vesszőt)", + "common.error.connection": "Fordította: Internet Nincs Csatlakoztatva, vagy Nem tud Csatlakozni a GitHub. Kivétel Bejelentkezett Konzol", + "common.error.gistNotSave": "Fordította: Lényeget Nem Mentette Meg.", + "common.error.invalidGistId": "Fordította: Érvénytelen Lényeget Id Lépett. Ellenőrizze a lényeget: https://gist.github.com//.", + "common.error.invalidToken": "Fordította: Érvénytelen, Lejárt/GitHub Token. Kérjük, ezáltal új token a hatókörök említette a readme-t. Kivétel Bejelentkezett Konzol.", + "common.error.message": "Fordította: Hiba Naplózásra Konzol (Súgó menü > Kapcsoló Fejlesztő Eszközök).", + "common.error.tokenNotSave": "Fordította: Token Nem Mentette Meg.", + "common.info.donate": "Fordította: tetszik ez a kiterjesztés? Hogy az írásban felülvizsgálatot, vagy küld egy adomány? ", + "common.info.excludeFile": "Fordította: kizárhat bármely fájl/mappa a feltöltés, illetve a beállítások letöltéséhez.", + "common.info.gistSaved": "Fordította: Lényeget Elmentett", + "common.info.initAutoUpload": "Fordította: Automatikus Feltöltés Kezdeményező A {0} Másodperc.", + "common.info.installed": "Fordította: Beállítások létre, köszönöm, telepítése!", + "common.info.needHelp": "Fordította: Segítség konfigurálása ez a kiterjesztés?", + "common.info.setToken": "Fordította: Most beállíthatjuk, Hogy a GitHub token kézzel a `syncLocalSettings.json`", + "common.info.tokenSaved": "Fordította: Token Elmentett", + "common.info.updateTo": "Fordította: Frissített v{0}", + "common.info.updating": "Fordította: Frissítése Folyamatban Kérem Várjon.", + "common.placeholder.enterGistId": "Adja Meg Lényeget Id", + "common.placeholder.enterGithubAccessToken": "Írja Be A GitHub Személyes Access Token", + "common.placeholder.multipleGist": "Lényeg a Neve (például: Személyes Beállítások)", + "common.prompt.enterGistId": "Adja meg Lényeget Id a korábban feltöltött beállítások. Azt is beállíthatja kézzel a kódot a beállítások (fordította.gist). Nyomja meg az [Enter] vagy az [Esc] lemondani.", + "common.prompt.enterGithubAccessToken": "Te kézzel is hozzáadhat egy token (Felhasználói Mappa/syncLocalSettings.json). Nyomja meg az [Enter] vagy az [Esc] lemondani.", + "common.prompt.gistNewer": "Fordította: Lényeget egy újabb vagy azonos változata a beállításokat. Szeretné engedélyezni a forceUpload, hogy ezt felül?", + "common.prompt.multipleGist": "Lehetővé teszi, hogy azonosítsa a beállítások ha több lényeget.", + "common.prompt.restartCode": "Akarod, hogy újra alkalmazni fájlokat, konfigurációk?", + "ext.config.askGistName": "Kérdezd meg lényeget neve után létrehozása. Segít azonosítani a lényeg, ha több gists.", + "ext.config.autoDownload": "Állítsa igaz, hogy az Automatikus Letöltés beállításai kód kezdeni. [Kód Újraindítás Szükséges]", + "ext.config.autoDownload.name": "Automatikus Letöltés", + "ext.config.autoUpload": "Állítsa igaz, hogy az Automatikus Feltöltés a beállítások módosítása. [Kód Újraindítás Szükséges]", + "ext.config.autoUpload.name": "Automatikus Feltöltés", + "ext.config.forceDownload": "Állítsa be, hogy igaz, ha szeretné letölteni a beállítások akkor is, ha a legújabb beállítások.", + "ext.config.forceDownload.name": "Erő Letöltés", + "ext.config.forceUpload": "Állítsa be, hogy igaz, ha a feltölteni kívánt a beállítások akkor is, ha a LÉNYEGET újabb beállításokat.", + "ext.config.forceUpload.name": "Erő Feltöltés", + "ext.config.gist": "A GitHub LÉNYEGET ID a Beállítások Szinkronizálása.", + "ext.config.gist.name": "Lényeg ID", + "ext.config.gist.placeholder": "Adja meg Lényeget ID", + "ext.config.host": "Állítsa be, hogy a GitHub Enterprise fogadó, ha használni szeretnénk, GHE.", + "ext.config.lastDownload": "Beállítások a Szinkronizálás utolsó letöltés dátuma. Állítsa be, mint üres, ha kézzel szeretné hit le.", + "ext.config.lastUpload": "Beállítások a Szinkronizálás utolsó feltöltés időpontja. Állítsa be, mint üres, ha kézzel szeretné hit le.", + "ext.config.pathPrefix": "Állítsa be, hogy a GitHub Enterprise API előtag, ha használni szeretnénk, GHE. Általában '/api/v3'. Csak akkor kell használni, ha az állomás épülete.", + "ext.config.quietSync": "Ha értéke true, akkor megmutatja az eredményt az állapotsoron, ahelyett, gyűjtő oldal.", + "ext.config.quietSync.name": "Csendes Fordította:", + "ext.config.removeExtensions": "Állítsa be, hogy hamis, ha nem szeretné, hogy távolítsa el a kiterjesztések letöltése közben.", + "ext.config.removeExtensions.name": "Távolítsa El A Fájlokat", + "ext.config.syncExtensions": "Állítsa be, hogy hamis, ha nem akarod, hogy a feltöltés/letöltés a fájlokat.", + "ext.config.syncExtensions.name": "Fordította: Z", + "ext.config.title": "Kód Beállítások A Szinkronizálás Konfigurációs Beállítások", + "ext.globalConfig.askGistName.name": "Kérdezd Meg Lényeget Név", + "ext.globalConfig.autoUploadDelay.name": "Automatikus Feltöltés Késedelem", + "ext.globalConfig.autoUploadDelay.placeholder": "Adja meg az összeget másodperc késleltetés az automatikus feltöltés", + "ext.globalConfig.downloadPublicGist.name": "Letöltés Nyilvános Gist", + "ext.globalConfig.gistDescription.name": "Lényeg Leírás", + "ext.globalConfig.gistDescription.placeholder": "Adja Meg Lényeget Leírás", + "ext.globalConfig.githubEnterpriseUrl.name": "A GitHub Enterprise URL (opcionális)", + "ext.globalConfig.githubEnterpriseUrl.placeholder": "Írja be a GitHub Enterprise URL", + "ext.globalConfig.hostName.name": "Hálózati név (nem kötelező)", + "ext.globalConfig.hostName.placeholder": "Adja Meg Hostname", + "ext.globalConfig.ignoreExtensions.name": "Figyelmen Kívül Fájlokat", + "ext.globalConfig.ignoreExtensions.placeholder": "Adjon meg egy kiterjesztés soronként (teljes név)", + "ext.globalConfig.ignoreUploadFiles.placeholder": "Adjon meg egy fájl soronként", + "ext.globalConfig.ignoreUploadFolders.name": "Figyelmen Kívül Mappák", + "ext.globalConfig.ignoredUploadFolders.placeholder": "Adjon meg egy mappát, soronként", + "ext.globalConfig.openTokenLink.name": "Nyitva Token Link", + "ext.globalConfig.supportedFileExtensions.name": "Támogatott Fájl Kiterjesztések", + "ext.globalConfig.supportedFileExtensions.placeholder": "Adja meg a fájl kiterjesztését soronként", + "ext.globalConfig.token.name": "Access Token", + "ext.globalConfig.token.placeholder": "Adja Meg Token" } \ No newline at end of file diff --git a/package.nls.it.json b/package.nls.it.json index 4ea0a512..a21fe840 100644 --- a/package.nls.it.json +++ b/package.nls.it.json @@ -1,106 +1,142 @@ { - "ext.config.title": "Codice Impostazioni Impostazioni Di Configurazione Di Sincronizzazione,", - "ext.config.gist": "GitHub GIST ID Impostazioni di Sincronizzazione.,", - "ext.config.lastUpload": "Impostazioni di Sincronizzazione ultima data di caricamento. Impostare come vuoto se si desidera configurare manualmente colpito il download.,", - "ext.config.lastDownload": "Impostazioni di Sincronizzazione di download ultima data. Impostare come vuoto se si desidera configurare manualmente colpito il download.,", - "ext.config.autoDownload": "Il Set e ' vero per il Download Automatico le impostazioni del codice di avvio. [Codice Necessario Riavviare],", - "ext.config.autoUpload": "Impostare la verità Upload Automatico su modifica impostazioni. [Codice Necessario Riavviare],", - "ext.config.forceDownload": "Impostare a true se si desidera scaricare le impostazioni anche quando si hanno le impostazioni più recenti.,", - "ext.config.host": "Impostare la GitHub Enterprise host se si desidera utilizzare GHE.,", - "ext.config.pathPrefix": "Impostare la GitHub Enterprise API prefisso, se si desidera utilizzare GHE. Normalmente '/api/v3'. Utilizzato solo quando l'host è impostato.,", - "ext.config.quietSync": "Quando è impostato su true, verrà visualizzato il risultato nella barra di stato, invece della pagina di riepilogo.,", - "ext.config.askGistName": "Chiedi gist nome al momento della creazione. Aiuta a identificare la sostanza, se avete più di gist.,", - "ext.config.removeExtensions": "Impostare a false se non si desidera rimuovere le estensioni durante il download.,", - "ext.config.syncExtensions": "Impostare a false se non si desidera caricare / scaricare le estensioni.,", - "cmd.howSetting.title": "Sync: Come Configurare,", - "cmd.updateSettings.title": "Sync: Aggiornamento / Carica Impostazioni,", - "cmd.updateSettings.info.uploading": "Sync: Caricamento / Aggiornamento Le Impostazioni In GitHub.,", - "cmd.updateSettings.info.uploadingFile": "Sincronizzare Il Caricamento Di File Di Dati.,", - "cmd.updateSettings.info.uploadingDone": "Sync: Completamento Del Caricamento. GIST ID : {0}. Si prega di copiare e utilizzare l'ID in altre macchine per scaricare le impostazioni.,", - "cmd.updateSettings.info.uploadingSuccess": "Sync: Caricato Con Successo.,", - "cmd.updateSettings.info.shareGist": "Sync: Condividere l'Id con altra estensione agli utenti di condividere le impostazioni.,", - "cmd.updateSettings.info.readding": "Sync: Impostazioni di Lettura e Estensioni.,", - "cmd.updateSettings.info.newGistCreated": "Sync: Nuovo gist creato.,", - "cmd.updateSettings.warning.noToken": "Sync: Set di GitHub Token o disabilita 'downloadPublicGist' locali le impostazioni di Sincronizzazione di file.,", - "cmd.updateSettings.warning.OSNotSupported": "Sync Pragma OS valore di {0} non è supportato in linea di {1},", - "cmd.updateSettings.error.newGistCreateFail": "Sync: Impossibile creare il Gist.,", - "cmd.updateSettings.error.readGistFail": "Sync: GIST ID : {0} non RIESCE A LEGGERE.,", - "cmd.updateSettings.error.gistNotSave": "Sync: GIST NON SALVATO,", - "cmd.downloadSettings.title": "Sync: Impostazioni Di Download,", - "cmd.downloadSettings.info.downloaded": "Sync: Scarica Completo.,", - "cmd.downloadSettings.info.readdingOnline": "Sync: Impostazioni Di Lettura Online.,", - "cmd.downloadSettings.info.gotLatestVersion": "Sync: Hai già l'ultima versione di impostazioni salvate.,", - "cmd.downloadSettings.error.removeExtFail": "Sync: Impossibile rimuovere alcune estensioni.,", - "cmd.downloadSettings.error.unableSave": "Sync: Impossibile salvare le impostazioni dell'estensione del file.,", - "cmd.resetSettings.title": "Sync: Ripristina Le Impostazioni Di Estensione,", - "cmd.resetSettings.info.resetting": "Sync: Il Ripristino Delle Impostazioni.,", - "cmd.resetSettings.info.settingClear": "Sync: Impostazioni Cancellato.,", - "cmd.otherOptions.title": "Sync: Opzioni Avanzate,", - "cmd.otherOptions.openSettingsPage": "Sync: Aprire Impostazioni,", - "cmd.otherOptions.editLocalSetting": "Sync: Modificare L'Estensione Impostazioni Locali,", - "cmd.otherOptions.shareSetting": "Sync: Impostazioni di Condivisione con il Pubblico GIST,", - "cmd.otherOptions.shareSetting.beforeConfirm": "Sync: Questo consente di rimuovere corrente GIST e caricare le impostazioni sul nuovo pubblico GIST. Vuoi continuare?,", - "cmd.otherOptions.downloadSetting": "Sync: Impostazioni di Download dal Pubblico GIST,", - "cmd.otherOptions.toggleForceDownload": "Sync: Attiva / Disattiva La Forza Scaricare,", - "cmd.otherOptions.toggleForceDownload.on": "Sync: Forza Scaricare Acceso.,", - "cmd.otherOptions.toggleForceDownload.off": "Sync: Forza Scaricare Spento.,", - "cmd.otherOptions.toggleAutoUpload": "Sync: Attivare E Disattivare Auto-Caricare Sulla Modifica Delle Impostazioni,", - "cmd.otherOptions.toggleAutoUpload.on": "Sync: upload Automatico su di Cambiare l'Impostazione attivata. Questo avrà effetto dopo il riavvio.,", - "cmd.otherOptions.toggleAutoUpload.off": "Sync: upload Automatico su di Cambiare l'Impostazione Disattivata.,", - "cmd.otherOptions.toggleAutoDownload": "Sync: Per Attivare / Disattivare Il Download Automatico All'Avvio,", - "cmd.otherOptions.toggleAutoDownload.on": "Sync: Download Automatico acceso su VSCode di Avvio.,", - "cmd.otherOptions.toggleAutoDownload.off": "Sync: Download Automatico DISATTIVATA su VSCode di Avvio.,", - "cmd.otherOptions.toggleSummaryPage": "Sync: Attiva / Disattiva La Mostra Pagina Di Riepilogo Su Upload / Download,", - "cmd.otherOptions.preserve": "Sync: Conservare L'Impostazione Di Smettere Di Ignorare Dopo Il Download,", - "cmd.otherOptions.preserve.placeholder": "Inserisci il Tasto delle impostazioni.json per preservare.,", - "cmd.otherOptions.preserve.prompt": "Esempio : Scrivere 'http.proxy' => archivio di questo computer proxy e sovrascrivere il file , se è impostato il vuoto sarà rimuovere il proxy.,", - "cmd.otherOptions.preserve.info.done1": "Sync: Fatto. {0} valore sarà rimosso da impostazioni.json dopo il download.,", - "cmd.otherOptions.preserve.info.done2": "Sync: Fatto. Estensione terrà {0} : {1} in impostazione.json dopo il download.,", - "cmd.otherOptions.customizedSync": "Sync: Aggiungere Sincronizzazione Personalizzata percorso del File,", - "cmd.otherOptions.customizedSync.placeholder": "Immettere un percorso assoluto di ulteriori file caricato.,", - "cmd.otherOptions.customizedSync.prompt": "(ex. /path/to/.eslintrc) saranno caricati e scaricati il percorso specificato.,", - "cmd.otherOptions.customizedSync.done": "Sync: {0} è stato registrato.,", - "cmd.otherOptions.downloadCustomFile": "Sync: Importazione di Sincronizzazione Personalizzata File di area di lavoro,", - "cmd.otherOptions.downloadCustomFile.placeholder": "Selezionare il file che si desidera scaricare per il root del lavoro che si sta lavorando.,", - "cmd.otherOptions.downloadCustomFile.done": "Scaricato {0}.,", - "cmd.otherOptions.joinCommunity": "Sync: Unisciti Alla Comunità,", - "cmd.otherOptions.openIssue": "Sync: Questione Aperta,", - "cmd.otherOptions.releaseNotes": "Sync: Note Di Rilascio,", - "cmd.otherOptions.quietSync.on": "Sync: barra di Stato verrà aggiornato durante il download / upload.,", - "cmd.otherOptions.quietSync.off": "Sync: Riepilogo verrà mostrato al momento del download / upload.,", - "cmd.otherOptions.warning.tokenNotRequire": "Sync: Impostazioni di Sincronizzazione non chiedere GitHub Token da ora in poi.,", - "cmd.otherOptions.error.toggleFail": "Sync: Impossibile Passare.,", - "cmd.otherOptions.triggerReset": "Sync: si desidera ripristinare le impostazioni ?,", - "common.info.installed": "Sync: le Impostazioni create, la ringrazio per l'installazione!,", - "common.info.needHelp": "Sync: Bisogno di Aiuto per configurare questa estensione?,", - "common.info.excludeFile": "Sync: Si può escludere ogni file / cartella per l'upload e impostazioni per il download.,", - "common.info.updating": "Sync: Aggiornamento In Corso ... Attendere Prego.,", - "common.info.initAutoUpload": "Sync: Upload Automatico Di Iniziare In 5 Secondi.,", - "common.info.setToken": "Sync: Ora È possibile impostare il GitHub token manualmente nel `syncLocalSettings.json`,", - "common.info.tokenSaved": "Sync: Token Salvato,", - "common.info.gistSaved": "Sync: Gist Salvato,", - "common.info.updateTo": "Sync: Aggiornato alla v{0},", + "cmd.downloadSettings.error.removeExtFail": "Sync: Impossibile rimuovere alcune estensioni.", + "cmd.downloadSettings.error.unableSave": "Sync: Impossibile salvare le impostazioni dell'estensione del file.", + "cmd.downloadSettings.info.downloaded": "Sync: Scarica Completo.", + "cmd.downloadSettings.info.gotLatestVersion": "Sync: Hai già l'ultima versione di impostazioni salvate.", + "cmd.downloadSettings.info.readdingOnline": "Sync: Impostazioni Di Lettura On-Line.", + "cmd.downloadSettings.title": "Sync: Impostazioni Di Download", + "cmd.howSetting.title": "Sync: Come Configurare", + "cmd.otherOptions.customizedSync": "Sync: Aggiungere Sincronizzazione Personalizzata percorso del File", + "cmd.otherOptions.customizedSync.done": "Sync: {0} è stato registrato.", + "cmd.otherOptions.customizedSync.placeholder": "Immettere un percorso assoluto di ulteriori file caricato.", + "cmd.otherOptions.customizedSync.prompt": "(ex. /path/to/.eslintrc) saranno caricati e scaricati il percorso specificato.", + "cmd.otherOptions.downloadCustomFile": "Sync: Importazione di Sincronizzazione Personalizzata File di area di lavoro", + "cmd.otherOptions.downloadCustomFile.done": "Scaricato {0}.", + "cmd.otherOptions.downloadCustomFile.placeholder": "Selezionare il file che si desidera scaricare per il root del lavoro che si sta lavorando.", + "cmd.otherOptions.downloadSetting": "Sync: Impostazioni di Download dal Pubblico GIST", + "cmd.otherOptions.editLocalSetting": "Sync: Modificare L'Estensione Impostazioni Locali", + "cmd.otherOptions.error.toggleFail": "Sync: Impossibile Passare.", + "cmd.otherOptions.joinCommunity": "Sync: Unisciti Alla Community", + "cmd.otherOptions.openIssue": "Sync: Questione Aperta", + "cmd.otherOptions.openSettingsPage": "Sync: Aprire Impostazioni", + "cmd.otherOptions.preserve": "Sync: Conservare L'Impostazione Di Smettere Di Ignorare Dopo Il Download", + "cmd.otherOptions.preserve.info.done1": "Sync: Fatto. {0} valore sarà rimosso da impostazioni.json dopo il download.", + "cmd.otherOptions.preserve.info.done2": "Sync: Fatto. Estensione terrà {0}: {1} in impostazione.json dopo il download.", + "cmd.otherOptions.preserve.placeholder": "Inserisci il Tasto delle impostazioni.json per preservare.", + "cmd.otherOptions.preserve.prompt": "Esempio: Scrivere 'http.proxy' => archivio di questo computer proxy e sovrascrivere il file , se è impostato il vuoto sarà rimuovere il proxy.", + "cmd.otherOptions.quietSync.off": "Sync: Riepilogo verrà mostrato al momento del download/upload.", + "cmd.otherOptions.quietSync.on": "Sync: barra di Stato verrà aggiornato durante il download/upload.", + "cmd.otherOptions.releaseNotes": "Sync: Note Di Rilascio", + "cmd.otherOptions.shareSetting": "Sync: Impostazioni di Condivisione con il Pubblico GIST", + "cmd.otherOptions.shareSetting.beforeConfirm": "Sync: Questo consente di rimuovere corrente GIST e caricare le impostazioni sul nuovo pubblico GIST. Vuoi continuare?", + "cmd.otherOptions.title": "Sync: Opzioni Avanzate", + "cmd.otherOptions.toggleAutoDownload": "Sync: Per Attivare / Disattivare Il Download Automatico All'Avvio", + "cmd.otherOptions.toggleAutoDownload.off": "Sync: Download Automatico DISATTIVATA su VSCode di Avvio.", + "cmd.otherOptions.toggleAutoDownload.on": "Sync: Download Automatico acceso su VSCode di Avvio.", + "cmd.otherOptions.toggleAutoUpload": "Sync: Attivare E Disattivare Auto-Caricare Sulla Modifica Delle Impostazioni Di", + "cmd.otherOptions.toggleAutoUpload.off": "Sync: upload Automatico su di Cambiare l'Impostazione Disattivata.", + "cmd.otherOptions.toggleAutoUpload.on": "Sync: upload Automatico su di Cambiare l'Impostazione attivata. Questo avrà effetto dopo il riavvio.", + "cmd.otherOptions.toggleForceDownload": "Sync: Attiva / Disattiva La Forza Scaricare", + "cmd.otherOptions.toggleForceDownload.off": "Sync: Forza Scaricare Spento.", + "cmd.otherOptions.toggleForceDownload.on": "Sync: Forza Scaricare Acceso.", + "cmd.otherOptions.toggleForceUpload": "Sync: Attiva / Disattiva La Forza Di Upload", + "cmd.otherOptions.toggleForceUpload.off": "Sync: Forza Caricare Spento.", + "cmd.otherOptions.toggleForceUpload.on": "Sync: Forza Caricare Acceso.", + "cmd.otherOptions.toggleSummaryPage": "Sync: Attiva / Disattiva La Mostra Pagina Di Riepilogo Su Upload/Download", + "cmd.otherOptions.triggerReset": "Sync: si desidera ripristinare le impostazioni ?", + "cmd.otherOptions.warning.tokenNotRequire": "Sync: Impostazioni di Sincronizzazione non chiedere GitHub Token da ora in poi.", + "cmd.resetSettings.info.resetting": "Sync: Il Ripristino Delle Impostazioni.", + "cmd.resetSettings.info.settingClear": "Sync: Impostazioni Cancellato.", + "cmd.resetSettings.title": "Sync: Ripristina Le Impostazioni Di Estensione", + "cmd.updateSettings.error.gistNotSave": "Sync: GIST NON SALVATI", + "cmd.updateSettings.error.newGistCreateFail": "Sync: Impossibile creare il Gist.", + "cmd.updateSettings.error.readGistFail": "Sync: GIST ID: {0} non RIESCE A LEGGERE.", + "cmd.updateSettings.info.newGistCreated": "Sync: Nuovo gist creato.", + "cmd.updateSettings.info.readding": "Sync: Impostazioni di Lettura e le Estensioni.", + "cmd.updateSettings.info.shareGist": "Sync: Condividere l'Id con altra estensione agli utenti di condividere le impostazioni.", + "cmd.updateSettings.info.uploadCanceled": "Sync: Il Processo Di Caricamento Annullato.", + "cmd.updateSettings.info.uploading": "Sync: Caricamento/Aggiornamento Le Impostazioni In GitHub.", + "cmd.updateSettings.info.uploadingDone": "Sync: Completamento Del Caricamento. GIST ID: {0}. Si prega di copiare e utilizzare l'ID in altre macchine per scaricare le impostazioni.", + "cmd.updateSettings.info.uploadingFile": "Sincronizzare Il Caricamento Di File Di Dati.", + "cmd.updateSettings.info.uploadingSuccess": "Sync: Caricato Con Successo.", + "cmd.updateSettings.title": "Sync: Aggiornamento/Carica Impostazioni", + "cmd.updateSettings.warning.OSNotSupported": "Sync Pragma OS valore di {0} non è supportato in linea di {1}", + "cmd.updateSettings.warning.noToken": "Sync: Set di GitHub Token o disabilita 'downloadPublicGist' locali le impostazioni di Sincronizzazione di file.", + "common.action.donate": "Dona Ora", + "common.action.joinCommunity": "Partecipare Comunità", + "common.action.openExtPage": "Aprire La Pagina Estensione", + "common.action.openExtTutorial": "Aprire Tutorial", + "common.action.releaseNotes": "Note Di Rilascio", + "common.action.support": "Sostenere Questo Progetto", + "common.action.writeReview": "Scrivi La Recensione", + "common.button.yes": "Sì", + "common.error.canNotSave": "Sync: Impossibile Salvare le Impostazioni. Si prega di assicurarsi di avere una valida JSON impostazioni.file json. (ad esempio: assenza di virgole finali)", + "common.error.connection": "Sync: Internet Non è Collegato o non è in Grado di Connettersi a GitHub. Eccezione Registrato in Console", + "common.error.gistNotSave": "Sync: Gist Non Salvati.", + "common.error.invalidGistId": "Sync: Invalid Gist Id Inserito. Verificare il succo: https://gist.github.com//.", + "common.error.invalidToken": "Sync: Non Valido O Scaduto GitHub Token. Si prega di generare nuovo token con gli ambiti menzionati nel readme. Eccezione Registrato in Console.", + "common.error.message": "Sync: Errore Registrato In Console (menu Aiuto > Toggle Strumenti di sviluppo).", + "common.error.tokenNotSave": "Sync: Token Non Salvati.", "common.info.donate": "Sync: ti piace questa estensione? Come circa la scrittura di una recensione o di invio di una donazione? ", - "common.error.message": "Sync: Errore Registrato In Console (menu Aiuto > Toggle Developer Tools).,", - "common.error.connection": "Sync: Internet Non è Collegato o non è in Grado di Connettersi a GitHub. Eccezione Registrato in Console,", - "common.error.canNotSave": "Sync: Impossibile Salvare le Impostazioni. Si prega di assicurarsi di avere una valida JSON impostazioni.file json. (ad esempio : assenza di virgole finali),", - "common.error.invalidToken": "Sync: Non Valido O Scaduto GitHub Token. Si prega di generare nuovo token con gli ambiti menzionati nel readme. Eccezione Registrato in Console.,", - "common.error.invalidGistId": "Sync: Invalid Gist Id Inserito. Verificare il succo : https://gist.github.com//.,", - "common.error.tokenNotSave": "Sync: Token Non Salvati.,", - "common.error.gistNotSave": "Sync: Gist Non Salvati.,", - "common.action.openExtPage": "Aprire La Pagina Estensione,", - "common.action.openExtTutorial": "Aprire Tutorial,", - "common.action.releaseNotes": "Note Di Rilascio,", - "common.action.writeReview": "Scrivere Una Recensione,", - "common.action.support": "Sostenere Questo Progetto,", - "common.action.joinCommunity": "Partecipare Comunità,", - "common.action.donate": "Dona Ora,", - "common.placeholder.enterGithubAccessToken": "Inserire GitHub Personali Token Di Accesso,", - "common.placeholder.enterGistId": "Inserisci Il Gist Id,", - "common.placeholder.multipleGist": "Gist Nome (ad esempio : Impostazioni Personali),", - "common.prompt.multipleGist": "Consente di identificare le impostazioni, se si dispone di più gist.,", - "common.prompt.enterGistId": "Inserisci il Gist Id precedentemente caricato le impostazioni. È anche possibile impostare manualmente le impostazioni del codice (sync.gist). Premere il tasto [Enter] o il tasto [Esc] per annullare.,", - "common.prompt.enterGithubAccessToken": "Puoi anche aggiungere manualmente un token (Cartella Utente / syncLocalSettings.json). Premere il tasto [Enter] o il tasto [Esc] per annullare.,", - "common.prompt.restartCode": "Vuoi ricaricare per applicare le estensioni e le configurazioni?,", - "common.button.yes": "Sì" + "common.info.excludeFile": "Sync: Si può escludere ogni file/cartella per l'upload e impostazioni per il download.", + "common.info.gistSaved": "Sync: Gist Salvato", + "common.info.initAutoUpload": "Sync: Upload Automatico Di Iniziare A {0} Secondi.", + "common.info.installed": "Sync: le Impostazioni create, la ringrazio per l'installazione!", + "common.info.needHelp": "Sync: Bisogno di Aiuto per configurare questa estensione?", + "common.info.setToken": "Sync: Ora È possibile impostare il GitHub token manualmente nel `syncLocalSettings.json`", + "common.info.tokenSaved": "Sync: Token Salvato", + "common.info.updateTo": "Sync: Aggiornato alla v{0}", + "common.info.updating": "Sync: Aggiornamento In Corso... Attendere Prego.", + "common.placeholder.enterGistId": "Inserisci Il Gist Id", + "common.placeholder.enterGithubAccessToken": "Inserire GitHub Personali Token Di Accesso", + "common.placeholder.multipleGist": "Gist Nome (ad esempio: Impostazioni Personali)", + "common.prompt.enterGistId": "Inserisci il Gist Id precedentemente caricato le impostazioni. È anche possibile impostare manualmente le impostazioni del codice (sync.gist). Premere il tasto [Enter] o il tasto [Esc] per annullare.", + "common.prompt.enterGithubAccessToken": "Puoi anche aggiungere manualmente un token (Cartella Utente/syncLocalSettings.json). Premere il tasto [Enter] o il tasto [Esc] per annullare.", + "common.prompt.gistNewer": "Sync: Gist è più recente o identica versione delle impostazioni. Se si vuole attivare forceUpload per eseguire l'override di questo?", + "common.prompt.multipleGist": "Consente di identificare le impostazioni, se si dispone di più gist.", + "common.prompt.restartCode": "Vuoi ricaricare per applicare le estensioni e le configurazioni?", + "ext.config.askGistName": "Chiedi gist nome al momento della creazione. Aiuta a identificare la sostanza, se si dispone di più i gist.", + "ext.config.autoDownload": "Il Set e ' vero per il Download Automatico le impostazioni del codice di avvio. [Codice Di Riavvio Richiesto]", + "ext.config.autoDownload.name": "Il Download Automatico", + "ext.config.autoUpload": "Impostare la verità Upload Automatico su modifica impostazioni. [Codice Di Riavvio Richiesto]", + "ext.config.autoUpload.name": "Upload Automatico", + "ext.config.forceDownload": "Impostare a true se si desidera scaricare le impostazioni anche quando si hanno le ultime impostazioni.", + "ext.config.forceDownload.name": "Forza Scaricare", + "ext.config.forceUpload": "Impostare a true se si desidera caricare le impostazioni anche quando il GIST impostazioni più recenti.", + "ext.config.forceUpload.name": "Forza Caricare", + "ext.config.gist": "GitHub GIST ID Impostazioni di Sincronizzazione.", + "ext.config.gist.name": "Gist ID", + "ext.config.gist.placeholder": "Inserisci il Gist ID", + "ext.config.host": "Impostare la GitHub Enterprise host se si desidera utilizzare GHE.", + "ext.config.lastDownload": "Impostazioni di Sincronizzazione di download ultima data. Impostare come vuoto se si desidera configurare manualmente colpito il download.", + "ext.config.lastUpload": "Impostazioni di Sincronizzazione ultima data di caricamento. Impostare come vuoto se si desidera configurare manualmente colpito il download.", + "ext.config.pathPrefix": "Impostare la GitHub Enterprise API prefisso, se si desidera utilizzare GHE. Normalmente '/api/v3'. Utilizzato solo quando l'host è impostato.", + "ext.config.quietSync": "Quando è impostato su true, verrà visualizzato il risultato nella barra di stato, invece della pagina di riepilogo.", + "ext.config.quietSync.name": "Tranquilla Sync", + "ext.config.removeExtensions": "Impostare a false se non si desidera rimuovere le estensioni durante il download.", + "ext.config.removeExtensions.name": "Rimuovere Le Estensioni", + "ext.config.syncExtensions": "Impostare a false se non si desidera caricare/scaricare le estensioni.", + "ext.config.syncExtensions.name": "Sincronizzazione Delle Estensioni", + "ext.config.title": "Codice Impostazioni Impostazioni Di Configurazione Di Sincronizzazione", + "ext.globalConfig.askGistName.name": "Chiedi Gist Nome", + "ext.globalConfig.autoUploadDelay.name": "Upload Automatico Di Ritardo", + "ext.globalConfig.autoUploadDelay.placeholder": "Immettere il numero di secondi di ritardo di auto-upload", + "ext.globalConfig.downloadPublicGist.name": "Scarica Pubblico Gist", + "ext.globalConfig.gistDescription.name": "Gist Descrizione", + "ext.globalConfig.gistDescription.placeholder": "Inserisci Il Gist Descrizione", + "ext.globalConfig.githubEnterpriseUrl.name": "GitHub Enterprise URL (opzionale)", + "ext.globalConfig.githubEnterpriseUrl.placeholder": "Inserire GitHub Enterprise URL", + "ext.globalConfig.hostName.name": "Hostname (opzionale)", + "ext.globalConfig.hostName.placeholder": "Immettere Il Nome Dell'Host", + "ext.globalConfig.ignoreExtensions.name": "Ignorato Estensioni", + "ext.globalConfig.ignoreExtensions.placeholder": "Inserire un'estensione per linea (cognome e nome)", + "ext.globalConfig.ignoreUploadFiles.name": "File Ignorati", + "ext.globalConfig.ignoreUploadFiles.placeholder": "Inserire un file per riga", + "ext.globalConfig.ignoreUploadFolders.name": "Ignorate Le Cartelle", + "ext.globalConfig.ignoredUploadFolders.placeholder": "Inserire una cartella per ogni linea", + "ext.globalConfig.openTokenLink.name": "Aprire Token Link", + "ext.globalConfig.supportedFileExtensions.name": "Estensioni Di File Supportati", + "ext.globalConfig.supportedFileExtensions.placeholder": "Inserire un file di estensione per linea", + "ext.globalConfig.token.name": "Token Di Accesso", + "ext.globalConfig.token.placeholder": "Inserisci Il Token" } \ No newline at end of file diff --git a/package.nls.ja.json b/package.nls.ja.json index 2a48f1d2..01a024e5 100644 --- a/package.nls.ja.json +++ b/package.nls.ja.json @@ -1,101 +1,142 @@ { - "ext.config.title": "Code Settings Sync 設定", - "ext.config.gist": "Settings Sync で使用する GitHub GIST ID", - "ext.config.lastUpload": "Settings Sync 最終アップロード日時. 手動でダウンロードする場合は空にしてください.", - "ext.config.lastDownload": "Settings Sync 最終ダウンロード日時. 手動でダウンロードする場合は空にしてください.", - "ext.config.autoDownload": "エディタを開いたときに設定を自動でダウンロードする場合は true にしてください. [再起動が必要です]", - "ext.config.autoUpload": "変更したときに設定を自動でアップロードする場合は true にしてください. [再起動が必要です]", - "ext.config.forceDownload": "ローカルの設定が更新されていても, リモート設定をダウンロードしたい場合は true にしてください.", - "ext.config.host": "必要に応じて GitHub Enterprise のホストを指定してください.", - "ext.config.pathPrefix": "必要に応じて GitHub Enterprise API プリフィックスを指定してください. 通常であれば '/api/v3'. hostフィールドが指定されているときだけ使います.", - "ext.config.quietSync": "true にした場合, サイレントモードになります. 出力パネルではなくステータスバーに同期結果を表示します.", - "ext.config.askGistName": "作成時に gist 名を尋ねます. 複数の gist を使用しているときにgistを識別するのに役に立ちます.", - "ext.config.removeExtensions": "ダウンロード時に拡張機能を削除したくない場合 false にします.", - "ext.config.syncExtensions": "拡張機能を同期したくない場合 false にします.", - "cmd.howSetting.title": "Sync : 設定方法", - "cmd.updateSettings.title": "Sync : 設定をアップロード", - "cmd.updateSettings.info.uploading": "Sync : Github に設定を アップロード / 更新.", - "cmd.updateSettings.info.uploadingFile": "Sync : ファイルのアップロード中です.", - "cmd.updateSettings.info.uploadingDone": "Sync : アップロード完了. GIST ID : {0} . この ID をコピーして他のデバイスでの同期に使用してください.", - "cmd.updateSettings.info.uploadingSuccess": "Sync : アップロードされました.", - "cmd.updateSettings.info.shareGist": "Sync : 他の拡張機能ユーザーに ID を共有して設定を共有します.", - "cmd.updateSettings.info.readding": "Sync : 設定と拡張機能を読み込みます.", - "cmd.updateSettings.info.newGistCreated": "Sync : 新しい gist を作成しました.", - "cmd.updateSettings.warning.noToken": "Sync : ローカルの同期設定ファイルで GitHub トークンを設定するか, 'downloadPublicGist' を無効にしてください.", - "cmd.updateSettings.error.newGistCreateFail": "Sync : Gist を作成することができません.", - "cmd.updateSettings.error.readGistFail": "Sync : GIST ID: {0} 読み取ることができません.", - "cmd.updateSettings.error.gistNotSave": "Sync : GIST が保存されていません", - "cmd.downloadSettings.title": "Sync : 設定をダウンロード", - "cmd.downloadSettings.info.downloaded": "Sync : ダウンロードが完了しました.", - "cmd.downloadSettings.info.readdingOnline": "Sync : オンラインの設定を読み込み中です.", - "cmd.downloadSettings.info.gotLatestVersion": "Sync : 既に最新の設定を持っています.", - "cmd.downloadSettings.error.removeExtFail": "Sync : 一部の拡張機能を削除できません.", - "cmd.downloadSettings.error.unableSave": "Sync : 拡張機能の設定ファイルを保存できません.", - "cmd.resetSettings.title": "Sync : 拡張機能の設定をリセット", - "cmd.resetSettings.info.resetting": "Sync : 設定をリセット中です.", - "cmd.resetSettings.info.settingClear": "Sync : 設定がクリアされました.", - "cmd.otherOptions.title": "Sync : 詳細なオプション", - "cmd.otherOptions.editLocalSetting": "Sync : 拡張機能のローカル設定の編集", - "cmd.otherOptions.shareSetting": "Sync : 公開 GIST で設定の共有", - "cmd.otherOptions.shareSetting.beforeConfirm": "Sync : これにより, 現在の GIST が削除され, 新しく公開 GIST に設定がアップロードされます. 続行しますか?", - "cmd.otherOptions.downloadSetting": "Sync : 公開 GIST から設定のダウンロード", - "cmd.otherOptions.toggleForceDownload": "Sync : 強制ダウンロード ON / OFF 切り替え", - "cmd.otherOptions.toggleForceDownload.on": "Sync : 強制ダウンロードを ON にしました.", - "cmd.otherOptions.toggleForceDownload.off": "Sync : 強制ダウンロードを OFF にしました.", - "cmd.otherOptions.toggleAutoUpload": "Sync : 設定変更時の自動アップロード ON / OFF 切り替え", - "cmd.otherOptions.toggleAutoUpload.on": "Sync : 設定変更時の自動アップロードを ON にしました. 再起動後に反映されます.", - "cmd.otherOptions.toggleAutoUpload.off": "Sync : 設定変更時の自動アップロードを OFF にしました.", - "cmd.otherOptions.toggleAutoDownload": "Sync : 起動時の自動ダウンロード ON / OFF 切り替え", - "cmd.otherOptions.toggleAutoDownload.on": "Sync : VSCode 起動時の自動ダウンロードを ON にしました.", - "cmd.otherOptions.toggleAutoDownload.off": "Sync : VSCode 起動時の自動ダウンロードを OFF にしました.", - "cmd.otherOptions.toggleSummaryPage": "Sync : アップロード / ダウンロード 時のサイレントモード ON / OFF 切り替え", - "cmd.otherOptions.preserve": "Sync : ダウンロード後に上書きをしないように設定を保存", - "cmd.otherOptions.preserve.placeholder": "保存する settings.json のキーを入力してください.", - "cmd.otherOptions.preserve.prompt": "例 : 'http.proxy' => このコンピュータのプロキシを保存して, それで上書きします. 空の場合プロキシを削除します.", - "cmd.otherOptions.preserve.info.done1": "Sync : 終了します. {0} の値はダウンロード後 settings.json から削除されます.", - "cmd.otherOptions.preserve.info.done2": "Sync : 終了します. ダウンロード後に {0} : {1} で settings.json に保持します.", - "cmd.otherOptions.customizedSync": "Sync : カスタム同期ファイルパスの追加", - "cmd.otherOptions.customizedSync.placeholder": "追加でアップロードするファイルの絶対パスを入力してください.", - "cmd.otherOptions.customizedSync.prompt": "(ex. /path/to/.eslintrc) はアップロードされ, 指定したパスにダウンロードされます.", - "cmd.otherOptions.customizedSync.done": "Sync : {0} を登録しました.", - "cmd.otherOptions.downloadCustomFile": "Sync : カスタム同期ファイルのインポート", - "cmd.otherOptions.downloadCustomFile.placeholder": "作業中のworkspaceのルートディレクトリにダウンロードするファイルを選択してください.", - "cmd.otherOptions.downloadCustomFile.done": "{0} にダウンロードしました.", - "cmd.otherOptions.joinCommunity": "Sync : コミュニティに参加する", - "cmd.otherOptions.openIssue": "Sync : Issue を作成する", - "cmd.otherOptions.releaseNotes": "Sync : リリースノート", - "cmd.otherOptions.quietSync.on": "Sync : サイレントモードを ON にしました. ステータスバーは ダウンロード / アップロード時に更新されます.", - "cmd.otherOptions.quietSync.off": "Sync : サイレントモードを OFF にしました. 要約は ダウンロード / アップロード 時に表示されます.", - "cmd.otherOptions.warning.tokenNotRequire": "Sync : Settings Sync はこれ以降 GitHub Token を尋ねません.", - "cmd.otherOptions.error.toggleFail": "Sync : 切り替えできません.", - "common.info.installed": "Sync : 設定を作成しました, インストールありがとうございます!", - "common.info.needHelp": "Sync : この拡張機能の設定をお手伝いしますか?", - "common.info.excludeFile": "Sync : アップロードとダウンロードの設定で ファイル / フォルダ を除外することができます.", - "common.info.updating": "Sync : アップデート中です ... お待ちください.", - "common.info.initAutoUpload": "Sync : 5秒後に自動アップロードを開始します.", - "common.info.setToken": "Sync : GitHub token を `syncLocalSettings.json` に手動で設定できます", - "common.info.tokenSaved": "Sync : トークンが保存されました", - "common.info.gistSaved": "Sync : Gist が保存されました", - "common.info.updateTo": "Sync : v{0} への更新", - "common.info.donate": "Sync : この拡張機能を気に入りましたか? レビューや寄付はどうですか? (^_-)", - "common.error.message": "Sync : エラーログがコンソールに表示されます (ヘルプ > 開発者ツールの切り替え).", - "common.error.connection": "Sync : インターネットに接続されてない, もしくは GitHub に接族ができません. コンソールに例外が出力されました", - "common.error.canNotSave": "Sync : 設定が保存できません. 有効な JSON settings.json ファイルがあることを確認してください. ( 例 : 後続のカンマがない )", - "common.error.invalidToken": "Sync : 無効もしくは期限切れの GitHub Token です. README に記載のスコープで新しいトークンを生成してください. コンソールに例外が出力されました.", - "common.error.invalidGistId": "Sync : 無効な Gist Id が入力されました. あなたの gist を確認してください : https://gist.github.com//.", - "common.error.tokenNotSave": "Sync : トークンが保存されませんでした.", - "common.error.gistNotSave": "Sync : Gist が保存されませんでした.", - "common.action.openExtPage": "拡張機能のページを開きます", - "common.action.openExtTutorial": "チュートリアルを開きます", + "cmd.downloadSettings.error.removeExtFail": "Sync:ときを除きます。", + "cmd.downloadSettings.error.unableSave": "同期が保存拡張子の設定ファイルです。", + "cmd.downloadSettings.info.downloaded": "Sync:ダウンロード完了です。", + "cmd.downloadSettings.info.gotLatestVersion": "Sync:だき,誠にありがとうござい最新バージョンの保存を設定します。", + "cmd.downloadSettings.info.readdingOnline": "Sync:設定読み取ります。", + "cmd.downloadSettings.title": "Sync:ダウンロードの設定", + "cmd.howSetting.title": "同期の設定方法", + "cmd.otherOptions.customizedSync": "同リポジトリを追加してください。カスタム同期ファイルパス", + "cmd.otherOptions.customizedSync.done": "Sync:{0}が登録されています。", + "cmd.otherOptions.customizedSync.placeholder": "入力は、絶対パスに追加アップロードされたファイル.", + "cmd.otherOptions.customizedSync.prompt": "(ex. /path/to/.eslintrc)がアップロード及びダウンロードし、指定されたパスです。", + "cmd.otherOptions.downloadCustomFile": "Sync:インポートカスタム同期ファイルをワークスペース", + "cmd.otherOptions.downloadCustomFile.done": "ダウンロード{0}.", + "cmd.otherOptions.downloadCustomFile.placeholder": "を選択しダウンロードしたいファイルのルートワークスペース。●", + "cmd.otherOptions.downloadSetting": "Sync:ダウンロードの設定からの要旨", + "cmd.otherOptions.editLocalSetting": "Sync:編集延地域の設定", + "cmd.otherOptions.error.toggleFail": "同期が切り替える.", + "cmd.otherOptions.joinCommunity": "Sync:加地域", + "cmd.otherOptions.openIssue": "Sync:開発", + "cmd.otherOptions.openSettingsPage": "同期:設定を開く", + "cmd.otherOptions.preserve": "Sync:保存設定を停止オーバーライド後、ダウンロード", + "cmd.otherOptions.preserve.info.done1": "Sync:行われます。 {0}の値から削除されるかを設定します。jsonております。", + "cmd.otherOptions.preserve.info.done2": "Sync:行われます。 延長保{0}:{1}です。jsonております。", + "cmd.otherOptions.preserve.placeholder": "入力キーから設定します。jsonめます。", + "cmd.otherOptions.preserve.prompt": "例:書'http.プロキシ'=>店舗このコンピュータプロキシ上書きで設定した場合空にすることはあります行います。", + "cmd.otherOptions.quietSync.off": "Sync:概要を示にダウンロード/アップロード。※", + "cmd.otherOptions.quietSync.on": "Sync:ステータスバーを更新しにダウンロード/アップロード。※", + "cmd.otherOptions.releaseNotes": "Sync:バージョンのリリースノート", + "cmd.otherOptions.shareSetting": "Sync:シェアの設定と公衆の要旨", + "cmd.otherOptions.shareSetting.beforeConfirm": "Sync:ここを削除します現在の要旨およびアップロードの設定を新規公要旨. い続けるのだろうか。", + "cmd.otherOptions.title": "Sync:高度なオプション", + "cmd.otherOptions.toggleAutoDownload": "Sync:切り替えオートのダウンロード-起動時に", + "cmd.otherOptions.toggleAutoDownload.off": "同期を自動ダウンロードをOFFにVSCodeで起動します。", + "cmd.otherOptions.toggleAutoDownload.on": "同期を自動ダウンロードをONにVSCodeで起動します。", + "cmd.otherOptions.toggleAutoUpload": "Sync:切り替える自動アップロード設定の変更", + "cmd.otherOptions.toggleAutoUpload.off": "Sync:自動アップロードに設定変更がオフになってしまいます。", + "cmd.otherOptions.toggleAutoUpload.on": "Sync:自動アップロードの設定を変更します。 この発効後、再度入れ直してください。", + "cmd.otherOptions.toggleForceDownload": "Sync:切り替える力をダウンロード", + "cmd.otherOptions.toggleForceDownload.off": "Sync:Forceダウンロードがオフになってしまいます。", + "cmd.otherOptions.toggleForceDownload.on": "Sync:Forceダウンロードします。", + "cmd.otherOptions.toggleForceUpload": "Sync:切り替える力をアップロード", + "cmd.otherOptions.toggleForceUpload.off": "Sync:力アップロードがオフになってしまいます。", + "cmd.otherOptions.toggleForceUpload.on": "Sync:力アップロードします。", + "cmd.otherOptions.toggleSummaryPage": "Sync:切り替えを示概要ページにアップロード/ダウンロード", + "cmd.otherOptions.triggerReset": "Sync:い設?", + "cmd.otherOptions.warning.tokenNotRequire": "同期の設定が同期しないGitHubのトークンです。", + "cmd.resetSettings.info.resetting": "Sync:リセットを設定します。", + "cmd.resetSettings.info.settingClear": "同期の設定がクリアされます。", + "cmd.resetSettings.title": "同期リセット拡張設定", + "cmd.updateSettings.error.gistNotSave": "Sync:GIST保存されません", + "cmd.updateSettings.error.newGistCreateFail": "Sync:作成できない要旨.", + "cmd.updateSettings.error.readGistFail": "Sync:GIST ID:{0}できない。", + "cmd.updateSettings.info.newGistCreated": "Sync:新しい要旨を作成します。", + "cmd.updateSettings.info.readding": "Sync:設定読み取りやすくなります。■", + "cmd.updateSettings.info.shareGist": "Sync:シェアのIdとその他の拡張ユーザーに共有を設定します。", + "cmd.updateSettings.info.uploadCanceled": "Sync:アップロード処理解約となります。", + "cmd.updateSettings.info.uploading": "Sync:アップロード/更新の設定をGitHub.", + "cmd.updateSettings.info.uploadingDone": "Sync:アップロード完了です。 GIST ID:{0}. コピーして使用して下さいこのIDはその他の機械のダウンロードを設定します。", + "cmd.updateSettings.info.uploadingFile": "Sync:ファイルのアップロードデータです。", + "cmd.updateSettings.info.uploadingSuccess": "Sync:アップが成功しました。", + "cmd.updateSettings.title": "Sync:更新やアップロードの設定", + "cmd.updateSettings.warning.OSNotSupported": "同期Pragma OS値{0}のサポートされていません線{1}", + "cmd.updateSettings.warning.noToken": "同期設定GitHubのトークンを無効に'downloadPublicGistから現地の同期の設定ファイルです。", + "common.action.donate": "今すぐ寄付を行う", + "common.action.joinCommunity": "参加地域", + "common.action.openExtPage": "開拡張ページ", + "common.action.openExtTutorial": "オチュートリアル", "common.action.releaseNotes": "リリースノート", - "common.action.writeReview": "レビューを書きます", - "common.action.support": "このプロジェクトをサポートします", - "common.action.joinCommunity": "コミュニティに参加します", - "common.action.donate": "寄付します", - "common.placeholder.enterGithubAccessToken": "GitHub の個人アクセストークンを入力してください", - "common.placeholder.enterGistId": "Gist Id を入力してください", - "common.placeholder.multipleGist": "Gist 名 (例 : Personal Settings)", - "common.prompt.multipleGist": "複数の gist を持っている場合に設定を識別できます.", - "common.prompt.enterGistId": "以前にアップロードした設定の Gist Id を入力してください. コード設定で手動で設定する事もできます (sync.gist). 確定するには [Enter], キャンセルするには [Esc] を押してください.", - "common.prompt.enterGithubAccessToken": "手動でトークンを追加する事もできます (ユーザーフォルダ / syncLocalSettings.json). 確定するには [Enter], キャンセルするには [Esc] を押してください." -} + "common.action.support": "プロジェクトへの支援を", + "common.action.writeReview": "書評", + "common.button.yes": "あり", + "common.error.canNotSave": "同期な設定を行うことができます。 を確認してください有効なJSONを設定します。jsonファイルです。 (例:最後のカンマ)", + "common.error.connection": "Sync:インターネット接続されていないまたは接続ができないGitHub. 例外をログインコンソール", + "common.error.gistNotSave": "Sync:Gist保存されません。", + "common.error.invalidGistId": "Sync:無効にGistのIdを入力します。 認証概要:https://gist.github.com//.", + "common.error.invalidToken": "Sync:無効/終了しましたGitHubのトークンである。 ください新たなトークンとスコープに記readme. 例外をログインソフトである。", + "common.error.message": "Sync:エラーログインコンソール(ヘルプメニュー>切り替えボタンをクリックしてDeveloper Tools).", + "common.error.tokenNotSave": "Sync:東建コーポレーション保存されません。", + "common.info.donate": "Sync:だいことか の方のレビューを書又は送信の寄付? ", + "common.info.excludeFile": "Sync:除外できますファイル/フォルダにアップロードと設定をダウンロードできます。", + "common.info.gistSaved": "Sync:Gist保存", + "common.info.initAutoUpload": "Sync:自動アップロードを開始に{0}秒です。", + "common.info.installed": "同期の設定が作成され、また導入!", + "common.info.needHelp": "Syncが必要な設定を可能にします?", + "common.info.setToken": "Sync:現を任意で設定することができGitHubのトークンを手動での\"syncLocalSettings.json`", + "common.info.tokenSaved": "Sync:東建コーポレーションを保存", + "common.info.updateTo": "同期しましたv{0}", + "common.info.updating": "Sync:更新進...ご期待ください。", + "common.placeholder.enterGistId": "入Gist Id", + "common.placeholder.enterGithubAccessToken": "入GitHubのアクセストークン", + "common.placeholder.multipleGist": "概要名(例:\"個人設定)", + "common.prompt.enterGistId": "入Gist利用して次のように書き換えられたアップを設定します。 ように設定することもできます手動でコードの設定(同期式/uart)gist). 【Enter】キーを押し、[Esc]。", + "common.prompt.enterGithubAccessToken": "また手動で追加東建コーポレーション(ユーザーフォルダ/syncLocalSettings.json). 【Enter】キーを押し、[Esc]。", + "common.prompt.gistNewer": "Sync:概要は、新しいまたは同一のバージョンを設定します。 いよforceUploadにこのメソッドをオーバーライド?", + "common.prompt.multipleGist": "できる特定の設定が複数ある場合には要旨.", + "common.prompt.restartCode": "いreloadの適用拡張機能と構成?", + "ext.config.askGistName": "お願いgistて、名前を入れます。 できるの概要が複数ある場合にはgists.", + "ext.config.autoDownload": "設定で\"自動ダウンロードの設定コードが始まります。 [コードの再起動が必要です】", + "ext.config.autoDownload.name": "自動ダウンロード", + "ext.config.autoUpload": "設定で\"自動アップロードの設定は変化します。 [コードの再起動が必要です】", + "ext.config.autoUpload.name": "自動アップロード", + "ext.config.forceDownload": "設定する場合はtrueして、より便利にお使いいただけ、設定する場合あっても、その最新作を設定します。", + "ext.config.forceDownload.name": "力をダウンロード", + "ext.config.forceUpload": "設定する場合はtrueアップロードしたい設定の場合でも、要旨は、新しい設定します。", + "ext.config.forceUpload.name": "力アップロード", + "ext.config.gist": "GitHub GISTのIDの設定。", + "ext.config.gist.name": "Gist ID", + "ext.config.gist.placeholder": "入Gist ID", + "ext.config.host": "セットでおGitHub企業のホストを利用する場合は医.", + "ext.config.lastDownload": "設定を同期最後のダウンロードす。 に設定して空のしたい場合は手動でヒットダウンロードできます。", + "ext.config.lastUpload": "設定を同期の最後のアップロードす。 に設定して空のしたい場合は手動でヒットダウンロードできます。", + "ext.config.pathPrefix": "セットでおGitHub企業のAPIの接頭辞を使用する場合は医. 通常'/api/v3'. されているホストを設定します。", + "ext.config.quietSync": "はい(true)にすると、その結果ステータスバーの代わりに概要ページです。", + "ext.config.quietSync.name": "静かな同期", + "ext.config.removeExtensions": "セットではfalseにしたいという場合などを除去拡張子がデータのダウンロード", + "ext.config.removeExtensions.name": "削除の拡張子", + "ext.config.syncExtensions": "設定する場合はfalseをおすすめアップロード/ダウンロードします。", + "ext.config.syncExtensions.name": "同期の拡張子", + "ext.config.title": "コードの設定を同期の設定", + "ext.globalConfig.askGistName.name": "お概要名称", + "ext.globalConfig.autoUploadDelay.name": "自動アップロードの遅延", + "ext.globalConfig.autoUploadDelay.placeholder": "金額をテキストボックスに入力しの秒の遅延の自動アップロード", + "ext.globalConfig.downloadPublicGist.name": "ダウンロード公概要", + "ext.globalConfig.gistDescription.name": "趣旨説明", + "ext.globalConfig.gistDescription.placeholder": "入趣旨説明", + "ext.globalConfig.githubEnterpriseUrl.name": "GitHubの企業URL(オプション)", + "ext.globalConfig.githubEnterpriseUrl.placeholder": "入GitHub企業URL", + "ext.globalConfig.hostName.name": "ホスト名(オプション)", + "ext.globalConfig.hostName.placeholder": "ホスト名を入力", + "ext.globalConfig.ignoreExtensions.name": "拡張子は無視され", + "ext.globalConfig.ignoreExtensions.placeholder": "入延長線(氏名)", + "ext.globalConfig.ignoreUploadFiles.name": "ファイルは無視", + "ext.globalConfig.ignoreUploadFiles.placeholder": "入力ファイル/ライン", + "ext.globalConfig.ignoreUploadFolders.name": "無視されフォルダ", + "ext.globalConfig.ignoredUploadFolders.placeholder": "入力フォルダイ", + "ext.globalConfig.openTokenLink.name": "開トークンリンク", + "ext.globalConfig.supportedFileExtensions.name": "サポートされるファイルの拡張子", + "ext.globalConfig.supportedFileExtensions.placeholder": "入力ファイルを延長線", + "ext.globalConfig.token.name": "アクセストークン", + "ext.globalConfig.token.placeholder": "入力トークン" +} \ No newline at end of file diff --git a/package.nls.json b/package.nls.json index 33065e6e..a6b255af 100644 --- a/package.nls.json +++ b/package.nls.json @@ -6,6 +6,7 @@ "ext.config.autoDownload": "Set it true to Auto Download the settings on code start. [Code Restart Required]", "ext.config.autoUpload": "Set it true to Auto Upload on the settings change. [Code Restart Required]", "ext.config.forceDownload": "Set it to true if you want to download the settings even when you have the latest settings.", + "ext.config.forceUpload": "Set it to true if you want to upload the settings even when the GIST has newer settings.", "ext.config.host": "Set it to your GitHub Enterprise host if you want to use GHE.", "ext.config.pathPrefix": "Set it to your GitHub Enterprise API prefix if you want to use GHE. Normally '/api/v3'. Only used when host is set.", "ext.config.quietSync": "When set to true, will show the result in status bar instead of summary page.", @@ -20,6 +21,7 @@ "cmd.updateSettings.info.uploadingSuccess": "Sync: Uploaded Successfully.", "cmd.updateSettings.info.shareGist": "Sync: Share the Id with other extension users to share the settings.", "cmd.updateSettings.info.readding": "Sync: Reading Settings and Extensions.", + "cmd.updateSettings.info.uploadCanceled": "Sync: Upload Process Cancelled.", "cmd.updateSettings.info.newGistCreated": "Sync: New gist created.", "cmd.updateSettings.warning.noToken": "Sync: Set GitHub Token or disable 'downloadPublicGist' from local Sync settings file.", "cmd.updateSettings.warning.OSNotSupported": "Sync Pragma OS value {0} not supported at line {1}", @@ -36,6 +38,7 @@ "cmd.resetSettings.info.resetting": "Sync: Resetting Your Settings.", "cmd.resetSettings.info.settingClear": "Sync: Settings Cleared.", "cmd.otherOptions.title": "Sync: Advanced Options", + "cmd.otherOptions.openSettingsPage": "Sync : Open Settings", "cmd.otherOptions.editLocalSetting": "Sync: Edit Extension Local Settings", "cmd.otherOptions.shareSetting": "Sync: Share Settings with Public GIST", "cmd.otherOptions.shareSetting.beforeConfirm": "Sync: This will remove current GIST and upload settings on new public GIST. Do you want to continue?", @@ -43,6 +46,9 @@ "cmd.otherOptions.toggleForceDownload": "Sync: Toggle Force Download", "cmd.otherOptions.toggleForceDownload.on": "Sync: Force Download Turned On.", "cmd.otherOptions.toggleForceDownload.off": "Sync: Force Download Turned Off.", + "cmd.otherOptions.toggleForceUpload": "Sync: Toggle Force Upload", + "cmd.otherOptions.toggleForceUpload.on": "Sync: Force Upload Turned On.", + "cmd.otherOptions.toggleForceUpload.off": "Sync: Force Upload Turned Off.", "cmd.otherOptions.toggleAutoUpload": "Sync: Toggle Auto-Upload On Settings Change", "cmd.otherOptions.toggleAutoUpload.on": "Sync: Auto upload on Setting Change Turned On. This will take effect after restart.", "cmd.otherOptions.toggleAutoUpload.off": "Sync: Auto upload on Setting Change Turned Off.", @@ -74,7 +80,7 @@ "common.info.needHelp": "Sync: Need Help configuring this extension?", "common.info.excludeFile": "Sync: You can exclude any file/folder for upload and settings for download.", "common.info.updating": "Sync: Updating In Progress… Please Wait.", - "common.info.initAutoUpload": "Sync: Auto Upload Initiating In 5 Seconds.", + "common.info.initAutoUpload": "Sync: Auto Upload Initiating In {0} Seconds.", "common.info.setToken": "Sync: Now You can set your GitHub token manually in `syncLocalSettings.json`", "common.info.tokenSaved": "Sync: Token Saved", "common.info.gistSaved": "Sync: Gist Saved", @@ -101,5 +107,36 @@ "common.prompt.enterGistId": "Enter Gist Id from previously uploaded settings. You can also set manually in code settings (sync.gist). Press [Enter] or [Esc] to cancel.", "common.prompt.enterGithubAccessToken": "You also manually add a token (User Folder/syncLocalSettings.json). Press [Enter] or [Esc] to cancel.", "common.prompt.restartCode": "Do you want to reload to apply extensions and configurations?", - "common.button.yes":"Yes" + "common.prompt.gistNewer": "Sync: Gist has a newer or identical version of your settings. Do you want to enable forceUpload to override this?", + "common.button.yes": "Yes", + "ext.globalConfig.token.name": "Access Token", + "ext.globalConfig.token.placeholder": "Enter Token", + "ext.globalConfig.githubEnterpriseUrl.name": "GitHub Enterprise URL (optional)", + "ext.globalConfig.githubEnterpriseUrl.placeholder": "Enter GitHub Enterprise URL", + "ext.globalConfig.ignoreUploadFolders.name": "Ignored Folders", + "ext.globalConfig.ignoredUploadFolders.placeholder": "Enter one folder per line", + "ext.globalConfig.ignoreExtensions.name": "Ignored Extensions", + "ext.globalConfig.ignoreExtensions.placeholder": "Enter one extension per line (full name)", + "ext.globalConfig.hostName.name": "Hostname (optional)", + "ext.globalConfig.hostName.placeholder": "Enter Hostname", + "ext.globalConfig.ignoreUploadFiles.name": "Ignored Files", + "ext.globalConfig.ignoreUploadFiles.placeholder": "Enter one file per line", + "ext.globalConfig.supportedFileExtensions.name": "Supported File Extensions", + "ext.globalConfig.supportedFileExtensions.placeholder": "Enter one file extension per line", + "ext.globalConfig.gistDescription.name": "Gist Description", + "ext.globalConfig.gistDescription.placeholder": "Enter Gist Description", + "ext.globalConfig.autoUploadDelay.name": "Auto Upload Delay", + "ext.globalConfig.autoUploadDelay.placeholder": "Enter the amount of seconds to delay auto-upload", + "ext.globalConfig.askGistName.name": "Ask Gist Name", + "ext.globalConfig.downloadPublicGist.name": "Download Public Gist", + "ext.globalConfig.openTokenLink.name": "Open Token Link", + "ext.config.gist.name": "Gist ID", + "ext.config.gist.placeholder": "Enter Gist ID", + "ext.config.autoDownload.name": "Auto Download", + "ext.config.autoUpload.name": "Auto Upload", + "ext.config.forceDownload.name": "Force Download", + "ext.config.forceUpload.name": "Force Upload", + "ext.config.quietSync.name": "Quiet Sync", + "ext.config.removeExtensions.name": "Remove Extensions", + "ext.config.syncExtensions.name": "Sync Extensions" } diff --git a/package.nls.ko.json b/package.nls.ko.json index 01a58bd7..56b76d87 100644 --- a/package.nls.ko.json +++ b/package.nls.ko.json @@ -1,106 +1,142 @@ { - "ext.config.title": "코드 설정 동기화 설정", - "ext.config.gist": "GitHub GIST ID 를 설정에 대한 동기화됩니다.,", - "ext.config.lastUpload": "설정 Sync 마지막 업로드 날짜습니다. 으로 설정 빈하려는 경우는 수동으로 충돌 다운로드.,", - "ext.config.lastDownload": "설정 마지막 동기화를 다운로드 날짜습니다. 으로 설정 빈하려는 경우는 수동으로 충돌 다운로드.,", - "ext.config.autoDownload": "설정 그것은 진실을 자동으로 다운로드 설정 코드를 시작합니다. [코드를 다시 시작해야 합니다],", - "ext.config.autoUpload": "설정 그것은 진실을 자동 업로드에서 설정을 변경합니다. [코드를 다시 시작해야 합니다],", - "ext.config.forceDownload": "True 다운로드하려면 설정이 있는 경우에는 최신 설정합니다.,", - "ext.config.host": "로 설정하 GitHub 엔터프라이즈 호스트를 사용하려면 GHE.,", - "ext.config.pathPrefix": "로 설정하 GitHub Enterprise API 를 접두사로 사용하려면 GHE 니다. 일반적으로'/api/v3'니다. 할 때만 사용됩트 호스트가 설정되어 있습니다..,", - "ext.config.quietSync": "True 로 설정하면,결과를 표시 상태 표시 줄에서 대신의 페이지에서 문의하시기 바랍니다.,", - "ext.config.askGistName": "물 gist 이름을 생성합니다. 를 식별하는 데 도움이 요점이 있는 경우 여러 요점입니다.,", - "ext.config.removeExtensions": "그 값을 false 로 설정한 경우를 제거하려면 확장자를 다운로드하는 동안.,", - "ext.config.syncExtensions": "그 값을 false 로 설정할 경우를 업로드/다운로드 extensions.,", - "cmd.howSetting.title": "동기화:을 구성하는 방법은,", - "cmd.updateSettings.title": "동기:업데이트 업로드 및 설정", - "cmd.updateSettings.info.uploading": "동기화:에 업로드/업데이트 설정에서 GitHub.,", - "cmd.updateSettings.info.uploadingFile": "동기화:파일을 업로드하는 자료.,", - "cmd.updateSettings.info.uploadingDone": "동기화:로 업로드를 완료합니다. GIST ID:{0}. 를 복사해서 사용하시기 바랍 이 ID 는 다른 시스템에서 다운로드 설정.,", - "cmd.updateSettings.info.uploadingSuccess": "동기화:성공적으로 업로드되.,", - "cmd.updateSettings.info.shareGist": "동기화할 수 있습니 Id 과는 다른 확장자를 공유하는 사용자 설정.,", - "cmd.updateSettings.info.readding": "동기화를 읽고:설정 및 Extensions.,", - "cmd.updateSettings.info.newGistCreated": "동기화:새로운 요지 만들어집니다.,", - "cmd.updateSettings.warning.noToken": "동기화:GitHub 토큰 또는 비활성화'downloadPublicGist'현지에서 동기화 설정 파일입니다.,", - "cmd.updateSettings.warning.OSNotSupported": "동기화 Pragma OS{0}값이 지원하지 않는에서 선{1},", - "cmd.updateSettings.error.newGistCreateFail": "동기화:를 만들 수 없습 Gist.,", - "cmd.updateSettings.error.readGistFail": "동기화:GIST ID:{0}을 읽을 수 없습니다.,", - "cmd.updateSettings.error.gistNotSave": "동기화:GIST,저장되지 않습", - "cmd.downloadSettings.title": "동기화를 다운로드:정,", - "cmd.downloadSettings.info.downloaded": "동기화:다운로드가 완료되었습니다.,", - "cmd.downloadSettings.info.readdingOnline": "동기화를 읽고:온라인 설정합니다.,", - "cmd.downloadSettings.info.gotLatestVersion": "동기화:당신은 이미 있는 최신 버전의 설정을 저장합니다.,", - "cmd.downloadSettings.error.removeExtFail": "동기화:수 없는 일부를 제거하 extensions.,", - "cmd.downloadSettings.error.unableSave": "동기화:할 수 없을 저장하는 설정 파일 확장자.,", - "cmd.resetSettings.title": "동기화:확장이 설정", - "cmd.resetSettings.info.resetting": "동기화:재설정 설정.,", - "cmd.resetSettings.info.settingClear": "동기화:설정을 지워집니다.,", - "cmd.otherOptions.title": "동기화:고급 옵션", - "cmd.otherOptions.openSettingsPage": "동기화:열기 설정,", + "cmd.downloadSettings.error.removeExtFail": "동기화:를 제거할 수 어떤 확장자.", + "cmd.downloadSettings.error.unableSave": "동기화:를 저장할 수 없습 확장자 설정 파일입니다.", + "cmd.downloadSettings.info.downloaded": "동기화:다운로드가 완료되었습니다.", + "cmd.downloadSettings.info.gotLatestVersion": "동기화:당신은 이미 있는 최신 버전의 저장한 설정입니다.", + "cmd.downloadSettings.info.readdingOnline": "동기화를 읽고:설정을 온라인.", + "cmd.downloadSettings.title": "동기화:설정을 다운로드", + "cmd.howSetting.title": "동기화:을 구성하는 방법", + "cmd.otherOptions.customizedSync": "동기화:가 사용자 정의 파일 경로 Sync", + "cmd.otherOptions.customizedSync.done": "동기화:{0}등록되었습니다.", + "cmd.otherOptions.customizedSync.placeholder": "입력하는 절대 경로를 추가로 업로드한 파일.", + "cmd.otherOptions.customizedSync.prompt": "(ex. /path/to/.eslintrc)될 것입 업로드 및 다운로드하여 지정한 경로에 있습니다.", + "cmd.otherOptions.downloadCustomFile": "동기화:수입 관 Sync 파일을 작업공간", + "cmd.otherOptions.downloadCustomFile.done": "다운로드{0}.", + "cmd.otherOptions.downloadCustomFile.placeholder": "선택하려면 원하는 파일을 다운로드를 뿌리는 작업 공간의 당신이하게 작업을 수행할 수 있습니다.", + "cmd.otherOptions.downloadSetting": "동기화:설정을 다운로드에서 공공 GIST", "cmd.otherOptions.editLocalSetting": "동기화:편집장 지역 설정", - "cmd.otherOptions.shareSetting": "동기화:공정과 공 GIST,", - "cmd.otherOptions.shareSetting.beforeConfirm": "동기화:이 제거됩니다 현재 라이브 업로드 설정에서 새로운 공용 요점입니다. 계속하시겠습니까?,", - "cmd.otherOptions.downloadSetting": "동기화:설정을 다운로드에서 공공 GIST,", - "cmd.otherOptions.toggleForceDownload": "동기화:전환 강제로 다운로드", - "cmd.otherOptions.toggleForceDownload.on": "동기화:힘을 다운로드 켜져 있습니다.,", - "cmd.otherOptions.toggleForceDownload.off": "동기화:강제로 해제됩니다.,", - "cmd.otherOptions.toggleAutoUpload": "동기화:토글 자동 업로드에 설정 변경,", - "cmd.otherOptions.toggleAutoUpload.on": "동기화:자동 업로드에 설정 변경 켜져 있습니다. 이 후에 효력을 다시 시작합니다.,", - "cmd.otherOptions.toggleAutoUpload.off": "동기화:자동 업로드에 설정 변경 꺼져 있습니다.,", - "cmd.otherOptions.toggleAutoDownload": "동기화:토글 자동 다운로드에 시작", - "cmd.otherOptions.toggleAutoDownload.on": "동기화:자동 다운로드 설정에 따라 VSCode 시작합니다.,", - "cmd.otherOptions.toggleAutoDownload.off": "동기화:자동 다운로드를 꺼에 VSCode 시작합니다.,", - "cmd.otherOptions.toggleSummaryPage": "화로 전환하여 요약 페이지에 업로드/다운로드", - "cmd.otherOptions.preserve": "동기화:보존에 설정을 중지하는 재정의 후 다운로드", - "cmd.otherOptions.preserve.placeholder": "입력하에서 키를 설정합니다.json 을 보존합니다.,", - "cmd.otherOptions.preserve.prompt": "예제:'http 니다.프록시'=>스토어 이 컴퓨터에 프록시와 덮어,설정된 경우 빈이 제거됩 proxy.,", - "cmd.otherOptions.preserve.info.done1": "동기화:수니다. {0}값 설정에서 제거합니다.json 후 다운로드.,", - "cmd.otherOptions.preserve.info.done2": "동기화:수니다. 확장 유{0}:{1}에서 설정합니다.json 후 다운로드.,", - "cmd.otherOptions.customizedSync": "동기화:사용자 지정 동의 파일 경로,", - "cmd.otherOptions.customizedSync.placeholder": "입력하는 절대 경로를 추가로 업로드한 파일.,", - "cmd.otherOptions.customizedSync.prompt": "(ex. /path/to/.eslintrc)될 것입 업로드 및 다운로드하여 지정한 경로에 있습니다.,", - "cmd.otherOptions.customizedSync.done": "동기화:{0}등록되었습니다.,", - "cmd.otherOptions.downloadCustomFile": "동기화:사용자 지정 Sync 파일을 작업 영역", - "cmd.otherOptions.downloadCustomFile.placeholder": "선택하려면 원하는 파일을 다운로드를 뿌리의 작업공간에서 작업하고 있습니다.,", - "cmd.otherOptions.downloadCustomFile.done": "다운로드{0}.,", + "cmd.otherOptions.error.toggleFail": "동기화:할 수 없 전환합니다.", "cmd.otherOptions.joinCommunity": "동기화인 커뮤니티", "cmd.otherOptions.openIssue": "동기화:열린 문제", + "cmd.otherOptions.openSettingsPage": "동기화:열기 설정", + "cmd.otherOptions.preserve": "동기화:보존에 설정을 중지하는 재정의 후 다운로드", + "cmd.otherOptions.preserve.info.done1": "동기화:Done. {0}값에서 제거됩니다 설정합니다.json 후 다운로드합니다.", + "cmd.otherOptions.preserve.info.done2": "동기화:Done. 확장 유{0}:{1}에서 설정합니다.json 후 다운로드합니다.", + "cmd.otherOptions.preserve.placeholder": "입력하에서 키를 설정합니다.json 을 보호구역도 있습니다.", + "cmd.otherOptions.preserve.prompt": "예제:Write'http.프록시'=>스토어 이 컴퓨터에 프록시와 덮어 그것을 설정하면,비어 그것을 제거하시오.", + "cmd.otherOptions.quietSync.off": "동기화:요약될 것입에 따라 다음과 같 다운로드/업로드 할 수 있습니다.", + "cmd.otherOptions.quietSync.on": "동기화 상태 표시줄 것입 업데이트 다운로드/업로드 할 수 있습니다.", "cmd.otherOptions.releaseNotes": "동기화:릴리스", - "cmd.otherOptions.quietSync.on": "동기화 상태 표시줄 것입 업데이트 다운로드/업로드 할 수 있습니다.,", - "cmd.otherOptions.quietSync.off": "동기화:요약될 것입에 따라 다음과 같 다운로드/업로드 할 수 있습니다.,", - "cmd.otherOptions.warning.tokenNotRequire": "동기화:설정 동기화를 요구하지 않습 GitHub 토큰에서 지금이다.", - "cmd.otherOptions.error.toggleFail": "동기화:할 수 없습 Toggle.,", - "cmd.otherOptions.triggerReset": "동기화:당신은 설정할 수 있을까?,", - "common.info.installed": "동기화:설정을 만들어를 설치 주셔서 감사합니다!,", - "common.info.needHelp": "동기화:도움이 필요성이 확장을까?,", - "common.info.excludeFile": "동기화:를 제외할 수 있습니다 어떤 파일/폴더 업로드 및 설정을 다운로드 할 수 있습니다.,", - "common.info.updating": "동기:업데이트를 진행하시기 바랍니다,", - "common.info.initAutoUpload": "동기화:자동 업로드 시작 5Seconds.,", - "common.info.setToken": "동기화:지금 당신은 설정할 수 있습니다 GitHub 토큰으로`syncLocalSettings 니다.json`,", - "common.info.tokenSaved": "동기화:토큰의 저장,", - "common.info.gistSaved": "동기화:Gist,저장", - "common.info.updateTo": "동기:업데이트된 v{0},", - "common.info.donate": "동기화:당신은 다음과 같이 확장니까? 쓰는 방법에 대해 검토를 보내거나 기부까? ", - "common.error.message": "동기화:오류 로그인 콘솔(도움말 메뉴>전환 개발자 도구).,", - "common.error.connection": "동기화:인터넷에 연결되지 않거나에 연결할 수 없습니다! 예외에 로그인 콘솔", - "common.error.canNotSave": "동기화할 수 없습니다 설정을 저장합니다. 이 있는지 확인하시기 바랍 유효한 JSON 설정합니다.json 파일입니다. (예를 들어:아 뒤에 쉼표),", - "common.error.invalidToken": "동기화:부적합하거나 만료된 GitHub 토큰을 발급합니다. 십시오를 생성하는 새로운로 토큰을 범위에 언급된 추가 정보입니다. 예외에 기록됩니다.,", - "common.error.invalidGistId": "동기화:잘못된 Gist Id 를 입력합니다. 확인하는 귀하의 요점:https://gist.github.com//.,", - "common.error.tokenNotSave": "동기화:토큰 저장되지 않습니다.,", - "common.error.gistNotSave": "동기화:Gist 저장되지 않습니다.,", + "cmd.otherOptions.shareSetting": "동기화:공정과 공 GIST", + "cmd.otherOptions.shareSetting.beforeConfirm": "동기화:이 제거됩니다 현재 라이브 업로드 설정에서 새로운 공 GIST. 계속하시겠습니까?", + "cmd.otherOptions.title": "동기화:고급 옵션", + "cmd.otherOptions.toggleAutoDownload": "동기화:토글 자동 다운로드에 시작", + "cmd.otherOptions.toggleAutoDownload.off": "동기화:자동 다운로드를 꺼에 VSCode 시작합니다.", + "cmd.otherOptions.toggleAutoDownload.on": "동기화:자동 다운로드 설정에 따라 VSCode 시작합니다.", + "cmd.otherOptions.toggleAutoUpload": "동기화:토글 자동 업로드에 설정 변경", + "cmd.otherOptions.toggleAutoUpload.off": "동기화:자동 업로드에 설정 변경 꺼져 있습니다.", + "cmd.otherOptions.toggleAutoUpload.on": "동기화:자동 업로드에 설정 변경 켜져 있습니다. 이 후에 적용됩니다 다시 시작합니다.", + "cmd.otherOptions.toggleForceDownload": "동기화:전환 강제로 다운로드", + "cmd.otherOptions.toggleForceDownload.off": "동기화:강제로 해제됩니다.", + "cmd.otherOptions.toggleForceDownload.on": "동기화:힘을 다운로드 켜져 있습니다.", + "cmd.otherOptions.toggleForceUpload": "동기화:전환 강제 업로드", + "cmd.otherOptions.toggleForceUpload.off": "동기화:힘을 업로드 해제됩니다.", + "cmd.otherOptions.toggleForceUpload.on": "동기화:력 업로드 켜져 있습니다.", + "cmd.otherOptions.toggleSummaryPage": "화로 전환하여 요약 페이지에 업로드/다운로드", + "cmd.otherOptions.triggerReset": "동기화:당신은 설정할 수?", + "cmd.otherOptions.warning.tokenNotRequire": "동기화:설정 동기화를 요구하지 않습 GitHub 토큰에서 가능합니다.", + "cmd.resetSettings.info.resetting": "동기화:재설정합니다.", + "cmd.resetSettings.info.settingClear": "동기화:설정을 지워집니다.", + "cmd.resetSettings.title": "동기화 모드를 설정 확장 프로그램 설정", + "cmd.updateSettings.error.gistNotSave": "동기화:GIST 저장되지 않습", + "cmd.updateSettings.error.newGistCreateFail": "동기화:를 만들 수 없습 Gist.", + "cmd.updateSettings.error.readGistFail": "동기화:GIST ID:{0}할 수 없습니다.", + "cmd.updateSettings.info.newGistCreated": "동기화:새로운 요지 만들어집니다.", + "cmd.updateSettings.info.readding": "동기화를 읽고:설정하고 확장입니다.", + "cmd.updateSettings.info.shareGist": "동기화할 수 있습니 Id 과는 다른 확장을 공유하는 사용자 설정합니다.", + "cmd.updateSettings.info.uploadCanceled": "동기화:로 업로드 과정이 취소됩니다.", + "cmd.updateSettings.info.uploading": "동기화:에 업로드/업데이트 설정이다.", + "cmd.updateSettings.info.uploadingDone": "동기화:업로드를 완료합니다. GIST ID:{0}. 를 복사해서 사용하시기 바랍 이 ID 는 다른 시스템에서 다운로드 설정합니다.", + "cmd.updateSettings.info.uploadingFile": "동기화:파일을 업로드하는 데이터입니다.", + "cmd.updateSettings.info.uploadingSuccess": "동기화:성공적으로 업로드되.", + "cmd.updateSettings.title": "동기:업데이트/업로드 설정", + "cmd.updateSettings.warning.OSNotSupported": "동기화 Pragma OS{0}값이 지원하지 않는에서 선{1}", + "cmd.updateSettings.warning.noToken": "동기화:설정 GitHub 토큰 또는 비활성화'downloadPublicGist'현지에서 동기화 설정 파일입니다.", + "common.action.donate": "지금 기부", + "common.action.joinCommunity": "커뮤니티 가입", "common.action.openExtPage": "열어 확장자 페이지", - "common.action.openExtTutorial": "오픈,튜토리얼", - "common.action.releaseNotes": "릴리스", + "common.action.openExtTutorial": "서", + "common.action.releaseNotes": "릴리즈 노트", + "common.action.support": "이 프로젝트 지원", "common.action.writeReview": "쓰 검토", - "common.action.support": "이 프로젝트", - "common.action.joinCommunity": "가입 커뮤니티", - "common.action.donate": "지금 기부,", - "common.placeholder.enterGithubAccessToken": "입력 GitHub 개인 액세스 토큰", + "common.button.yes": "네", + "common.error.canNotSave": "동기화할 수 없습니다 설정을 저장합니다. 이 있는지 확인하시기 바랍 유효한 JSON 설정합니다.json 파일입니다. (예를 들어:아 뒤에 쉼표)", + "common.error.connection": "동기화:인터넷에 연결되지 않거나에 연결할 수 없습니다! 예외에 로그인 콘솔", + "common.error.gistNotSave": "동기화:Gist 저장되지 않습니다.", + "common.error.invalidGistId": "동기화:잘못된 Gist Id 를 입력합니다. 확인하는 귀하의 요점:https://gist.github.com//.", + "common.error.invalidToken": "동기화:부적합하거나 만료된 GitHub 토큰을 발급합니다. 십시오를 생성하는 새로운로 토큰을 범위에 언급된 추가 정보. 예외에 기록됩니다.", + "common.error.message": "동기화:오류 로그인 콘솔(도움말 메뉴>전환 개발자 도구).", + "common.error.tokenNotSave": "동기화:토큰 저장되지 않습니다.", + "common.info.donate": "동기화:당신은 다음과 같이 확장? 쓰는 방법에 대해 검토를 보내거나 기부? ", + "common.info.excludeFile": "동기화:를 제외할 수 있습니다 어떤 파일/폴더 업로드 및 설정을 다운로드 할 수 있습니다.", + "common.info.gistSaved": "동기화:Gist 저장", + "common.info.initAutoUpload": "동기화:자동 업로드 시작에서{0}초입니다.", + "common.info.installed": "동기화:설정을 만들어 설치 주셔서 감사합니다!", + "common.info.needHelp": "동기화:도움이 필요성이 확장?", + "common.info.setToken": "동기화:지금 당신은 설정할 수 있습니다 GitHub 토큰으로`syncLocalSettings.json`", + "common.info.tokenSaved": "동기화:토큰 저장", + "common.info.updateTo": "동기:업데이트된 v{0}", + "common.info.updating": "동기:업데이트를 진행합니다.", "common.placeholder.enterGistId": "입력 Gist Id", - "common.placeholder.multipleGist": "Gist 이름(예:개인정),", - "common.prompt.multipleGist": "할 수 있습 설정을 확인이 여러 개 있는 경우 gist.,", - "common.prompt.enterGistId": "입력 Gist Id 에서 이전에 업로드 설정합니다. 을 설정할 수도 있습니다 코드에서 수동으로 설정(동기화합니다.gist). Press[Enter]이나[Esc]를 취소할 수 있습니다.,", - "common.prompt.enterGithubAccessToken": "당신은 또한 당신 수동으로 추가하는 토큰(사용자의 폴더/syncLocalSettings 니다.json). Press[Enter]이나[Esc]를 취소할 수 있습니다.,", - "common.prompt.restartCode": "다시 로드해야 할 일을 적용 확장자와 구성하는가?,", - "common.button.yes": "네" + "common.placeholder.enterGithubAccessToken": "입력 GitHub 스템", + "common.placeholder.multipleGist": "Gist 이름(예:개인 설정)", + "common.prompt.enterGistId": "입력 Gist Id 에서 이전에 업로드 설정합니다. 을 설정할 수도 있습니다 코드에서 수동으로 설정(동기화됩니다.gist). Press[Enter]이나[Esc]를 취소할 수 있습니다.", + "common.prompt.enterGithubAccessToken": "당신은 또한 당신 수동으로 추가하는 토큰(사용자의 폴더/syncLocalSettings.json). Press[Enter]이나[Esc]를 취소할 수 있습니다.", + "common.prompt.gistNewer": "동기화:Gist,새로운 또는 동일한 버전의 설정합니다. 사용하시겠습니까 forceUpload 을 재정의 이?", + "common.prompt.multipleGist": "할 수 있습 설정을 확인이 여러 개 있는 경우 gist.", + "common.prompt.restartCode": "다시 로드해야 할 일을 적용 확장자와 구성?", + "ext.config.askGistName": "물 gist 이름을 받습니다. 를 식별하는 데 도움이 요점이 있는 경우 여러 되었습니다.", + "ext.config.autoDownload": "설정 그것은 진실을 자동으로 다운로드 설정 코드를 시작합니다. [코드를 다시 시작해야 합니다]", + "ext.config.autoDownload.name": "자동 다운로드", + "ext.config.autoUpload": "설정 그것은 진실을 자동 업로드에서 설정을 변경합니다. [코드를 다시 시작해야 합니다]", + "ext.config.autoUpload.name": "자동 업로드", + "ext.config.forceDownload": "True 다운로드하려면 설정이 있는 경우에는 최신 설정합니다.", + "ext.config.forceDownload.name": "힘을 다운로드", + "ext.config.forceUpload": "True 을 업로드하려면 설정할 때도 요지는 새로운 설정합니다.", + "ext.config.forceUpload.name": "강제 업로드", + "ext.config.gist": "GitHub GIST ID 를 설정에 대한 동기화됩니다.", + "ext.config.gist.name": "Gist ID", + "ext.config.gist.placeholder": "입력 Gist ID", + "ext.config.host": "로 설정하 GitHub 엔터프라이즈 호스트를 사용하려면 GHE.", + "ext.config.lastDownload": "설정 마지막 동기화를 다운로드 날짜입니다. 으로 설정 빈하려는 경우는 수동으로 충돌 다운로드합니다.", + "ext.config.lastUpload": "설정 Sync 마지막 업로드 날짜입니다. 으로 설정 빈하려는 경우는 수동으로 충돌 다운로드합니다.", + "ext.config.pathPrefix": "로 설정하 GitHub Enterprise API 를 접두사로 사용하려면 GHE. 일반적으로'/api/v3'. 만할 때 사용되는 호스트를 설정합니다.", + "ext.config.quietSync": "True 로 설정하여 결과는 상태 표시 줄에서 대신의 페이지에서 문의하시기 바랍니다.", + "ext.config.quietSync.name": "한 동기화", + "ext.config.removeExtensions": "그 값을 false 로 설정하지 않으려면 확장자를 제거하는 동안 다운로드합니다.", + "ext.config.removeExtensions.name": "제 확장", + "ext.config.syncExtensions": "그 값을 false 로 설정하지 않으려면을 업로드/다운로드 extensions.", + "ext.config.syncExtensions.name": "동기화 확장", + "ext.config.title": "코드 설정 동기화는 구성 설정", + "ext.globalConfig.askGistName.name": "물 Gist 이름", + "ext.globalConfig.autoUploadDelay.name": "자동 업로드가 지연", + "ext.globalConfig.autoUploadDelay.placeholder": "의 금액을 입력 초 지연하는 자동 업로드", + "ext.globalConfig.downloadPublicGist.name": "다운로드 공 Gist", + "ext.globalConfig.gistDescription.name": "Gist 설명", + "ext.globalConfig.gistDescription.placeholder": "입력 Gist 설명", + "ext.globalConfig.githubEnterpriseUrl.name": "GitHub Enterprise URL(옵션)", + "ext.globalConfig.githubEnterpriseUrl.placeholder": "입력 GitHub Enterprise URL", + "ext.globalConfig.hostName.name": "호스트 이름(선택)", + "ext.globalConfig.hostName.placeholder": "입력한 호스트명", + "ext.globalConfig.ignoreExtensions.name": "무 확장", + "ext.globalConfig.ignoreExtensions.placeholder": "입력하 하나의 확장자에 따 라인(이름)", + "ext.globalConfig.ignoreUploadFiles.name": "무시 파일", + "ext.globalConfig.ignoreUploadFiles.placeholder": "입력 한 파일을 줄당", + "ext.globalConfig.ignoreUploadFolders.name": "무시하는 폴더", + "ext.globalConfig.ignoredUploadFolders.placeholder": "중 하나를 입력 폴더 라인당", + "ext.globalConfig.openTokenLink.name": "오픈 토큰 링크", + "ext.globalConfig.supportedFileExtensions.name": "지원 파일 확장자", + "ext.globalConfig.supportedFileExtensions.placeholder": "입력하 하나의 파일 확장자에 따 라인", + "ext.globalConfig.token.name": "액세스 토큰", + "ext.globalConfig.token.placeholder": "입력 토큰" } \ No newline at end of file diff --git a/package.nls.pt-br.json b/package.nls.pt-br.json index 8c020adb..e78da4ad 100644 --- a/package.nls.pt-br.json +++ b/package.nls.pt-br.json @@ -1,106 +1,143 @@ { - "ext.config.title": "Código De Definições De Sincronização De Definições De Configuração,", - "ext.config.gist": "GIST do GitHub IDENTIFICAÇÃO para as Configurações de Sincronização.,", - "ext.config.lastUpload": "Definições de Sincronização última data de envio. Definir como vazio se você deseja manualmente bater download.,", - "ext.config.lastDownload": "Definições de Sincronização última data da transferência. Definir como vazio se você deseja manualmente bater download.,", - "ext.config.autoDownload": "Defina true para Baixar automaticamente as configurações no código de iniciar. [Código Necessário Reiniciar],", - "ext.config.autoUpload": "Defina true para Carregamento Automático sobre a alteração de definições. [Código Necessário Reiniciar],", - "ext.config.forceDownload": "Defina para true se deseja baixar as configurações, mesmo quando você tem as últimas definições.", - "ext.config.host": "Defini-lo para o seu GitHub Empresa de hospedagem se você deseja usar GHE.,", - "ext.config.pathPrefix": "Defini-lo para o seu GitHub Empresa API prefixo, se você deseja usar GHE. Normalmente '/api/v3'. Usado apenas quando o host é definido.,", - "ext.config.quietSync": "Quando definida como true, vai mostrar o resultado na barra de status em vez de resumo página.", - "ext.config.askGistName": "Pergunte a essência de nome após a criação. Ajuda-o a identificar a essência se você tiver vários gists.,", - "ext.config.removeExtensions": "Definido para false se você não deseja remover extensões para download.,", - "ext.config.syncExtensions": "Definido para false se você não quiser fazer o upload / download de extensões.,", - "cmd.howSetting.title": "Sincronização: Como Configurar,", - "cmd.updateSettings.title": "Sincronização: Atualização / Configurações De Upload,", - "cmd.updateSettings.info.uploading": "Sincronização: Uploading / Atualização De Suas Configurações No GitHub.,", - "cmd.updateSettings.info.uploadingFile": "Sincronização: Upload De Arquivos De Dados.", - "cmd.updateSettings.info.uploadingDone": "Sincronização: A Transferência Concluída. ESSÊNCIA ID : {0}. Por favor, copiar e utilizar este ID de outras máquinas para transferir definições.", - "cmd.updateSettings.info.uploadingSuccess": "Sincronização: Carregado Com Êxito.,", - "cmd.updateSettings.info.shareGist": "Sincronização: Compartilhar a Identificação com outra extensão do blog para compartilhar as definições.", - "cmd.updateSettings.info.readding": "Sincronização: Definições de Leitura e de Extensões.,", - "cmd.updateSettings.info.newGistCreated": "Sincronização: a Nova ideia criada.,", - "cmd.updateSettings.warning.noToken": "Sincronização: a Definir GitHub Token ou desactivar 'downloadPublicGist' a partir do local de definições de Sincronização de ficheiros.,", - "cmd.updateSettings.warning.OSNotSupported": "Sincronização Pragma OS value {0} não é suportado linha {1},", - "cmd.updateSettings.error.newGistCreateFail": "Sync: não é Possível criar Essência.,", - "cmd.updateSettings.error.readGistFail": "Sincronização: a ESSÊNCIA ID : {0} não é POSSÍVEL LER.,", - "cmd.updateSettings.error.gistNotSave": "Sincronização: a ESSÊNCIA NÃO SALVO,", + "cmd.downloadSettings.error.removeExtFail": "Sync: não é Possível remover algumas extensões.", + "cmd.downloadSettings.error.unableSave": "Sync: não é Possível salvar as configurações da extensão do arquivo.", + "cmd.downloadSettings.info.downloaded": "Sincronização: Baixar Completo.", + "cmd.downloadSettings.info.gotLatestVersion": "Sincronização: Você já tem a versão mais recente de configurações salvas.", + "cmd.downloadSettings.info.readdingOnline": "Sincronização: Definições De Leitura On-Line.", "cmd.downloadSettings.title": "Sincronização: Configurações De Download", - "cmd.downloadSettings.info.downloaded": "Sincronização: Baixar Completo.,", - "cmd.downloadSettings.info.readdingOnline": "Sincronização: Definições De Leitura Online.", - "cmd.downloadSettings.info.gotLatestVersion": "Sincronização: Você já tem a versão mais recente de configurações salvas.,", - "cmd.downloadSettings.error.removeExtFail": "Sync: não é Possível remover algumas extensões.,", - "cmd.downloadSettings.error.unableSave": "Sync: não é Possível salvar as configurações da extensão do ficheiro.", - "cmd.resetSettings.title": "Sincronização: Redefinir As Configurações De Extensão,", - "cmd.resetSettings.info.resetting": "Sincronização: A Redefinição De Suas Definições.", - "cmd.resetSettings.info.settingClear": "Sincronização: Definições Desmarcada.,", - "cmd.otherOptions.title": "Sincronização: Opções Avançadas,", - "cmd.otherOptions.openSettingsPage": "Sincronização: Abrir As Definições,", - "cmd.otherOptions.editLocalSetting": "Sincronização: Editar Extensão De Configurações Locais,", - "cmd.otherOptions.shareSetting": "Sincronização: Definições de Partilha com o Público ESSÊNCIA,", - "cmd.otherOptions.shareSetting.beforeConfirm": "Sincronização: Isto irá remover a actual ESSÊNCIA e configurações de upload no novo pública ESSÊNCIA. Você deseja continuar?,", - "cmd.otherOptions.downloadSetting": "Sincronização: Configurações de Download de Público ESSÊNCIA,", - "cmd.otherOptions.toggleForceDownload": "Sincronização: A Alternância De Força Download,", - "cmd.otherOptions.toggleForceDownload.on": "Sincronização: A Força De Download Ligado.,", - "cmd.otherOptions.toggleForceDownload.off": "Sincronização: A Força De Download Desligada.,", - "cmd.otherOptions.toggleAutoUpload": "Sincronização: A Alternância De Auto-Carregar Configurações De Alteração,", - "cmd.otherOptions.toggleAutoUpload.on": "Sincronização: upload Automático na Alteração de Configuração ativada. Isso terá efeito após a reinicialização.,", - "cmd.otherOptions.toggleAutoUpload.off": "Sincronização: upload Automático na Alteração de Configuração Desligado.,", - "cmd.otherOptions.toggleAutoDownload": "Sincronização: A Alternância De Download Automático Na Inicialização,", - "cmd.otherOptions.toggleAutoDownload.on": "Sincronização: Download Automático ligado ao VSCode de Inicialização.,", - "cmd.otherOptions.toggleAutoDownload.off": "Sincronização: Download Automático DESLIGADO após VSCode de Inicialização.,", - "cmd.otherOptions.toggleSummaryPage": "Sincronização: A Alternância De Mostrar Página De Resumo De Upload / Download,", - "cmd.otherOptions.preserve": "Sincronização: Preservar A Configuração Para Parar De Substituição Após O Download,", - "cmd.otherOptions.preserve.placeholder": "Introduzir a Chave de configurações.json para preservar.,", - "cmd.otherOptions.preserve.prompt": "Exemplo : Escrever 'http.proxy' => guarde este computador de proxy e substituí-lo , se o conjunto vazio, ele irá remover o proxy.,", - "cmd.otherOptions.preserve.info.done1": "Sincronização: Feito. {0} valor será removido a partir de definições.json após o download.,", - "cmd.otherOptions.preserve.info.done2": "Sincronização: Feito. Extensão irá mantê - {0} : {1} na definição.json após o download.,", - "cmd.otherOptions.customizedSync": "Sincronização: Adicionar Sincronização Personalizada caminho do Arquivo,", - "cmd.otherOptions.customizedSync.placeholder": "Inserir um caminho absoluto do adicional arquivo carregado.,", - "cmd.otherOptions.customizedSync.prompt": "(ex. /caminho/para/.eslintrc) será carregado e descarregado para o caminho especificado.,", - "cmd.otherOptions.customizedSync.done": "Sincronização: {0} foi registrado.,", - "cmd.otherOptions.downloadCustomFile": "Sincronização: a Importação de Sincronização Personalizada Arquivo de espaço de trabalho,", - "cmd.otherOptions.downloadCustomFile.placeholder": "Selecione o arquivo que você deseja transferir para a raiz do espaço de trabalho que você está trabalhando.,", - "cmd.otherOptions.downloadCustomFile.done": "Baixado {0}.,", - "cmd.otherOptions.joinCommunity": "Sincronização: Junte-Se A Comunidade,", - "cmd.otherOptions.openIssue": "Sincronização: Questão Aberta,", - "cmd.otherOptions.releaseNotes": "Sincronização: Notas De Versão,", - "cmd.otherOptions.quietSync.on": "Sincronização: a barra de Status será atualizada após o download / upload.,", - "cmd.otherOptions.quietSync.off": "Sincronização: Resumo será mostrado após o download / upload.,", - "cmd.otherOptions.warning.tokenNotRequire": "Sincronização: Definições de Sincronização não vai pedir para o GitHub Token a partir de agora.,", - "cmd.otherOptions.error.toggleFail": "Sync: não é Possível Alternar.,", - "cmd.otherOptions.triggerReset": "Sincronização: você deseja redefinir as configurações ?,", - "common.info.installed": "Sincronização: Definições criadas, agradecer a você para instalar!,", - "common.info.needHelp": "Sincronização: Precisa de Ajuda para configurar esta extensão?,", - "common.info.excludeFile": "Sincronização: Você pode excluir qualquer arquivo / pasta para carregar e definições para download.,", - "common.info.updating": "Sincronização: A Atualização Em Andamento ... Por Favor, Aguarde.,", - "common.info.initAutoUpload": "Sincronização: Upload Automático Com Início Em 5 Segundos.,", - "common.info.setToken": "Sincronização: Agora Você pode definir o seu GitHub token manualmente em `syncLocalSettings.json`,", - "common.info.tokenSaved": "Sincronização: Token Salvo,", - "common.info.gistSaved": "Sincronização: A Essência Salvo,", - "common.info.updateTo": "Sincronização: Atualizado para v{0},", + "cmd.howSetting.title": "Sincronização: Como Configurar", + "cmd.otherOptions.customizedSync": "Sincronização: Adicionar Sincronização Personalizada caminho do Arquivo", + "cmd.otherOptions.customizedSync.done": "Sincronização: {0} foi registrado.", + "cmd.otherOptions.customizedSync.placeholder": "Inserir um caminho absoluto do adicional arquivo carregado.", + "cmd.otherOptions.customizedSync.prompt": "(ex. /caminho/para/.eslintrc) será carregado e descarregado para o caminho especificado.", + "cmd.otherOptions.downloadCustomFile": "Sincronização: a Importação de Sincronização Personalizada Arquivo de espaço de trabalho", + "cmd.otherOptions.downloadCustomFile.done": "Baixado {0}.", + "cmd.otherOptions.downloadCustomFile.placeholder": "Selecione o arquivo que você deseja transferir para a raiz do espaço de trabalho que você está trabalhando.", + "cmd.otherOptions.downloadSetting": "Sincronização: Configurações de Download de Público ESSÊNCIA", + "cmd.otherOptions.editLocalSetting": "Sincronização: Editar Extensão De Configurações Locais", + "cmd.otherOptions.error.toggleFail": "Sync: não é Possível Alternar.", + "cmd.otherOptions.joinCommunity": "Sincronização: Junte-Se A Comunidade", + "cmd.otherOptions.openIssue": "Sincronização: Questão Aberta", + "cmd.otherOptions.openSettingsPage": "Sincronização: Configuração Abrir", + "cmd.otherOptions.preserve": "Sincronização: Preservar A Configuração Para Parar De Substituição Após O Download", + "cmd.otherOptions.preserve.info.done1": "Sincronização: Feito. {0} valor será removido a partir de definições.json após o download.", + "cmd.otherOptions.preserve.info.done2": "Sincronização: Feito. Extensão irá mantê - {0}: {1} na definição.json após o download.", + "cmd.otherOptions.preserve.placeholder": "Introduzir a Chave de configurações.json para preservar.", + "cmd.otherOptions.preserve.prompt": "Exemplo: Escrever 'http.proxy' => guarde este computador de proxy e substituí-lo , se o conjunto vazio, ele irá remover o proxy.", + "cmd.otherOptions.quietSync.off": "Sincronização: Resumo será mostrado após o download/upload.", + "cmd.otherOptions.quietSync.on": "Sincronização: a barra de Status será atualizada após o download/upload.", + "cmd.otherOptions.releaseNotes": "Sincronização: Notas De Lançamento", + "cmd.otherOptions.shareSetting": "Sincronização: Definições de Partilha com o Público ESSÊNCIA", + "cmd.otherOptions.shareSetting.beforeConfirm": "Sincronização: Isto irá remover a actual ESSÊNCIA e configurações de upload no novo pública ESSÊNCIA. Você deseja continuar?", + "cmd.otherOptions.title": "Sincronização: Opções Avançadas", + "cmd.otherOptions.toggleAutoDownload": "Sincronização: A Alternância De Download Automático Na Inicialização", + "cmd.otherOptions.toggleAutoDownload.off": "Sincronização: Download Automático DESLIGADO após VSCode de Inicialização.", + "cmd.otherOptions.toggleAutoDownload.on": "Sincronização: Download Automático ligado ao VSCode de Inicialização.", + "cmd.otherOptions.toggleAutoUpload": "Sincronização: A Alternância De Auto-Carregamento Sobre A Alteração De Configurações De", + "cmd.otherOptions.toggleAutoUpload.off": "Sincronização: upload Automático na Alteração de Configuração Desligado.", + "cmd.otherOptions.toggleAutoUpload.on": "Sincronização: upload Automático na Alteração de Configuração ativada. Isso terá efeito após a reinicialização.", + "cmd.otherOptions.toggleForceDownload": "Sincronização: A Alternância De Força Download", + "cmd.otherOptions.toggleForceDownload.off": "Sincronização: A Força De Download Desligado.", + "cmd.otherOptions.toggleForceDownload.on": "Sincronização: A Força De Download Ativado.", + "cmd.otherOptions.toggleForceUpload": "Sincronização: A Alternância De Força Upload", + "cmd.otherOptions.toggleForceUpload.off": "Sincronização: A Força De Carregar Desligado.", + "cmd.otherOptions.toggleForceUpload.on": "Sincronização: A Força De Carregar Ativado.", + "cmd.otherOptions.toggleSummaryPage": "Sincronização: A Alternância De Mostrar Página De Resumo De Upload/Download", + "cmd.otherOptions.triggerReset": "Sincronização: você deseja redefinir as configurações ?", + "cmd.otherOptions.warning.tokenNotRequire": "Sincronização: Definições de Sincronização não vai pedir para o GitHub Token a partir de agora.", + "cmd.resetSettings.info.resetting": "Sincronização: Redefinir As Configurações.", + "cmd.resetSettings.info.settingClear": "Sincronização: Definições Limpo.", + "cmd.resetSettings.title": "Sincronização: Redefinir As Configurações De Extensão", + "cmd.updateSettings.error.gistNotSave": "Sincronização: a ESSÊNCIA NÃO SALVO", + "cmd.updateSettings.error.newGistCreateFail": "Sync: não é Possível criar Essência.", + "cmd.updateSettings.error.readGistFail": "Sincronização: a ESSÊNCIA ID: {0} não é POSSÍVEL LER.", + "cmd.updateSettings.info.newGistCreated": "Sincronização: a Nova essência criado.", + "cmd.updateSettings.info.readding": "Sincronização: Definições de Leitura e de Extensões.", + "cmd.updateSettings.info.shareGist": "Sincronização: Compartilhar a Identificação com outra extensão do blog para compartilhar as configurações.", + "cmd.updateSettings.info.uploadCanceled": "Sincronização: O Processo De Carregar Cancelado.", + "cmd.updateSettings.info.uploading": "Sincronização: Uploading/Atualização De Suas Configurações No GitHub.", + "cmd.updateSettings.info.uploadingDone": "Sincronização: A Transferência Concluída. ESSÊNCIA ID: {0}. Por favor, copiar e utilizar este ID de outras máquinas para transferir definições.", + "cmd.updateSettings.info.uploadingFile": "Sincronização: Upload De Arquivos De Dados.", + "cmd.updateSettings.info.uploadingSuccess": "Sincronização: Carregado Com Êxito.", + "cmd.updateSettings.title": "Sincronização: Atualização/Carregar Configurações", + "cmd.updateSettings.warning.OSNotSupported": "Sincronização Pragma OS value {0} não é suportado linha {1}", + "cmd.updateSettings.warning.noToken": "Sincronização: a Definir GitHub Token ou desactivar 'downloadPublicGist' a partir do local de definições de Sincronização de arquivo.", + "common.action.donate": "Doe Agora", + "common.action.joinCommunity": "Participe Da Comunidade", + "common.action.openExtPage": "Abrir Página De Extensão", + "common.action.openExtTutorial": "Abrir Um Tutorial", + "common.action.releaseNotes": "Notas De Lançamento", + "common.action.support": "Apoiar Este Projeto", + "common.action.writeReview": "Escrever Análise", + "common.button.yes": "Sim", + "common.error.canNotSave": "Sync: não é Possível Salvar as Configurações. Por favor, certifique-se de que você tem válidos JSON configurações.json arquivo. (por exemplo: Sem a vírgula decimal)", + "common.error.connection": "Sincronização: a Internet Não está Conectado ou não é Possível Conectar-se para o GitHub. Exceção Registrada no Console", + "common.error.gistNotSave": "Sincronização: A Essência Não Salvos.", + "common.error.invalidGistId": "Sincronização: Erro De Essência De Identificação Inseridos. Verifique a sua essência: https://gist.github.com//.", + "common.error.invalidToken": "Sincronização: Inválido Ou Expirou GitHub Token. Por favor, gerar novo token com âmbitos mencionados no leia-me. Exceção Registrada no Console.", + "common.error.message": "Sincronização: Erro Registrado No Console (menu Ajuda > Alternância de Ferramentas do Desenvolvedor).", + "common.error.tokenNotSave": "Sincronização: Token Não Salvos.", "common.info.donate": "Sincronização: você gosta de esta extensão? Que tal escrever um comentário ou enviando um donativo? ", - "common.error.message": "Sincronização: Erro Registrado No Console (menu Ajuda > Alternar as Ferramentas de Desenvolvedor).,", - "common.error.connection": "Sincronização: a Internet Não está Conectado ou não é Possível Conectar-se para o GitHub. Exceção Registrada no Console,", - "common.error.canNotSave": "Sync: não é Possível Salvar as Configurações. Por favor, certifique-se de que você tem válidos JSON configurações.json arquivo. (por exemplo : Sem a vírgula decimal),", - "common.error.invalidToken": "Sincronização: Inválido Ou Expirou GitHub Token. Por favor, gerar novo token com âmbitos mencionados no leia-me. Exceção Registrada no Console.,", - "common.error.invalidGistId": "Sincronização: Erro De Essência De Identificação Inseridos. Verifique a sua essência : https://gist.github.com//.,", - "common.error.tokenNotSave": "Sincronização: Token Não Salvos.,", - "common.error.gistNotSave": "Sincronização: A Essência Não Salvos.,", - "common.action.openExtPage": "Abrir Página De Extensão,", - "common.action.openExtTutorial": "Abrir Um Tutorial,", - "common.action.releaseNotes": "Notas De Lançamento,", - "common.action.writeReview": "Escrever Análise,", - "common.action.support": "Apoiar Este Projeto,", - "common.action.joinCommunity": "Junte-Se A Comunidade,", - "common.action.donate": "Faça Uma Doação Agora,", - "common.placeholder.enterGithubAccessToken": "Introduza O GitHub Pessoal Token De Acesso,", - "common.placeholder.enterGistId": "Digite Essência De Identificação,", - "common.placeholder.multipleGist": "Gist Nome (por exemplo : Definições Pessoais),", - "common.prompt.multipleGist": "Permite identificar as configurações se você tiver vários essência.,", + "common.info.excludeFile": "Sincronização: Você pode excluir qualquer arquivo/pasta para carregar e definições para download.", + "common.info.gistSaved": "Sincronização: A Essência Salvo", + "common.info.initAutoUpload": "Sincronização: Upload Automático De Iniciar No {0} Segundos.", + "common.info.installed": "Sincronização: Definições criadas, agradecer a você para instalar!", + "common.info.needHelp": "Sincronização: Precisa de Ajuda para configurar esta extensão?", + "common.info.setToken": "Sincronização: Agora Você pode definir o seu GitHub token manualmente em `syncLocalSettings.json`", + "common.info.tokenSaved": "Sincronização: Token Salvo", + "common.info.updateTo": "Sincronização: Atualizado para v{0}", + "common.info.updating": "Sincronização: A Atualização Em Andamento... Por Favor, Aguarde.", + "common.placeholder.enterGistId": "Digite Essência De Identificação", + "common.placeholder.enterGithubAccessToken": "Introduza O GitHub Pessoal Token De Acesso", + "common.placeholder.multipleGist": "Gist Nome (por exemplo: Definições Pessoais)", "common.prompt.enterGistId": "Digite Essência Identificação de carregado anteriormente configurações. Você também pode definir manualmente no código (configurações de sincronização.gist). Pressione [Enter] ou a tecla [Esc] para cancelar.", - "common.prompt.enterGithubAccessToken": "Você também adicionar manualmente um token (Pasta de Usuário / syncLocalSettings.json). Pressione [Enter] ou a tecla [Esc] para cancelar.", - "common.prompt.restartCode": "Você deseja recarregar para aplicar extensões e configurações?,", - "common.button.yes": "Sim" + "common.prompt.enterGithubAccessToken": "Você também adicionar manualmente um token (Pasta de Usuário/syncLocalSettings.json). Pressione [Enter] ou a tecla [Esc] para cancelar.", + "common.prompt.gistNewer": "Sincronização: Gist tem um ou mais recente versão idênticos de suas configurações. Você deseja habilitar forceUpload para substituir esse?", + "common.prompt.multipleGist": "Permite identificar as configurações se você tiver vários essência.", + "common.prompt.restartCode": "Você deseja recarregar para aplicar extensões e configurações?", + "ext.config.askGistName": "Pergunte a essência de nome após a criação. Ajuda-o a identificar a essência se você tiver vários gists.", + "ext.config.autoDownload": "Defina true para Baixar automaticamente as configurações no código de iniciar. [Código Necessário Reiniciar]", + "ext.config.autoDownload.name": "Download Automático", + "ext.config.autoUpload": "Defina true para Carregamento Automático sobre a alteração de definições. [Código Necessário Reiniciar]", + "ext.config.autoUpload.name": "Carregamento Automático", + "ext.config.forceDownload": "Defina para true se deseja baixar as configurações, mesmo quando você tem as últimas definições.", + "ext.config.forceDownload.name": "Força De Download", + "ext.config.forceUpload": "Defina para true se deseja carregar as configurações, mesmo quando a ESSÊNCIA tem configurações mais recentes.", + "ext.config.forceUpload.name": "Força Upload", + "ext.config.gist": "GIST do GitHub IDENTIFICAÇÃO para as Configurações de Sincronização.", + "ext.config.gist.name": "Essência ID", + "ext.config.gist.placeholder": "Digite Essência de IDENTIFICAÇÃO", + "ext.config.host": "Defini-lo para o seu GitHub Empresa de hospedagem se você deseja usar GHE.", + "ext.config.lastDownload": "Definições de Sincronização última data da transferência. Definir como vazio se você deseja manualmente bater download.", + "ext.config.lastUpload": "Definições de Sincronização última data de envio. Definir como vazio se você deseja manualmente bater download.", + "ext.config.pathPrefix": "Defini-lo para o seu GitHub Empresa API prefixo, se você deseja usar GHE. Normalmente '/api/v3'. Usado apenas quando o host é definido.", + "ext.config.quietSync": "Quando definida como true, vai mostrar o resultado na barra de status em vez de página de resumo.", + "ext.config.quietSync.name": "Silencioso De Sincronização", + "ext.config.removeExtensions": "Definido para false se você não deseja remover extensões para download.", + "ext.config.removeExtensions.name": "Remover Extensões De", + "ext.config.syncExtensions": "Definido para false se você não quiser fazer o upload/download de extensões.", + "ext.config.syncExtensions.name": "Sincronização De Extensões", + "ext.config.title": "Código De Definições De Sincronização De Definições De Configuração", + "ext.globalConfig.askGistName.name": "Pergunte Gist Nome", + "ext.globalConfig.autoUploadDelay.name": "Upload Automático De Atraso", + "ext.globalConfig.autoUploadDelay.placeholder": "Insira a quantidade de segundos de atraso auto-upload", + "ext.globalConfig.downloadPublicGist.name": "Download Pública Essência", + "ext.globalConfig.gistDescription.name": "Essência Descrição", + "ext.globalConfig.gistDescription.placeholder": "Digite Essência Descrição", + "ext.globalConfig.githubEnterpriseUrl.name": "O GitHub Enterprise URL (opcional)", + "ext.globalConfig.githubEnterpriseUrl.placeholder": "Introduza o GitHub Empresa de URL", + "ext.globalConfig.hostName.name": "Hostname (opcional)", + "ext.globalConfig.hostName.placeholder": "Introduza O Nome De Host", + "ext.globalConfig.ignoreExtensions.name": "Ignorado Extensões", + "ext.globalConfig.ignoreExtensions.placeholder": "Introduza uma extensão por linha (nome completo)", + "ext.globalConfig.ignoreUploadFiles.name": "Arquivos Ignorados", + "ext.globalConfig.ignoreUploadFiles.placeholder": "Inserir um arquivo por linha", + "ext.globalConfig.ignoreUploadFolders.name": "Ignorado Pastas", + "ext.globalConfig.ignoredUploadFolders.placeholder": "Insira uma pasta por linha", + "ext.globalConfig.openTokenLink.name": "Abrir Token Link", + "ext.globalConfig.supportedFileExtensions.name": "Extensões De Arquivo Suportadas", + "ext.globalConfig.supportedFileExtensions.placeholder": "Digite uma extensão de arquivo por linha", + "ext.globalConfig.token.name": "Token De Acesso", + "ext.globalConfig.token.placeholder": "Digite Token" } + diff --git a/package.nls.ru.json b/package.nls.ru.json index bfb20e0c..4f5a153c 100644 --- a/package.nls.ru.json +++ b/package.nls.ru.json @@ -1,106 +1,142 @@ { - "ext.config.title": "Настройки Код Настройки Синхронизации,", - "ext.config.gist": "На GitHub суть ID для настройки синхронизации.,", - "ext.config.lastUpload": "Параметры последней синхронизации Дата загрузки. Установить его как пустой, если вы хотите нажмите Скачать вручную.", - "ext.config.lastDownload": "Параметры дата последней загрузки Sync. Установить его как пустой, если вы хотите нажмите Скачать вручную.", - "ext.config.autoDownload": "Установите в значение true для автоматической загрузки настроек на стартовый код. [Код Перезагрузки Требуется]", - "ext.config.autoUpload": "Установите в значение true для автоматического загрузить на изменение параметров. [Код Перезагрузки Требуется]", - "ext.config.forceDownload": "Установите в true, если вы хотите загрузить настройки, даже когда у вас последние настройки.,", - "ext.config.host": "Установить его на свой гитхаб предприятия хоста, если вы хотите использовать ВСТ.,", - "ext.config.pathPrefix": "Установить его на вашем сайте GitHub API для предприятия префикс, если вы хотите использовать Ге. Обычно '/по API/В3'. Используется только тогда, когда хозяин находится.,", - "ext.config.quietSync": "Если задано значение true, будет показывать результат в строке состояния вместо резюме страница.,", - "ext.config.askGistName": "Задать имя суть при создании. Помогает определить суть, если у вас несколько гастроинтестинальных стромальных опухолей.,", - "ext.config.removeExtensions": "Установите его в false, если вы не хотите, чтобы удалить расширения во время загрузки.,", - "ext.config.syncExtensions": "Установите его в false, если вы не хотите, чтобы загрузить / загрузить расширения.,", - "cmd.howSetting.title": "Синхронизация: Настройка,", - "cmd.updateSettings.title": "Синхронизация: Настройки Обновления / Загрузки,", - "cmd.updateSettings.info.uploading": "Синхронизация: Выгрузка / Обновления Настроек В GitHub.,", - "cmd.updateSettings.info.uploadingFile": "Синхронизация: Выгрузка Данных Файлов.,", - "cmd.updateSettings.info.uploadingDone": "Синхронизация: Загрузка Завершена. СУТЬ ИДЕНТИФИКАТОР : {0}. Пожалуйста, скопировать и использовать этот идентификатор в других машинах для загрузки параметров.,", - "cmd.updateSettings.info.uploadingSuccess": "Синхронизация: Успешно Загружен.,", - "cmd.updateSettings.info.shareGist": "Синхронизация: поделиться кодом с другими пользователями расширением поделиться настройками.,", - "cmd.updateSettings.info.readding": "Синхронизация: настройки чтения и расширений.,", - "cmd.updateSettings.info.newGistCreated": "Синхронизация: новый создал Гист.,", - "cmd.updateSettings.warning.noToken": "Синхронизация: установить маркер на GitHub или отключить 'downloadPublicGist' из файла настройки локальной синхронизации.,", - "cmd.updateSettings.warning.OSNotSupported": "Синхронизации значение Прагма ОС {0} не поддерживается в строке {1},", - "cmd.updateSettings.error.newGistCreateFail": "Синхронизация: не удалось создать Гист.,", - "cmd.updateSettings.error.readGistFail": "Синхронизация: Гист идентификатор : {0} не удалось прочитать.,", - "cmd.updateSettings.error.gistNotSave": "Синхронизация: суть не спас,", - "cmd.downloadSettings.title": "Синхронизация: Настройки Загрузки,", - "cmd.downloadSettings.info.downloaded": "Синхронизация: Загрузка Завершена.,", - "cmd.downloadSettings.info.readdingOnline": "Синхронизация: Настройки Для Чтения В Интернете.,", - "cmd.downloadSettings.info.gotLatestVersion": "Синхронизации: у вас уже есть последняя версия сохраненные настройки.,", - "cmd.downloadSettings.error.removeExtFail": "Синхронизации: не удается удалить некоторые расширения.,", + "cmd.downloadSettings.error.removeExtFail": "Синхронизации: не удается удалить некоторые расширения.", "cmd.downloadSettings.error.unableSave": "Синхронизация: не удается сохранить файл настроек расширения.", - "cmd.resetSettings.title": "Синхронизация: Сброс Настроек Расширения,", - "cmd.resetSettings.info.resetting": "Синхронизация: Сброс Настройки.,", - "cmd.resetSettings.info.settingClear": "Синхронизация: Очищаются Настройки.,", - "cmd.otherOptions.title": "Синхронизация: Дополнительные Параметры", - "cmd.otherOptions.openSettingsPage": "Синхронизация: Откройте Настройки,", - "cmd.otherOptions.editLocalSetting": "Синхронизация: Редактирование Локальных Параметров Расширения,", - "cmd.otherOptions.shareSetting": "Синхронизация: настройки общий доступ суть,", + "cmd.downloadSettings.info.downloaded": "Синхронизация: Загрузка Завершена.", + "cmd.downloadSettings.info.gotLatestVersion": "Синхронизации: у вас уже есть последняя версия сохраненные настройки.", + "cmd.downloadSettings.info.readdingOnline": "Синхронизация: Настройки Чтения Онлайн.", + "cmd.downloadSettings.title": "Синхронизация: Настройки Скачать ", + "cmd.howSetting.title": "Синхронизация: Настройка", + "cmd.otherOptions.customizedSync": "Синхронизация: добавить пользовательский путь синхронизации файлов ", + "cmd.otherOptions.customizedSync.done": "Синхронизация: {0} был зарегистрирован.", + "cmd.otherOptions.customizedSync.placeholder": "Введите абсолютный путь дополнительного загружаемого файла.", + "cmd.otherOptions.customizedSync.prompt": "(исх. /путь/к/.eslintrc) будут загружены и загрузить по указанному пути.", + "cmd.otherOptions.downloadCustomFile": "Синхронизация: файл импортировать пользовательские синхронизации рабочей области", + "cmd.otherOptions.downloadCustomFile.done": "Скачал {0}.", + "cmd.otherOptions.downloadCustomFile.placeholder": "Выберите файл, который вы хотите загрузить в корневой каталог рабочей области, которую вы работаете.", + "cmd.otherOptions.downloadSetting": "Синхронизация: настройки загрузки с публичных суть", + "cmd.otherOptions.editLocalSetting": "Синхронизация: Редактирование Локальных Параметров Расширения ", + "cmd.otherOptions.error.toggleFail": "Синхронизации: не удалось переключить.", + "cmd.otherOptions.joinCommunity": "Синхронизация: Присоединение К Сообществу", + "cmd.otherOptions.openIssue": "Синхронизация: Открытый Вопрос", + "cmd.otherOptions.openSettingsPage": "Синхронизация: Откройте Настройки", + "cmd.otherOptions.preserve": "Синхронизация: Сохранить Настройку, Чтобы Остановить Override После Загрузки", + "cmd.otherOptions.preserve.info.done1": "Синхронизации: Сделали. {0} значение будет удалено из настроек.JSON после загрузки.", + "cmd.otherOptions.preserve.info.done2": "Синхронизации: Сделали. Расширение будет держать {0}: {1} в настройки.JSON после загрузки.", + "cmd.otherOptions.preserve.placeholder": "Введите любой ключ из настроек.JSON для сохранения.", + "cmd.otherOptions.preserve.prompt": "Пример: писать с HTTP.прокси-сервер' => хранилище компьютера прокси-сервера и заменить его , если набор пуст он будет удалять прокси.", + "cmd.otherOptions.quietSync.off": "Синхронизация: резюме будет показана после загрузки/выгрузки.", + "cmd.otherOptions.quietSync.on": "Синхронизация: строке состояния будет обновляться после загрузки/выгрузки.", + "cmd.otherOptions.releaseNotes": "Синхронизация: Заметки О Выпуске", + "cmd.otherOptions.shareSetting": "Синхронизация: настройки общий доступ суть", "cmd.otherOptions.shareSetting.beforeConfirm": "Синхронизация: этого будет удалить текущие суть и загрузить настройки на новую общественную суть. Вы действительно хотите продолжить?", - "cmd.otherOptions.downloadSetting": "Синхронизация: настройки загрузки с публичных суть,", - "cmd.otherOptions.toggleForceDownload": "Синхронизация: Загрузка Переключить Силу,", - "cmd.otherOptions.toggleForceDownload.on": "Синхронизация: Скачать Группа Включена.,", - "cmd.otherOptions.toggleForceDownload.off": "Синхронизация: Скачать Силу Выключен.,", - "cmd.otherOptions.toggleAutoUpload": "Синхронизация: Переключатель Автоматической Загрузки На Изменение Параметров,", + "cmd.otherOptions.title": "Синхронизация: Дополнительные Параметры", + "cmd.otherOptions.toggleAutoDownload": "Синхронизация: Переключатель Автоматической Загрузки При Запуске", + "cmd.otherOptions.toggleAutoDownload.off": "Синхронизация: автоматическая загрузка отключена по VSCode автозагрузки.", + "cmd.otherOptions.toggleAutoDownload.on": "Синхронизация: автоматическая загрузка включена по VSCode автозагрузки.", + "cmd.otherOptions.toggleAutoUpload": "Синхронизация: Переключатель Автоматической Загрузки На Изменение Параметров", + "cmd.otherOptions.toggleAutoUpload.off": "Синхронизация: автоматическая загрузка на изменить параметр выключен.", "cmd.otherOptions.toggleAutoUpload.on": "Синхронизация: автоматическая загрузка на изменить параметр включен. Изменения вступят в силу после перезагрузки.", - "cmd.otherOptions.toggleAutoUpload.off": "Синхронизация: автоматическая загрузка на параметр изменения отключена.,", - "cmd.otherOptions.toggleAutoDownload": "Синхронизация: Переключатель Автоматической Загрузки При Запуске,", - "cmd.otherOptions.toggleAutoDownload.on": "Синхронизация: автоматическая загрузка включена по VSCode автозагрузки.,", - "cmd.otherOptions.toggleAutoDownload.off": "Синхронизация: автоматическая загрузка отключена при запуске VSCode.,", - "cmd.otherOptions.toggleSummaryPage": "Синхронизации: Включить / Выключить Показ Резюме На Странице Загрузки,", - "cmd.otherOptions.preserve": "Синхронизация: Сохранить Настройку, Чтобы Остановить Override После Загрузки,", - "cmd.otherOptions.preserve.placeholder": "Введите любой ключ из настроек.JSON, чтобы сохранить.,", - "cmd.otherOptions.preserve.prompt": "Пример : писать с HTTP.прокси-сервер' => хранилище компьютера прокси-сервера и заменить его , если набор пуст он будет удалять прокси.,", - "cmd.otherOptions.preserve.info.done1": "Синхронизации: Сделали. {0} значение будет удалено из настроек.JSON после загрузки.,", - "cmd.otherOptions.preserve.info.done2": "Синхронизации: Сделали. Расширение будет держать {0} : {1} в настройки.JSON после загрузки.,", - "cmd.otherOptions.customizedSync": "Синхронизация: добавить пользовательский путь синхронизации файлов,", - "cmd.otherOptions.customizedSync.placeholder": "Введите абсолютный путь дополнительного загружаемого файла.,", - "cmd.otherOptions.customizedSync.prompt": "(исх. /путь/к/.eslintrc) будут загружены и загрузить по указанному пути,.", - "cmd.otherOptions.customizedSync.done": "Синхронизация: {0} был зарегистрирован,.", - "cmd.otherOptions.downloadCustomFile": "Синхронизация: файл импортировать пользовательские синхронизации рабочей области", - "cmd.otherOptions.downloadCustomFile.placeholder": "Выберите файл, который вы хотите загрузить в корневой каталог рабочей области, которую вы работаете,.", - "cmd.otherOptions.downloadCustomFile.done": "Скачал {0}.,", - "cmd.otherOptions.joinCommunity": "Синхронизация: Вступайте В Сообщество,", - "cmd.otherOptions.openIssue": "Синхронизация: Открытый Вопрос,", - "cmd.otherOptions.releaseNotes": "Синхронизация: Заметки О Выпуске,", - "cmd.otherOptions.quietSync.on": "Синхронизация: строке состояния будет обновляться после загрузки / выгрузки.,", - "cmd.otherOptions.quietSync.off": "Синхронизация: резюме будет показана после загрузки / выгрузки.,", - "cmd.otherOptions.warning.tokenNotRequire": "Синхронизации: настройки синхронизация не попросить маркер на GitHub отныне.,", - "cmd.otherOptions.error.toggleFail": "Синхронизации: не удалось переключить.,", - "cmd.otherOptions.triggerReset": "Синхронизация: вы хотите сбросить настройки ?,", - "common.info.installed": "Синхронизация: настройки, спасибо за установку!,", - "common.info.needHelp": "Синхронизация: нужна помощь в настройке этого расширения?,", - "common.info.excludeFile": "Синхронизация: вы можете исключить любой файл / папку для загрузки и настроек для скачивания.,", - "common.info.updating": "Синхронизация: Обновление В Процессе ... Пожалуйста, Подождите.,", - "common.info.initAutoUpload": "Синхронизация: Автоматическая Отправка Инициирует В 5 Секунд.,", - "common.info.setToken": "Синхронизация: теперь вы можете установить свой гитхаб маркер вручную в syncLocalSettings.формат JSON`,", - "common.info.tokenSaved": "Синхронизация: Маркер Спас,", - "common.info.gistSaved": "Синхронизация: Суть Сохранена,", - "common.info.updateTo": "Синхронизация: обновлено до V{0},", - "common.info.donate": "Синхронизации: вам нравится это расширение? Как написать комментарий или отправить пожертвование? ", - "common.error.message": "Синхронизация: ошибка регистрируется в консоли (меню \"Справка\" > \"инструменты разработчика\" тумблер).,", + "cmd.otherOptions.toggleForceDownload": "Синхронизация: Тумблер Силу Скачать", + "cmd.otherOptions.toggleForceDownload.off": "Синхронизация: Скачать Сила Выключена.", + "cmd.otherOptions.toggleForceDownload.on": "Синхронизация: Скачать Группа Включена.", + "cmd.otherOptions.toggleForceUpload": "Синхронизация: Тумблер Принудительно Загрузить", + "cmd.otherOptions.toggleForceUpload.off": "Синхронизация: Принудительная Отправка Отключена.", + "cmd.otherOptions.toggleForceUpload.on": "Синхронизация: Принудительная Отправка Включена.", + "cmd.otherOptions.toggleSummaryPage": "Синхронизации: Включить / Выключить Показ Резюме Страница Загрузки/Скачать", + "cmd.otherOptions.triggerReset": "Синхронизация: вы хотите сбросить настройки ?", + "cmd.otherOptions.warning.tokenNotRequire": "Синхронизации: настройки синхронизация не потребует маркер на GitHub отныне.", + "cmd.resetSettings.info.resetting": "Синхронизация: Сброс Настроек.", + "cmd.resetSettings.info.settingClear": "Синхронизация: Настройки Отключены.", + "cmd.resetSettings.title": "Синхронизация: Настройки Модуля Сброс ", + "cmd.updateSettings.error.gistNotSave": "Синхронизация: суть не сохраняется", + "cmd.updateSettings.error.newGistCreateFail": "Синхронизация: не удалось создать суть.", + "cmd.updateSettings.error.readGistFail": "Синхронизация: Гист идентификатор: {0} не удалось прочитать.", + "cmd.updateSettings.info.newGistCreated": "Синхронизация: новый создал Гист.", + "cmd.updateSettings.info.readding": "Синхронизация: настройки чтения и расширения.", + "cmd.updateSettings.info.shareGist": "Синхронизация: поделиться кодом с другими пользователями расширением поделиться настройками.", + "cmd.updateSettings.info.uploadCanceled": "Синхронизация: Процесс Отмены Загрузки.", + "cmd.updateSettings.info.uploading": "Синхронизация: Выгрузка/Обновления Настроек В GitHub.", + "cmd.updateSettings.info.uploadingDone": "Синхронизация: Загрузка Завершена. СУТЬ ИДЕНТИФИКАТОР: {0}. Пожалуйста, скопировать и использовать этот идентификатор в других машинах для загрузки параметров.", + "cmd.updateSettings.info.uploadingFile": "Синхронизация: Выгрузка Данных Файлов.", + "cmd.updateSettings.info.uploadingSuccess": "Синхронизация: Успешно Загружен.", + "cmd.updateSettings.title": "Синхронизация: Настройки Обновления/Загрузки ", + "cmd.updateSettings.warning.OSNotSupported": "Синхронизации значение Прагма ОС {0} не поддерживается в строке {1}", + "cmd.updateSettings.warning.noToken": "Синхронизация: установить маркер на GitHub или отключить 'downloadPublicGist' из файла настройки локальной синхронизации.", + "common.action.donate": "Пожертвовать Сейчас", + "common.action.joinCommunity": "Присоединяйтесь К Сообществу", + "common.action.openExtPage": "Откройте Страницу Расширений ", + "common.action.openExtTutorial": "Откройте Учебник", + "common.action.releaseNotes": "Примечания К Выпуску", + "common.action.support": "Поддержать Этот Проект", + "common.action.writeReview": "Написать Комментарий", + "common.button.yes": "Да", + "common.error.canNotSave": "Синхронизация: не удается сохранить параметры. Пожалуйста, убедитесь, что вам иметь действительные параметры в формате JSON.JSON-файл. (например: нет трейлинг запятые)", "common.error.connection": "Синхронизация: интернету не подключен или не удается подключиться к GitHub. Исключение регистрируется в консоли", - "common.error.canNotSave": "Синхронизация: не удается сохранить параметры. Пожалуйста, убедитесь, что вам иметь действительные параметры в формате JSON.JSON-файл. (например : нет трейлинг-запятые),", - "common.error.invalidToken": "Синхронизация: Неверный Или Истек Гитхаб Маркер. Пожалуйста, сгенерировать новый токен с областями, упомянутыми в ридми. Исключение регистрируется в консоли.,", - "common.error.invalidGistId": "Синхронизация: Недопустимый Идентификатор, Указанный Суть. Проверьте свою суть : https://gist.github.com//.,", - "common.error.tokenNotSave": "Синхронизация: Маркер Не Сохраняется.,", - "common.error.gistNotSave": "Синхронизация: Суть Не Сохраняется.,", - "common.action.openExtPage": "Откройте Страницу Расширений,", - "common.action.openExtTutorial": "Откройте Учебник,", - "common.action.releaseNotes": "Заметки О Выпуске,", - "common.action.writeReview": "Написать Отзыв,", - "common.action.support": "Поддержать Этот Проект,", - "common.action.joinCommunity": "Присоединяйтесь К Сообществу,", - "common.action.donate": "Пожертвовать Сейчас,", - "common.placeholder.enterGithubAccessToken": "Введите Гитхаб Личный Маркер Доступа,", - "common.placeholder.enterGistId": "Введите Идентификатор Гист,", - "common.placeholder.multipleGist": "Название суть (например : личные настройки),", - "common.prompt.multipleGist": "Позволяет определить параметры, если у вас несколько Гист.,", - "common.prompt.enterGistId": "Введите идентификатор суть от ранее загруженные параметры. Вы также можете задать вручную в настройках код (синхронизация.Гист). Нажмите клавишу [Enter] или [Esc] для отмены.,", - "common.prompt.enterGithubAccessToken": "Можно также вручную добавить маркер (папка пользователя / syncLocalSettings.в JSON). Нажмите клавишу [Enter] или [Esc] для отмены.,", - "common.prompt.restartCode": "Вы хотите, чтобы перезагрузить, чтобы применить расширений и конфигураций?,", - "common.button.yes": "Да" + "common.error.gistNotSave": "Синхронизация: Суть Не Спасло.", + "common.error.invalidGistId": "Синхронизация: Недопустимый Идентификатор, Указанный Суть. Проверьте свою суть: https://gist.github.com//.", + "common.error.invalidToken": "Синхронизация: Неверный Или Истек Гитхаб Маркер. Пожалуйста, сгенерировать новый токен с областями, упомянутыми в ридми. Исключение регистрируется в консоли.", + "common.error.message": "Синхронизация: ошибка регистрируется в консоли (меню \"Справка\" > \"инструменты разработчика\" тумблер).", + "common.error.tokenNotSave": "Синхронизация: Маркер Не Сохраняется.", + "common.info.donate": "Синхронизации: вам нравится это расширение? Как написать комментарий или отправить пожертвование? ", + "common.info.excludeFile": "Синхронизация: вы можете исключить любой файл/папку для загрузки и настроек для скачивания.", + "common.info.gistSaved": "Синхронизация: Суть Сохранена", + "common.info.initAutoUpload": "Синхронизация: Автоматическая Отправка Инициирует В {0} Секунд.", + "common.info.installed": "Синхронизация: настройки, спасибо за установку!", + "common.info.needHelp": "Синхронизация: нужна помощь в настройке этого расширения?", + "common.info.setToken": "Синхронизация: теперь вы можете установить свой гитхаб маркер вручную в syncLocalSettings.формат JSON`", + "common.info.tokenSaved": "Синхронизация: Маркер Сохраняется", + "common.info.updateTo": "Синхронизация: обновлено до V{0}", + "common.info.updating": "Синхронизация: Обновление В Процессе... Пожалуйста, Подождите.", + "common.placeholder.enterGistId": "Введите Идентификатор Суть ", + "common.placeholder.enterGithubAccessToken": "Введите Гитхаб Личный Маркер Доступа", + "common.placeholder.multipleGist": "Название суть (например: персональные настройки)", + "common.prompt.enterGistId": "Введите идентификатор суть от ранее загруженные параметры. Вы также можете задать вручную в настройках код (синхронизация.Гист). Нажмите клавишу [Enter] или [Esc] для отмены.", + "common.prompt.enterGithubAccessToken": "Можно также вручную добавить маркер (папка пользователя/syncLocalSettings.в JSON). Нажмите клавишу [Enter] или [Esc] для отмены.", + "common.prompt.gistNewer": "Синхронизация: суть новой или идентичные версии ваши настройки. Вы хотите, чтобы forceUpload, чтобы переопределить это?", + "common.prompt.multipleGist": "Позволяет определить параметры, если у вас несколько суть.", + "common.prompt.restartCode": "Вы хотите, чтобы перезагрузить, чтобы применить расширений и конфигураций?", + "ext.config.askGistName": "Задать имя суть при создании. Помогает определить суть, если у вас несколько гастроинтестинальных стромальных опухолей.", + "ext.config.autoDownload": "Установите в значение true для автоматической загрузки настроек на стартовый код. [Код Перезагрузки Требуется]", + "ext.config.autoDownload.name": "Авто Скачать", + "ext.config.autoUpload": "Установите в значение true для автоматического загрузить на изменение параметров. [Код Перезагрузки Требуется]", + "ext.config.autoUpload.name": "Автоматическая Загрузка", + "ext.config.forceDownload": "Установите в true, если вы хотите загрузить настройки, даже когда у вас последние настройки.", + "ext.config.forceDownload.name": "Силу Скачать", + "ext.config.forceUpload": "Установите его в true, если вы хотите загрузить настройки даже при Гист новые параметры.", + "ext.config.forceUpload.name": "Принудительная Отправка", + "ext.config.gist": "На GitHub суть ID для настройки синхронизации.", + "ext.config.gist.name": "Суть ИД", + "ext.config.gist.placeholder": "Введите идентификатор суть ", + "ext.config.host": "Установить его на свой гитхаб предприятия хоста, если вы хотите использовать Ге.", + "ext.config.lastDownload": "Параметры дата последней загрузки Sync. Установить его как пустой, если вы хотите нажмите Скачать вручную.", + "ext.config.lastUpload": "Параметры последней синхронизации Дата загрузки. Установить его как пустой, если вы хотите нажмите Скачать вручную.", + "ext.config.pathPrefix": "Установить его на вашем сайте GitHub API для предприятия префикс, если вы хотите использовать Ге. Обычно '/по API/В3'. Используется только тогда, когда хозяин находится.", + "ext.config.quietSync": "Если задано значение true, будет показывать результат в строке состояния вместо резюме страницы.", + "ext.config.quietSync.name": "Тихие Синхронизации", + "ext.config.removeExtensions": "Установите его в false, если вы не хотите, чтобы удалить расширения во время загрузки.", + "ext.config.removeExtensions.name": "Удаление Расширений", + "ext.config.syncExtensions": "Установите его в false, если вы не хотите, чтобы загрузить/загрузить расширения.", + "ext.config.syncExtensions.name": "Расширения Синхронизации ", + "ext.config.title": "Настройки Код Настройки Синхронизации ", + "ext.globalConfig.askGistName.name": "Задать Имя Гист ", + "ext.globalConfig.autoUploadDelay.name": "Автоматическая Загрузка Задержки", + "ext.globalConfig.autoUploadDelay.placeholder": "Введите количество секунд для задержки авто-загрузки", + "ext.globalConfig.downloadPublicGist.name": "Скачать Public Гист", + "ext.globalConfig.gistDescription.name": "Гист Описание", + "ext.globalConfig.gistDescription.placeholder": "Введите Гист Описание", + "ext.globalConfig.githubEnterpriseUrl.name": "На GitHub предприятия url-адрес (необязательно)", + "ext.globalConfig.githubEnterpriseUrl.placeholder": "Введите URL-адрес сайта GitHub предприятия", + "ext.globalConfig.hostName.name": "Имя (необязательно)", + "ext.globalConfig.hostName.placeholder": "Введите Имя Хоста", + "ext.globalConfig.ignoreExtensions.name": "Игнорируемые Расширения", + "ext.globalConfig.ignoreExtensions.placeholder": "Введите одно расширение на линию (полное название)", + "ext.globalConfig.ignoreUploadFiles.name": "Игнорируемые Файлы", + "ext.globalConfig.ignoreUploadFiles.placeholder": "Введите один файл в строке", + "ext.globalConfig.ignoreUploadFolders.name": "Игнорировать Папки", + "ext.globalConfig.ignoredUploadFolders.placeholder": "Введите одну папку на линию", + "ext.globalConfig.openTokenLink.name": "Открыть Ссылку Маркер ", + "ext.globalConfig.supportedFileExtensions.name": "Поддерживаемые Расширения Файлов", + "ext.globalConfig.supportedFileExtensions.placeholder": "Введите расширение файла в строке", + "ext.globalConfig.token.name": "Маркер Доступа ", + "ext.globalConfig.token.placeholder": "Введите Маркер" } \ No newline at end of file diff --git a/package.nls.tr.json b/package.nls.tr.json index 19fb54b3..ff7a7f3e 100644 --- a/package.nls.tr.json +++ b/package.nls.tr.json @@ -1,106 +1,142 @@ { - "ext.config.title": "Kod Ayarları Eşitleme Yapılandırma Ayarları", - "ext.config.gist": "GitHub Ayarları Eşitlemek için KİMLİK ÖZÜ.", - "ext.config.lastUpload": "Ayarları son yükleme tarihi Sync. El ile karşıdan vurmak istiyorsan boş olarak ayarlayın.", - "ext.config.lastDownload": "Ayarları son indirme tarihi Sync. El ile karşıdan vurmak istiyorsan boş olarak ayarlayın.", - "ext.config.autoDownload": "Ayarlamak true Otomatik kod başlangıç ayarları İndir. Gerekli [Kod Yeniden]", - "ext.config.autoUpload": "Doğru ayarları değiştir Yükleme Otomatik olarak ayarlayın. Gerekli [Kod Yeniden]", - "ext.config.forceDownload": "Eğer en son ayarlar varsa bile ayarları indirmek istiyorsanız true olarak ayarlayın.", - "ext.config.host": "Eğer GHE kullanmak istiyorsanız GitHub Enterprise ev sahibi olarak ayarlayın.", - "ext.config.pathPrefix": "Eğer GHE kullanmak istiyorsanız GitHub Enterprise API önek ayarlayın. Normalde '/api/v3. Ana ayarlandığında yalnızca kullanılır.", - "ext.config.quietSync": "Doğru olarak ayarlandığında, bunun yerine sayfa sayfa durum çubuğunda sonucu gösterir.", - "ext.config.askGistName": "Oluştururken özü adını sor. Eğer birden fazla gists varsa konusunu belirlemeye yardımcı olur.", - "ext.config.removeExtensions": "Eğer indirirken uzantıları kaldırmak istemiyorsan false olarak ayarlayın.", - "ext.config.syncExtensions": "Eğer / uzantıları karşıdan yüklemek istemiyorsan false olarak ayarlayın.", - "cmd.howSetting.title": "Yapılandırma Sync: ", - "cmd.updateSettings.title": "Çeviri: Güncelleme / Yükleme Ayarları,", - "cmd.updateSettings.info.uploading": "GitHub Ayarları Güncellemek Çeviri: Yükleme/.", - "cmd.updateSettings.info.uploadingFile": "Çeviri: Yükleme Dosyaları Veri.", - "cmd.updateSettings.info.uploadingDone": "Çeviri: Tam Karşıya. {0} KONUSUNU ID :. Lütfen kopyalayın ve ayarları indirmek için diğer makinelerde bu KİMLİĞİ kullanın.", - "cmd.updateSettings.info.uploadingSuccess": "Başarıyla Yüklendi Çeviri:.", - "cmd.updateSettings.info.shareGist": "Sync: diğer abone ile ayarları paylaşmak Kimliği Paylaşımı.", - "cmd.updateSettings.info.readding": "Çeviri: Okuma Ayarları ve Uzantıları.", - "cmd.updateSettings.info.newGistCreated": "Oluşturulan Sync: Yeni fikri.", - "cmd.updateSettings.warning.noToken": "Yerel Senkronizasyon ayarları dosyadan çeviri: Set GitHub Token veya devre dışı bırak 'downloadPublicGist'.", - "cmd.updateSettings.warning.OSNotSupported": "{0} Sync Pragma OS değeri {1} satırında desteklenmeyen,", - "cmd.updateSettings.error.newGistCreateFail": "Konusunu oluşturulamadı çeviri:.", - "cmd.updateSettings.error.readGistFail": "OKUMAK İÇİN {0} MÜMKÜN çeviren: ESAS NUMARASI:.", - "cmd.updateSettings.error.gistNotSave": "Çeviri: ÖZÜ KAYITLI DEĞİL,", - "cmd.downloadSettings.title": "Çeviri: İndirme Ayarları", + "cmd.downloadSettings.error.removeExtFail": "Bazı uzantıları kaldırmak Mümkün Sync.", + "cmd.downloadSettings.error.unableSave": "Uzantı ayarları dosyası kaydedilemedi çeviri:.", "cmd.downloadSettings.info.downloaded": "Çeviri: İndirme Tamamlandı.", + "cmd.downloadSettings.info.gotLatestVersion": "Çeviri: önceden kaydedilmiş ayarları en son sürümü.", "cmd.downloadSettings.info.readdingOnline": "Çeviri: Okuma Ayarları Çevrimiçi.", - "cmd.downloadSettings.info.gotLatestVersion": "Çeviri: önceden kaydedilmiş ayarları en son sürümü var.", - "cmd.downloadSettings.error.removeExtFail": "Bazı uzantıları kaldırmak Mümkün senk.,", - "cmd.downloadSettings.error.unableSave": "Uzantı ayarları dosyası kaydedilemedi çeviri:.", - "cmd.resetSettings.title": "Çeviri: Uzantı Ayarları Sıfırla", - "cmd.resetSettings.info.resetting": "Çeviri: Ayarlarınız Sıfırlanıyor.", - "cmd.resetSettings.info.settingClear": "Temizlenmiş Çeviri: Ayarlar.", - "cmd.otherOptions.title": "Çeviri: Gelişmiş Seçenekler", - "cmd.otherOptions.openSettingsPage": "Sync: Açık Ayarları", - "cmd.otherOptions.editLocalSetting": "Çeviri: Düzenleme Uzantısı Yerel Ayarları,", - "cmd.otherOptions.shareSetting": "Kamu ÖZÜ ile senkronizasyon: Paylaşım Ayarları", - "cmd.otherOptions.shareSetting.beforeConfirm": "Sync: Bu yeni ortak KONUSUNU güncel KONUSUNU ve yükleme ayarları kaldıracaktır. Devam etmek istiyor musunuz?", - "cmd.otherOptions.downloadSetting": "Kamu ÖZÜ senkronizasyon: İndirme Ayarları", - "cmd.otherOptions.toggleForceDownload": "Çeviri: Geçiş Güç İndir,", - "cmd.otherOptions.toggleForceDownload.on": "Çeviri: Force Download Açık.", - "cmd.otherOptions.toggleForceDownload.off": "Çeviri: Force Download Kapalı.", - "cmd.otherOptions.toggleAutoUpload": "Ayarları Değiştir Upload Sync: Otomatik Aç / Kapat-", - "cmd.otherOptions.toggleAutoUpload.on": "Değiştirme Ayarı senkronizasyon: Otomatik Yükleme Açık. Bu yeniden başlatma sonra yürürlüğe girecek.", - "cmd.otherOptions.toggleAutoUpload.off": "Çeviri: Değişim Ayarı Otomatik yükleme Kapalı.", - "cmd.otherOptions.toggleAutoDownload": "Başlangıçta İndir Sync: Otomatik Aç / Kapat-", - "cmd.otherOptions.toggleAutoDownload.on": "Sync: Otomatik İndirme VSCode Başlangıçta açık.", - "cmd.otherOptions.toggleAutoDownload.off": "Sync: Otomatik İndirme VSCode Başlangıçta KAPALI.", - "cmd.otherOptions.toggleSummaryPage": "Yükleme / İndirme Sync: * Toggle Sayfa Sayfa,", - "cmd.otherOptions.preserve": "Çeviri: İndirildikten Sonra Geçersiz Durdurmak İçin Ayarı Korumak,", - "cmd.otherOptions.preserve.placeholder": "Ayarlardan herhangi bir Tuşa basın.json korumak için.", - "cmd.otherOptions.preserve.prompt": "Örnek : http Yazın.proxy' => deposu bu bilgisayara proxy ve bunun üzerine , boş küme proxy kaldıracaktır.", - "cmd.otherOptions.preserve.info.done1": "Çeviri: Bitti. {0} değerini ayarlar silinecektir.indirdikten sonra json.", - "cmd.otherOptions.preserve.info.done2": "Çeviri: Bitti. Uzantısı {1} {0} : ortamda devam edecektir.indirdikten sonra json.", - "cmd.otherOptions.customizedSync": "Sync: Senkronizasyon Dosya yolu Ekleyin", + "cmd.downloadSettings.title": "Çeviri: İndirme Ayarları", + "cmd.howSetting.title": "Yapılandırma Sync: ", + "cmd.otherOptions.customizedSync": "Sync: Sync Add Özel Dosya yolu", + "cmd.otherOptions.customizedSync.done": "{0} çeviri: kayıtlı.", "cmd.otherOptions.customizedSync.placeholder": "Ek yüklenen dosyanın mutlak bir yol girin.", "cmd.otherOptions.customizedSync.prompt": "(ex. ///yolu.eslintrc) yüklenen ve belirtilen yol yüklenir.", - "cmd.otherOptions.customizedSync.done": "{0} çeviri: kayıtlı.", - "cmd.otherOptions.downloadCustomFile": "İthalat Özel Senkron çalışma alanına Dosya Sync: ", - "cmd.otherOptions.downloadCustomFile.placeholder": "Üzerinde çalışıyorsun. çalışma alanının köküne indirmek istediğiniz dosyayı seçin", + "cmd.otherOptions.downloadCustomFile": "Çeviri: Al Özel Senkron çalışma alanı Dosyası ", "cmd.otherOptions.downloadCustomFile.done": "{0} indirilmiş.", - "cmd.otherOptions.joinCommunity": "Çeviri: Katılmak Topluluk,", - "cmd.otherOptions.openIssue": "Sync: Açık Sorunu,", - "cmd.otherOptions.releaseNotes": "Çeviri: Sürüm Notları,", + "cmd.otherOptions.downloadCustomFile.placeholder": "Üzerinde çalıştığınız çalışma alanı köküne indirmek istediğiniz dosyayı seçin.", + "cmd.otherOptions.downloadSetting": "Kamu ÖZÜ senkronizasyon: İndirme Ayarları ", + "cmd.otherOptions.editLocalSetting": "Çeviri: Düzenleme Uzantısı Yerel Ayarları", + "cmd.otherOptions.error.toggleFail": "Geçiş Yapılamıyor çeviri:.", + "cmd.otherOptions.joinCommunity": "Çeviri: Katılmak Topluluk", + "cmd.otherOptions.openIssue": "Sync: Açık Sorunu", + "cmd.otherOptions.openSettingsPage": "Sync: Açık Ayarları", + "cmd.otherOptions.preserve": "Geçersiz Durdurmak İçin Ayar İndirildikten Sonra Korumak Çeviri: ", + "cmd.otherOptions.preserve.info.done1": "Çeviri: Bitti. {0} değerini ayarlar silinecektir.indirdikten sonra json.", + "cmd.otherOptions.preserve.info.done2": "Çeviri: Bitti. Uzantısı {1} {0}: ortamda devam edecektir.indirdikten sonra json.", + "cmd.otherOptions.preserve.placeholder": "Ayarlardan herhangi bir Tuşa basın.json korumak için.", + "cmd.otherOptions.preserve.prompt": "Örnek: http Yazın.proxy' => deposu bu bilgisayara proxy ve bunun üzerine , eğer boş küme proxy kaldıracaktır.", + "cmd.otherOptions.quietSync.off": "Çeviri: Özet download/upload üzerine gösterilecektir.", "cmd.otherOptions.quietSync.on": "Çeviri: Durum Çubuğu yükleme indirme üzerine güncellenecektir.", - "cmd.otherOptions.quietSync.off": "Çeviri: Özet download / upload üzerine gösterilecektir.", + "cmd.otherOptions.releaseNotes": "Çeviri: Sürüm Notları", + "cmd.otherOptions.shareSetting": "Kamu ÖZÜ ile senkronizasyon: Paylaşım Ayarları ", + "cmd.otherOptions.shareSetting.beforeConfirm": "Sync: Bu yeni ortak KONUSUNU güncel KONUSUNU ve yükleme ayarları kaldıracaktır. Devam etmek istiyor musunuz?", + "cmd.otherOptions.title": "Çeviri: Gelişmiş Seçenekler", + "cmd.otherOptions.toggleAutoDownload": "Başlangıç Sync: Otomatik Aç / Kapat-Download ", + "cmd.otherOptions.toggleAutoDownload.off": "Sync: Otomatik İndirme VSCode Başlangıçta KAPALI.", + "cmd.otherOptions.toggleAutoDownload.on": "Sync: Otomatik İndirme VSCode Başlangıçta açık.", + "cmd.otherOptions.toggleAutoUpload": "Ayarlar Senkronizasyon: Otomatik Aç / Kapat-Upload Değiştirin", + "cmd.otherOptions.toggleAutoUpload.off": "Değiştirme Ayarı senkronizasyon: Otomatik Yükleme Kapalı.", + "cmd.otherOptions.toggleAutoUpload.on": "Değiştirme Ayarı senkronizasyon: Otomatik Yükleme Açık. Bu yeniden başlatma sonra yürürlüğe girecek.", + "cmd.otherOptions.toggleForceDownload": "Çeviri: Geçiş Güç İndir", + "cmd.otherOptions.toggleForceDownload.off": "Çeviri: Force Download Kapalı.", + "cmd.otherOptions.toggleForceDownload.on": "Çeviri: Force Download Açık.", + "cmd.otherOptions.toggleForceUpload": "Çeviri: Geçiş Güç Yüklemek", + "cmd.otherOptions.toggleForceUpload.off": "Çeviri: Force Upload Kapattı.", + "cmd.otherOptions.toggleForceUpload.on": "Çeviri: Force Upload Açık.", + "cmd.otherOptions.toggleSummaryPage": "Yükleme/İndirme Sync: * Toggle Özet Sayfası ", + "cmd.otherOptions.triggerReset": "Çeviri: ayarları sıfırlamak istiyor Musunuz ?", "cmd.otherOptions.warning.tokenNotRequire": "Sync: Sync GitHub Ayarları Simge için artık sormayacağım.", - "cmd.otherOptions.error.toggleFail": "Geçiş Yapılamıyor çeviri:.", - "cmd.otherOptions.triggerReset": "Çeviri: ayarları sıfırlamak istiyor Musunuz?", + "cmd.resetSettings.info.resetting": "Çeviri: Ayarlarınız Sıfırlanıyor.", + "cmd.resetSettings.info.settingClear": "Çeviri: Ayarlar Temizlenir.", + "cmd.resetSettings.title": "Çeviri: Sıfırlama Uzatma Ayarları", + "cmd.updateSettings.error.gistNotSave": "Çeviri: ÖZÜ KAYITLI DEĞİL ", + "cmd.updateSettings.error.newGistCreateFail": "Konusunu oluşturulamadı çeviri:.", + "cmd.updateSettings.error.readGistFail": "OKUMAK İÇİN {0} MÜMKÜN çeviren: ESAS NUMARASI:.", + "cmd.updateSettings.info.newGistCreated": "Oluşturulan Sync: Yeni fikri.", + "cmd.updateSettings.info.readding": "Çeviri: Okuma Ayarları ve Uzantıları.", + "cmd.updateSettings.info.shareGist": "Sync: diğer abone ile ayarları paylaşmak Kimliği Paylaşımı.", + "cmd.updateSettings.info.uploadCanceled": "İptal Çeviren: Yükleme İşlemi.", + "cmd.updateSettings.info.uploading": "Çeviri: Yükleme/GitHub Ayarlarını Güncelleme.", + "cmd.updateSettings.info.uploadingDone": "Çeviri: Tam Karşıya. {0} KONUSUNU ID:. Lütfen kopyalayın ve ayarları indirmek için diğer makinelerde bu KİMLİĞİ kullanın.", + "cmd.updateSettings.info.uploadingFile": "Senkron: Veri Dosyaları Yüklemek.", + "cmd.updateSettings.info.uploadingSuccess": "Başarıyla Yüklendi Çeviri:.", + "cmd.updateSettings.title": "Çeviri: Güncelleme/Yükleme Ayarları", + "cmd.updateSettings.warning.OSNotSupported": "{0} Sync Pragma OS değeri {1}satırında desteklenmeyen ", + "cmd.updateSettings.warning.noToken": "Yerel Senkronizasyon ayarları senkronizasyon: Set GitHub Token veya devre dışı bırak 'downloadPublicGist' dosyası.", + "common.action.donate": "Şimdi Bağış ", + "common.action.joinCommunity": "Topluluğuna Katılın ", + "common.action.openExtPage": "Açık Uzatma Sayfa", + "common.action.openExtTutorial": "Açık Öğretici", + "common.action.releaseNotes": "Sürüm Notları", + "common.action.support": "Destek Bu Proje", + "common.action.writeReview": "Gözden Geçirme ", + "common.button.yes": "Evet", + "common.error.canNotSave": "Ayarlar kaydedilemedi çeviri:. Geçerli JSON ayarları olduğundan emin olun lütfen.json dosyası. (örn: sondaki virgül)", + "common.error.connection": "GitHub Bağlanmak için Bağlı ya da Yapamaz Sync: İnternet Değil. Özel durum Konsolunda Oturum ", + "common.error.gistNotSave": "Kaydedilen Çeviri: Özü.", + "common.error.invalidGistId": "Çeviri: Geçersiz Özü Kimliği Girdi. Özetle sizin: https://gist.github.com//doğrulayın.", + "common.error.invalidToken": "Çeviri: Geçersiz/GitHub Token Sona Erdi. Readme belirtilen kapsam ile yeni bir belirteç oluşturmak lütfen. Özel durum Konsolunda Oturum.", + "common.error.message": "Çeviri: Hata (menü > Değiştir Geliştirici Araçları Yardım) Konsol giriş yapmış.", + "common.error.tokenNotSave": "Kayıtlı Değil Token Sync.", + "common.info.donate": "Çeviri: bu uzantı sever misiniz? Hakkında bir inceleme yazmak ya da bir bağış göndermek nasıl? ", + "common.info.excludeFile": "Yükleme ve indirme için ayarları için herhangi bir dosya/klasör hariç tutabilirsiniz çeviri:.", + "common.info.gistSaved": "Çeviri: Özü Kurtardı", + "common.info.initAutoUpload": "{0} Saniye Başlatan Sync: Otomatik Yükleme.", "common.info.installed": "Oluşturulan çeviri: Ayarlar, yükleme için teşekkürler!", - "common.info.needHelp": "Sync: bu uzantı yapılandırma Yardıma mı İhtiyacın var?", - "common.info.excludeFile": "Çeviri: yükleme ve indirme ayarları için herhangi bir dosya / klasör hariç tutabilirsiniz.", - "common.info.updating": "Çeviri: İlerleme Güncelleme ... Lütfen Bekleyin.", - "common.info.initAutoUpload": "5 Saniye İçinde Başlatan Sync: Otomatik Yükleme.", - "common.info.setToken": "Çeviri: Şimdi GitHub elle syncLocalSettings `token ayarlayabilirsiniz.json`,", + "common.info.needHelp": "Sync: bu uzantı yapılandırma konusunda Yardıma mı İhtiyacınız var?", + "common.info.setToken": "Çeviri: Şimdi GitHub elle syncLocalSettings olarak `simge ayarlayabilirsiniz.json`", "common.info.tokenSaved": "Çeviri: Simge Kurtardı", - "common.info.gistSaved": "Çeviri: Özü Kurtardı", - "common.info.updateTo": "{0} v için Güncelleme Sync: ", - "common.info.donate": "Çeviri: bu uzantı sever misiniz? Hakkında bir inceleme yazmak ya da bir bağış göndermek nasıl? ", - "common.error.message": "Çeviri: Hata Konsolu (menü > Değiştir Geliştirici Araçları Yardım) Açmış.", - "common.error.connection": "GitHub Bağlanmak için Bağlı ya da Yapamaz Sync: İnternet. Özel durum Konsolunda Oturum,", - "common.error.canNotSave": "Ayarlar kaydedilemedi çeviri:. Geçerli JSON ayarları olduğundan emin olun lütfen.json dosyası. (örn : sondaki virgül),", - "common.error.invalidToken": "Çeviri: Geçersiz / GitHub Token Sona Erdi. Readme belirtilen kapsam ile yeni bir belirteç oluşturmak lütfen. Özel durum Konsolunda Oturum.", - "common.error.invalidGistId": "Çeviri: Geçersiz Özü Kimliği Girdi. Konusunu doğrulamak : https://gist.github.com//.", - "common.error.tokenNotSave": "Çeviri: Simge Değil Kurtardı.", - "common.error.gistNotSave": "Kaydedilen Çeviri: Özü.", - "common.action.openExtPage": "Açık Uzatma Sayfası,", - "common.action.openExtTutorial": "Açık Öğretici,", - "common.action.releaseNotes": "Sürüm Notları,", - "common.action.writeReview": "Gözden Geçirme,", - "common.action.support": "Destek Bu Proje,", - "common.action.joinCommunity": "Topluluğa Katılmak,", - "common.action.donate": "Şimdi Bağış,", - "common.placeholder.enterGithubAccessToken": "GitHub Kişisel Erişim Belirteci Girin", - "common.placeholder.enterGistId": "Konusunu Kimliği Girin", - "common.placeholder.multipleGist": "Esas Adı (örneğin : Kişisel Ayarlar)", - "common.prompt.multipleGist": "Eğer birden çok fikri varsa ayarları belirlemenizi sağlar.", + "common.info.updateTo": "{0}v için Güncelleme Sync: ", + "common.info.updating": "Çeviri: İlerleme Güncelleme... Lütfen Bekleyin.", + "common.placeholder.enterGistId": "Konusunu Kimliği Girin ", + "common.placeholder.enterGithubAccessToken": "Token GitHub Kişisel Erişim Girin ", + "common.placeholder.multipleGist": "Esas Adı (örneğin: Kişisel Ayarlar)", "common.prompt.enterGistId": "Önceden yüklenmiş ayarları Konusunu Kimliğini girin. Ayrıca el ile kod ayarları (eşitleme ayarlayabilirsiniz.özü). Basın [Enter] veya [Esc] iptal etmek için.", - "common.prompt.enterGithubAccessToken": "Ayrıca el / syncLocalSettings Klasör belirteci (bir Kullanıcı ekleyin.json). Basın [Enter] veya [Esc] iptal etmek için.", + "common.prompt.enterGithubAccessToken": "Ayrıca el/syncLocalSettings Klasör belirteci (bir Kullanıcı ekleyin.json). Basın [Enter] veya [Esc] iptal etmek için.", + "common.prompt.gistNewer": "Çeviri: Özü ayarlarınızı yeni veya benzer bir versiyonu var. ForceUpload bu geçersiz kılmak için etkinleştirmek istiyor musunuz?", + "common.prompt.multipleGist": "Birden çok fikri varsa ayarları belirlemenizi sağlar.", "common.prompt.restartCode": "Uzantıları ve yapılandırmaları uygulamak için yeniden yüklemek ister misiniz?", - "common.button.yes": "Evet" + "ext.config.askGistName": "Oluştururken özü adını sor. Eğer birden fazla gists varsa özü tanımlamak için yardımcı olur.", + "ext.config.autoDownload": "Ayarlamak true Otomatik kod başlangıç ayarları İndirmek. [Kod Yeniden Başlatma Gerekli]", + "ext.config.autoDownload.name": "Otomatik İndirme", + "ext.config.autoUpload": "Doğru ayarları değiştir Yükleme Otomatik olarak ayarlayın. [Kod Yeniden Başlatma Gerekli]", + "ext.config.autoUpload.name": "Otomatik Yükle", + "ext.config.forceDownload": "Eğer en son ayarlar varsa bile ayarları indirmek istiyorsanız true olarak ayarlayın.", + "ext.config.forceDownload.name": "Kuvvet İndir", + "ext.config.forceUpload": "Eğer ÖZÜ yeni ayarları olsa bile ayarları yüklemek istiyorsanız true olarak ayarlayın.", + "ext.config.forceUpload.name": "Güç Yükleme", + "ext.config.gist": "Ayarları Eşitlemek için GitHub KONUSUNU KİMLİĞİ.", + "ext.config.gist.name": "Konusunu KİMLİĞİ", + "ext.config.gist.placeholder": "Konusunu KİMLİĞİ girin ", + "ext.config.host": "Eğer GHE kullanmak istiyorsanız GitHub Enterprise ev sahibi olarak ayarlayın.", + "ext.config.lastDownload": "Ayarları son indirme tarihi Sync. El ile karşıdan vurmak istiyorsan boş olarak ayarlayın.", + "ext.config.lastUpload": "Ayarları son yükleme tarihi Sync. El ile karşıdan vurmak istiyorsan boş olarak ayarlayın.", + "ext.config.pathPrefix": "Eğer GHE kullanmak istiyorsanız GitHub Enterprise API önek ayarlayın. Normalde '/api/v3. Ana ayarlandığında yalnızca kullanılır.", + "ext.config.quietSync": "True olarak ayarlandığında, bunun yerine sayfa sayfa durum çubuğunda sonucu gösterir.", + "ext.config.quietSync.name": "Sessiz Sync", + "ext.config.removeExtensions": "Eğer indirirken uzantıları kaldırmak istemiyorsanız false olarak ayarlayın.", + "ext.config.removeExtensions.name": "Uzantıları Kaldırmak ", + "ext.config.syncExtensions": "Eğer/uzantıları karşıdan yüklemek istemiyorsan false olarak ayarlayın.", + "ext.config.syncExtensions.name": "Sync Uzantıları", + "ext.config.title": "Kod Ayarları Eşitleme Yapılandırma Ayarları", + "ext.globalConfig.askGistName.name": "Özü Adını Sor ", + "ext.globalConfig.autoUploadDelay.name": "Otomatik Yükleme Gecikme", + "ext.globalConfig.autoUploadDelay.placeholder": "Otomatik gecikme için upload saniye miktarını girin", + "ext.globalConfig.downloadPublicGist.name": "İndir Kamu Özü", + "ext.globalConfig.gistDescription.name": "Özetle Açıklama", + "ext.globalConfig.gistDescription.placeholder": "Özetle Açıklama Girin ", + "ext.globalConfig.githubEnterpriseUrl.name": "(İsteğe bağlı)GitHub Enterprise URL ", + "ext.globalConfig.githubEnterpriseUrl.placeholder": "GitHub Enterprise URL girin ", + "ext.globalConfig.hostName.name": "Ana bilgisayar adı (isteğe bağlı)", + "ext.globalConfig.hostName.placeholder": "Makine Adını Girin ", + "ext.globalConfig.ignoreExtensions.name": "Göz Ardı Uzantıları", + "ext.globalConfig.ignoreExtensions.placeholder": "(Tam adı)satır başına bir uzantısı girin ", + "ext.globalConfig.ignoreUploadFiles.name": "Yoksayılan Dosyaları", + "ext.globalConfig.ignoreUploadFiles.placeholder": "Satır başına bir dosya girin ", + "ext.globalConfig.ignoreUploadFolders.name": "Göz Ardı Klasörler", + "ext.globalConfig.ignoredUploadFolders.placeholder": "Satır başına bir klasör girin ", + "ext.globalConfig.openTokenLink.name": "Açık Token Linki", + "ext.globalConfig.supportedFileExtensions.name": "Desteklenen Dosya Uzantıları", + "ext.globalConfig.supportedFileExtensions.placeholder": "Satır başına bir dosya uzantısı girin ", + "ext.globalConfig.token.name": "Erişim Belirteci", + "ext.globalConfig.token.placeholder": "Token Girin " } \ No newline at end of file diff --git a/package.nls.zh-cn.json b/package.nls.zh-cn.json index a020644f..97380e9a 100644 --- a/package.nls.zh-cn.json +++ b/package.nls.zh-cn.json @@ -1,94 +1,142 @@ { - "ext.config.title": "代码同步配置", - "ext.config.gist": "设置同步使用的 GitHub GIST ID", - "ext.config.lastUpload": "最近上传时间. 如果你要手动下载,请将其设置为空", - "ext.config.lastDownload": "最近下载时间. 如果你要手动下载,请将其设置为空", - "ext.config.autoDownload": "设置为 true 在编辑器打开时自动下载远程配置. [需要重启]", - "ext.config.autoUpload": "设置为 true 在编辑器打开时自动上传本地配置. [需要重启]", - "ext.config.forceDownload": "设置为 true 将会下载远程配置, 即便本地已有更新的配置.", - "ext.config.host": "如果你是 Github 企业用户, 设置为 Github 企业版服务器.", - "ext.config.pathPrefix": "如果你是 Github 企业用户, 设置 Github 的 API 前缀. 通常是 '/api/v3'. 只在 host 字段设置后生效", - "ext.config.quietSync": "如果设置为 true, 开启静默模式. 上传和下载的概要信息显示在状态栏而非输出面板", - "ext.config.askGistName": "在创建时询问 gist 的名称. 能够帮助你识别多个 gist.", - "ext.config.removeExtensions": "设置为 false 如果你不想在下载时移除扩展.", - "ext.config.syncExtensions": "设置为 false 如果你不想上传/下载扩展.", - "cmd.howSetting.title": "Sync : 如何配置", - "cmd.updateSettings.title": "Sync : 上传设置", - "cmd.updateSettings.info.uploading": "Sync : 正在上传/更新 Github 设置", - "cmd.updateSettings.info.uploadingFile": "Sync : 正在上传文件数据", - "cmd.updateSettings.info.uploadingDone": "Sync : 上传完成. GIST ID : {0} .请在其他计算机上复制并使用此ID以下载设置.", - "cmd.updateSettings.info.uploadingSuccess": "Sync : 上传成功.", - "cmd.updateSettings.info.shareGist": "Sync : 分享 ID 给其他扩展使用者来分享你的设置", - "cmd.updateSettings.info.readding": "Sync : 正在读取设置和扩展信息", - "cmd.updateSettings.info.newGistCreated": "Sync : 新的 Gist 被创建", - "cmd.updateSettings.warning.noToken": "Sync : 设置 GitHub 令牌或从本地同步设置文件中禁用 'downloadPublicGist'.", - "cmd.updateSettings.error.newGistCreateFail": "Sync : 无法创建 Gist", - "cmd.updateSettings.error.readGistFail": "Sync : 不能读取 ID 为 {0} 的 Gist", - "cmd.updateSettings.error.gistNotSave": "Sync : Gist 未保存", - "cmd.downloadSettings.title": "Sync : 下载设置", - "cmd.downloadSettings.info.downloaded": "Sync : 下载完成", - "cmd.downloadSettings.info.readdingOnline": "Sync : 正在读取远程设置", - "cmd.downloadSettings.info.gotLatestVersion": "Sync : 现在您已使用最新版本的设置.", - "cmd.downloadSettings.error.removeExtFail": "Sync : 不能移除一些扩展", - "cmd.downloadSettings.error.unableSave": "Sync : 无法保存扩展配置文件", - "cmd.resetSettings.title": "Sync : 重置设置", - "cmd.resetSettings.info.resetting": "Sync : 正在重置你的设置", - "cmd.resetSettings.info.settingClear": "Sync : 设置清除完毕", - "cmd.otherOptions.title": "Sync : 高级选项", - "cmd.otherOptions.editLocalSetting": "Sync : 编辑本地扩展设置", - "cmd.otherOptions.shareSetting": "Sync : 分享设置到公开的 Gist", - "cmd.otherOptions.shareSetting.beforeConfirm": "Sync : 这将会删除当前的 Gist 设置然后重新上传到一个新的 Gist 上, 你确定继续吗 ?", - "cmd.otherOptions.downloadSetting": "Sync : 从公开的 Gist 下载设置", - "cmd.otherOptions.toggleForceDownload": "Sync : 切换开关: 是否强制下载", - "cmd.otherOptions.toggleForceDownload.on": "Sync : 强制下载 - 已开启", - "cmd.otherOptions.toggleForceDownload.off": "Sync : 强制下载 - 已关闭", - "cmd.otherOptions.toggleAutoUpload": "Sync : 切换开关: 是否在设置变更后自动上传", - "cmd.otherOptions.toggleAutoUpload.on": "Sync : 自动上传 - 已开启. [需要重启]", - "cmd.otherOptions.toggleAutoUpload.off": "Sync : 自动上传 - 已关闭. [需要重启]", - "cmd.otherOptions.toggleAutoDownload": "Sync : 切换开关: 是否在启动时自动下载", - "cmd.otherOptions.toggleAutoDownload.on": "Sync : 在VSCode启动时自动下载 - 已开启. [需要重启]", - "cmd.otherOptions.toggleAutoDownload.off": "Sync : 在VSCode启动时自动下载 - 已关闭. [需要重启]", - "cmd.otherOptions.toggleSummaryPage": "Sync : 切换开关: 是否开启静默模式.", - "cmd.otherOptions.preserve": "Sync : 下载后保留设置以防止覆盖", - "cmd.otherOptions.preserve.placeholder": "输入 setting.json 中的一个字段作为保留的 key", - "cmd.otherOptions.preserve.prompt": "例如: 输入 'http.proxy' => 存储此计算机代理并覆盖它. 如果设置为空它将删除代理.", - "cmd.otherOptions.preserve.info.done1": "Sync : 完成. 下载完成后将从 setting.json 中删除 {0}", - "cmd.otherOptions.preserve.info.done2": "Sync : 完成. 下载完成后扩展将保留 {0}:{1} 在 setting.json", - "cmd.otherOptions.joinCommunity": "Sync : 加入社区", - "cmd.otherOptions.openIssue": "Sync : 反馈问题", - "cmd.otherOptions.releaseNotes": "Sync : 更新日志", - "cmd.otherOptions.quietSync.on": "Sync : 静默模式开启. 现在上传和下载的概要信息显示在状态栏上", - "cmd.otherOptions.quietSync.off": "Sync : 静默模式关闭. 现在上传和下载的概要信息显示在输出面板上", - "cmd.otherOptions.warning.tokenNotRequire": "Sync : Settings Sync 从现在开始不会询问你的 Github Token", - "cmd.otherOptions.error.toggleFail": "Sync : 切换失败", - "common.info.installed": "Sync : 配置已创建. 感谢您的使用 !", - "common.info.needHelp": "Sync : 需要帮助来配置此扩展吗?", - "common.info.excludeFile": "Sync : 你可以在上传和下载中忽略任何文件或文件夹", - "common.info.updating": "Sync : 正在更新... 请稍后.", - "common.info.initAutoUpload": "Sync : 5 秒后开始自动上传", - "common.info.setToken": "Sync : 现在你可以在 `syncLocalSettings.json` 中手动设置 GitHub token", - "common.info.tokenSaved": "Sync : Token 已保存", - "common.info.gistSaved": "Sync : Gist 已保存", - "common.info.updateTo": "Sync : 更新至 v{0}", - "common.info.donate": "Sync : 你喜欢这个扩展吗? 要不留下评论或捐助我怎么样 ;)", - "common.error.message": "Sync : 错误信息已打印在控制台 (帮助 > 切换开发人员工具)", - "common.error.connection": "Sync : 未连接到网络或者连接 Github 失败. 错误信息已打印到控制台", - "common.error.canNotSave": "Sync : 保存设置失败. 请确保你的 setting.json 文件合法 (例如 : 没有逗号尾随)", - "common.error.invalidToken": "Sync : Github Token 无效或已过期. 请重新生成. 错误信息已打印到控制台", - "common.error.invalidGistId": "Sync : Gist Id 无效. 请确认你的 Gist : https://gist.github.com//. 是否有效", - "common.error.tokenNotSave": "Sync : Token 未保存.", - "common.error.gistNotSave": "Sync : Gist 未保存.", - "common.action.openExtPage": "打开扩展主页", - "common.action.openExtTutorial": "打开教程", - "common.action.releaseNotes": "更新日志", - "common.action.writeReview": "去写评论", - "common.action.support": "支持这个项目", + "cmd.downloadSettings.error.removeExtFail": "Sync:无法除去一些扩展。", + "cmd.downloadSettings.error.unableSave": "Sync:无法节省扩展,设置文件。", + "cmd.downloadSettings.info.downloaded": "Sync:下载完成。", + "cmd.downloadSettings.info.gotLatestVersion": "Sync:你已经有了的最新版本,保存的设置。", + "cmd.downloadSettings.info.readdingOnline": "Sync:阅读设置。", + "cmd.downloadSettings.title": "Sync:下载设置", + "cmd.howSetting.title": "Sync:如何配置", + "cmd.otherOptions.customizedSync": "Sync:添加自定义的文件同步路径", + "cmd.otherOptions.customizedSync.done": "Sync:{0}已经注册。", + "cmd.otherOptions.customizedSync.placeholder": "进入一个绝对的道路的其他上传文件。", + "cmd.otherOptions.customizedSync.prompt": "(ex。 /path/to/.eslintrc)将上载和下载到指定的路径。", + "cmd.otherOptions.downloadCustomFile": "同步:进口定义同步文件的工作区", + "cmd.otherOptions.downloadCustomFile.done": "下载{0}.", + "cmd.otherOptions.downloadCustomFile.placeholder": "选择你想要的文件下载到根的工作空间你们的工作。", + "cmd.otherOptions.downloadSetting": "Sync:下载设置从公众要点", + "cmd.otherOptions.editLocalSetting": "同步:编辑延地设置", + "cmd.otherOptions.error.toggleFail": "Sync:无法切换。", + "cmd.otherOptions.joinCommunity": "同步:加入社会", + "cmd.otherOptions.openIssue": "同步:公开的问题", + "cmd.otherOptions.openSettingsPage": "同步:打开设置", + "cmd.otherOptions.preserve": "Sync:保护设定停止复盖下载后", + "cmd.otherOptions.preserve.info.done1": "Sync:做。 {0}值将被删除。json后,下载。", + "cmd.otherOptions.preserve.info.done2": "Sync:做。 延期将保持{0}:{1}在设置。json后,下载。", + "cmd.otherOptions.preserve.placeholder": "输入任何关键。计保护。", + "cmd.otherOptions.preserve.prompt": "例如:编写'http。代理'=>存储这些计算机代理和复盖,如果设置空会代理。", + "cmd.otherOptions.quietSync.off": "Sync:摘要将显示在上传或下载.", + "cmd.otherOptions.quietSync.on": "Sync:状态条,将更新后上传或下载.", + "cmd.otherOptions.releaseNotes": "Sync:释放笔记", + "cmd.otherOptions.shareSetting": "同步:分享设置与公共主旨", + "cmd.otherOptions.shareSetting.beforeConfirm": "Sync:这将消除当前的主旨和上传上的设置新的公共GIST。 你想继续吗?", + "cmd.otherOptions.title": "同步:高级选项", + "cmd.otherOptions.toggleAutoDownload": "Sync:切换自动下载上启动", + "cmd.otherOptions.toggleAutoDownload.off": "Sync:自动下载关闭后VSCode启动。", + "cmd.otherOptions.toggleAutoDownload.on": "Sync:自动下载通吁VSCode启动。", + "cmd.otherOptions.toggleAutoUpload": "Sync:切换自动上设置更改", + "cmd.otherOptions.toggleAutoUpload.off": "Sync:汽车上设置更改关闭。", + "cmd.otherOptions.toggleAutoUpload.on": "Sync:汽车上设置的改变。 这将需要作用之后重新启动。", + "cmd.otherOptions.toggleForceDownload": "Sync:肘力下载", + "cmd.otherOptions.toggleForceDownload.off": "Sync:力下关闭。", + "cmd.otherOptions.toggleForceDownload.on": "Sync:力下接通。", + "cmd.otherOptions.toggleForceUpload": "Sync:肘力上传", + "cmd.otherOptions.toggleForceUpload.off": "Sync:力上关闭。", + "cmd.otherOptions.toggleForceUpload.on": "Sync:力上开启。", + "cmd.otherOptions.toggleSummaryPage": "Sync:肘表明摘要页上载/下载", + "cmd.otherOptions.triggerReset": "Sync:你要重设置?", + "cmd.otherOptions.warning.tokenNotRequire": "同步:设置同步将不要求审查Token从现在开始。", + "cmd.resetSettings.info.resetting": "Sync:重新设置你的设置。", + "cmd.resetSettings.info.settingClear": "同步:设置清除。", + "cmd.resetSettings.title": "同步:扩展设置重置", + "cmd.updateSettings.error.gistNotSave": "Sync:主旨不保存", + "cmd.updateSettings.error.newGistCreateFail": "Sync:无法创建Gist。", + "cmd.updateSettings.error.readGistFail": "Sync:主旨ID:{0}无法阅读。", + "cmd.updateSettings.info.newGistCreated": "同步:新的主旨而创建的。", + "cmd.updateSettings.info.readding": "Sync:阅读设置和扩展。", + "cmd.updateSettings.info.shareGist": "同步:分享Id与其他扩展的用户共享的设置。", + "cmd.updateSettings.info.uploadCanceled": "Sync:传过程中取消。", + "cmd.updateSettings.info.uploading": "同步:上更新设置在想.", + "cmd.updateSettings.info.uploadingDone": "同步:上传完成。 主旨ID:{0}. 请复制和使用这个标识的其他机下载设置。", + "cmd.updateSettings.info.uploadingFile": "同步:将文件上传数据。", + "cmd.updateSettings.info.uploadingSuccess": "同步:上传成功。", + "cmd.updateSettings.title": "同步:更新/Upload设置", + "cmd.updateSettings.warning.OSNotSupported": "同步Pragma OS值{0}不支持在线{1}", + "cmd.updateSettings.warning.noToken": "Sync:设想令或禁用'downloadPublicGist'从本地的同步设置文件。", + "common.action.donate": "现在捐赠", "common.action.joinCommunity": "加入社区", - "common.action.donate": "捐赠我", - "common.placeholder.enterGithubAccessToken": "请输入 GitHub Token", - "common.placeholder.enterGistId": "请输入 Gist Id", - "common.placeholder.multipleGist": "Gist 名 [ 例如 : Personal Settings ]", - "common.prompt.multipleGist": "如果你有多个 Gist 设置, 请输入名称扩展才得以识别", - "common.prompt.enterGistId": "请输入上一次上传设置的 Gist Id. 你也可以手动添加到 VSCode 的配置文件 (sync.gist 字段). 按下 [Enter] 确认或者 输入 'esc' 取消", - "common.prompt.enterGithubAccessToken": "链接打开了! 你可以手动添加到 用户目录/syncLocalSettings.json. 按下 [Enter] 确认或者 输入 'esc' 取消" -} + "common.action.openExtPage": "开放的扩展网页", + "common.action.openExtTutorial": "开放教程", + "common.action.releaseNotes": "释放笔记", + "common.action.support": "支持这个项目", + "common.action.writeReview": "写的审查", + "common.button.yes": "是的", + "common.error.canNotSave": "Sync:无法保存的设置。 请确保您有有效的JSON设置。json文件。 (例如:没有追踪逗号)", + "common.error.connection": "Sync:互联网上不相连或无法连接到想. 异常登台的", + "common.error.gistNotSave": "Sync:主旨没有保存。", + "common.error.invalidGistId": "同步:无效的要旨Id进入。 验证你的要点:https://gist.github.com//.", + "common.error.invalidToken": "同步:无效的/过期审查标记。 请产生新的标记用范围中提到的自述。 异常登录控制台。", + "common.error.message": "Sync:错误记录在控制台(帮助菜单>切换开发工具)。", + "common.error.tokenNotSave": "Sync:令牌不保存。", + "common.info.donate": "Sync:你喜欢这种扩展? 如何有关书面评论或发送捐赠? ", + "common.info.excludeFile": "Sync:你可以排除任何文件上传和设置下载。", + "common.info.gistSaved": "Sync:要点保存的", + "common.info.initAutoUpload": "Sync:自动上发起{0}秒钟。", + "common.info.installed": "Sync:创建的设置,感谢你安装!", + "common.info.needHelp": "Sync:需要帮助配置这种扩展?", + "common.info.setToken": "Sync:现在你可以设定你想令牌手动`syncLocalSettings.json`", + "common.info.tokenSaved": "Sync:令牌救了", + "common.info.updateTo": "同步:更新v{0}", + "common.info.updating": "同步:更新中的进步...请等等", + "common.placeholder.enterGistId": "请输入要点的Id", + "common.placeholder.enterGithubAccessToken": "该审查的个人接入令牌", + "common.placeholder.multipleGist": "要点名(例如:个人设置)", + "common.prompt.enterGistId": "请输入要点Id从以前上载设置。 你也可以手动设置在代码设置(同步。gist)。 按[该]或[Esc]取消。", + "common.prompt.enterGithubAccessToken": "你还手工加入令牌(用户的文件夹/syncLocalSettings.json). 按[该]或[Esc]取消。", + "common.prompt.gistNewer": "Sync:主旨具有较新的或相同版本的设置。 你想要使forceUpload重写这个?", + "common.prompt.multipleGist": "可以识别设置的,如果你有多个要点。", + "common.prompt.restartCode": "你想要重新加载应用扩展和配置?", + "ext.config.askGistName": "请问要点名后创建。 可以帮助你确定要点如果你有多个要点.", + "ext.config.autoDownload": "设定的它真正到自动下载的设置上的代码开始。 [码需要重新启动]", + "ext.config.autoDownload.name": "自动下载", + "ext.config.autoUpload": "设置这真到车上载上设置更改。 [码需要重新启动]", + "ext.config.autoUpload.name": "自上传", + "ext.config.forceDownload": "它设定为真的如果你想下载的设置甚至当你拥有最新设置。", + "ext.config.forceDownload.name": "力下载", + "ext.config.forceUpload": "它设定为真的如果你想上传的设置,即使在其主旨具有较新的设置。", + "ext.config.forceUpload.name": "军上传", + "ext.config.gist": "想要点ID用于设置不同步。", + "ext.config.gist.name": "主旨ID", + "ext.config.gist.placeholder": "请输入要点的ID", + "ext.config.host": "它设置你的但企业主如果你想使用GHE.", + "ext.config.lastDownload": "设置同步上下载的日期。 设置作为空如果你想要手动打下载。", + "ext.config.lastUpload": "设置同步的最后上传的日期。 设置作为空如果你想要手动打下载。", + "ext.config.pathPrefix": "套到你的审查企业API前缀如果你想使用GHE. 通常'/api/v3'。 只时所使用的主机设置。", + "ext.config.quietSync": "当设置为真实,将显示出结果,在条状态,而不是摘要页。", + "ext.config.quietSync.name": "安静的同步", + "ext.config.removeExtensions": "它设置虚假的,如果你不想要删除的扩展,同时下载。", + "ext.config.removeExtensions.name": "删除扩展", + "ext.config.syncExtensions": "它设置虚假的,如果你不想上载/下载的扩展。", + "ext.config.syncExtensions.name": "同步扩展", + "ext.config.title": "代码设置同步配置的设置", + "ext.globalConfig.askGistName.name": "请问要点名", + "ext.globalConfig.autoUploadDelay.name": "自动上的延迟", + "ext.globalConfig.autoUploadDelay.placeholder": "输入量几秒钟的延迟自动上传", + "ext.globalConfig.downloadPublicGist.name": "下载公众的要点", + "ext.globalConfig.gistDescription.name": "要点的说明", + "ext.globalConfig.gistDescription.placeholder": "请输入要点的说明", + "ext.globalConfig.githubEnterpriseUrl.name": "但企业网址(可选)", + "ext.globalConfig.githubEnterpriseUrl.placeholder": "进入审查企业URL", + "ext.globalConfig.hostName.name": "主机名(可选)", + "ext.globalConfig.hostName.placeholder": "输入主机名", + "ext.globalConfig.ignoreExtensions.name": "忽略的扩展", + "ext.globalConfig.ignoreExtensions.placeholder": "进入一个扩展的每线(全名)", + "ext.globalConfig.ignoreUploadFiles.name": "被忽略的文件", + "ext.globalConfig.ignoreUploadFiles.placeholder": "进入一个文件中每线", + "ext.globalConfig.ignoreUploadFolders.name": "忽略文件夹", + "ext.globalConfig.ignoredUploadFolders.placeholder": "进入一个文件夹每线", + "ext.globalConfig.openTokenLink.name": "打开链路牌", + "ext.globalConfig.supportedFileExtensions.name": "支持文件的扩展", + "ext.globalConfig.supportedFileExtensions.placeholder": "进入一个文件的扩展,每线", + "ext.globalConfig.token.name": "接入令牌", + "ext.globalConfig.token.placeholder": "输入令牌" +} \ No newline at end of file diff --git a/release-notes.json b/release-notes.json new file mode 100644 index 00000000..dcc370a2 --- /dev/null +++ b/release-notes.json @@ -0,0 +1,40 @@ +{ + "changes": [ + { + "details": "Settings Sync now use Webviews to allow you to configure settings", + "type": "NEW", + "color": "success", + "author": "arnohovhannisyan", + "pullRequest": "876" + }, + { + "details": "code snippets not being synced after update to 3.3.0", + "type": "FIX", + "color": "danger", + "author": "arnohovhannisyan", + "pullRequest": "928" + }, + { + "details": "Implement upload delay setting", + "type": "NEW", + "color": "success", + "author": "arnohovhannisyan", + "pullRequest": "925" + }, + { + "details": "Dont Upload If GIST and settings content are the same", + "type": "NEW", + "color": "danger", + "author": "arnohovhannisyan", + "pullRequest": "923" + }, + { + "details": "Prevent accidental upload", + "type": "NEW", + "color": "danger", + "author": "arnohovhannisyan", + "pullRequest": "923" + } + ], + "currentVersion": "v3.4.0" +} diff --git a/src/commons.ts b/src/commons.ts index 5eaf49e8..4aef1182 100644 --- a/src/commons.ts +++ b/src/commons.ts @@ -7,7 +7,8 @@ import { ExtensionConfig } from "./models/extensionConfig.model"; import { LocalConfig } from "./models/localConfig.model"; import { AutoUploadService } from "./service/autoUpload.service"; import { File, FileService } from "./service/file.service"; -import { ExtensionInformation } from "./service/pluginService"; +import { ExtensionInformation } from "./service/plugin.service"; +import { WebviewService } from "./service/webview.service"; import { state } from "./state"; export default class Commons { @@ -74,6 +75,7 @@ export default class Commons { } public autoUploadService: AutoUploadService; + public webviewService = new WebviewService(); public ERROR_MESSAGE: string = localize("common.error.message"); @@ -106,47 +108,19 @@ export default class Commons { } } - public async InitalizeSettings( - askToken: boolean, - askGist: boolean - ): Promise { + public async InitalizeSettings(): Promise { const settings = new LocalConfig(); const extSettings = this.GetSettings(); const cusSettings = await this.GetCustomSettings(); - if (cusSettings.token === "") { - if (askToken === true) { - askToken = !cusSettings.downloadPublicGist; - } - - if (askToken) { - if (cusSettings.openTokenLink) { - vscode.commands.executeCommand( - "vscode.open", - vscode.Uri.parse("https://github.com/settings/tokens") - ); - } - const tokTemp: string = await this.GetTokenAndSave(cusSettings); - if (!tokTemp) { - const msg = localize("common.error.tokenNotSave"); - vscode.window.showErrorMessage(msg); - throw new Error(msg); - } - cusSettings.token = tokTemp; - } + if ( + cusSettings.downloadPublicGist + ? !extSettings.gist + : !cusSettings.token || !extSettings.gist + ) { + this.webviewService.OpenLandingPage(); } - if (extSettings.gist === "") { - if (askGist) { - const gistTemp: string = await this.GetGistAndSave(extSettings); - if (!gistTemp) { - const msg = localize("common.error.gistNotSave"); - vscode.window.showErrorMessage(msg); - throw new Error(msg); - } - extSettings.gist = gistTemp; - } - } settings.customConfig = cusSettings; settings.extConfig = extSettings; return settings; diff --git a/src/environmentPath.ts b/src/environmentPath.ts index 52868689..ee0726e4 100644 --- a/src/environmentPath.ts +++ b/src/environmentPath.ts @@ -16,7 +16,7 @@ export function osTypeFromString(osName: string): OsType { } export class Environment { - public static CURRENT_VERSION: number = 331; + public static CURRENT_VERSION: number = 340; public static getVersion(): string { return ( Environment.CURRENT_VERSION.toString().slice(0, 1) + diff --git a/src/extension.ts b/src/extension.ts index acea2ca7..e0064c58 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -2,7 +2,6 @@ import * as vscode from "vscode"; import { Environment } from "./environmentPath"; -import { init as initLocalize } from "./localize"; import { state } from "./state"; import { Sync } from "./sync"; @@ -10,8 +9,6 @@ export async function activate(context: vscode.ExtensionContext) { state.context = context; state.environment = new Environment(); - await initLocalize(); - const sync = new Sync(); sync.bootstrap(); diff --git a/src/localize.ts b/src/localize.ts index 7571ada5..a88ce0fd 100644 --- a/src/localize.ts +++ b/src/localize.ts @@ -1,130 +1,86 @@ -import * as fs from "fs-extra"; -import * as path from "path"; +import { existsSync, readFileSync } from "fs-extra"; +import { resolve } from "path"; import { extensions } from "vscode"; -import { state } from "./state"; - -interface IConfig { - locale?: string; -} - -interface ILanguagePack { - [key: string]: string; -} +import { ILanguagePack } from "./models/language-pack.model"; export class Localize { - private bundle: ILanguagePack; - private options: IConfig; - /** - * translate the key - * @param key - * @param args - */ - public localize(key: string, ...args: any[]): string { - const languagePack = this.bundle; - const message: string = languagePack[key] || key; + private bundle = this.resolveLanguagePack(); + private options: { locale: string }; + + public localize(key: string, ...args: string[]): string { + const message = this.bundle[key] || key; return this.format(message, args); } - public async init() { - this.options = { - locale: "en" - }; + private init() { try { - const pathToLocale = path.resolve( - state.environment.USER_FOLDER, - "locale.json" - ); - if (fs.existsSync(pathToLocale)) { - const contents = fs.readFileSync(pathToLocale, "utf-8"); - this.options = { - ...this.options, - ...(contents ? JSON.parse(contents) : {}) - }; - } + this.options = { + ...this.options, + ...JSON.parse(process.env.VSCODE_NLS_CONFIG || "{}") + }; } catch (err) { - // + throw err; } - - this.bundle = await this.resolveLanguagePack(); } - /** - * format the message - * @param message - * @param args - */ - private format(message: string, args: any[] = []): string { - let result: string; - if (args.length === 0) { - result = message; - } else { - result = message.replace(/\{(\d+)\}/g, (match, rest: any[]) => { - const index = rest[0]; - return typeof args[index] !== "undefined" ? args[index] : match; - }); - } - return result; + + private format(message: string, args: string[] = []): string { + return args.length + ? message.replace( + /\{(\d+)\}/g, + (match, rest: any[]) => args[rest[0]] || match + ) + : message; } - /** - * Get language pack - */ - private async resolveLanguagePack(): Promise { - const defaultResvoleLanguage = ".nls.json"; - let resolvedLanguage: string = ""; - // TODO: it should read the extension root path from context + + private resolveLanguagePack(): ILanguagePack { + this.init(); + + const languageFormat = "package.nls{0}.json"; + const defaultLanguage = languageFormat.replace("{0}", ""); + const rootPath = extensions.getExtension("Shan.code-settings-sync") .extensionPath; - const file = path.join(rootPath, "package"); - const options = this.options; - if (!options.locale) { - resolvedLanguage = defaultResvoleLanguage; - } else { - let locale: string | null = options.locale; - while (locale) { - const candidate = ".nls." + locale + ".json"; - if (await fs.pathExists(file + candidate)) { - resolvedLanguage = candidate; - break; - } else { - const index = locale.lastIndexOf("-"); - if (index > 0) { - locale = locale.substring(0, index); - } else { - resolvedLanguage = ".nls.json"; - locale = null; - } - } - } - } + const resolvedLanguage = this.recurseCandidates( + rootPath, + languageFormat, + this.options.locale + ); - let defaultLanguageBundle = {}; + const languageFilePath = resolve(rootPath, resolvedLanguage); - // if not use default language - // then merger the Language pack - // just in case the resolveLanguage bundle missing the translation and fallback with default language - if (resolvedLanguage !== defaultResvoleLanguage) { - defaultLanguageBundle = JSON.parse( - fs.readFileSync(path.join(file + defaultResvoleLanguage), "utf-8") + try { + const defaultLanguageBundle = JSON.parse( + resolvedLanguage !== defaultLanguage + ? readFileSync(resolve(rootPath, defaultLanguage), "utf-8") + : "{}" ); - } - - const languageFilePath = path.join(file + resolvedLanguage); - const isExistResolvedLanguage = await fs.pathExists(languageFilePath); + const resolvedLanguageBundle = JSON.parse( + readFileSync(languageFilePath, "utf-8") + ); - const ResolvedLanguageBundle = isExistResolvedLanguage - ? JSON.parse(fs.readFileSync(languageFilePath, "utf-8")) - : {}; + return { ...defaultLanguageBundle, ...resolvedLanguageBundle }; + } catch (err) { + throw err; + } + } - // merger with default language bundle - return { ...defaultLanguageBundle, ...ResolvedLanguageBundle }; + private recurseCandidates( + rootPath: string, + format: string, + candidate: string + ): string { + const filename = format.replace("{0}", `.${candidate}`); + const filepath = resolve(rootPath, filename); + if (existsSync(filepath)) { + return filename; + } + if (candidate.split("-")[0] !== candidate) { + return this.recurseCandidates(rootPath, format, candidate.split("-")[0]); + } + return format.replace("{0}", ""); } } -const instance = new Localize(); - -const init = instance.init.bind(instance); - -export default instance.localize.bind(instance); - -export { init }; +export default Localize.prototype.localize.bind(new Localize()); diff --git a/src/models/customConfig.model.ts b/src/models/customConfig.model.ts index 12302210..59b25994 100644 --- a/src/models/customConfig.model.ts +++ b/src/models/customConfig.model.ts @@ -29,4 +29,5 @@ export class CustomConfig { public customFiles: { [key: string]: string } = {}; public hostName: string = null; public universalKeybindings: boolean = false; + public autoUploadDelay: number = 20; } diff --git a/src/models/extensionConfig.model.ts b/src/models/extensionConfig.model.ts index 617aac25..d74242c2 100644 --- a/src/models/extensionConfig.model.ts +++ b/src/models/extensionConfig.model.ts @@ -6,4 +6,5 @@ export class ExtensionConfig { public autoDownload = false; public autoUpload = false; public forceDownload = false; + public forceUpload = false; } diff --git a/src/models/language-pack.model.ts b/src/models/language-pack.model.ts new file mode 100644 index 00000000..f4571408 --- /dev/null +++ b/src/models/language-pack.model.ts @@ -0,0 +1,3 @@ +export interface ILanguagePack { + [key: string]: string; +} diff --git a/src/models/settingType.model.ts b/src/models/settingType.model.ts new file mode 100644 index 00000000..638c640a --- /dev/null +++ b/src/models/settingType.model.ts @@ -0,0 +1,6 @@ +export enum UISettingType { + TextInput = "textinput", + NumberInput = "numberinput", + Checkbox = "checkbox", + TextArea = "textarea" +} diff --git a/src/models/webview.model.ts b/src/models/webview.model.ts new file mode 100644 index 00000000..09f8649e --- /dev/null +++ b/src/models/webview.model.ts @@ -0,0 +1,9 @@ +import { WebviewPanel } from "vscode"; + +export interface IWebview { + name: string; + htmlPath: string; + htmlContent?: string; + webview?: WebviewPanel; + replaceables: Array<{}>; +} diff --git a/src/service/autoUpload.service.ts b/src/service/autoUpload.service.ts index 30586be6..ba97963e 100644 --- a/src/service/autoUpload.service.ts +++ b/src/service/autoUpload.service.ts @@ -32,7 +32,7 @@ export class AutoUploadService { await lockfile.Lock(state.environment.FILE_SYNC_LOCK); } const customConfig = await state.commons.GetCustomSettings(); - if (customConfig) { + if (!customConfig.downloadPublicGist) { await this.InitiateAutoUpload(); } await lockfile.Unlock(state.environment.FILE_SYNC_LOCK); @@ -60,7 +60,10 @@ export class AutoUploadService { const fileType: string = path .substring(path.lastIndexOf("."), path.length) .slice(1); - if (customConfig.supportedFileExtensions.indexOf(fileType) !== -1) { + if ( + customConfig.supportedFileExtensions.includes(fileType) && + !customConfig.downloadPublicGist + ) { await this.InitiateAutoUpload(); } } @@ -78,13 +81,18 @@ export class AutoUploadService { } private async InitiateAutoUpload() { + const customSettings = await state.commons.GetCustomSettings(); + vscode.window.setStatusBarMessage("").dispose(); vscode.window.setStatusBarMessage( - localize("common.info.initAutoUpload"), + localize("common.info.initAutoUpload").replace( + "{0}", + customSettings.autoUploadDelay + ), 5000 ); - await Util.Sleep(5000); + await Util.Sleep(customSettings.autoUploadDelay * 1000); vscode.commands.executeCommand("extension.updateSettings", "forceUpdate"); } diff --git a/src/service/file.service.ts b/src/service/file.service.ts index 50779568..89c0bfc7 100644 --- a/src/service/file.service.ts +++ b/src/service/file.service.ts @@ -2,6 +2,8 @@ import * as fs from "fs-extra"; import * as path from "path"; +import * as recursiveRead from "recursive-readdir"; +import { CustomConfig } from "../models/customConfig.model"; export class File { constructor( @@ -95,46 +97,36 @@ export class FileService { public static async ListFiles( directory: string, - depth: number, - fullDepth: number, - fileExtensions: string[] + customSettings: CustomConfig ): Promise { - const fileList = await fs.readdir(directory); - - const files: File[] = []; - for (const fileName of fileList) { - const fullPath: string = directory.concat(fileName); - if (await FileService.IsDirectory(fullPath)) { - if (depth < fullDepth) { - for (const element of await FileService.ListFiles( - fullPath + "/", - depth + 1, - fullDepth, - fileExtensions - )) { - files.push(element); - } - } - } else { - const hasExtension: boolean = fullPath.lastIndexOf(".") > 0; - let allowedFile: boolean = false; - if (hasExtension) { - const extension: string = fullPath - .substr(fullPath.lastIndexOf(".") + 1, fullPath.length) - .toLowerCase(); - allowedFile = fileExtensions.filter(m => m === extension).length > 0; - } else { - allowedFile = fileExtensions.filter(m => m === "").length > 0; - } - - if (allowedFile) { - const file: File = await FileService.GetFile(fullPath, fileName); - files.push(file); - } + function folderMatcher(file: string, stats: fs.Stats) { + if (stats.isDirectory()) { + return customSettings.ignoreUploadFolders.some(fold => { + return file.split(path.sep).includes(fold); + }); } + return false; } - - return files; + function fileExtensionMatcher(file: string, stats: fs.Stats) { + if (stats.isDirectory()) { + return false; + } + const ext = path.extname(file).slice(1); + if (!customSettings.supportedFileExtensions.includes(ext)) { + return true; + } + return false; + } + const files = await recursiveRead(directory, [ + ...customSettings.ignoreUploadFiles, + folderMatcher, + fileExtensionMatcher + ]); + return Promise.all( + files.map(file => { + return FileService.GetFile(file, path.basename(file)); + }) + ); } public static async CreateDirTree( diff --git a/src/service/github.oauth.service.ts b/src/service/github.oauth.service.ts new file mode 100644 index 00000000..8fee007d --- /dev/null +++ b/src/service/github.oauth.service.ts @@ -0,0 +1,126 @@ +import * as express from "express"; +import { Server } from "http"; +import fetch from "node-fetch"; +import { URL, URLSearchParams } from "url"; +import Commons from "../commons"; +import { state } from "../state"; + +export class GitHubOAuthService { + public app: express.Express; + public server: Server; + + constructor(public port: number) { + this.app = express(); + this.app.use(express.json(), express.urlencoded({ extended: false })); + } + + public async StartProcess() { + const customSettings = await state.commons.GetCustomSettings(); + const host = customSettings.githubEnterpriseUrl + ? new URL(customSettings.githubEnterpriseUrl) + : new URL("https://github.com"); + + this.server = this.app.listen(this.port); + this.app.get("/callback", async (req, res) => { + try { + const params = new URLSearchParams( + await (await this.getToken(req.param("code"), host)).text() + ); + + res.send(` + + + + + + + +

Success! You may now close this tab.

+ + + + `); + this.server.close(); + + const token = params.get("access_token"); + this.saveToken(token); + + const user = await this.getUser(token, host); + + const gists: any[] = await this.getGists(token, user, host); + + if (gists.length) { + state.commons.webviewService.OpenGistSelectionpage(gists); + } + } catch (err) { + const error = new Error(err); + Commons.LogException(error, state.commons.ERROR_MESSAGE, true); + } + }); + } + + public getToken(code: string, host: URL) { + const params = new URLSearchParams(); + params.append("client_id", "cfd96460d8b110e2351b"); + params.append("client_secret", "ed46bd3a0f736e0da57308e86ca5fa3cf8688582"); + params.append("code", code); + + const promise = fetch(`https://${host.hostname}/login/oauth/access_token`, { + method: "POST", + body: params + }); + + promise.catch(err => { + Commons.LogException(err, "Sync: Invalid GitHub Enterprise URL.", true); + }); + + return promise; + } + + public async getGists(token: string, user: string, host: URL) { + const promise = fetch(`https://api.${host.hostname}/users/${user}/gists`, { + method: "GET", + headers: { Authorization: `token ${token}` } + }); + + promise.catch(err => { + Commons.LogException(err, "Sync: Invalid GitHub Enterprise URL.", true); + }); + + const res = await promise; + const gists = await res.json(); + return gists; + } + + public async saveToken(token: string) { + const currentSettings = await state.commons.GetCustomSettings(); + currentSettings.token = token; + state.commons.SetCustomSettings(currentSettings); + } + + public async getUser(token: string, host: URL) { + const promise = fetch(`https://api.${host.hostname}/user`, { + method: "GET", + headers: { Authorization: `token ${token}` } + }); + + promise.catch(err => { + Commons.LogException(err, "Sync: Invalid GitHub Enterprise URL.", true); + }); + + const res = await promise; + const json = await res.json(); + return json.login; + } +} diff --git a/src/service/github.service.ts b/src/service/github.service.ts index c36d4d86..1173cc6a 100644 --- a/src/service/github.service.ts +++ b/src/service/github.service.ts @@ -3,6 +3,8 @@ import * as GitHubApi from "@octokit/rest"; import * as HttpsProxyAgent from "https-proxy-agent"; import * as vscode from "vscode"; +import Commons from "../commons"; +import { state } from "../state"; import { File } from "./file.service"; interface IEnv { @@ -128,7 +130,33 @@ export class GitHubService { public async ReadGist( GIST: string ): Promise> { - return await this.github.gists.get({ gist_id: GIST }); + const promise = this.github.gists.get({ gist_id: GIST }); + const res = await promise.catch(err => { + if (String(err).includes("HttpError: Not Found")) { + return Commons.LogException(err, "Sync: Invalid Gist ID", true); + } + Commons.LogException(err, state.commons.ERROR_MESSAGE, true); + }); + if (res) { + return res; + } + } + + public async IsGistNewer( + GIST: string, + localLastUpload: Date + ): Promise { + const gist = await this.ReadGist(GIST); + if (!gist) { + return; + } + const gistLastUpload = new Date( + JSON.parse(gist.data.files.cloudSettings.content).lastUpload + ); + if (!localLastUpload) { + return false; + } + return gistLastUpload > localLastUpload; } public UpdateGIST(gistObject: any, files: File[]): any { @@ -153,7 +181,17 @@ export class GitHubService { public async SaveGIST(gistObject: any): Promise { gistObject.gist_id = gistObject.id; - await this.github.gists.update(gistObject); - return true; + const promise = this.github.gists.update(gistObject); + + const res = await promise.catch(err => { + if (String(err).includes("HttpError: Not Found")) { + return Commons.LogException(err, "Sync: Invalid Gist ID", true); + } + Commons.LogException(err, state.commons.ERROR_MESSAGE, true); + }); + + if (res) { + return true; + } } } diff --git a/src/service/pluginService.ts b/src/service/plugin.service.ts similarity index 100% rename from src/service/pluginService.ts rename to src/service/plugin.service.ts diff --git a/src/service/webview.service.ts b/src/service/webview.service.ts new file mode 100644 index 00000000..eb605e48 --- /dev/null +++ b/src/service/webview.service.ts @@ -0,0 +1,449 @@ +import { readFileSync } from "fs-extra"; +import { has, set } from "lodash"; +import { URL } from "url"; +import * as vscode from "vscode"; +import Commons from "../commons"; +import localize from "../localize"; +import { CustomConfig } from "../models/customConfig.model"; +import { ExtensionConfig } from "../models/extensionConfig.model"; +import { UISettingType } from "../models/settingType.model"; +import { IWebview } from "../models/webview.model"; +import { state } from "../state"; +import { GitHubOAuthService } from "./github.oauth.service"; + +export class WebviewService { + private globalSettings = [ + { + name: localize("ext.globalConfig.token.name"), + placeholder: localize("ext.globalConfig.token.placeholder"), + type: UISettingType.TextInput, + correspondingSetting: "token" + }, + { + name: localize("ext.globalConfig.githubEnterpriseUrl.name"), + placeholder: localize("ext.globalConfig.githubEnterpriseUrl.placeholder"), + type: UISettingType.TextInput, + correspondingSetting: "githubEnterpriseUrl" + }, + + { + name: localize("ext.globalConfig.ignoreUploadFolders.name"), + placeholder: localize("ext.globalConfig.ignoreUploadFolders.placeholder"), + type: UISettingType.TextArea, + correspondingSetting: "ignoreUploadFolders" + }, + { + name: localize("ext.globalConfig.ignoreExtensions.name"), + placeholder: localize("ext.globalConfig.ignoreExtensions.placeholder"), + type: UISettingType.TextArea, + correspondingSetting: "ignoreExtensions" + }, + { + name: localize("ext.globalConfig.hostName.name"), + placeholder: localize("ext.globalConfig.hostName.placeholder"), + type: UISettingType.TextInput, + correspondingSetting: "hostName" + }, + { + name: localize("ext.globalConfig.ignoreUploadFiles.name"), + placeholder: localize("ext.globalConfig.ignoreUploadFiles.placeholder"), + type: UISettingType.TextArea, + correspondingSetting: "ignoreUploadFiles" + }, + { + name: localize("ext.globalConfig.supportedFileExtensions.name"), + placeholder: localize( + "ext.globalConfig.supportedFileExtensions.placeholder" + ), + type: UISettingType.TextArea, + correspondingSetting: "supportedFileExtensions" + }, + { + name: localize("ext.globalConfig.gistDescription.name"), + placeholder: localize("ext.globalConfig.gistDescription.placeholder"), + type: UISettingType.TextInput, + correspondingSetting: "gistDescription" + }, + { + name: localize("ext.globalConfig.autoUploadDelay.name"), + placeholder: localize("ext.globalConfig.autoUploadDelay.placeholder"), + type: UISettingType.NumberInput, + correspondingSetting: "autoUploadDelay" + }, + { + name: localize("ext.globalConfig.askGistName.name"), + placeholder: "", + type: UISettingType.Checkbox, + correspondingSetting: "askGistName" + }, + { + name: localize("ext.globalConfig.downloadPublicGist.name"), + placeholder: "", + type: UISettingType.Checkbox, + correspondingSetting: "downloadPublicGist" + }, + { + name: localize("ext.globalConfig.openTokenLink.name"), + placeholder: "", + type: UISettingType.Checkbox, + correspondingSetting: "openTokenLink" + } + ]; + + private environmentSettings = [ + { + name: localize("ext.config.gist.name"), + placeholder: localize("ext.config.gist.placeholder"), + type: UISettingType.TextInput, + correspondingSetting: "gist", + tooltip: localize("ext.config.gist") + }, + { + name: localize("ext.config.autoDownload.name"), + placeholder: "", + type: UISettingType.Checkbox, + correspondingSetting: "autoDownload", + tooltip: localize("ext.config.autoDownload") + }, + { + name: localize("ext.config.autoUpload.name"), + placeholder: "", + type: UISettingType.Checkbox, + correspondingSetting: "autoUpload", + tooltip: localize("ext.config.autoUpload") + }, + { + name: localize("ext.config.forceDownload.name"), + placeholder: "", + type: UISettingType.Checkbox, + correspondingSetting: "forceDownload", + tooltip: localize("ext.config.forceDownload") + }, + { + name: localize("ext.config.forceUpload.name"), + placeholder: "", + type: UISettingType.Checkbox, + correspondingSetting: "forceUpload", + tooltip: localize("ext.config.forceUpload") + }, + { + name: localize("ext.config.quietSync.name"), + placeholder: "", + type: UISettingType.Checkbox, + correspondingSetting: "quietSync", + tooltip: localize("ext.config.quietSync") + }, + { + name: localize("ext.config.removeExtensions.name"), + placeholder: "", + type: UISettingType.Checkbox, + correspondingSetting: "removeExtensions", + tooltip: localize("ext.config.removeExtensions") + }, + { + name: localize("ext.config.syncExtensions.name"), + placeholder: "", + type: UISettingType.Checkbox, + correspondingSetting: "syncExtensions", + tooltip: localize("ext.config.syncExtensions") + } + ]; + + private webviews: IWebview[] = [ + { + name: "landing-page", + htmlPath: "landing-page.html", + replaceables: [ + { + find: "@RELEASE_NOTES", + replace: "releaseNotes" + } + ] + }, + { + name: "settings", + htmlPath: "settings.html", + replaceables: [ + { + find: "@GLOBAL_DATA", + replace: "customSettings" + }, + { + find: "@ENV_DATA", + replace: "extSettings" + }, + { + find: "@GLOBAL_MAP", + replace: this.globalSettings + }, + { + find: "@ENV_MAP", + replace: this.environmentSettings + } + ] + }, + { + name: "gist-selection", + htmlPath: "gist-selection.html", + replaceables: [ + { + find: "@GISTS", + replace: "gists" + } + ] + } + ]; + + constructor() { + this.webviews = this.webviews.map(view => { + return { + ...view, + htmlContent: readFileSync( + `${state.context.extensionPath}/ui/${view.name}/${view.htmlPath}`, + "utf-8" + ) + }; + }); + } + + public OpenSettingsPage( + customSettings: CustomConfig, + extSettings: ExtensionConfig + ): vscode.WebviewPanel { + const webview = this.webviews[1]; + const content: string = this.GenerateContent({ + content: webview.htmlContent, + items: webview.replaceables, + customSettings, + extSettings + }); + if (webview.webview) { + webview.webview.webview.html = content; + webview.webview.reveal(); + return webview.webview; + } + const settingsPanel = vscode.window.createWebviewPanel( + "syncSettings", + "Sync Settings", + vscode.ViewColumn.One, + { + retainContextWhenHidden: true, + enableScripts: true + } + ); + settingsPanel.webview.html = content; + settingsPanel.webview.onDidReceiveMessage(async message => { + if (message === "openGist") { + const [customConfig, extConfig] = await Promise.all([ + state.commons.GetCustomSettings(), + state.commons.GetSettings() + ]); + const host = customConfig.githubEnterpriseUrl + ? new URL(customConfig.githubEnterpriseUrl) + : new URL("https://github.com"); + const username = await new GitHubOAuthService(0).getUser( + customConfig.token, + host + ); + if (!username) { + return Commons.LogException( + null, + "Sync: Invalid Access Token.", + true + ); + } + vscode.env.openExternal( + vscode.Uri.parse( + `https://gist.${host.hostname}/${username}/${extConfig.gist}` + ) + ); + return; + } + this.ReceiveSettingChange(message, customSettings, extSettings); + }); + webview.webview = settingsPanel; + settingsPanel.onDidDispose(() => (webview.webview = null)); + return settingsPanel; + } + + public UpdateSettingsPage( + customSettings: CustomConfig, + extSettings: ExtensionConfig + ) { + const webview = this.webviews[1]; + if (webview.webview) { + webview.webview.webview.html = this.GenerateContent({ + content: webview.htmlContent, + items: webview.replaceables, + customSettings, + extSettings + }); + } + } + + public ReceiveSettingChange( + message: { + command: string; + text: string; + type: string; + }, + customSettings: CustomConfig, + extSettings: ExtensionConfig + ) { + let value: any = message.text; + if (message.text === "true" || message.text === "false") { + value = message.text === "true"; + } + if (message.type === "global") { + if (has(customSettings, message.command)) { + set(customSettings, message.command, value); + state.commons.SetCustomSettings(customSettings); + } + } else { + extSettings[message.command] = value; + state.commons.SaveSettings(extSettings); + } + } + + public OpenLandingPage() { + const webview = this.webviews[0]; + const releaseNotes = require("../../release-notes.json"); + const content: string = this.GenerateContent({ + content: webview.htmlContent, + items: webview.replaceables, + releaseNotes + }); + if (webview.webview) { + webview.webview.webview.html = content; + webview.webview.reveal(); + return webview; + } + const landingPanel = vscode.window.createWebviewPanel( + "landingPage", + "Welcome to Settings Sync", + vscode.ViewColumn.One, + { + retainContextWhenHidden: true, + enableScripts: true + } + ); + landingPanel.webview.onDidReceiveMessage(async message => { + switch (message.command) { + case "loginWithGitHub": + new GitHubOAuthService(54321).StartProcess(); + const customSettings = await state.commons.GetCustomSettings(); + const host = customSettings.githubEnterpriseUrl + ? new URL(customSettings.githubEnterpriseUrl) + : new URL("https://github.com"); + vscode.commands.executeCommand( + "vscode.open", + vscode.Uri.parse( + `https://${host.hostname}/login/oauth/authorize?scope=gist%20read:user&client_id=cfd96460d8b110e2351b&redirect_uri=http://localhost:54321/callback` + ) + ); + break; + case "editConfiguration": + this.OpenSettingsPage( + await state.commons.GetCustomSettings(), + await state.commons.GetSettings() + ); + break; + case "downloadPublicGist": + const [extConfig, customConfig] = await Promise.all([ + state.commons.GetSettings(), + state.commons.GetCustomSettings() + ]); + const publicGist = await vscode.window.showInputBox({ + placeHolder: localize("common.placeholder.enterGistId"), + ignoreFocusOut: true + }); + if (!publicGist) { + break; + } + await state.commons.SetCustomSettings({ + ...customConfig, + downloadPublicGist: true + }); + await state.commons.SaveSettings({ + ...extConfig, + gist: publicGist + }); + vscode.window.showInformationMessage( + localize("cmd.otherOptions.warning.tokenNotRequire") + ); + vscode.commands.executeCommand("extension.downloadSettings"); + break; + } + }); + landingPanel.webview.html = content; + webview.webview = landingPanel; + landingPanel.onDidDispose(() => (webview.webview = null)); + return landingPanel; + } + + public OpenGistSelectionpage(gists: any) { + const webview = this.webviews[2]; + const content: string = this.GenerateContent({ + content: webview.htmlContent, + items: webview.replaceables, + gists + }); + if (webview.webview) { + webview.webview.webview.html = content; + webview.webview.reveal(); + return webview; + } + const gistSelectionPanel = vscode.window.createWebviewPanel( + "selectGist", + "Select Your Existing Gist", + vscode.ViewColumn.One, + { + retainContextWhenHidden: true, + enableScripts: true + } + ); + gistSelectionPanel.webview.html = content; + gistSelectionPanel.webview.onDidReceiveMessage(async message => { + if (!message.close) { + const extSettings = await state.commons.GetSettings(); + extSettings.gist = message.id; + state.commons.SaveSettings(extSettings); + } else { + gistSelectionPanel.dispose(); + } + }); + webview.webview = gistSelectionPanel; + gistSelectionPanel.onDidDispose(() => (webview.webview = null)); + return gistSelectionPanel; + } + + private GenerateContent(options: any) { + const toReplace: Array<{}> = []; + options.items.forEach(option => { + if (typeof option.replace === "string") { + toReplace.push({ + ...option, + replace: JSON.stringify(options[option.replace]) + }); + } else { + toReplace.push({ + find: option.find, + replace: JSON.stringify(option.replace) + }); + } + }); + return toReplace + .reduce( + (acc, cur: any) => acc.replace(new RegExp(cur.find, "g"), cur.replace), + options.content + ) + .replace( + new RegExp("@PWD", "g"), + vscode.Uri.file(state.context.extensionPath) + .with({ + scheme: "vscode-resource" + }) + .toString() + ); + } +} diff --git a/src/sync.ts b/src/sync.ts index f8b9d742..06be5e50 100644 --- a/src/sync.ts +++ b/src/sync.ts @@ -12,7 +12,7 @@ import { LocalConfig } from "./models/localConfig.model"; import PragmaUtil from "./pragmaUtil"; import { File, FileService } from "./service/file.service"; import { GitHubService } from "./service/github.service"; -import { ExtensionInformation, PluginService } from "./service/pluginService"; +import { ExtensionInformation, PluginService } from "./service/plugin.service"; import { state } from "./state"; export class Sync { @@ -32,6 +32,11 @@ export class Sync { const gistAvailable: boolean = startUpSetting.gist != null && startUpSetting.gist !== ""; + if (!startUpCustomSetting.downloadPublicGist && !tokenAvailable) { + state.commons.webviewService.OpenLandingPage(); + return; + } + if (gistAvailable) { if (startUpSetting.autoDownload) { vscode.commands @@ -70,7 +75,7 @@ export class Sync { await state.commons.HandleStopWatching(); try { - localConfig = await state.commons.InitalizeSettings(true, false); + localConfig = await state.commons.InitalizeSettings(); localConfig.publicGist = false; if (args.length > 0) { if (args[0] === "publicGIST") { @@ -82,6 +87,46 @@ export class Sync { localConfig.customConfig.token, localConfig.customConfig.githubEnterpriseUrl ); + + if ( + localConfig.customConfig.lastUpload && + !localConfig.extConfig.forceUpload + ) { + const gistNewer = await github.IsGistNewer( + localConfig.extConfig.gist, + new Date(localConfig.customConfig.lastUpload) + ); + if (gistNewer) { + if ( + state.context.globalState.get( + "gistNewer.dontShowThisAgain" + ) + ) { + return; + } + const message = await vscode.window.showInformationMessage( + localize("common.prompt.gistNewer"), + "Yes", + "Don't Show This Again" + ); + if (message === "Yes") { + localConfig.extConfig.forceUpload = true; + } else if (message === "Don't Show This Again") { + await state.context.globalState.update( + "gistNewer.dontShowThisAgain", + true + ); + return; + } else { + vscode.window.setStatusBarMessage( + localize("cmd.updateSettings.info.uploadCanceled"), + 3 + ); + return; + } + } + } + await startGitProcess.call( this, localConfig.extConfig, @@ -150,44 +195,15 @@ export class Sync { allSettingFiles.push(extensionFile); } - let contentFiles: File[] = []; - contentFiles = await FileService.ListFiles( + const contentFiles = await FileService.ListFiles( state.environment.USER_FOLDER, - 0, - 2, - customSettings.supportedFileExtensions + customSettings ); const customExist: boolean = await FileService.FileExists( state.environment.FILE_CUSTOMIZEDSETTINGS ); if (customExist) { - contentFiles = contentFiles.filter( - contentFile => - contentFile.fileName !== - state.environment.FILE_CUSTOMIZEDSETTINGS_NAME - ); - - if (customSettings.ignoreUploadFiles.length > 0) { - contentFiles = contentFiles.filter(contentFile => { - const isMatch: boolean = - customSettings.ignoreUploadFiles.indexOf(contentFile.fileName) === - -1 && - contentFile.fileName !== - state.environment.FILE_CUSTOMIZEDSETTINGS_NAME; - return isMatch; - }); - } - if (customSettings.ignoreUploadFolders.length > 0) { - contentFiles = contentFiles.filter((contentFile: File) => { - const matchedFolders = customSettings.ignoreUploadFolders.filter( - folder => { - return contentFile.filePath.indexOf(folder) !== -1; - } - ); - return matchedFolders.length === 0; - }); - } const customFileKeys: string[] = Object.keys( customSettings.customFiles ); @@ -226,13 +242,13 @@ export class Sync { snippetFile.content ); snippetFile.content = parsedContent; - allSettingFiles.push(snippetFile); } catch (e) { Commons.LogException(null, e.message, true); console.error(e); return; } } + allSettingFiles.push(snippetFile); } } } @@ -245,6 +261,7 @@ export class Sync { allSettingFiles.push(file); let completed: boolean = false; + let newGIST: boolean = false; try { if (syncSetting.gist == null || syncSetting.gist === "") { @@ -271,9 +288,6 @@ export class Sync { } let gistObj = await github.ReadGist(syncSetting.gist); if (!gistObj) { - vscode.window.showErrorMessage( - localize("cmd.updateSettings.error.readGistFail", syncSetting.gist) - ); return; } @@ -303,33 +317,59 @@ export class Sync { localConfig.publicGist = true; } + if ( + !allSettingFiles.some(fileToUpload => { + if (fileToUpload.fileName === "cloudSettings") { + return false; + } + if (!gistObj.data.files[fileToUpload.fileName]) { + return true; + } + if ( + gistObj.data.files[fileToUpload.fileName].content !== + fileToUpload.content + ) { + console.info(`Sync: file ${fileToUpload.fileName} has changed`); + return true; + } + }) + ) { + if (!localConfig.extConfig.forceUpload) { + if ( + state.context.globalState.get( + "gistNewer.dontShowThisAgain" + ) + ) { + return; + } + const message = await vscode.window.showInformationMessage( + localize("common.prompt.gistNewer"), + "Yes", + "Don't Show This Again" + ); + if (message === "Yes") { + syncSetting.forceUpload = true; + } else if (message === "Don't Show This Again") { + await state.context.globalState.update( + "gistNewer.dontShowThisAgain", + true + ); + return; + } else { + vscode.window.setStatusBarMessage( + localize("cmd.updateSettings.info.uploadCanceled"), + 3 + ); + return; + } + } + } + vscode.window.setStatusBarMessage( localize("cmd.updateSettings.info.uploadingFile"), 3000 ); - // We should not upload unless one or more files have changed - let shouldUploadGist = false; - for (const fileToUpload of allSettingFiles) { - // This file contains only file time stamps - if (fileToUpload.fileName === "cloudSettings") { - continue; - } - if ( - gistObj.data.files[fileToUpload.fileName].content !== - fileToUpload.content - ) { - console.info(`Sync: file ${fileToUpload.fileName} has changed`); - shouldUploadGist = true; - break; - } - } - - if (!shouldUploadGist) { - console.info("Sync: nothing to update"); - return; - } - gistObj = github.UpdateGIST(gistObj, allSettingFiles); completed = await github.SaveGIST(gistObj.data); if (!completed) { @@ -345,46 +385,42 @@ export class Sync { if (completed) { try { - const settingsUpdated = await state.commons.SaveSettings(syncSetting); - const customSettingsUpdated = await state.commons.SetCustomSettings( - customSettings - ); - if (settingsUpdated && customSettingsUpdated) { - if (newGIST) { - vscode.window.showInformationMessage( - localize( - "cmd.updateSettings.info.uploadingDone", - syncSetting.gist - ) - ); - } + await state.commons.SaveSettings(syncSetting); + await state.commons.SetCustomSettings(customSettings); + if (newGIST) { + vscode.window.showInformationMessage( + localize( + "cmd.updateSettings.info.uploadingDone", + syncSetting.gist + ) + ); + } - if (localConfig.publicGist) { - vscode.window.showInformationMessage( - localize("cmd.updateSettings.info.shareGist") - ); - } + if (localConfig.publicGist) { + vscode.window.showInformationMessage( + localize("cmd.updateSettings.info.shareGist") + ); + } - if (!syncSetting.quietSync) { - state.commons.ShowSummaryOutput( - true, - allSettingFiles, - null, - uploadedExtensions, - ignoredExtensions, - localConfig - ); - vscode.window.setStatusBarMessage("").dispose(); - } else { - vscode.window.setStatusBarMessage("").dispose(); - vscode.window.setStatusBarMessage( - localize("cmd.updateSettings.info.uploadingSuccess"), - 5000 - ); - } - if (syncSetting.autoUpload) { - await state.commons.HandleStartWatching(); - } + if (!syncSetting.quietSync) { + state.commons.ShowSummaryOutput( + true, + allSettingFiles, + null, + uploadedExtensions, + ignoredExtensions, + localConfig + ); + vscode.window.setStatusBarMessage("").dispose(); + } else { + vscode.window.setStatusBarMessage("").dispose(); + vscode.window.setStatusBarMessage( + localize("cmd.updateSettings.info.uploadingSuccess"), + 5000 + ); + } + if (syncSetting.autoUpload) { + await state.commons.HandleStartWatching(); } } catch (err) { Commons.LogException(err, state.commons.ERROR_MESSAGE, true); @@ -400,7 +436,7 @@ export class Sync { await state.commons.HandleStopWatching(); try { - localSettings = await state.commons.InitalizeSettings(true, true); + localSettings = await state.commons.InitalizeSettings(); await StartDownload(localSettings.extConfig, localSettings.customConfig); } catch (err) { Commons.LogException(err, state.commons.ERROR_MESSAGE, true); @@ -424,7 +460,6 @@ export class Sync { const res = await github.ReadGist(syncSetting.gist); if (!res) { - Commons.LogException(res, "Sync : Unable to Read Gist.", true); return; } @@ -710,6 +745,11 @@ export class Sync { extSettings = new ExtensionConfig(); localSettings = new CustomConfig(); + await state.context.globalState.update( + "gistNewer.dontShowThisAgain", + false + ); + const extSaved: boolean = await state.commons.SaveSettings(extSettings); const customSaved: boolean = await state.commons.SetCustomSettings( localSettings @@ -732,6 +772,11 @@ export class Sync { localize("cmd.resetSettings.info.settingClear") ); } + + state.commons.webviewService.UpdateSettingsPage( + localSettings, + extSettings + ); } catch (err) { Commons.LogException( err, @@ -769,10 +814,12 @@ export class Sync { const gistAvailable: boolean = setting.gist != null && setting.gist !== ""; const items: string[] = [ + "cmd.otherOptions.openSettingsPage", "cmd.otherOptions.editLocalSetting", "cmd.otherOptions.shareSetting", "cmd.otherOptions.downloadSetting", "cmd.otherOptions.toggleForceDownload", + "cmd.otherOptions.toggleForceUpload", "cmd.otherOptions.toggleAutoUpload", "cmd.otherOptions.toggleAutoDownload", "cmd.otherOptions.toggleSummaryPage", @@ -795,8 +842,11 @@ export class Sync { const index = items.findIndex(v => v === item); - const handlerMap = { - 0: async () => { + const handlerMap = [ + async () => { + state.commons.webviewService.OpenSettingsPage(customSettings, setting); + }, + async () => { const file: vscode.Uri = vscode.Uri.file( state.environment.FILE_CUSTOMIZEDSETTINGS ); @@ -808,7 +858,7 @@ export class Sync { true ); }, - 1: async () => { + async () => { // share public gist const answer = await vscode.window.showInformationMessage( localize("cmd.otherOptions.shareSetting.beforeConfirm"), @@ -824,28 +874,34 @@ export class Sync { await state.commons.SetCustomSettings(customSettings); } }, - 2: async () => { + async () => { // Download Settings from Public GIST selectedItem = 2; customSettings.downloadPublicGist = true; settingChanged = true; await state.commons.SetCustomSettings(customSettings); }, - 3: async () => { + async () => { // toggle force download selectedItem = 3; settingChanged = true; setting.forceDownload = !setting.forceDownload; }, - 4: async () => { - // toggle auto upload + async () => { + // toggle force upload selectedItem = 4; settingChanged = true; + setting.forceUpload = !setting.forceUpload; + }, + async () => { + // toggle auto upload + selectedItem = 5; + settingChanged = true; setting.autoUpload = !setting.autoUpload; }, - 5: async () => { + async () => { // auto download on startup - selectedItem = 5; + selectedItem = 6; settingChanged = true; if (!setting) { vscode.commands.executeCommand("extension.HowSettings"); @@ -858,9 +914,9 @@ export class Sync { setting.autoDownload = !setting.autoDownload; }, - 6: async () => { + async () => { // page summary toggle - selectedItem = 6; + selectedItem = 7; settingChanged = true; if (!tokenAvailable || !gistAvailable) { @@ -869,7 +925,7 @@ export class Sync { } setting.quietSync = !setting.quietSync; }, - 7: async () => { + async () => { // add customized sync file const options: vscode.InputBoxOptions = { ignoreFocusOut: true, @@ -894,7 +950,7 @@ export class Sync { } } }, - 8: async () => { + async () => { // Import customized sync file to workspace const customFiles = await this.getCustomFilesFromGist( customSettings, @@ -938,7 +994,7 @@ export class Sync { } } }, - 9: async () => { + async () => { vscode.commands.executeCommand( "vscode.open", vscode.Uri.parse( @@ -946,7 +1002,7 @@ export class Sync { ) ); }, - 10: async () => { + async () => { vscode.commands.executeCommand( "vscode.open", vscode.Uri.parse( @@ -954,7 +1010,7 @@ export class Sync { ) ); }, - 11: async () => { + async () => { vscode.commands.executeCommand( "vscode.open", vscode.Uri.parse( @@ -962,7 +1018,7 @@ export class Sync { ) ); } - }; + ]; try { await handlerMap[index](); @@ -995,6 +1051,14 @@ export class Sync { ); }, 4: async () => { + const message = setting.forceUpload + ? "cmd.otherOptions.toggleForceUpload.on" + : "cmd.otherOptions.toggleForceUpload.off"; + return vscode.window.showInformationMessage( + localize(message) + ); + }, + 5: async () => { const message = setting.autoUpload ? "cmd.otherOptions.toggleAutoUpload.on" : "cmd.otherOptions.toggleAutoUpload.off"; @@ -1002,7 +1066,7 @@ export class Sync { localize(message) ); }, - 5: async () => { + 6: async () => { const message = setting.autoDownload ? "cmd.otherOptions.toggleAutoDownload.on" : "cmd.otherOptions.toggleAutoDownload.off"; @@ -1010,7 +1074,7 @@ export class Sync { localize(message) ); }, - 6: async () => { + 7: async () => { const message = setting.quietSync ? "cmd.otherOptions.quietSync.on" : "cmd.otherOptions.quietSync.off"; @@ -1053,7 +1117,6 @@ export class Sync { ); const res = await github.ReadGist(syncSetting.gist); if (!res) { - Commons.LogException(res, "Sync : Unable to Read Gist.", true); return []; } const keys = Object.keys(res.data.files); diff --git a/src/util.ts b/src/util.ts index f9dd8666..d090b916 100644 --- a/src/util.ts +++ b/src/util.ts @@ -1,150 +1,12 @@ "use strict"; -import * as fs from "fs-extra"; -import * as http from "http"; -import * as https from "https"; -import * as HttpsProxyAgent from "https-proxy-agent"; -import * as _temp from "temp"; -import * as url from "url"; -import * as vscode from "vscode"; - -interface IHeaders { - [key: string]: string; -} - -interface IEnv { - [key: string]: string | undefined; - http_proxy: string; - HTTP_PROXY: string; -} - -const temp = _temp.track(); -const HTTP_PROXY: string = - (process.env as IEnv).http_proxy || (process.env as IEnv).HTTP_PROXY; - -const proxy = - vscode.workspace.getConfiguration("http").get("proxy") || HTTP_PROXY; -let agent = null; -if (proxy) { - if (proxy !== "") { - agent = new HttpsProxyAgent(proxy); - } -} - export class Util { - public static HttpPostJson(path: string, obj: any, headers: IHeaders) { - return new Promise((resolve, reject) => { - const item = url.parse(path); - const postData = JSON.stringify(obj); - const newHeader = { - "Content-Length": Buffer.byteLength(postData), - "Content-Type": "application/json", - ...headers - }; - const options: https.RequestOptions = { - host: item.hostname, - path: item.path, - headers: newHeader, - method: "POST" - }; - if (item.port) { - options.port = +item.port; - } - if (agent != null) { - options.agent = agent; - } - - if (item.protocol.startsWith("https:")) { - const req = https.request(options, res => { - if (res.statusCode !== 200) { - // reject(); - // return; - } - - let result = ""; - res.setEncoding("utf8"); - res.on("data", (chunk: Buffer | string) => { - result += chunk; - }); - res.on("end", () => resolve(result)); - - res.on("error", (err: Error) => reject(err)); - }); - - req.write(postData); - req.end(); - } else { - const req = http.request(options, res => { - let result = ""; - res.setEncoding("utf8"); - res.on("data", (chunk: Buffer | string) => { - result += chunk; - }); - res.on("end", () => resolve(result)); - - res.on("error", (err: Error) => reject(err)); - }); - req.write(postData); - req.end(); - } - }); - } - public static HttpGetFile(path: string): Promise { - const tempFile = temp.path(); - const file = fs.createWriteStream(tempFile); - const item = url.parse(path); - const options: https.RequestOptions = { - host: item.hostname, - path: item.path - }; - if (item.port) { - options.port = +item.port; - } - if (agent != null) { - options.agent = agent; - } - return new Promise((resolve, reject) => { - if (path.startsWith("https:")) { - https - .get(options, res => { - res.pipe(file); - file.on("finish", () => { - file.close(); - resolve(tempFile); - }); - }) - .on("error", e => { - reject(e); - }); - } else { - http - .get(options, res => { - // return value - res.pipe(file); - file.on("finish", () => { - file.close(); - resolve(tempFile); - }); - }) - .on("error", e => { - reject(e); - }); - } - }); - } - - public static async WriteToFile(content: Buffer): Promise { - const tempFile: string = temp.path(); - await fs.writeFile(tempFile, content); - return tempFile; - } - public static async Sleep(ms: number): Promise { return new Promise(resolve => { setTimeout(() => { resolve(ms); }, ms); - }) as Promise; + }); } /** * promisify the function diff --git a/ui/gist-selection/gist-selection.html b/ui/gist-selection/gist-selection.html new file mode 100644 index 00000000..5c3ccc1e --- /dev/null +++ b/ui/gist-selection/gist-selection.html @@ -0,0 +1,96 @@ + + + + + + + + + + + + +
+ +

+ Select Your Existing Gist +

+
+ Skip (new one will be created automatically) +
+ + + + + + + + + + + diff --git a/ui/gist-selection/gist-selection.js b/ui/gist-selection/gist-selection.js new file mode 100644 index 00000000..3515aa83 --- /dev/null +++ b/ui/gist-selection/gist-selection.js @@ -0,0 +1,69 @@ +// @ts-nocheck + +const vscode = acquireVsCodeApi(); + +/* https://stackoverflow.com/questions/3177836/how-to-format-time-since-xxx-e-g-4-minutes-ago-similar-to-stack-exchange-site */ +function timeSince(date) { + var seconds = Math.floor((new Date() - date) / 1000); + + var interval = Math.floor(seconds / 31536000); + + if (interval > 1) { + return interval + " years"; + } + interval = Math.floor(seconds / 2592000); + if (interval > 1) { + return interval + " months"; + } + interval = Math.floor(seconds / 86400); + if (interval > 1) { + return interval + " days"; + } + interval = Math.floor(seconds / 3600); + if (interval > 1) { + return interval + " hours"; + } + interval = Math.floor(seconds / 60); + if (interval > 1) { + return interval + " minutes"; + } + return Math.floor(seconds) + " seconds"; +} + +function appendHTML(parent, html) { + var div = document.createElement("div"); + div.innerHTML = html; + while (div.children.length > 0) { + parent.appendChild(div.children[0]); + } + div.remove(); +} + +function saveGistId(id) { + vscode.postMessage({ id }); + $("#modal").modal(); +} + +const selectionContainer = document.querySelector("#selectionContainer"); + +document + .querySelector(".modal-content") + .classList.add( + document.body.className.includes("vscode-dark") ? "bg-dark" : "bg-light" + ); + +const selectionTemplate = ` +`; + +gists + .sort((a, b) => new Date(b.updated_at) - new Date(a.updated_at)) + .forEach(gist => { + const html = selectionTemplate + .replace(new RegExp("@description", "g"), gist.description) + .replace(new RegExp("@id", "g"), gist.id) + .replace( + new RegExp("@timestamp", "g"), + timeSince(new Date(gist.updated_at)) + ); + appendHTML(selectionContainer, html); + }); diff --git a/ui/landing-page/landing-page.html b/ui/landing-page/landing-page.html new file mode 100644 index 00000000..eaac9ca9 --- /dev/null +++ b/ui/landing-page/landing-page.html @@ -0,0 +1,157 @@ + + + + + + + + + + + + + +
+
+

+ What's New in + + vX.X.X + + +

+
+
+
+

+ Configuration +

+

+ Login via GitHub to setup Settings Sync, or configure the settings + manually. +

+ + +
+
+

+ Show Your Support +

+

+ While being free and open source, if you find + Settings Sync + useful, please consider supporting it by donating via PayPal or Open + Collective. +

+ + +
+
+
+ + + + + + + + diff --git a/ui/landing-page/landing-page.js b/ui/landing-page/landing-page.js new file mode 100644 index 00000000..db1a3633 --- /dev/null +++ b/ui/landing-page/landing-page.js @@ -0,0 +1,37 @@ +// @ts-nocheck +const vscode = acquireVsCodeApi(); + +function sendCommand(args) { + vscode.postMessage({ + command: args + }); +} + +function appendHTML(parent, html) { + var div = document.createElement("div"); + div.innerHTML = html; + while (div.children.length > 0) { + parent.appendChild(div.children[0]); + } + div.remove(); +} + +const releaseNoteTemplate = `
@TYPE@NOTE @EXTRA
`; + +const notesElement = document.querySelector("#notes"); +releaseNotes.changes.forEach(change => { + const html = releaseNoteTemplate + .replace(new RegExp("@NOTE", "g"), change.details) + .replace(new RegExp("@TYPE", "g"), change.type) + .replace(new RegExp("@COLOR", "g"), change.color) + .replace( + new RegExp("@EXTRA", "g"), + change.author && change.pullRequest + ? `(Thanks to @${change.author} for PR #${change.pullRequest})` + : "" + ); + appendHTML(notesElement, html); +}); + +const currentVersionElement = document.querySelector("#current-version"); +currentVersionElement.innerHTML = releaseNotes.currentVersion; diff --git a/ui/settings/settings.html b/ui/settings/settings.html new file mode 100644 index 00000000..33c6b7b8 --- /dev/null +++ b/ui/settings/settings.html @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + +
+
+

+ Environment Settings +

+
+

+
+
+

+ Global Settings +

+
+
+
+ + + + + + + + + + + diff --git a/ui/settings/settings.js b/ui/settings/settings.js new file mode 100644 index 00000000..17e5d4c1 --- /dev/null +++ b/ui/settings/settings.js @@ -0,0 +1,269 @@ +// @ts-nocheck + +function appendHTML(parent, html) { + var div = document.createElement("div"); + div.innerHTML = html; + while (div.children.length > 0) { + parent.appendChild(div.children[0]); + } + div.remove(); +} + +const vscode = acquireVsCodeApi(); + +const textInputTemplate = `
+ + @tooltip + +
`; + +const textInputGroupTemplate = `
+ + @tooltip +
+ +
+ +
+
+
`; + +const numberInputTemplate = `
+ + @tooltip + +
`; + +const checkboxTemplate = `
+ + + @tooltip +
`; + +const textareaTemplate = `
+ + @tooltip + +
`; + +const globalParent = document.getElementById("globalSettings"); +const envParent = document.getElementById("environmentSettings"); +const saveStatus = document.getElementById("saveStatus"); + +globalMap.forEach(settingMap => { + let template; + switch (settingMap.type) { + case "textinput": + template = textInputTemplate; + break; + case "numberinput": + template = numberInputTemplate; + break; + case "checkbox": + template = checkboxTemplate; + break; + case "textarea": + template = textareaTemplate; + break; + } + const html = template + .replace(new RegExp("@name", "g"), settingMap.name) + .replace(new RegExp("@placeholder", "g"), settingMap.placeholder) + .replace( + new RegExp("@correspondingSetting", "g"), + settingMap.correspondingSetting + ) + .replace(new RegExp("@tooltip"), "") + .replace(new RegExp("@settingType", "g"), "global"); + appendHTML(globalParent, html); +}); + +envMap.forEach(envMap => { + let template; + switch (envMap.type) { + case "textinput": + template = textInputTemplate; + break; + case "numberinput": + template = textInputTemplate; + break; + case "checkbox": + template = checkboxTemplate; + break; + } + const isInputGroup = envMap.correspondingSetting === "gist"; + let disabledStatus = ""; + if (isInputGroup) { + template = textInputGroupTemplate; + if (!_.get(envData, "gist") || !_.get(globalData, "token")) { + disabledStatus = "disabled"; + } + } + const html = template + .replace(new RegExp("@name", "g"), envMap.name) + .replace(new RegExp("@placeholder", "g"), envMap.placeholder) + .replace( + new RegExp("@correspondingSetting", "g"), + envMap.correspondingSetting + ) + .replace( + new RegExp("@tooltip"), + ` + + + ` + ) + .replace(new RegExp("@settingType", "g"), "env") + .replace( + new RegExp("@action", "g"), + `inputGroupAction('${envMap.correspondingSetting}')` + ) + .replace(new RegExp("@disabled", "g"), disabledStatus); + appendHTML(envParent, html); +}); + +$(document).ready(function() { + save(); + $('[data-toggle="tooltip"]').tooltip({ container: "html" }); + $(".text") + .each((i, el) => { + if ($(el).attr("settingType") === "global") { + $(el).val(_.get(globalData, $(el).attr("setting"))); + } else { + $(el).val(envData[$(el).attr("setting")]); + } + }) + .change(function() { + save(); + let val = $(this).val(); + vscode.postMessage({ + command: $(this).attr("setting"), + text: val, + type: $(this).attr("settingType") + }); + }); + $(".number") + .each((i, el) => { + if ($(el).attr("settingType") === "global") { + $(el).val(_.get(globalData, $(el).attr("setting"))); + } else { + $(el).val(envData[$(el).attr("setting")]); + } + }) + .change(function() { + save(); + let val = Number($(this).val()); + vscode.postMessage({ + command: $(this).attr("setting"), + text: val, + type: $(this).attr("settingType") + }); + }); + $(".checkbox") + .each((i, el) => { + if ($(el).attr("settingType") === "global") { + $(el).prop("checked", _.get(globalData, $(el).attr("setting"))); + } else { + $(el).prop("checked", envData[$(el).attr("setting")]); + } + }) + .change(function() { + save(); + let val = $(this).is(":checked"); + vscode.postMessage({ + command: $(this).attr("setting"), + text: val, + type: $(this).attr("settingType") + }); + }); + $(".textarea") + .each((i, el) => { + let str = ""; + const items = _.get(globalData, $(el).attr("setting")); + items.forEach(item => (str += item + "\n")); + $(el).val(str.slice(0, -1)); + $(el).prop("rows", items.length); + }) + .change(function() { + save(); + let val = []; + $(this) + .val() + .split("\n") + .forEach(item => { + if (item !== "") { + val.push(item); + } + }); + vscode.postMessage({ + command: $(this).attr("setting"), + text: val, + type: "global" + }); + }); +}); + +function save() { + saveStatus.innerHTML = ``; + setTimeout( + () => + (saveStatus.innerHTML = ``), + 1000 + ); +} + +function inputGroupAction(setting) { + if (setting === "gist") { + vscode.postMessage("openGist"); + } +} diff --git a/ui/shared/fonts.js b/ui/shared/fonts.js new file mode 100644 index 00000000..c8341802 --- /dev/null +++ b/ui/shared/fonts.js @@ -0,0 +1,19 @@ +// @ts-nocheck + +document.querySelector("font-injector").innerHTML = ``; diff --git a/ui/shared/page-header.js b/ui/shared/page-header.js new file mode 100644 index 00000000..ae8b3e80 --- /dev/null +++ b/ui/shared/page-header.js @@ -0,0 +1,20 @@ +// @ts-nocheck + +document.querySelector("page-header").innerHTML = ` +

+ +Settings Sync +

+

+Synchronize settings, snippets, themes, file icons, launch, +keybindings, workspaces and extensions across multiple machines +using GitHub Gist +

+

+by @shanalikhan +

`; diff --git a/ui/shared/styles.css b/ui/shared/styles.css new file mode 100644 index 00000000..fb0953d5 --- /dev/null +++ b/ui/shared/styles.css @@ -0,0 +1,187 @@ +html, +body { + height: 100%; + width: 100%; + display: flex; + flex-direction: column; + font-family: "Roboto", sans-serif; + letter-spacing: 0.0625em; +} + +body.vscode-dark { + background-color: #1b1b1b; + color: #e9e9e9; +} + +body.vscode-light { + background-color: #fff; + color: #1b1b1b; +} + +.vscode-light .logo { + -webkit-filter: invert(1) opacity(0.5); + filter: invert(1) opacity(0.5); +} + +.tooltip { + display: block; +} + +.content-row { + flex-grow: 1; + overflow-y: hidden; + padding-bottom: 1rem; +} + +.modal-header { + border-bottom: none; +} + +.modal-footer { + border-top: none; +} + +.modal-body { + padding: 0rem 1rem; +} + +.footer > .col-one { + padding-left: 0; +} + +.footer > .col-two { + padding-right: 0; +} + +.footer { + margin: 0; +} + +.scrollable { + overflow-y: auto; +} + +.content { + background-color: burlywood; + overflow: scroll; +} + +:root { + --btn: #0e629c; + --btn-hover: #15496e; + --btn-click: #0e3450; + --link: dodgerblue; + --link-hover: rgb(15, 109, 204); +} + +.dock-bottom-left { + position: fixed; + bottom: 4rem; + left: 4rem; +} + +.logo { + padding-right: 0.5rem; + filter: opacity(0.5); +} + +.change { + line-height: 150%; +} + +.badge-success { + color: #fff; + background-color: #73c991; +} + +.badge-danger { + color: #fff; + background-color: #ce4f59; +} + +.badge { + vertical-align: 2px; + line-height: 120%; + width: 6rem; +} + +body { + position: relative; + min-height: 35rem; + background-position: center; + background-repeat: no-repeat; + background-attachment: scroll; + background-size: cover; + margin-top: 40px; + margin-bottom: 40px; +} + +body h1 { + font-size: 3.5rem; + line-height: 2.5rem; + font-weight: bold; + color: #808080 !important; + font-family: "Open Sans"; + display: flex; + align-items: center; /* align vertical */ + justify-content: center; /* align horizontal */ +} + +body h2 { + /* max-width: 20rem; */ + font-size: 1rem; +} + +body h3 { + /* max-width: 20rem; */ + font-size: 1.5rem; +} + +.btn { + -webkit-box-shadow: 0 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.1) !important; + box-shadow: 0 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.1) !important; + padding: 1rem; + font-size: 80%; + text-transform: uppercase; + letter-spacing: 0.15rem; + border: 0; + width: 100%; + height: 100%; + display: flex; + justify-content: center; /* align horizontal */ + align-items: center; /* align vertical */ +} + +.btn-primary { + color: #fff !important; +} + +.btn-primary, +.btn-primary:focus { + background-color: var(--btn) !important; +} + +.btn-primary:hover, +.btn-primary:active { + background-color: var(--btn-hover) !important; +} + +.text, +.textarea, +.number { + -webkit-box-shadow: 0 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.1) !important; + box-shadow: 0 0.1875rem 0.1875rem 0 rgba(0, 0, 0, 0.1) !important; + padding: 1.25rem 2rem; + height: auto; + border: 0; +} + +a { + color: var(--link); +} + +a:focus, +a:hover { + text-decoration: none; + color: var(--link-hover); +} diff --git a/ui/shared/vendor/bootstrap/css/bootstrap.min.css b/ui/shared/vendor/bootstrap/css/bootstrap.min.css new file mode 100644 index 00000000..92e3fe87 --- /dev/null +++ b/ui/shared/vendor/bootstrap/css/bootstrap.min.css @@ -0,0 +1,7 @@ +/*! + * Bootstrap v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-break:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip{display:block}.form-control-file.is-valid~.valid-feedback,.form-control-file.is-valid~.valid-tooltip,.was-validated .form-control-file:valid~.valid-feedback,.was-validated .form-control-file:valid~.valid-tooltip{display:block}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip,.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip{display:block}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip{display:block}.form-control-file.is-invalid~.invalid-feedback,.form-control-file.is-invalid~.invalid-tooltip,.was-validated .form-control-file:invalid~.invalid-feedback,.was-validated .form-control-file:invalid~.invalid-tooltip{display:block}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip,.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip{display:block}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#adb5bd solid 1px}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:no-repeat 50%/50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:calc(1rem + .4rem);padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar>.container,.navbar>.container-fluid{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:-ms-flexbox;display:flex;-ms-flex:1 0 0%;flex:1 0 0%;-ms-flex-direction:column;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion>.card{overflow:hidden}.accordion>.card:not(:first-of-type) .card-header:first-child{border-radius:0}.accordion>.card:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion>.card:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.accordion>.card .card-header{margin-bottom:-1px}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:1;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-horizontal{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}@media (min-width:576px){.list-group-horizontal-sm{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-sm .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:768px){.list-group-horizontal-md{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-md .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:992px){.list-group-horizontal-lg{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-lg .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:1200px){.list-group-horizontal-xl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-xl .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush .list-group-item:last-child{margin-bottom:-1px}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{margin-bottom:0;border-bottom:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled{pointer-events:none}.toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal-dialog-scrollable{display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);content:""}.modal-dialog-centered.modal-dialog-scrollable{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:1rem;border-top:1px solid #dee2e6;border-bottom-right-radius:.3rem;border-bottom-left-radius:.3rem}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:0s .6s opacity}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;overflow-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/ui/shared/vendor/bootstrap/js/bootstrap.min.js b/ui/shared/vendor/bootstrap/js/bootstrap.min.js new file mode 100644 index 00000000..c4c0d1f9 --- /dev/null +++ b/ui/shared/vendor/bootstrap/js/bootstrap.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],e):e((t=t||self).bootstrap={},t.jQuery,t.Popper)}(this,function(t,g,u){"use strict";function i(t,e){for(var n=0;nthis._items.length-1||t<0))if(this._isSliding)g(this._element).one(Q.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=ndocument.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right
',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:Ee},je="show",He="out",Re={HIDE:"hide"+De,HIDDEN:"hidden"+De,SHOW:"show"+De,SHOWN:"shown"+De,INSERTED:"inserted"+De,CLICK:"click"+De,FOCUSIN:"focusin"+De,FOCUSOUT:"focusout"+De,MOUSEENTER:"mouseenter"+De,MOUSELEAVE:"mouseleave"+De},xe="fade",Fe="show",Ue=".tooltip-inner",We=".arrow",qe="hover",Me="focus",Ke="click",Qe="manual",Be=function(){function i(t,e){if("undefined"==typeof u)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=g(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(g(this.getTipElement()).hasClass(Fe))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),g.removeData(this.element,this.constructor.DATA_KEY),g(this.element).off(this.constructor.EVENT_KEY),g(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&g(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===g(this.element).css("display"))throw new Error("Please use show on visible elements");var t=g.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){g(this.element).trigger(t);var n=_.findShadowRoot(this.element),i=g.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!i)return;var o=this.getTipElement(),r=_.getUID(this.constructor.NAME);o.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&g(o).addClass(xe);var s="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,a=this._getAttachment(s);this.addAttachmentClass(a);var l=this._getContainer();g(o).data(this.constructor.DATA_KEY,this),g.contains(this.element.ownerDocument.documentElement,this.tip)||g(o).appendTo(l),g(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new u(this.element,o,{placement:a,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:We},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}}),g(o).addClass(Fe),"ontouchstart"in document.documentElement&&g(document.body).children().on("mouseover",null,g.noop);var c=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,g(e.element).trigger(e.constructor.Event.SHOWN),t===He&&e._leave(null,e)};if(g(this.tip).hasClass(xe)){var h=_.getTransitionDurationFromElement(this.tip);g(this.tip).one(_.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},t.hide=function(t){var e=this,n=this.getTipElement(),i=g.Event(this.constructor.Event.HIDE),o=function(){e._hoverState!==je&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),g(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(g(this.element).trigger(i),!i.isDefaultPrevented()){if(g(n).removeClass(Fe),"ontouchstart"in document.documentElement&&g(document.body).children().off("mouseover",null,g.noop),this._activeTrigger[Ke]=!1,this._activeTrigger[Me]=!1,this._activeTrigger[qe]=!1,g(this.tip).hasClass(xe)){var r=_.getTransitionDurationFromElement(n);g(n).one(_.TRANSITION_END,o).emulateTransitionEnd(r)}else o();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){g(this.getTipElement()).addClass(Ae+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},t.setContent=function(){var t=this.getTipElement();this.setElementContent(g(t.querySelectorAll(Ue)),this.getTitle()),g(t).removeClass(xe+" "+Fe)},t.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=Se(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?g(e).parent().is(t)||t.empty().append(e):t.text(g(e).text())},t.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},t._getOffset=function(){var e=this,t={};return"function"==typeof this.config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,e.config.offset(t.offsets,e.element)||{}),t}:t.offset=this.config.offset,t},t._getContainer=function(){return!1===this.config.container?document.body:_.isElement(this.config.container)?g(this.config.container):g(document).find(this.config.container)},t._getAttachment=function(t){return Pe[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)g(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==Qe){var e=t===qe?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===qe?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;g(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}}),g(this.element).closest(".modal").on("hide.bs.modal",function(){i.element&&i.hide()}),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Me:qe]=!0),g(e.getTipElement()).hasClass(Fe)||e._hoverState===je?e._hoverState=je:(clearTimeout(e._timeout),e._hoverState=je,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===je&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Me:qe]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=He,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===He&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){var e=g(this.element).data();return Object.keys(e).forEach(function(t){-1!==Oe.indexOf(t)&&delete e[t]}),"number"==typeof(t=l({},this.constructor.Default,e,"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),_.typeCheckConfig(be,t,this.constructor.DefaultType),t.sanitize&&(t.template=Se(t.template,t.whiteList,t.sanitizeFn)),t},t._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},t._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(Ne);null!==e&&e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(g(t).removeClass(xe),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=g(this).data(Ie),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),g(this).data(Ie,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Le}},{key:"NAME",get:function(){return be}},{key:"DATA_KEY",get:function(){return Ie}},{key:"Event",get:function(){return Re}},{key:"EVENT_KEY",get:function(){return De}},{key:"DefaultType",get:function(){return ke}}]),i}();g.fn[be]=Be._jQueryInterface,g.fn[be].Constructor=Be,g.fn[be].noConflict=function(){return g.fn[be]=we,Be._jQueryInterface};var Ve="popover",Ye="bs.popover",ze="."+Ye,Xe=g.fn[Ve],$e="bs-popover",Ge=new RegExp("(^|\\s)"+$e+"\\S+","g"),Je=l({},Be.Default,{placement:"right",trigger:"click",content:"",template:''}),Ze=l({},Be.DefaultType,{content:"(string|element|function)"}),tn="fade",en="show",nn=".popover-header",on=".popover-body",rn={HIDE:"hide"+ze,HIDDEN:"hidden"+ze,SHOW:"show"+ze,SHOWN:"shown"+ze,INSERTED:"inserted"+ze,CLICK:"click"+ze,FOCUSIN:"focusin"+ze,FOCUSOUT:"focusout"+ze,MOUSEENTER:"mouseenter"+ze,MOUSELEAVE:"mouseleave"+ze},sn=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),(e.prototype.constructor=e).__proto__=n;var o=i.prototype;return o.isWithContent=function(){return this.getTitle()||this._getContent()},o.addAttachmentClass=function(t){g(this.getTipElement()).addClass($e+"-"+t)},o.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},o.setContent=function(){var t=g(this.getTipElement());this.setElementContent(t.find(nn),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(on),e),t.removeClass(tn+" "+en)},o._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},o._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(Ge);null!==e&&0=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||tli{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{animation:fa-spin 2s infinite linear}.fa-pulse{animation:fa-spin 1s infinite steps(8)}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adobe:before{content:"\f778"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-handshake:before{content:"\f2b5"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-wizard:before{content:"\f6e8"}.fa-haykal:before{content:"\f666"}.fa-hdd:before{content:"\f0a0"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-instagram:before{content:"\f16d"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto} \ No newline at end of file diff --git a/ui/shared/vendor/fontawesome/css/solid.min.css b/ui/shared/vendor/fontawesome/css/solid.min.css new file mode 100644 index 00000000..a0d56287 --- /dev/null +++ b/ui/shared/vendor/fontawesome/css/solid.min.css @@ -0,0 +1,5 @@ +/*! + * Font Awesome Free 5.9.0 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:auto;src:url(../webfonts/fa-solid-900.ttf) format("truetype")}.fa,.fas{font-family:"Font Awesome 5 Free";font-weight:900} \ No newline at end of file diff --git a/ui/shared/vendor/fontawesome/webfonts/fa-solid-900.ttf b/ui/shared/vendor/fontawesome/webfonts/fa-solid-900.ttf new file mode 100644 index 00000000..c6c3dd4d Binary files /dev/null and b/ui/shared/vendor/fontawesome/webfonts/fa-solid-900.ttf differ diff --git a/ui/shared/vendor/google/OpenSans-Bold.ttf b/ui/shared/vendor/google/OpenSans-Bold.ttf new file mode 100644 index 00000000..96fabd86 Binary files /dev/null and b/ui/shared/vendor/google/OpenSans-Bold.ttf differ diff --git a/ui/shared/vendor/google/Roboto-Bold.ttf b/ui/shared/vendor/google/Roboto-Bold.ttf new file mode 100644 index 00000000..e612852d Binary files /dev/null and b/ui/shared/vendor/google/Roboto-Bold.ttf differ diff --git a/ui/shared/vendor/google/Roboto-Regular.ttf b/ui/shared/vendor/google/Roboto-Regular.ttf new file mode 100644 index 00000000..cb8ffcf1 Binary files /dev/null and b/ui/shared/vendor/google/Roboto-Regular.ttf differ diff --git a/ui/shared/vendor/jquery/jquery-3.3.1.slim.min.js b/ui/shared/vendor/jquery/jquery-3.3.1.slim.min.js new file mode 100644 index 00000000..f4ca9b24 --- /dev/null +++ b/ui/shared/vendor/jquery/jquery-3.3.1.slim.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.3.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,u=n.push,s=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,d=f.toString,p=d.call(Object),h={},g=function e(t){return"function"==typeof t&&"number"!=typeof t.nodeType},v=function e(t){return null!=t&&t===t.window},y={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement("script");if(o.text=e,n)for(i in y)n[i]&&(o[i]=n[i]);t.head.appendChild(o).parentNode.removeChild(o)}function b(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[c.call(e)]||"object":typeof e}var x="3.3.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector",w=function(e,t){return new w.fn.init(e,t)},C=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.fn=w.prototype={jquery:x,constructor:w,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n0&&t-1 in e)}var E=function(e){var t,n,r,i,o,a,u,s,l,c,f,d,p,h,g,v,y,m,b,x="sizzle"+1*new Date,w=e.document,C=0,T=0,E=ae(),N=ae(),k=ae(),A=function(e,t){return e===t&&(f=!0),0},D={}.hasOwnProperty,S=[],L=S.pop,j=S.push,q=S.push,O=S.slice,P=function(e,t){for(var n=0,r=e.length;n+~]|"+I+")"+I+"*"),_=new RegExp("="+I+"*([^\\]'\"]*?)"+I+"*\\]","g"),U=new RegExp(M),V=new RegExp("^"+R+"$"),X={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+B),PSEUDO:new RegExp("^"+M),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+I+"*(even|odd|(([+-]|)(\\d*)n|)"+I+"*(?:([+-]|)"+I+"*(\\d+)|))"+I+"*\\)|)","i"),bool:new RegExp("^(?:"+H+")$","i"),needsContext:new RegExp("^"+I+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+I+"*((?:-\\d)?\\d*)"+I+"*\\)|)(?=[^-]|$)","i")},Q=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,G=/^[^{]+\{\s*\[native \w/,K=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,J=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+I+"?|("+I+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){d()},ie=me(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{q.apply(S=O.call(w.childNodes),w.childNodes),S[w.childNodes.length].nodeType}catch(e){q={apply:S.length?function(e,t){j.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function oe(e,t,r,i){var o,u,l,c,f,h,y,m=t&&t.ownerDocument,C=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==C&&9!==C&&11!==C)return r;if(!i&&((t?t.ownerDocument||t:w)!==p&&d(t),t=t||p,g)){if(11!==C&&(f=K.exec(e)))if(o=f[1]){if(9===C){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&b(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return q.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return q.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!k[e+" "]&&(!v||!v.test(e))){if(1!==C)m=t,y=e;else if("object"!==t.nodeName.toLowerCase()){(c=t.getAttribute("id"))?c=c.replace(te,ne):t.setAttribute("id",c=x),u=(h=a(e)).length;while(u--)h[u]="#"+c+" "+ye(h[u]);y=h.join(","),m=J.test(e)&&ge(t.parentNode)||t}if(y)try{return q.apply(r,m.querySelectorAll(y)),r}catch(e){}finally{c===x&&t.removeAttribute("id")}}}return s(e.replace($,"$1"),t,r,i)}function ae(){var e=[];function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}return t}function ue(e){return e[x]=!0,e}function se(e){var t=p.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function le(e,t){var n=e.split("|"),i=n.length;while(i--)r.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function de(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pe(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return ue(function(t){return t=+t,ue(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},d=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==p&&9===a.nodeType&&a.documentElement?(p=a,h=p.documentElement,g=!o(p),w!==p&&(i=p.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=se(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=se(function(e){return e.appendChild(p.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=G.test(p.getElementsByClassName),n.getById=se(function(e){return h.appendChild(e).id=x,!p.getElementsByName||!p.getElementsByName(x).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&g)return t.getElementsByClassName(e)},y=[],v=[],(n.qsa=G.test(p.querySelectorAll))&&(se(function(e){h.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+I+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+I+"*(?:value|"+H+")"),e.querySelectorAll("[id~="+x+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+x+"+*").length||v.push(".#.+[+~]")}),se(function(e){e.innerHTML="";var t=p.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+I+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(n.matchesSelector=G.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&se(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),y.push("!=",M)}),v=v.length&&new RegExp(v.join("|")),y=y.length&&new RegExp(y.join("|")),t=G.test(h.compareDocumentPosition),b=t||G.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},A=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===p||e.ownerDocument===w&&b(w,e)?-1:t===p||t.ownerDocument===w&&b(w,t)?1:c?P(c,e)-P(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],u=[t];if(!i||!o)return e===p?-1:t===p?1:i?-1:o?1:c?P(c,e)-P(c,t):0;if(i===o)return ce(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)u.unshift(n);while(a[r]===u[r])r++;return r?ce(a[r],u[r]):a[r]===w?-1:u[r]===w?1:0},p):p},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&d(e),t=t.replace(_,"='$1']"),n.matchesSelector&&g&&!k[t+" "]&&(!y||!y.test(t))&&(!v||!v.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,p,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==p&&d(e),b(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==p&&d(e);var i=r.attrHandle[t.toLowerCase()],o=i&&D.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(A),f){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else while(t=e[r++])n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:ue,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||oe.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return X.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&U.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+I+")"+e+"("+I+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace(W," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),u="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,s){var l,c,f,d,p,h,g=o!==a?"nextSibling":"previousSibling",v=t.parentNode,y=u&&t.nodeName.toLowerCase(),m=!s&&!u,b=!1;if(v){if(o){while(g){d=t;while(d=d[g])if(u?d.nodeName.toLowerCase()===y:1===d.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?v.firstChild:v.lastChild],a&&m){b=(p=(l=(c=(f=(d=v)[x]||(d[x]={}))[d.uniqueID]||(f[d.uniqueID]={}))[e]||[])[0]===C&&l[1])&&l[2],d=p&&v.childNodes[p];while(d=++p&&d&&d[g]||(b=p=0)||h.pop())if(1===d.nodeType&&++b&&d===t){c[e]=[C,p,b];break}}else if(m&&(b=p=(l=(c=(f=(d=t)[x]||(d[x]={}))[d.uniqueID]||(f[d.uniqueID]={}))[e]||[])[0]===C&&l[1]),!1===b)while(d=++p&&d&&d[g]||(b=p=0)||h.pop())if((u?d.nodeName.toLowerCase()===y:1===d.nodeType)&&++b&&(m&&((c=(f=d[x]||(d[x]={}))[d.uniqueID]||(f[d.uniqueID]={}))[e]=[C,b]),d===t))break;return(b-=i)===r||b%r==0&&b/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[x]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?ue(function(e,n){var r,o=i(e,t),a=o.length;while(a--)e[r=P(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:ue(function(e){var t=[],n=[],r=u(e.replace($,"$1"));return r[x]?ue(function(e,t,n,i){var o,a=r(e,null,i,[]),u=e.length;while(u--)(o=a[u])&&(e[u]=!(t[u]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:ue(function(e){return function(t){return oe(e,t).length>0}}),contains:ue(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:ue(function(e){return V.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:pe(!1),disabled:pe(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function xe(e,t,n){for(var r=0,i=t.length;r-1&&(o[l]=!(a[l]=f))}}else y=we(y===a?y.splice(h,y.length):y),i?i(null,a,y,s):q.apply(a,y)})}function Te(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],u=a||r.relative[" "],s=a?1:0,c=me(function(e){return e===t},u,!0),f=me(function(e){return P(t,e)>-1},u,!0),d=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];s1&&be(d),s>1&&ye(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),n,s0,i=e.length>0,o=function(o,a,u,s,c){var f,h,v,y=0,m="0",b=o&&[],x=[],w=l,T=o||i&&r.find.TAG("*",c),E=C+=null==w?1:Math.random()||.1,N=T.length;for(c&&(l=a===p||a||c);m!==N&&null!=(f=T[m]);m++){if(i&&f){h=0,a||f.ownerDocument===p||(d(f),u=!g);while(v=e[h++])if(v(f,a||p,u)){s.push(f);break}c&&(C=E)}n&&((f=!v&&f)&&y--,o&&b.push(f))}if(y+=m,n&&m!==y){h=0;while(v=t[h++])v(b,x,a,u);if(o){if(y>0)while(m--)b[m]||x[m]||(x[m]=L.call(s));x=we(x)}q.apply(s,x),c&&!o&&x.length>0&&y+t.length>1&&oe.uniqueSort(s)}return c&&(C=E,l=w),b};return n?ue(o):o}return u=oe.compile=function(e,t){var n,r=[],i=[],o=k[e+" "];if(!o){t||(t=a(e)),n=t.length;while(n--)(o=Te(t[n]))[x]?r.push(o):i.push(o);(o=k(e,Ee(i,r))).selector=e}return o},s=oe.select=function(e,t,n,i){var o,s,l,c,f,d="function"==typeof e&&e,p=!i&&a(e=d.selector||e);if(n=n||[],1===p.length){if((s=p[0]=p[0].slice(0)).length>2&&"ID"===(l=s[0]).type&&9===t.nodeType&&g&&r.relative[s[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(Z,ee),t)||[])[0]))return n;d&&(t=t.parentNode),e=e.slice(s.shift().value.length)}o=X.needsContext.test(e)?0:s.length;while(o--){if(l=s[o],r.relative[c=l.type])break;if((f=r.find[c])&&(i=f(l.matches[0].replace(Z,ee),J.test(s[0].type)&&ge(t.parentNode)||t))){if(s.splice(o,1),!(e=i.length&&ye(s)))return q.apply(n,i),n;break}}}return(d||u(e,p))(i,t,!g,n,!t||J.test(e)&&ge(t.parentNode)||t),n},n.sortStable=x.split("").sort(A).join("")===x,n.detectDuplicates=!!f,d(),n.sortDetached=se(function(e){return 1&e.compareDocumentPosition(p.createElement("fieldset"))}),se(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||le("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&se(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||le("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),se(function(e){return null==e.getAttribute("disabled")})||le(H,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(e);w.find=E,w.expr=E.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=E.uniqueSort,w.text=E.getText,w.isXMLDoc=E.isXML,w.contains=E.contains,w.escapeSelector=E.escape;var N=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},k=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},A=w.expr.match.needsContext;function D(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var S=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function L(e,t,n){return g(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return s.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(L(this,e||[],!1))},not:function(e){return this.pushStack(L(this,e||[],!0))},is:function(e){return!!L(this,"string"==typeof e&&A.test(e)?w(e):e||[],!1).length}});var j,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:q.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),S.test(i[1])&&w.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,j=w(r);var O=/^(?:parents|prev(?:Until|All))/,P={children:!0,contents:!0,next:!0,prev:!0};w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?s.call(w(e),this[0]):s.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function H(e,t){while((e=e[t])&&1!==e.nodeType);return e}w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return N(e,"parentNode")},parentsUntil:function(e,t,n){return N(e,"parentNode",n)},next:function(e){return H(e,"nextSibling")},prev:function(e){return H(e,"previousSibling")},nextAll:function(e){return N(e,"nextSibling")},prevAll:function(e){return N(e,"previousSibling")},nextUntil:function(e,t,n){return N(e,"nextSibling",n)},prevUntil:function(e,t,n){return N(e,"previousSibling",n)},siblings:function(e){return k((e.parentNode||{}).firstChild,e)},children:function(e){return k(e.firstChild)},contents:function(e){return D(e,"iframe")?e.contentDocument:(D(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(P[e]||w.uniqueSort(i),O.test(e)&&i.reverse()),this.pushStack(i)}});var I=/[^\x20\t\r\n\f]+/g;function R(e){var t={};return w.each(e.match(I)||[],function(e,n){t[n]=!0}),t}w.Callbacks=function(e){e="string"==typeof e?R(e):w.extend({},e);var t,n,r,i,o=[],a=[],u=-1,s=function(){for(i=i||e.once,r=t=!0;a.length;u=-1){n=a.shift();while(++u-1)o.splice(n,1),n<=u&&u--}),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||s()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l};function B(e){return e}function M(e){throw e}function W(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var u=this,s=arguments,l=function(){var e,l;if(!(t=o&&(r!==M&&(u=void 0,s=[e]),n.rejectWith(u,s))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:B,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:B)),n[2][3].add(a(0,e,g(r)?r:M))}).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,function(e,t){var a=t[2],u=t[5];i[t[1]]=a.add,u&&a.add(function(){r=u},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=w.Deferred(),u=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&(W(e,a.done(u(n)).resolve,a.reject,!t),"pending"===a.state()||g(i[n]&&i[n].then)))return a.then();while(n--)W(i[n],u(n),a.reject);return a.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&$.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var F=w.Deferred();w.fn.ready=function(e){return F.then(e)["catch"](function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(r,[w]))}}),w.ready.then=F.then;function z(){r.removeEventListener("DOMContentLoaded",z),e.removeEventListener("load",z),w.ready()}"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(w.ready):(r.addEventListener("DOMContentLoaded",z),e.addEventListener("load",z));var _=function(e,t,n,r,i,o,a){var u=0,s=e.length,l=null==n;if("object"===b(n)){i=!0;for(u in n)_(e,t,u,n[u],!0,o,a)}else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;u1,null,!0)},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=K.get(e,t),n&&(!r||Array.isArray(n)?r=K.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t),a=function(){w.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return K.get(e,n)||K.access(e,n,{empty:w.Callbacks("once memory").add(function(){K.remove(e,[t+"queue",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]+)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"
","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&D(e,t)?w.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n-1)i&&i.push(o);else if(l=w.contains(o.ownerDocument,o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}!function(){var e=r.createDocumentFragment().appendChild(r.createElement("div")),t=r.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),h.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="",h.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var xe=r.documentElement,we=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Te=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function Ne(){return!1}function ke(){try{return r.activeElement}catch(e){}}function Ae(e,t,n,r,i,o){var a,u;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(u in t)Ae(e,u,n,r,t[u],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Ne;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each(function(){w.event.add(this,t,i,r,n)})}w.event={global:{},add:function(e,t,n,r,i){var o,a,u,s,l,c,f,d,p,h,g,v=K.get(e);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(xe,i),n.guid||(n.guid=w.guid++),(s=v.events)||(s=v.events={}),(a=v.handle)||(a=v.handle=function(t){return"undefined"!=typeof w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(I)||[""]).length;while(l--)p=g=(u=Te.exec(t[l])||[])[1],h=(u[2]||"").split(".").sort(),p&&(f=w.event.special[p]||{},p=(i?f.delegateType:f.bindType)||p,f=w.event.special[p]||{},c=w.extend({type:p,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(".")},o),(d=s[p])||((d=s[p]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(p,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?d.splice(d.delegateCount++,0,c):d.push(c),w.event.global[p]=!0)}},remove:function(e,t,n,r,i){var o,a,u,s,l,c,f,d,p,h,g,v=K.hasData(e)&&K.get(e);if(v&&(s=v.events)){l=(t=(t||"").match(I)||[""]).length;while(l--)if(u=Te.exec(t[l])||[],p=g=u[1],h=(u[2]||"").split(".").sort(),p){f=w.event.special[p]||{},d=s[p=(r?f.delegateType:f.bindType)||p]||[],u=u[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=d.length;while(o--)c=d[o],!i&&g!==c.origType||n&&n.guid!==c.guid||u&&!u.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(d.splice(o,1),c.selector&&d.delegateCount--,f.remove&&f.remove.call(e,c));a&&!d.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||w.removeEvent(e,p,v.handle),delete s[p])}else for(p in s)w.event.remove(e,p+t[l],n,r,!0);w.isEmptyObject(s)&&K.remove(e,"handle events")}},dispatch:function(e){var t=w.event.fix(e),n,r,i,o,a,u,s=new Array(arguments.length),l=(K.get(this,"events")||{})[t.type]||[],c=w.event.special[t.type]||{};for(s[0]=t,n=1;n=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&u.push({elem:l,handlers:o})}return l=this,s\x20\t\r\n\f]*)[^>]*)\/>/gi,Se=/\s*$/g;function qe(e,t){return D(e,"table")&&D(11!==t.nodeType?t:t.firstChild,"tr")?w(e).children("tbody")[0]||e:e}function Oe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Pe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function He(e,t){var n,r,i,o,a,u,s,l;if(1===t.nodeType){if(K.hasData(e)&&(o=K.access(e),a=K.set(t,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;n1&&"string"==typeof v&&!h.checkClone&&Le.test(v))return e.each(function(i){var o=e.eq(i);y&&(t[0]=v.call(this,i,o.html())),Re(o,t,n,r)});if(d&&(i=be(t,e[0].ownerDocument,!1,e,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(s=(u=w.map(ve(i,"script"),Oe)).length;f")},clone:function(e,t,n){var r,i,o,a,u=e.cloneNode(!0),s=w.contains(e.ownerDocument,e);if(!(h.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(a=ve(u),r=0,i=(o=ve(e)).length;r0&&ye(a,!s&&ve(e,"script")),u},cleanData:function(e){for(var t,n,r,i=w.event.special,o=0;void 0!==(n=e[o]);o++)if(Y(n)){if(t=n[K.expando]){if(t.events)for(r in t.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[K.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Be(this,e,!0)},remove:function(e){return Be(this,e)},text:function(e){return _(this,function(e){return void 0===e?w.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Re(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||qe(this,e).appendChild(e)})},prepend:function(){return Re(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=qe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return w.clone(this,e,t)})},html:function(e){return _(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Se.test(e)&&!ge[(pe.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n=0&&(s+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-s-u-.5))),s}function et(e,t,n){var r=We(e),i=Fe(e,t,r),o="border-box"===w.css(e,"boxSizing",!1,r),a=o;if(Me.test(i)){if(!n)return i;i="auto"}return a=a&&(h.boxSizingReliable()||i===e.style[t]),("auto"===i||!parseFloat(i)&&"inline"===w.css(e,"display",!1,r))&&(i=e["offset"+t[0].toUpperCase()+t.slice(1)],a=!0),(i=parseFloat(i)||0)+Ze(e,t,n||(o?"border":"content"),a,r,i)+"px"}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Fe(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,u=Q(t),s=Ue.test(t),l=e.style;if(s||(t=Ke(u)),a=w.cssHooks[t]||w.cssHooks[u],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(w.cssNumber[u]?"":"px")),h.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(s?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,u=Q(t);return Ue.test(t)||(t=Ke(u)),(a=w.cssHooks[t]||w.cssHooks[u])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Fe(e,t,r)),"normal"===i&&t in Xe&&(i=Xe[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each(["height","width"],function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!_e.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):ue(e,Ve,function(){return et(e,t,r)})},set:function(e,n,r){var i,o=We(e),a="border-box"===w.css(e,"boxSizing",!1,o),u=r&&Ze(e,t,r,a,o);return a&&h.scrollboxSize()===o.position&&(u-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ze(e,t,"border",!1,o)-.5)),u&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Je(e,n,u)}}}),w.cssHooks.marginLeft=ze(h.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Fe(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),w.each({margin:"",padding:"",border:"Width"},function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+oe[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(w.cssHooks[e+t].set=Je)}),w.fn.extend({css:function(e,t){return _(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=We(e),i=t.length;a1)}}),w.fn.delay=function(t,n){return t=w.fx?w.fx.speeds[t]||t:t,n=n||"fx",this.queue(n,function(n,r){var i=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(i)}})},function(){var e=r.createElement("input"),t=r.createElement("select").appendChild(r.createElement("option"));e.type="checkbox",h.checkOn=""!==e.value,h.optSelected=t.selected,(e=r.createElement("input")).value="t",e.type="radio",h.radioValue="t"===e.value}();var tt,nt=w.expr.attrHandle;w.fn.extend({attr:function(e,t){return _(this,w.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){w.removeAttr(this,e)})}}),w.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(i=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?tt:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!h.radioValue&&"radio"===t&&D(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(I);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),tt={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),function(e,t){var n=nt[t]||w.find.attr;nt[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=nt[a],nt[a]=i,i=null!=n(e,t,r)?a:null,nt[a]=o),i}});var rt=/^(?:input|select|textarea|button)$/i,it=/^(?:a|area)$/i;w.fn.extend({prop:function(e,t){return _(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[w.propFix[e]||e]})}}),w.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(e)||(t=w.propFix[t]||t,i=w.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,"tabindex");return t?parseInt(t,10):rt.test(e.nodeName)||it.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),h.optSelected||(w.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){w.propFix[this.toLowerCase()]=this});function ot(e){return(e.match(I)||[]).join(" ")}function at(e){return e.getAttribute&&e.getAttribute("class")||""}function ut(e){return Array.isArray(e)?e:"string"==typeof e?e.match(I)||[]:[]}w.fn.extend({addClass:function(e){var t,n,r,i,o,a,u,s=0;if(g(e))return this.each(function(t){w(this).addClass(e.call(this,t,at(this)))});if((t=ut(e)).length)while(n=this[s++])if(i=at(n),r=1===n.nodeType&&" "+ot(i)+" "){a=0;while(o=t[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(u=ot(r))&&n.setAttribute("class",u)}return this},removeClass:function(e){var t,n,r,i,o,a,u,s=0;if(g(e))return this.each(function(t){w(this).removeClass(e.call(this,t,at(this)))});if(!arguments.length)return this.attr("class","");if((t=ut(e)).length)while(n=this[s++])if(i=at(n),r=1===n.nodeType&&" "+ot(i)+" "){a=0;while(o=t[a++])while(r.indexOf(" "+o+" ")>-1)r=r.replace(" "+o+" "," ");i!==(u=ot(r))&&n.setAttribute("class",u)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):g(e)?this.each(function(n){w(this).toggleClass(e.call(this,n,at(this),t),t)}):this.each(function(){var t,i,o,a;if(r){i=0,o=w(this),a=ut(e);while(t=a[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else void 0!==e&&"boolean"!==n||((t=at(this))&&K.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":K.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&(" "+ot(at(n))+" ").indexOf(t)>-1)return!0;return!1}});var st=/\r/g;w.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=g(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,w(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=w.map(i,function(e){return null==e?"":e+""})),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return(t=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(st,""):null==n?"":n}}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:ot(w.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,u=a?null:[],s=a?o+1:i.length;for(r=o<0?s:a?o:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),w.each(["radio","checkbox"],function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},h.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),h.focusin="onfocusin"in e;var lt=/^(?:focusinfocus|focusoutblur)$/,ct=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,i,o){var a,u,s,l,c,d,p,h,y=[i||r],m=f.call(t,"type")?t.type:t,b=f.call(t,"namespace")?t.namespace.split("."):[];if(u=h=s=i=i||r,3!==i.nodeType&&8!==i.nodeType&&!lt.test(m+w.event.triggered)&&(m.indexOf(".")>-1&&(m=(b=m.split(".")).shift(),b.sort()),c=m.indexOf(":")<0&&"on"+m,t=t[w.expando]?t:new w.Event(m,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=b.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:w.makeArray(n,[t]),p=w.event.special[m]||{},o||!p.trigger||!1!==p.trigger.apply(i,n))){if(!o&&!p.noBubble&&!v(i)){for(l=p.delegateType||m,lt.test(l+m)||(u=u.parentNode);u;u=u.parentNode)y.push(u),s=u;s===(i.ownerDocument||r)&&y.push(s.defaultView||s.parentWindow||e)}a=0;while((u=y[a++])&&!t.isPropagationStopped())h=u,t.type=a>1?l:p.bindType||m,(d=(K.get(u,"events")||{})[t.type]&&K.get(u,"handle"))&&d.apply(u,n),(d=c&&u[c])&&d.apply&&Y(u)&&(t.result=d.apply(u,n),!1===t.result&&t.preventDefault());return t.type=m,o||t.isDefaultPrevented()||p._default&&!1!==p._default.apply(y.pop(),n)||!Y(i)||c&&g(i[m])&&!v(i)&&((s=i[c])&&(i[c]=null),w.event.triggered=m,t.isPropagationStopped()&&h.addEventListener(m,ct),i[m](),t.isPropagationStopped()&&h.removeEventListener(m,ct),w.event.triggered=void 0,s&&(i[c]=s)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each(function(){w.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),h.focusin||w.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=K.access(r,t);i||r.addEventListener(e,n,!0),K.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=K.access(r,t)-1;i?K.access(r,t,i):(r.removeEventListener(e,n,!0),K.remove(r,t))}}});var ft=/\[\]$/,dt=/\r?\n/g,pt=/^(?:submit|button|image|reset|file)$/i,ht=/^(?:input|select|textarea|keygen)/i;function gt(e,t,n,r){var i;if(Array.isArray(t))w.each(t,function(t,i){n||ft.test(e)?r(e,i):gt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==b(t))r(e,t);else for(i in t)gt(e+"["+i+"]",t[i],n,r)}w.param=function(e,t){var n,r=[],i=function(e,t){var n=g(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,function(){i(this.name,this.value)});else for(n in e)gt(n,e[n],t,i);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&ht.test(this.nodeName)&&!pt.test(e)&&(this.checked||!de.test(e))}).map(function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,function(e){return{name:t.name,value:e.replace(dt,"\r\n")}}):{name:t.name,value:n.replace(dt,"\r\n")}}).get()}}),w.fn.extend({wrapAll:function(e){var t;return this[0]&&(g(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return g(e)?this.each(function(t){w(this).wrapInner(e.call(this,t))}):this.each(function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=g(e);return this.each(function(n){w(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){w(this).replaceWith(this.childNodes)}),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},h.createHTMLDocument=function(){var e=r.implementation.createHTMLDocument("").body;return e.innerHTML="
",2===e.childNodes.length}(),w.parseHTML=function(e,t,n){if("string"!=typeof e)return[];"boolean"==typeof t&&(n=t,t=!1);var i,o,a;return t||(h.createHTMLDocument?((i=(t=r.implementation.createHTMLDocument("")).createElement("base")).href=r.location.href,t.head.appendChild(i)):t=r),o=S.exec(e),a=!n&&[],o?[t.createElement(o[1])]:(o=be([e],t,a),a&&a.length&&w(a).remove(),w.merge([],o.childNodes))},w.offset={setOffset:function(e,t,n){var r,i,o,a,u,s,l,c=w.css(e,"position"),f=w(e),d={};"static"===c&&(e.style.position="relative"),u=f.offset(),o=w.css(e,"top"),s=w.css(e,"left"),(l=("absolute"===c||"fixed"===c)&&(o+s).indexOf("auto")>-1)?(a=(r=f.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(s)||0),g(t)&&(t=t.call(e,n,w.extend({},u))),null!=t.top&&(d.top=t.top-u.top+a),null!=t.left&&(d.left=t.left-u.left+i),"using"in t?t.using.call(e,d):f.css(d)}},w.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){w.offset.setOffset(this,e,t)});var t,n,r=this[0];if(r)return r.getClientRects().length?(t=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:t.top+n.pageYOffset,left:t.left+n.pageXOffset}):{top:0,left:0}},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===w.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===w.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=w(e).offset()).top+=w.css(e,"borderTopWidth",!0),i.left+=w.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-w.css(r,"marginTop",!0),left:t.left-i.left-w.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===w.css(e,"position"))e=e.offsetParent;return e||xe})}}),w.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;w.fn[e]=function(r){return _(this,function(e,r,i){var o;if(v(e)?o=e:9===e.nodeType&&(o=e.defaultView),void 0===i)return o?o[t]:e[r];o?o.scrollTo(n?o.pageXOffset:i,n?i:o.pageYOffset):e[r]=i},e,r,arguments.length)}}),w.each(["top","left"],function(e,t){w.cssHooks[t]=ze(h.pixelPosition,function(e,n){if(n)return n=Fe(e,t),Me.test(n)?w(e).position()[t]+"px":n})}),w.each({Height:"height",Width:"width"},function(e,t){w.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){w.fn[r]=function(i,o){var a=arguments.length&&(n||"boolean"!=typeof i),u=n||(!0===i||!0===o?"margin":"border");return _(this,function(t,n,i){var o;return v(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body["scroll"+e],o["scroll"+e],t.body["offset"+e],o["offset"+e],o["client"+e])):void 0===i?w.css(t,n,u):w.style(t,n,i,u)},t,a?i:void 0,a)}})}),w.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){w.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),w.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),w.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),w.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),g(e))return r=o.call(arguments,2),i=function(){return e.apply(t||this,r.concat(o.call(arguments)))},i.guid=e.guid=e.guid||w.guid++,i},w.holdReady=function(e){e?w.readyWait++:w.ready(!0)},w.isArray=Array.isArray,w.parseJSON=JSON.parse,w.nodeName=D,w.isFunction=g,w.isWindow=v,w.camelCase=Q,w.type=b,w.now=Date.now,w.isNumeric=function(e){var t=w.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return w});var vt=e.jQuery,yt=e.$;return w.noConflict=function(t){return e.$===w&&(e.$=yt),t&&e.jQuery===w&&(e.jQuery=vt),w},t||(e.jQuery=e.$=w),w}); diff --git a/ui/shared/vendor/lodash/lodash.min.js b/ui/shared/vendor/lodash/lodash.min.js new file mode 100644 index 00000000..c9112634 --- /dev/null +++ b/ui/shared/vendor/lodash/lodash.min.js @@ -0,0 +1,137 @@ +/** + * @license + * Lodash lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE + */ +;(function(){function n(n,t,r){switch(r.length){case 0:return n.call(t);case 1:return n.call(t,r[0]);case 2:return n.call(t,r[0],r[1]);case 3:return n.call(t,r[0],r[1],r[2])}return n.apply(t,r)}function t(n,t,r,e){for(var u=-1,i=null==n?0:n.length;++u"']/g,G=RegExp(V.source),H=RegExp(K.source),J=/<%-([\s\S]+?)%>/g,Y=/<%([\s\S]+?)%>/g,Q=/<%=([\s\S]+?)%>/g,X=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,nn=/^\w*$/,tn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,rn=/[\\^$.*+?()[\]{}|]/g,en=RegExp(rn.source),un=/^\s+|\s+$/g,on=/^\s+/,fn=/\s+$/,cn=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,an=/\{\n\/\* \[wrapped with (.+)\] \*/,ln=/,? & /,sn=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,hn=/\\(\\)?/g,pn=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,_n=/\w*$/,vn=/^[-+]0x[0-9a-f]+$/i,gn=/^0b[01]+$/i,dn=/^\[object .+?Constructor\]$/,yn=/^0o[0-7]+$/i,bn=/^(?:0|[1-9]\d*)$/,xn=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,jn=/($^)/,wn=/['\n\r\u2028\u2029\\]/g,mn="[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?(?:\\u200d(?:[^\\ud800-\\udfff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?)*",An="(?:[\\u2700-\\u27bf]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])"+mn,kn="(?:[^\\ud800-\\udfff][\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]?|[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff])",En=RegExp("['\u2019]","g"),Sn=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]","g"),On=RegExp("\\ud83c[\\udffb-\\udfff](?=\\ud83c[\\udffb-\\udfff])|"+kn+mn,"g"),In=RegExp(["[A-Z\\xc0-\\xd6\\xd8-\\xde]?[a-z\\xdf-\\xf6\\xf8-\\xff]+(?:['\u2019](?:d|ll|m|re|s|t|ve))?(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde]|$)|(?:[A-Z\\xc0-\\xd6\\xd8-\\xde]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde](?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])|$)|[A-Z\\xc0-\\xd6\\xd8-\\xde]?(?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['\u2019](?:d|ll|m|re|s|t|ve))?|[A-Z\\xc0-\\xd6\\xd8-\\xde]+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?|\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])|\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])|\\d+",An].join("|"),"g"),Rn=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]"),zn=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Wn="Array Buffer DataView Date Error Float32Array Float64Array Function Int8Array Int16Array Int32Array Map Math Object Promise RegExp Set String Symbol TypeError Uint8Array Uint8ClampedArray Uint16Array Uint32Array WeakMap _ clearTimeout isFinite parseInt setTimeout".split(" "),Un={}; +Un["[object Float32Array]"]=Un["[object Float64Array]"]=Un["[object Int8Array]"]=Un["[object Int16Array]"]=Un["[object Int32Array]"]=Un["[object Uint8Array]"]=Un["[object Uint8ClampedArray]"]=Un["[object Uint16Array]"]=Un["[object Uint32Array]"]=true,Un["[object Arguments]"]=Un["[object Array]"]=Un["[object ArrayBuffer]"]=Un["[object Boolean]"]=Un["[object DataView]"]=Un["[object Date]"]=Un["[object Error]"]=Un["[object Function]"]=Un["[object Map]"]=Un["[object Number]"]=Un["[object Object]"]=Un["[object RegExp]"]=Un["[object Set]"]=Un["[object String]"]=Un["[object WeakMap]"]=false; +var Bn={};Bn["[object Arguments]"]=Bn["[object Array]"]=Bn["[object ArrayBuffer]"]=Bn["[object DataView]"]=Bn["[object Boolean]"]=Bn["[object Date]"]=Bn["[object Float32Array]"]=Bn["[object Float64Array]"]=Bn["[object Int8Array]"]=Bn["[object Int16Array]"]=Bn["[object Int32Array]"]=Bn["[object Map]"]=Bn["[object Number]"]=Bn["[object Object]"]=Bn["[object RegExp]"]=Bn["[object Set]"]=Bn["[object String]"]=Bn["[object Symbol]"]=Bn["[object Uint8Array]"]=Bn["[object Uint8ClampedArray]"]=Bn["[object Uint16Array]"]=Bn["[object Uint32Array]"]=true, +Bn["[object Error]"]=Bn["[object Function]"]=Bn["[object WeakMap]"]=false;var Ln={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Cn=parseFloat,Dn=parseInt,Mn=typeof global=="object"&&global&&global.Object===Object&&global,Tn=typeof self=="object"&&self&&self.Object===Object&&self,$n=Mn||Tn||Function("return this")(),Fn=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Nn=Fn&&typeof module=="object"&&module&&!module.nodeType&&module,Pn=Nn&&Nn.exports===Fn,Zn=Pn&&Mn.process,qn=function(){ +try{var n=Nn&&Nn.require&&Nn.require("util").types;return n?n:Zn&&Zn.binding&&Zn.binding("util")}catch(n){}}(),Vn=qn&&qn.isArrayBuffer,Kn=qn&&qn.isDate,Gn=qn&&qn.isMap,Hn=qn&&qn.isRegExp,Jn=qn&&qn.isSet,Yn=qn&&qn.isTypedArray,Qn=b("length"),Xn=x({"\xc0":"A","\xc1":"A","\xc2":"A","\xc3":"A","\xc4":"A","\xc5":"A","\xe0":"a","\xe1":"a","\xe2":"a","\xe3":"a","\xe4":"a","\xe5":"a","\xc7":"C","\xe7":"c","\xd0":"D","\xf0":"d","\xc8":"E","\xc9":"E","\xca":"E","\xcb":"E","\xe8":"e","\xe9":"e","\xea":"e","\xeb":"e", +"\xcc":"I","\xcd":"I","\xce":"I","\xcf":"I","\xec":"i","\xed":"i","\xee":"i","\xef":"i","\xd1":"N","\xf1":"n","\xd2":"O","\xd3":"O","\xd4":"O","\xd5":"O","\xd6":"O","\xd8":"O","\xf2":"o","\xf3":"o","\xf4":"o","\xf5":"o","\xf6":"o","\xf8":"o","\xd9":"U","\xda":"U","\xdb":"U","\xdc":"U","\xf9":"u","\xfa":"u","\xfb":"u","\xfc":"u","\xdd":"Y","\xfd":"y","\xff":"y","\xc6":"Ae","\xe6":"ae","\xde":"Th","\xfe":"th","\xdf":"ss","\u0100":"A","\u0102":"A","\u0104":"A","\u0101":"a","\u0103":"a","\u0105":"a", +"\u0106":"C","\u0108":"C","\u010a":"C","\u010c":"C","\u0107":"c","\u0109":"c","\u010b":"c","\u010d":"c","\u010e":"D","\u0110":"D","\u010f":"d","\u0111":"d","\u0112":"E","\u0114":"E","\u0116":"E","\u0118":"E","\u011a":"E","\u0113":"e","\u0115":"e","\u0117":"e","\u0119":"e","\u011b":"e","\u011c":"G","\u011e":"G","\u0120":"G","\u0122":"G","\u011d":"g","\u011f":"g","\u0121":"g","\u0123":"g","\u0124":"H","\u0126":"H","\u0125":"h","\u0127":"h","\u0128":"I","\u012a":"I","\u012c":"I","\u012e":"I","\u0130":"I", +"\u0129":"i","\u012b":"i","\u012d":"i","\u012f":"i","\u0131":"i","\u0134":"J","\u0135":"j","\u0136":"K","\u0137":"k","\u0138":"k","\u0139":"L","\u013b":"L","\u013d":"L","\u013f":"L","\u0141":"L","\u013a":"l","\u013c":"l","\u013e":"l","\u0140":"l","\u0142":"l","\u0143":"N","\u0145":"N","\u0147":"N","\u014a":"N","\u0144":"n","\u0146":"n","\u0148":"n","\u014b":"n","\u014c":"O","\u014e":"O","\u0150":"O","\u014d":"o","\u014f":"o","\u0151":"o","\u0154":"R","\u0156":"R","\u0158":"R","\u0155":"r","\u0157":"r", +"\u0159":"r","\u015a":"S","\u015c":"S","\u015e":"S","\u0160":"S","\u015b":"s","\u015d":"s","\u015f":"s","\u0161":"s","\u0162":"T","\u0164":"T","\u0166":"T","\u0163":"t","\u0165":"t","\u0167":"t","\u0168":"U","\u016a":"U","\u016c":"U","\u016e":"U","\u0170":"U","\u0172":"U","\u0169":"u","\u016b":"u","\u016d":"u","\u016f":"u","\u0171":"u","\u0173":"u","\u0174":"W","\u0175":"w","\u0176":"Y","\u0177":"y","\u0178":"Y","\u0179":"Z","\u017b":"Z","\u017d":"Z","\u017a":"z","\u017c":"z","\u017e":"z","\u0132":"IJ", +"\u0133":"ij","\u0152":"Oe","\u0153":"oe","\u0149":"'n","\u017f":"s"}),nt=x({"&":"&","<":"<",">":">",'"':""","'":"'"}),tt=x({"&":"&","<":"<",">":">",""":'"',"'":"'"}),rt=function x(mn){function An(n){if(yu(n)&&!ff(n)&&!(n instanceof Ln)){if(n instanceof On)return n;if(oi.call(n,"__wrapped__"))return Fe(n)}return new On(n)}function kn(){}function On(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=T}function Ln(n){ +this.__wrapped__=n,this.__actions__=[],this.__dir__=1,this.__filtered__=false,this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}function Mn(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t=t?n:t)),n}function _t(n,t,e,u,i,o){var f,c=1&t,a=2&t,l=4&t;if(e&&(f=i?e(n,u,i,o):e(n)),f!==T)return f;if(!du(n))return n;if(u=ff(n)){if(f=me(n),!c)return Lr(n,f)}else{var s=vo(n),h="[object Function]"==s||"[object GeneratorFunction]"==s;if(af(n))return Ir(n,c);if("[object Object]"==s||"[object Arguments]"==s||h&&!i){if(f=a||h?{}:Ae(n),!c)return a?Mr(n,lt(f,n)):Dr(n,at(f,n))}else{if(!Bn[s])return i?n:{};f=ke(n,s,c)}}if(o||(o=new Zn), +i=o.get(n))return i;if(o.set(n,f),pf(n))return n.forEach(function(r){f.add(_t(r,t,e,r,n,o))}),f;if(sf(n))return n.forEach(function(r,u){f.set(u,_t(r,t,e,u,n,o))}),f;var a=l?a?ve:_e:a?Uu:Wu,p=u?T:a(n);return r(p||n,function(r,u){p&&(u=r,r=n[u]),ot(f,u,_t(r,t,e,u,n,o))}),f}function vt(n){var t=Wu(n);return function(r){return gt(r,n,t)}}function gt(n,t,r){var e=r.length;if(null==n)return!e;for(n=Qu(n);e--;){var u=r[e],i=t[u],o=n[u];if(o===T&&!(u in n)||!i(o))return false}return true}function dt(n,t,r){if(typeof n!="function")throw new ti("Expected a function"); +return bo(function(){n.apply(T,r)},t)}function yt(n,t,r,e){var u=-1,i=o,a=true,l=n.length,s=[],h=t.length;if(!l)return s;r&&(t=c(t,E(r))),e?(i=f,a=false):200<=t.length&&(i=O,a=false,t=new Nn(t));n:for(;++ut}function Rt(n,t){return null!=n&&oi.call(n,t)}function zt(n,t){return null!=n&&t in Qu(n)}function Wt(n,t,r){for(var e=r?f:o,u=n[0].length,i=n.length,a=i,l=Ku(i),s=1/0,h=[];a--;){var p=n[a];a&&t&&(p=c(p,E(t))),s=Ci(p.length,s), +l[a]=!r&&(t||120<=u&&120<=p.length)?new Nn(a&&p):T}var p=n[0],_=-1,v=l[0];n:for(;++_r.length?t:Et(t,hr(r,0,-1)),r=null==t?t:t[Me(Ve(r))],null==r?T:n(r,t,e)}function Lt(n){return yu(n)&&"[object Arguments]"==Ot(n)}function Ct(n){ +return yu(n)&&"[object ArrayBuffer]"==Ot(n)}function Dt(n){return yu(n)&&"[object Date]"==Ot(n)}function Mt(n,t,r,e,u){if(n===t)return true;if(null==n||null==t||!yu(n)&&!yu(t))return n!==n&&t!==t;n:{var i=ff(n),o=ff(t),f=i?"[object Array]":vo(n),c=o?"[object Array]":vo(t),f="[object Arguments]"==f?"[object Object]":f,c="[object Arguments]"==c?"[object Object]":c,a="[object Object]"==f,o="[object Object]"==c;if((c=f==c)&&af(n)){if(!af(t)){t=false;break n}i=true,a=false}if(c&&!a)u||(u=new Zn),t=i||_f(n)?se(n,t,r,e,Mt,u):he(n,t,f,r,e,Mt,u);else{ +if(!(1&r)&&(i=a&&oi.call(n,"__wrapped__"),f=o&&oi.call(t,"__wrapped__"),i||f)){n=i?n.value():n,t=f?t.value():t,u||(u=new Zn),t=Mt(n,t,r,e,u);break n}if(c)t:if(u||(u=new Zn),i=1&r,f=_e(n),o=f.length,c=_e(t).length,o==c||i){for(a=o;a--;){var l=f[a];if(!(i?l in t:oi.call(t,l))){t=false;break t}}if((c=u.get(n))&&u.get(t))t=c==t;else{c=true,u.set(n,t),u.set(t,n);for(var s=i;++at?r:0,Se(t,r)?n[t]:T}function Xt(n,t,r){var e=-1;return t=c(t.length?t:[$u],E(ye())),n=Gt(n,function(n,r,u){return{a:c(t,function(t){return t(n)}), +b:++e,c:n}}),w(n,function(n,t){var e;n:{e=-1;for(var u=n.a,i=t.a,o=u.length,f=r.length;++e=f){e=c;break n}e=c*("desc"==r[e]?-1:1);break n}}e=n.b-t.b}return e})}function nr(n,t){return tr(n,t,function(t,r){return zu(n,r)})}function tr(n,t,r){for(var e=-1,u=t.length,i={};++et||9007199254740991t&&(t=-t>u?0:u+t),r=r>u?u:r,0>r&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0,r=Ku(u);++e=u){for(;e>>1,o=n[i];null!==o&&!wu(o)&&(r?o<=t:ot.length?n:Et(n,hr(t,0,-1)),null==n||delete n[Me(Ve(t))]}function jr(n,t,r,e){for(var u=n.length,i=e?u:-1;(e?i--:++ie)return e?br(n[0]):[];for(var u=-1,i=Ku(e);++u=e?n:hr(n,t,r)}function Ir(n,t){if(t)return n.slice();var r=n.length,r=gi?gi(r):new n.constructor(r);return n.copy(r),r}function Rr(n){var t=new n.constructor(n.byteLength);return new vi(t).set(new vi(n)),t}function zr(n,t){return new n.constructor(t?Rr(n.buffer):n.buffer,n.byteOffset,n.length); +}function Wr(n,t){if(n!==t){var r=n!==T,e=null===n,u=n===n,i=wu(n),o=t!==T,f=null===t,c=t===t,a=wu(t);if(!f&&!a&&!i&&n>t||i&&o&&c&&!f&&!a||e&&o&&c||!r&&c||!u)return 1;if(!e&&!i&&!a&&nu?T:i,u=1),t=Qu(t);++eo&&f[0]!==a&&f[o-1]!==a?[]:B(f,a),o-=c.length,or?r?or(t,n):t:(r=or(t,Oi(n/D(t))),Rn.test(t)?Or(M(r),0,n).join(""):r.slice(0,n))}function te(t,r,e,u){function i(){for(var r=-1,c=arguments.length,a=-1,l=u.length,s=Ku(l+c),h=this&&this!==$n&&this instanceof i?f:t;++at||e)&&(1&n&&(i[2]=h[2],t|=1&r?0:4),(r=h[3])&&(e=i[3],i[3]=e?Ur(e,r,h[4]):r,i[4]=e?B(i[3],"__lodash_placeholder__"):h[4]),(r=h[5])&&(e=i[5],i[5]=e?Br(e,r,h[6]):r,i[6]=e?B(i[5],"__lodash_placeholder__"):h[6]),(r=h[7])&&(i[7]=r),128&n&&(i[8]=null==i[8]?h[8]:Ci(i[8],h[8])),null==i[9]&&(i[9]=h[9]),i[0]=h[0],i[1]=t),n=i[0],t=i[1], +r=i[2],e=i[3],u=i[4],f=i[9]=i[9]===T?c?0:n.length:Li(i[9]-a,0),!f&&24&t&&(t&=-25),c=t&&1!=t?8==t||16==t?Kr(n,t,f):32!=t&&33!=t||u.length?Jr.apply(T,i):te(n,t,r,e):Pr(n,t,r),Le((h?co:yo)(c,i),n,t)}function ce(n,t,r,e){return n===T||lu(n,ei[r])&&!oi.call(e,r)?t:n}function ae(n,t,r,e,u,i){return du(n)&&du(t)&&(i.set(t,n),Yt(n,t,T,ae,i),i.delete(t)),n}function le(n){return xu(n)?T:n}function se(n,t,r,e,u,i){var o=1&r,f=n.length,c=t.length;if(f!=c&&!(o&&c>f))return false;if((c=i.get(n))&&i.get(t))return c==t; +var c=-1,a=true,l=2&r?new Nn:T;for(i.set(n,t),i.set(t,n);++cr&&(r=Li(e+r,0)),_(n,ye(t,3),r)):-1}function Pe(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=e-1;return r!==T&&(u=ku(r),u=0>r?Li(e+u,0):Ci(u,e-1)),_(n,ye(t,3),u,true)}function Ze(n){return(null==n?0:n.length)?wt(n,1):[]; +}function qe(n){return n&&n.length?n[0]:T}function Ve(n){var t=null==n?0:n.length;return t?n[t-1]:T}function Ke(n,t){return n&&n.length&&t&&t.length?er(n,t):n}function Ge(n){return null==n?n:$i.call(n)}function He(n){if(!n||!n.length)return[];var t=0;return n=i(n,function(n){if(hu(n))return t=Li(n.length,t),true}),A(t,function(t){return c(n,b(t))})}function Je(t,r){if(!t||!t.length)return[];var e=He(t);return null==r?e:c(e,function(t){return n(r,T,t)})}function Ye(n){return n=An(n),n.__chain__=true,n; +}function Qe(n,t){return t(n)}function Xe(){return this}function nu(n,t){return(ff(n)?r:uo)(n,ye(t,3))}function tu(n,t){return(ff(n)?e:io)(n,ye(t,3))}function ru(n,t){return(ff(n)?c:Gt)(n,ye(t,3))}function eu(n,t,r){return t=r?T:t,t=n&&null==t?n.length:t,fe(n,128,T,T,T,T,t)}function uu(n,t){var r;if(typeof t!="function")throw new ti("Expected a function");return n=ku(n),function(){return 0<--n&&(r=t.apply(this,arguments)),1>=n&&(t=T),r}}function iu(n,t,r){return t=r?T:t,n=fe(n,8,T,T,T,T,T,t),n.placeholder=iu.placeholder, +n}function ou(n,t,r){return t=r?T:t,n=fe(n,16,T,T,T,T,T,t),n.placeholder=ou.placeholder,n}function fu(n,t,r){function e(t){var r=c,e=a;return c=a=T,_=t,s=n.apply(e,r)}function u(n){var r=n-p;return n-=_,p===T||r>=t||0>r||g&&n>=l}function i(){var n=Go();if(u(n))return o(n);var r,e=bo;r=n-_,n=t-(n-p),r=g?Ci(n,l-r):n,h=e(i,r)}function o(n){return h=T,d&&c?e(n):(c=a=T,s)}function f(){var n=Go(),r=u(n);if(c=arguments,a=this,p=n,r){if(h===T)return _=n=p,h=bo(i,t),v?e(n):s;if(g)return h=bo(i,t),e(p)}return h===T&&(h=bo(i,t)), +s}var c,a,l,s,h,p,_=0,v=false,g=false,d=true;if(typeof n!="function")throw new ti("Expected a function");return t=Su(t)||0,du(r)&&(v=!!r.leading,l=(g="maxWait"in r)?Li(Su(r.maxWait)||0,t):l,d="trailing"in r?!!r.trailing:d),f.cancel=function(){h!==T&&lo(h),_=0,c=p=a=h=T},f.flush=function(){return h===T?s:o(Go())},f}function cu(n,t){if(typeof n!="function"||null!=t&&typeof t!="function")throw new ti("Expected a function");var r=function(){var e=arguments,u=t?t.apply(this,e):e[0],i=r.cache;return i.has(u)?i.get(u):(e=n.apply(this,e), +r.cache=i.set(u,e)||i,e)};return r.cache=new(cu.Cache||Fn),r}function au(n){if(typeof n!="function")throw new ti("Expected a function");return function(){var t=arguments;switch(t.length){case 0:return!n.call(this);case 1:return!n.call(this,t[0]);case 2:return!n.call(this,t[0],t[1]);case 3:return!n.call(this,t[0],t[1],t[2])}return!n.apply(this,t)}}function lu(n,t){return n===t||n!==n&&t!==t}function su(n){return null!=n&&gu(n.length)&&!_u(n)}function hu(n){return yu(n)&&su(n)}function pu(n){if(!yu(n))return false; +var t=Ot(n);return"[object Error]"==t||"[object DOMException]"==t||typeof n.message=="string"&&typeof n.name=="string"&&!xu(n)}function _u(n){return!!du(n)&&(n=Ot(n),"[object Function]"==n||"[object GeneratorFunction]"==n||"[object AsyncFunction]"==n||"[object Proxy]"==n)}function vu(n){return typeof n=="number"&&n==ku(n)}function gu(n){return typeof n=="number"&&-1=n}function du(n){var t=typeof n;return null!=n&&("object"==t||"function"==t)}function yu(n){return null!=n&&typeof n=="object"; +}function bu(n){return typeof n=="number"||yu(n)&&"[object Number]"==Ot(n)}function xu(n){return!(!yu(n)||"[object Object]"!=Ot(n))&&(n=di(n),null===n||(n=oi.call(n,"constructor")&&n.constructor,typeof n=="function"&&n instanceof n&&ii.call(n)==li))}function ju(n){return typeof n=="string"||!ff(n)&&yu(n)&&"[object String]"==Ot(n)}function wu(n){return typeof n=="symbol"||yu(n)&&"[object Symbol]"==Ot(n)}function mu(n){if(!n)return[];if(su(n))return ju(n)?M(n):Lr(n);if(wi&&n[wi]){n=n[wi]();for(var t,r=[];!(t=n.next()).done;)r.push(t.value); +return r}return t=vo(n),("[object Map]"==t?W:"[object Set]"==t?L:Lu)(n)}function Au(n){return n?(n=Su(n),n===$||n===-$?1.7976931348623157e308*(0>n?-1:1):n===n?n:0):0===n?n:0}function ku(n){n=Au(n);var t=n%1;return n===n?t?n-t:n:0}function Eu(n){return n?pt(ku(n),0,4294967295):0}function Su(n){if(typeof n=="number")return n;if(wu(n))return F;if(du(n)&&(n=typeof n.valueOf=="function"?n.valueOf():n,n=du(n)?n+"":n),typeof n!="string")return 0===n?n:+n;n=n.replace(un,"");var t=gn.test(n);return t||yn.test(n)?Dn(n.slice(2),t?2:8):vn.test(n)?F:+n; +}function Ou(n){return Cr(n,Uu(n))}function Iu(n){return null==n?"":yr(n)}function Ru(n,t,r){return n=null==n?T:Et(n,t),n===T?r:n}function zu(n,t){return null!=n&&we(n,t,zt)}function Wu(n){return su(n)?qn(n):Vt(n)}function Uu(n){if(su(n))n=qn(n,true);else if(du(n)){var t,r=ze(n),e=[];for(t in n)("constructor"!=t||!r&&oi.call(n,t))&&e.push(t);n=e}else{if(t=[],null!=n)for(r in Qu(n))t.push(r);n=t}return n}function Bu(n,t){if(null==n)return{};var r=c(ve(n),function(n){return[n]});return t=ye(t),tr(n,r,function(n,r){ +return t(n,r[0])})}function Lu(n){return null==n?[]:S(n,Wu(n))}function Cu(n){return $f(Iu(n).toLowerCase())}function Du(n){return(n=Iu(n))&&n.replace(xn,Xn).replace(Sn,"")}function Mu(n,t,r){return n=Iu(n),t=r?T:t,t===T?zn.test(n)?n.match(In)||[]:n.match(sn)||[]:n.match(t)||[]}function Tu(n){return function(){return n}}function $u(n){return n}function Fu(n){return qt(typeof n=="function"?n:_t(n,1))}function Nu(n,t,e){var u=Wu(t),i=kt(t,u);null!=e||du(t)&&(i.length||!u.length)||(e=t,t=n,n=this,i=kt(t,Wu(t))); +var o=!(du(e)&&"chain"in e&&!e.chain),f=_u(n);return r(i,function(r){var e=t[r];n[r]=e,f&&(n.prototype[r]=function(){var t=this.__chain__;if(o||t){var r=n(this.__wrapped__);return(r.__actions__=Lr(this.__actions__)).push({func:e,args:arguments,thisArg:n}),r.__chain__=t,r}return e.apply(n,a([this.value()],arguments))})}),n}function Pu(){}function Zu(n){return Ie(n)?b(Me(n)):rr(n)}function qu(){return[]}function Vu(){return false}mn=null==mn?$n:rt.defaults($n.Object(),mn,rt.pick($n,Wn));var Ku=mn.Array,Gu=mn.Date,Hu=mn.Error,Ju=mn.Function,Yu=mn.Math,Qu=mn.Object,Xu=mn.RegExp,ni=mn.String,ti=mn.TypeError,ri=Ku.prototype,ei=Qu.prototype,ui=mn["__core-js_shared__"],ii=Ju.prototype.toString,oi=ei.hasOwnProperty,fi=0,ci=function(){ +var n=/[^.]+$/.exec(ui&&ui.keys&&ui.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""}(),ai=ei.toString,li=ii.call(Qu),si=$n._,hi=Xu("^"+ii.call(oi).replace(rn,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),pi=Pn?mn.Buffer:T,_i=mn.Symbol,vi=mn.Uint8Array,gi=pi?pi.allocUnsafe:T,di=U(Qu.getPrototypeOf,Qu),yi=Qu.create,bi=ei.propertyIsEnumerable,xi=ri.splice,ji=_i?_i.isConcatSpreadable:T,wi=_i?_i.iterator:T,mi=_i?_i.toStringTag:T,Ai=function(){try{var n=je(Qu,"defineProperty"); +return n({},"",{}),n}catch(n){}}(),ki=mn.clearTimeout!==$n.clearTimeout&&mn.clearTimeout,Ei=Gu&&Gu.now!==$n.Date.now&&Gu.now,Si=mn.setTimeout!==$n.setTimeout&&mn.setTimeout,Oi=Yu.ceil,Ii=Yu.floor,Ri=Qu.getOwnPropertySymbols,zi=pi?pi.isBuffer:T,Wi=mn.isFinite,Ui=ri.join,Bi=U(Qu.keys,Qu),Li=Yu.max,Ci=Yu.min,Di=Gu.now,Mi=mn.parseInt,Ti=Yu.random,$i=ri.reverse,Fi=je(mn,"DataView"),Ni=je(mn,"Map"),Pi=je(mn,"Promise"),Zi=je(mn,"Set"),qi=je(mn,"WeakMap"),Vi=je(Qu,"create"),Ki=qi&&new qi,Gi={},Hi=Te(Fi),Ji=Te(Ni),Yi=Te(Pi),Qi=Te(Zi),Xi=Te(qi),no=_i?_i.prototype:T,to=no?no.valueOf:T,ro=no?no.toString:T,eo=function(){ +function n(){}return function(t){return du(t)?yi?yi(t):(n.prototype=t,t=new n,n.prototype=T,t):{}}}();An.templateSettings={escape:J,evaluate:Y,interpolate:Q,variable:"",imports:{_:An}},An.prototype=kn.prototype,An.prototype.constructor=An,On.prototype=eo(kn.prototype),On.prototype.constructor=On,Ln.prototype=eo(kn.prototype),Ln.prototype.constructor=Ln,Mn.prototype.clear=function(){this.__data__=Vi?Vi(null):{},this.size=0},Mn.prototype.delete=function(n){return n=this.has(n)&&delete this.__data__[n], +this.size-=n?1:0,n},Mn.prototype.get=function(n){var t=this.__data__;return Vi?(n=t[n],"__lodash_hash_undefined__"===n?T:n):oi.call(t,n)?t[n]:T},Mn.prototype.has=function(n){var t=this.__data__;return Vi?t[n]!==T:oi.call(t,n)},Mn.prototype.set=function(n,t){var r=this.__data__;return this.size+=this.has(n)?0:1,r[n]=Vi&&t===T?"__lodash_hash_undefined__":t,this},Tn.prototype.clear=function(){this.__data__=[],this.size=0},Tn.prototype.delete=function(n){var t=this.__data__;return n=ft(t,n),!(0>n)&&(n==t.length-1?t.pop():xi.call(t,n,1), +--this.size,true)},Tn.prototype.get=function(n){var t=this.__data__;return n=ft(t,n),0>n?T:t[n][1]},Tn.prototype.has=function(n){return-1e?(++this.size,r.push([n,t])):r[e][1]=t,this},Fn.prototype.clear=function(){this.size=0,this.__data__={hash:new Mn,map:new(Ni||Tn),string:new Mn}},Fn.prototype.delete=function(n){return n=be(this,n).delete(n),this.size-=n?1:0,n},Fn.prototype.get=function(n){return be(this,n).get(n); +},Fn.prototype.has=function(n){return be(this,n).has(n)},Fn.prototype.set=function(n,t){var r=be(this,n),e=r.size;return r.set(n,t),this.size+=r.size==e?0:1,this},Nn.prototype.add=Nn.prototype.push=function(n){return this.__data__.set(n,"__lodash_hash_undefined__"),this},Nn.prototype.has=function(n){return this.__data__.has(n)},Zn.prototype.clear=function(){this.__data__=new Tn,this.size=0},Zn.prototype.delete=function(n){var t=this.__data__;return n=t.delete(n),this.size=t.size,n},Zn.prototype.get=function(n){ +return this.__data__.get(n)},Zn.prototype.has=function(n){return this.__data__.has(n)},Zn.prototype.set=function(n,t){var r=this.__data__;if(r instanceof Tn){var e=r.__data__;if(!Ni||199>e.length)return e.push([n,t]),this.size=++r.size,this;r=this.__data__=new Fn(e)}return r.set(n,t),this.size=r.size,this};var uo=Fr(mt),io=Fr(At,true),oo=Nr(),fo=Nr(true),co=Ki?function(n,t){return Ki.set(n,t),n}:$u,ao=Ai?function(n,t){return Ai(n,"toString",{configurable:true,enumerable:false,value:Tu(t),writable:true})}:$u,lo=ki||function(n){ +return $n.clearTimeout(n)},so=Zi&&1/L(new Zi([,-0]))[1]==$?function(n){return new Zi(n)}:Pu,ho=Ki?function(n){return Ki.get(n)}:Pu,po=Ri?function(n){return null==n?[]:(n=Qu(n),i(Ri(n),function(t){return bi.call(n,t)}))}:qu,_o=Ri?function(n){for(var t=[];n;)a(t,po(n)),n=di(n);return t}:qu,vo=Ot;(Fi&&"[object DataView]"!=vo(new Fi(new ArrayBuffer(1)))||Ni&&"[object Map]"!=vo(new Ni)||Pi&&"[object Promise]"!=vo(Pi.resolve())||Zi&&"[object Set]"!=vo(new Zi)||qi&&"[object WeakMap]"!=vo(new qi))&&(vo=function(n){ +var t=Ot(n);if(n=(n="[object Object]"==t?n.constructor:T)?Te(n):"")switch(n){case Hi:return"[object DataView]";case Ji:return"[object Map]";case Yi:return"[object Promise]";case Qi:return"[object Set]";case Xi:return"[object WeakMap]"}return t});var go=ui?_u:Vu,yo=Ce(co),bo=Si||function(n,t){return $n.setTimeout(n,t)},xo=Ce(ao),jo=function(n){n=cu(n,function(n){return 500===t.size&&t.clear(),n});var t=n.cache;return n}(function(n){var t=[];return 46===n.charCodeAt(0)&&t.push(""),n.replace(tn,function(n,r,e,u){ +t.push(e?u.replace(hn,"$1"):r||n)}),t}),wo=fr(function(n,t){return hu(n)?yt(n,wt(t,1,hu,true)):[]}),mo=fr(function(n,t){var r=Ve(t);return hu(r)&&(r=T),hu(n)?yt(n,wt(t,1,hu,true),ye(r,2)):[]}),Ao=fr(function(n,t){var r=Ve(t);return hu(r)&&(r=T),hu(n)?yt(n,wt(t,1,hu,true),T,r):[]}),ko=fr(function(n){var t=c(n,kr);return t.length&&t[0]===n[0]?Wt(t):[]}),Eo=fr(function(n){var t=Ve(n),r=c(n,kr);return t===Ve(r)?t=T:r.pop(),r.length&&r[0]===n[0]?Wt(r,ye(t,2)):[]}),So=fr(function(n){var t=Ve(n),r=c(n,kr);return(t=typeof t=="function"?t:T)&&r.pop(), +r.length&&r[0]===n[0]?Wt(r,T,t):[]}),Oo=fr(Ke),Io=pe(function(n,t){var r=null==n?0:n.length,e=ht(n,t);return ur(n,c(t,function(n){return Se(n,r)?+n:n}).sort(Wr)),e}),Ro=fr(function(n){return br(wt(n,1,hu,true))}),zo=fr(function(n){var t=Ve(n);return hu(t)&&(t=T),br(wt(n,1,hu,true),ye(t,2))}),Wo=fr(function(n){var t=Ve(n),t=typeof t=="function"?t:T;return br(wt(n,1,hu,true),T,t)}),Uo=fr(function(n,t){return hu(n)?yt(n,t):[]}),Bo=fr(function(n){return mr(i(n,hu))}),Lo=fr(function(n){var t=Ve(n);return hu(t)&&(t=T), +mr(i(n,hu),ye(t,2))}),Co=fr(function(n){var t=Ve(n),t=typeof t=="function"?t:T;return mr(i(n,hu),T,t)}),Do=fr(He),Mo=fr(function(n){var t=n.length,t=1=t}),of=Lt(function(){return arguments}())?Lt:function(n){return yu(n)&&oi.call(n,"callee")&&!bi.call(n,"callee")},ff=Ku.isArray,cf=Vn?E(Vn):Ct,af=zi||Vu,lf=Kn?E(Kn):Dt,sf=Gn?E(Gn):Tt,hf=Hn?E(Hn):Nt,pf=Jn?E(Jn):Pt,_f=Yn?E(Yn):Zt,vf=ee(Kt),gf=ee(function(n,t){return n<=t}),df=$r(function(n,t){ +if(ze(t)||su(t))Cr(t,Wu(t),n);else for(var r in t)oi.call(t,r)&&ot(n,r,t[r])}),yf=$r(function(n,t){Cr(t,Uu(t),n)}),bf=$r(function(n,t,r,e){Cr(t,Uu(t),n,e)}),xf=$r(function(n,t,r,e){Cr(t,Wu(t),n,e)}),jf=pe(ht),wf=fr(function(n,t){n=Qu(n);var r=-1,e=t.length,u=2--n)return t.apply(this,arguments)}},An.ary=eu,An.assign=df,An.assignIn=yf,An.assignInWith=bf,An.assignWith=xf,An.at=jf,An.before=uu,An.bind=Ho,An.bindAll=Nf,An.bindKey=Jo,An.castArray=function(){if(!arguments.length)return[];var n=arguments[0];return ff(n)?n:[n]},An.chain=Ye,An.chunk=function(n,t,r){if(t=(r?Oe(n,t,r):t===T)?1:Li(ku(t),0),r=null==n?0:n.length,!r||1>t)return[];for(var e=0,u=0,i=Ku(Oi(r/t));et?0:t,e)):[]},An.dropRight=function(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===T?1:ku(t),t=e-t,hr(n,0,0>t?0:t)):[]},An.dropRightWhile=function(n,t){return n&&n.length?jr(n,ye(t,3),true,true):[]; +},An.dropWhile=function(n,t){return n&&n.length?jr(n,ye(t,3),true):[]},An.fill=function(n,t,r,e){var u=null==n?0:n.length;if(!u)return[];for(r&&typeof r!="number"&&Oe(n,t,r)&&(r=0,e=u),u=n.length,r=ku(r),0>r&&(r=-r>u?0:u+r),e=e===T||e>u?u:ku(e),0>e&&(e+=u),e=r>e?0:Eu(e);r>>0,r?(n=Iu(n))&&(typeof t=="string"||null!=t&&!hf(t))&&(t=yr(t),!t&&Rn.test(n))?Or(M(n),0,r):n.split(t,r):[]},An.spread=function(t,r){if(typeof t!="function")throw new ti("Expected a function");return r=null==r?0:Li(ku(r),0), +fr(function(e){var u=e[r];return e=Or(e,0,r),u&&a(e,u),n(t,this,e)})},An.tail=function(n){var t=null==n?0:n.length;return t?hr(n,1,t):[]},An.take=function(n,t,r){return n&&n.length?(t=r||t===T?1:ku(t),hr(n,0,0>t?0:t)):[]},An.takeRight=function(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===T?1:ku(t),t=e-t,hr(n,0>t?0:t,e)):[]},An.takeRightWhile=function(n,t){return n&&n.length?jr(n,ye(t,3),false,true):[]},An.takeWhile=function(n,t){return n&&n.length?jr(n,ye(t,3)):[]},An.tap=function(n,t){return t(n), +n},An.throttle=function(n,t,r){var e=true,u=true;if(typeof n!="function")throw new ti("Expected a function");return du(r)&&(e="leading"in r?!!r.leading:e,u="trailing"in r?!!r.trailing:u),fu(n,t,{leading:e,maxWait:t,trailing:u})},An.thru=Qe,An.toArray=mu,An.toPairs=zf,An.toPairsIn=Wf,An.toPath=function(n){return ff(n)?c(n,Me):wu(n)?[n]:Lr(jo(Iu(n)))},An.toPlainObject=Ou,An.transform=function(n,t,e){var u=ff(n),i=u||af(n)||_f(n);if(t=ye(t,4),null==e){var o=n&&n.constructor;e=i?u?new o:[]:du(n)&&_u(o)?eo(di(n)):{}; +}return(i?r:mt)(n,function(n,r,u){return t(e,n,r,u)}),e},An.unary=function(n){return eu(n,1)},An.union=Ro,An.unionBy=zo,An.unionWith=Wo,An.uniq=function(n){return n&&n.length?br(n):[]},An.uniqBy=function(n,t){return n&&n.length?br(n,ye(t,2)):[]},An.uniqWith=function(n,t){return t=typeof t=="function"?t:T,n&&n.length?br(n,T,t):[]},An.unset=function(n,t){return null==n||xr(n,t)},An.unzip=He,An.unzipWith=Je,An.update=function(n,t,r){return null!=n&&(r=Er(r),n=lr(n,t,r(Et(n,t)),void 0)),n},An.updateWith=function(n,t,r,e){ +return e=typeof e=="function"?e:T,null!=n&&(r=Er(r),n=lr(n,t,r(Et(n,t)),e)),n},An.values=Lu,An.valuesIn=function(n){return null==n?[]:S(n,Uu(n))},An.without=Uo,An.words=Mu,An.wrap=function(n,t){return nf(Er(t),n)},An.xor=Bo,An.xorBy=Lo,An.xorWith=Co,An.zip=Do,An.zipObject=function(n,t){return Ar(n||[],t||[],ot)},An.zipObjectDeep=function(n,t){return Ar(n||[],t||[],lr)},An.zipWith=Mo,An.entries=zf,An.entriesIn=Wf,An.extend=yf,An.extendWith=bf,Nu(An,An),An.add=Qf,An.attempt=Ff,An.camelCase=Uf,An.capitalize=Cu, +An.ceil=Xf,An.clamp=function(n,t,r){return r===T&&(r=t,t=T),r!==T&&(r=Su(r),r=r===r?r:0),t!==T&&(t=Su(t),t=t===t?t:0),pt(Su(n),t,r)},An.clone=function(n){return _t(n,4)},An.cloneDeep=function(n){return _t(n,5)},An.cloneDeepWith=function(n,t){return t=typeof t=="function"?t:T,_t(n,5,t)},An.cloneWith=function(n,t){return t=typeof t=="function"?t:T,_t(n,4,t)},An.conformsTo=function(n,t){return null==t||gt(n,t,Wu(t))},An.deburr=Du,An.defaultTo=function(n,t){return null==n||n!==n?t:n},An.divide=nc,An.endsWith=function(n,t,r){ +n=Iu(n),t=yr(t);var e=n.length,e=r=r===T?e:pt(ku(r),0,e);return r-=t.length,0<=r&&n.slice(r,e)==t},An.eq=lu,An.escape=function(n){return(n=Iu(n))&&H.test(n)?n.replace(K,nt):n},An.escapeRegExp=function(n){return(n=Iu(n))&&en.test(n)?n.replace(rn,"\\$&"):n},An.every=function(n,t,r){var e=ff(n)?u:bt;return r&&Oe(n,t,r)&&(t=T),e(n,ye(t,3))},An.find=Fo,An.findIndex=Ne,An.findKey=function(n,t){return p(n,ye(t,3),mt)},An.findLast=No,An.findLastIndex=Pe,An.findLastKey=function(n,t){return p(n,ye(t,3),At); +},An.floor=tc,An.forEach=nu,An.forEachRight=tu,An.forIn=function(n,t){return null==n?n:oo(n,ye(t,3),Uu)},An.forInRight=function(n,t){return null==n?n:fo(n,ye(t,3),Uu)},An.forOwn=function(n,t){return n&&mt(n,ye(t,3))},An.forOwnRight=function(n,t){return n&&At(n,ye(t,3))},An.get=Ru,An.gt=ef,An.gte=uf,An.has=function(n,t){return null!=n&&we(n,t,Rt)},An.hasIn=zu,An.head=qe,An.identity=$u,An.includes=function(n,t,r,e){return n=su(n)?n:Lu(n),r=r&&!e?ku(r):0,e=n.length,0>r&&(r=Li(e+r,0)),ju(n)?r<=e&&-1r&&(r=Li(e+r,0)),v(n,t,r)):-1},An.inRange=function(n,t,r){return t=Au(t),r===T?(r=t,t=0):r=Au(r),n=Su(n),n>=Ci(t,r)&&n=n},An.isSet=pf,An.isString=ju,An.isSymbol=wu,An.isTypedArray=_f,An.isUndefined=function(n){return n===T},An.isWeakMap=function(n){return yu(n)&&"[object WeakMap]"==vo(n)},An.isWeakSet=function(n){return yu(n)&&"[object WeakSet]"==Ot(n)},An.join=function(n,t){return null==n?"":Ui.call(n,t)},An.kebabCase=Bf,An.last=Ve,An.lastIndexOf=function(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=e;if(r!==T&&(u=ku(r),u=0>u?Li(e+u,0):Ci(u,e-1)), +t===t)n:{for(r=u+1;r--;)if(n[r]===t){n=r;break n}n=r}else n=_(n,d,u,true);return n},An.lowerCase=Lf,An.lowerFirst=Cf,An.lt=vf,An.lte=gf,An.max=function(n){return n&&n.length?xt(n,$u,It):T},An.maxBy=function(n,t){return n&&n.length?xt(n,ye(t,2),It):T},An.mean=function(n){return y(n,$u)},An.meanBy=function(n,t){return y(n,ye(t,2))},An.min=function(n){return n&&n.length?xt(n,$u,Kt):T},An.minBy=function(n,t){return n&&n.length?xt(n,ye(t,2),Kt):T},An.stubArray=qu,An.stubFalse=Vu,An.stubObject=function(){ +return{}},An.stubString=function(){return""},An.stubTrue=function(){return true},An.multiply=rc,An.nth=function(n,t){return n&&n.length?Qt(n,ku(t)):T},An.noConflict=function(){return $n._===this&&($n._=si),this},An.noop=Pu,An.now=Go,An.pad=function(n,t,r){n=Iu(n);var e=(t=ku(t))?D(n):0;return!t||e>=t?n:(t=(t-e)/2,ne(Ii(t),r)+n+ne(Oi(t),r))},An.padEnd=function(n,t,r){n=Iu(n);var e=(t=ku(t))?D(n):0;return t&&et){var e=n;n=t,t=e}return r||n%1||t%1?(r=Ti(),Ci(n+r*(t-n+Cn("1e-"+((r+"").length-1))),t)):ir(n,t)},An.reduce=function(n,t,r){var e=ff(n)?l:j,u=3>arguments.length;return e(n,ye(t,4),r,u,uo)},An.reduceRight=function(n,t,r){ +var e=ff(n)?s:j,u=3>arguments.length;return e(n,ye(t,4),r,u,io)},An.repeat=function(n,t,r){return t=(r?Oe(n,t,r):t===T)?1:ku(t),or(Iu(n),t)},An.replace=function(){var n=arguments,t=Iu(n[0]);return 3>n.length?t:t.replace(n[1],n[2])},An.result=function(n,t,r){t=Sr(t,n);var e=-1,u=t.length;for(u||(u=1,n=T);++en||9007199254740991=i)return n;if(i=r-D(e),1>i)return e;if(r=o?Or(o,0,i).join(""):n.slice(0,i),u===T)return r+e;if(o&&(i+=r.length-i),hf(u)){if(n.slice(i).search(u)){var f=r;for(u.global||(u=Xu(u.source,Iu(_n.exec(u))+"g")), +u.lastIndex=0;o=u.exec(f);)var c=o.index;r=r.slice(0,c===T?i:c)}}else n.indexOf(yr(u),i)!=i&&(u=r.lastIndexOf(u),-1e.__dir__?"Right":"")}),e},Ln.prototype[n+"Right"]=function(t){return this.reverse()[n](t).reverse()}}),r(["filter","map","takeWhile"],function(n,t){var r=t+1,e=1==r||3==r;Ln.prototype[n]=function(n){var t=this.clone();return t.__iteratees__.push({ +iteratee:ye(n,3),type:r}),t.__filtered__=t.__filtered__||e,t}}),r(["head","last"],function(n,t){var r="take"+(t?"Right":"");Ln.prototype[n]=function(){return this[r](1).value()[0]}}),r(["initial","tail"],function(n,t){var r="drop"+(t?"":"Right");Ln.prototype[n]=function(){return this.__filtered__?new Ln(this):this[r](1)}}),Ln.prototype.compact=function(){return this.filter($u)},Ln.prototype.find=function(n){return this.filter(n).head()},Ln.prototype.findLast=function(n){return this.reverse().find(n); +},Ln.prototype.invokeMap=fr(function(n,t){return typeof n=="function"?new Ln(this):this.map(function(r){return Bt(r,n,t)})}),Ln.prototype.reject=function(n){return this.filter(au(ye(n)))},Ln.prototype.slice=function(n,t){n=ku(n);var r=this;return r.__filtered__&&(0t)?new Ln(r):(0>n?r=r.takeRight(-n):n&&(r=r.drop(n)),t!==T&&(t=ku(t),r=0>t?r.dropRight(-t):r.take(t-n)),r)},Ln.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},Ln.prototype.toArray=function(){return this.take(4294967295); +},mt(Ln.prototype,function(n,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),e=/^(?:head|last)$/.test(t),u=An[e?"take"+("last"==t?"Right":""):t],i=e||/^find/.test(t);u&&(An.prototype[t]=function(){var t=this.__wrapped__,o=e?[1]:arguments,f=t instanceof Ln,c=o[0],l=f||ff(t),s=function(n){return n=u.apply(An,a([n],o)),e&&h?n[0]:n};l&&r&&typeof c=="function"&&1!=c.length&&(f=l=false);var h=this.__chain__,p=!!this.__actions__.length,c=i&&!h,f=f&&!p;return!i&&l?(t=f?t:new Ln(this),t=n.apply(t,o),t.__actions__.push({ +func:Qe,args:[s],thisArg:T}),new On(t,h)):c&&f?n.apply(this,o):(t=this.thru(s),c?e?t.value()[0]:t.value():t)})}),r("pop push shift sort splice unshift".split(" "),function(n){var t=ri[n],r=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",e=/^(?:pop|shift)$/.test(n);An.prototype[n]=function(){var n=arguments;if(e&&!this.__chain__){var u=this.value();return t.apply(ff(u)?u:[],n)}return this[r](function(r){return t.apply(ff(r)?r:[],n)})}}),mt(Ln.prototype,function(n,t){var r=An[t];if(r){var e=r.name+""; +(Gi[e]||(Gi[e]=[])).push({name:t,func:r})}}),Gi[Jr(T,2).name]=[{name:"wrapper",func:T}],Ln.prototype.clone=function(){var n=new Ln(this.__wrapped__);return n.__actions__=Lr(this.__actions__),n.__dir__=this.__dir__,n.__filtered__=this.__filtered__,n.__iteratees__=Lr(this.__iteratees__),n.__takeCount__=this.__takeCount__,n.__views__=Lr(this.__views__),n},Ln.prototype.reverse=function(){if(this.__filtered__){var n=new Ln(this);n.__dir__=-1,n.__filtered__=true}else n=this.clone(),n.__dir__*=-1;return n; +},Ln.prototype.value=function(){var n,t=this.__wrapped__.value(),r=this.__dir__,e=ff(t),u=0>r,i=e?t.length:0;n=0;for(var o=i,f=this.__views__,c=-1,a=f.length;++c=this.__values__.length;return{done:n,value:n?T:this.__values__[this.__index__++]}},An.prototype.plant=function(n){for(var t,r=this;r instanceof kn;){ +var e=Fe(r);e.__index__=0,e.__values__=T,t?u.__wrapped__=e:t=e;var u=e,r=r.__wrapped__}return u.__wrapped__=n,t},An.prototype.reverse=function(){var n=this.__wrapped__;return n instanceof Ln?(this.__actions__.length&&(n=new Ln(this)),n=n.reverse(),n.__actions__.push({func:Qe,args:[Ge],thisArg:T}),new On(n,this.__chain__)):this.thru(Ge)},An.prototype.toJSON=An.prototype.valueOf=An.prototype.value=function(){return wr(this.__wrapped__,this.__actions__)},An.prototype.first=An.prototype.head,wi&&(An.prototype[wi]=Xe), +An}();typeof define=="function"&&typeof define.amd=="object"&&define.amd?($n._=rt, define(function(){return rt})):Nn?((Nn.exports=rt)._=rt,Fn._=rt):$n._=rt}).call(this); \ No newline at end of file diff --git a/ui/shared/vendor/popper.js/popper.min.js b/ui/shared/vendor/popper.js/popper.min.js new file mode 100644 index 00000000..94a5c26f --- /dev/null +++ b/ui/shared/vendor/popper.js/popper.min.js @@ -0,0 +1,5 @@ +/* + Copyright (C) Federico Zivolo 2019 + Distributed under the MIT License (license terms are at http://opensource.org/licenses/MIT). + */(function(e,t){'object'==typeof exports&&'undefined'!=typeof module?module.exports=t():'function'==typeof define&&define.amd?define(t):e.Popper=t()})(this,function(){'use strict';function e(e){return e&&'[object Function]'==={}.toString.call(e)}function t(e,t){if(1!==e.nodeType)return[];var o=e.ownerDocument.defaultView,n=o.getComputedStyle(e,null);return t?n[t]:n}function o(e){return'HTML'===e.nodeName?e:e.parentNode||e.host}function n(e){if(!e)return document.body;switch(e.nodeName){case'HTML':case'BODY':return e.ownerDocument.body;case'#document':return e.body;}var i=t(e),r=i.overflow,p=i.overflowX,s=i.overflowY;return /(auto|scroll|overlay)/.test(r+s+p)?e:n(o(e))}function r(e){return 11===e?pe:10===e?se:pe||se}function p(e){if(!e)return document.documentElement;for(var o=r(10)?document.body:null,n=e.offsetParent||null;n===o&&e.nextElementSibling;)n=(e=e.nextElementSibling).offsetParent;var i=n&&n.nodeName;return i&&'BODY'!==i&&'HTML'!==i?-1!==['TH','TD','TABLE'].indexOf(n.nodeName)&&'static'===t(n,'position')?p(n):n:e?e.ownerDocument.documentElement:document.documentElement}function s(e){var t=e.nodeName;return'BODY'!==t&&('HTML'===t||p(e.firstElementChild)===e)}function d(e){return null===e.parentNode?e:d(e.parentNode)}function a(e,t){if(!e||!e.nodeType||!t||!t.nodeType)return document.documentElement;var o=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,n=o?e:t,i=o?t:e,r=document.createRange();r.setStart(n,0),r.setEnd(i,0);var l=r.commonAncestorContainer;if(e!==l&&t!==l||n.contains(i))return s(l)?l:p(l);var f=d(e);return f.host?a(f.host,t):a(e,d(t).host)}function l(e){var t=1=o.clientWidth&&n>=o.clientHeight}),l=0a[e]&&!t.escapeWithReference&&(n=Q(f[o],a[e]-('right'===e?f.width:f.height))),le({},o,n)}};return l.forEach(function(e){var t=-1===['left','top'].indexOf(e)?'secondary':'primary';f=fe({},f,m[t](e))}),e.offsets.popper=f,e},priority:['left','right','top','bottom'],padding:5,boundariesElement:'scrollParent'},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,o=t.popper,n=t.reference,i=e.placement.split('-')[0],r=Z,p=-1!==['top','bottom'].indexOf(i),s=p?'right':'bottom',d=p?'left':'top',a=p?'width':'height';return o[s]r(n[s])&&(e.offsets.popper[d]=r(n[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,o){var n;if(!K(e.instance.modifiers,'arrow','keepTogether'))return e;var i=o.element;if('string'==typeof i){if(i=e.instance.popper.querySelector(i),!i)return e;}else if(!e.instance.popper.contains(i))return console.warn('WARNING: `arrow.element` must be child of its popper element!'),e;var r=e.placement.split('-')[0],p=e.offsets,s=p.popper,d=p.reference,a=-1!==['left','right'].indexOf(r),l=a?'height':'width',f=a?'Top':'Left',m=f.toLowerCase(),h=a?'left':'top',c=a?'bottom':'right',u=S(i)[l];d[c]-us[c]&&(e.offsets.popper[m]+=d[m]+u-s[c]),e.offsets.popper=g(e.offsets.popper);var b=d[m]+d[l]/2-u/2,w=t(e.instance.popper),y=parseFloat(w['margin'+f],10),E=parseFloat(w['border'+f+'Width'],10),v=b-e.offsets.popper[m]-y-E;return v=ee(Q(s[l]-u,v),0),e.arrowElement=i,e.offsets.arrow=(n={},le(n,m,$(v)),le(n,h,''),n),e},element:'[x-arrow]'},flip:{order:600,enabled:!0,fn:function(e,t){if(W(e.instance.modifiers,'inner'))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var o=v(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),n=e.placement.split('-')[0],i=T(n),r=e.placement.split('-')[1]||'',p=[];switch(t.behavior){case ge.FLIP:p=[n,i];break;case ge.CLOCKWISE:p=G(n);break;case ge.COUNTERCLOCKWISE:p=G(n,!0);break;default:p=t.behavior;}return p.forEach(function(s,d){if(n!==s||p.length===d+1)return e;n=e.placement.split('-')[0],i=T(n);var a=e.offsets.popper,l=e.offsets.reference,f=Z,m='left'===n&&f(a.right)>f(l.left)||'right'===n&&f(a.left)f(l.top)||'bottom'===n&&f(a.top)f(o.right),g=f(a.top)f(o.bottom),b='left'===n&&h||'right'===n&&c||'top'===n&&g||'bottom'===n&&u,w=-1!==['top','bottom'].indexOf(n),y=!!t.flipVariations&&(w&&'start'===r&&h||w&&'end'===r&&c||!w&&'start'===r&&g||!w&&'end'===r&&u);(m||b||y)&&(e.flipped=!0,(m||b)&&(n=p[d+1]),y&&(r=z(r)),e.placement=n+(r?'-'+r:''),e.offsets.popper=fe({},e.offsets.popper,D(e.instance.popper,e.offsets.reference,e.placement)),e=P(e.instance.modifiers,e,'flip'))}),e},behavior:'flip',padding:5,boundariesElement:'viewport'},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,o=t.split('-')[0],n=e.offsets,i=n.popper,r=n.reference,p=-1!==['left','right'].indexOf(o),s=-1===['top','left'].indexOf(o);return i[p?'left':'top']=r[o]-(s?i[p?'width':'height']:0),e.placement=T(t),e.offsets.popper=g(i),e}},hide:{order:800,enabled:!0,fn:function(e){if(!K(e.instance.modifiers,'hide','preventOverflow'))return e;var t=e.offsets.reference,o=C(e.instance.modifiers,function(e){return'preventOverflow'===e.name}).boundaries;if(t.bottomo.right||t.top>o.bottom||t.rightwindow.devicePixelRatio||!me),c='bottom'===o?'top':'bottom',g='right'===n?'left':'right',b=H('transform');if(d='bottom'==c?'HTML'===l.nodeName?-l.clientHeight+h.bottom:-f.height+h.bottom:h.top,s='right'==g?'HTML'===l.nodeName?-l.clientWidth+h.right:-f.width+h.right:h.left,a&&b)m[b]='translate3d('+s+'px, '+d+'px, 0)',m[c]=0,m[g]=0,m.willChange='transform';else{var w='bottom'==c?-1:1,y='right'==g?-1:1;m[c]=d*w,m[g]=s*y,m.willChange=c+', '+g}var E={"x-placement":e.placement};return e.attributes=fe({},E,e.attributes),e.styles=fe({},m,e.styles),e.arrowStyles=fe({},e.offsets.arrow,e.arrowStyles),e},gpuAcceleration:!0,x:'bottom',y:'right'},applyStyle:{order:900,enabled:!0,fn:function(e){return j(e.instance.popper,e.styles),V(e.instance.popper,e.attributes),e.arrowElement&&Object.keys(e.arrowStyles).length&&j(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,o,n,i){var r=L(i,t,e,o.positionFixed),p=O(o.placement,r,t,e,o.modifiers.flip.boundariesElement,o.modifiers.flip.padding);return t.setAttribute('x-placement',p),j(t,{position:o.positionFixed?'fixed':'absolute'}),o},gpuAcceleration:void 0}}},ue}); +//# sourceMappingURL=popper.min.js.map